This is really impressive. It's a cogent, insightful articulation of the current situation, including the realistic constraints (e.g. that Supreme Court ruling re: private privileges), and a practical suggested solution that could actually be implemented in the current political environment. Don't always agree with Stallman, but this one's well done.
It may even be more practical than hinted at in the article. You have to get massive support (either from industry or special interests) for legislation to happen in any way.
Industry - Google, Apple, Microsoft, and others would probably be in favor of something like this, because it would promote more development on their systems if developers feel completely safe from patent trolls. It would also be seen as a good publicity move from any of these companies.
The fact is, it's just bad business not to patent software as a defensive measure against competition, at least when you make enough money for the people with patents to sue you first. This doesn't mean anyone likes being in that position: I think some of them, at least, would appreciate being able to implement competing technologies without licensing them.
Yes, I'm well aware that defense is a reason for patenting things. I think it gets much easier to see that as the primary reason for doing so when the companies which do it the most also work to reduce (as opposed to increasing or exercising) the offensive power of patents.
This makes no sense. Is Stallman so focused on software that he isn't considering the implications of continuing to apply broken software patents to hardware?
FPGAs? Is an algorithm implemented on a FPGA a software or hardware implementation?
Sufficiently popular software algorithms like mpeg4 (including avc) are often implemented in ASICs for speed. Stallman's suggestion does nothing to help in those cases.
What if Intel introduces new instructions that assist with some patented algorithm but do not carry out the complete algorithm? Software completes the algorithm using the chip instruction. Is that covered under Stallman's software patent immunity proposal?
The dichotomy between software implementations and hardware implementations is unhelpful. If you oppose software patents on principle, whether because you think they're harmful or because you think they're math and are not supposed to be patentable in the first place, why let the camel's nose into the tent by campaigning to allow hardware (ASIC?) implementation patents, but not allowing pure-software implementations?
Perhaps this is better framed as an economic argument. If cost were no object, more algorithms would be implemented in ASICs. There's a limit to the total chip area you'd want to fit into a computer, but a lot of algorithms could be implemented in a few custom ASICs. It's likely that some of those algorithms would be covered by patents. Stallman's proposal seems like discrimination against algorithms that are important enough to make faster execution worth a lot of money.
If software patents are not valid, and I don't believe they are valid, then allowing them to apply to hardware implementations is just applying a band-aid and punting on the real issue. Stallman's proposal may be pragmatic, in that it reduces risk to most start-ups and other entities worried about violating patents in software, but it sustains the confusion about what software patents are and whether they can be valid. I think there's more at stake than the money at issue in patent lawsuits every year. I think broad appreciation of the value of open culture, and recognition that algorithms should be part of that, is worth more than any extra value companies might be able to extract from hardware implementations of patented algorithms due to artificial monopolies created by patent protection.
It's not a perfect solution, and (like most things in the patent system) it's an obvious ugly hack, but it would be a lot better than the status quo. Do you have a realistic alternative that's better?
(I just realized: you may be in the dubious position of being less pragmatic about something than Richard Stallman. It's not often someone can say that!)
This "ugly hack" is a hole you can drive a truck through, and one can be pretty sure the patent lawyers will find an aircraft carrier, load it up with trucks, and drive through it collectively.
It's silly to assume no change in behavior, any legal counsel from that point on will advise in favor of patenting the hardware implementation, and instead of patented software running on commodity hardware we'll end up with patented "appliances" and "reference hardware implementations" with broad claims extending to other types of hardware implementations.
If you start an arguement at two extremes, and give ground where your opponents do not, you weaken your position and put the compromise between them more in their favor. And when you keep giving ground, you keep showing a willingness to concede defeat, and your opponents will just ignore you. If you stand your ground, you are a stalwart wall of opposition that needs to be confronted, rather than ignored, eventually.
In many cases (gay rights, civil liberties, patent law, equality / freedom) that stalwart position may require multiple generations. You don't get instant results when dealing with the entrenched status quo that is horribly wrong. But when you give ground you render your entire argument and stance illegitimate because your opponents can dismiss you as you keep conceding ground and giving up on your positions.
Patents, as a whole, are archaic and bad. The turnaround time for any new discovery is now a matter of days, or months, rather than the years it would take in centuries past to distribute and market goods and services. In the digital world, everything is already information, it is all number patterns in electrical terms, and we had a track record of not letting people monopolize knowledge and information in the realm of mathematics before, and the digital era should never have been any different in my opinion. Of course, it is my opinion and all. But I remain dilligent in my stance for it.
I have lost a lot of respect for Stallman because it seems in recent years his dialogue has propagated a lot of "buts" in his arguments. He concedes ground on what he believes in and that illegitimizes him more than anyone calling him cookey would in my book.
The classic name for the "Keep moving the extremes so people's opinion converge on the gradually moving middle" is called the Overton window and politicians try to employ it all the time:
I think you have this backwards. I can't be sued unless I implement the patented idea in hardware.
In that state of the world, if they patent the hardware solution, I don't care. I can still implement in software and I have a legal workaround to avoid infringing. I'm driving the truck through the hole.
I don't see the hole being that big. For example Apple's slide-to-unlock patent, no one would be allowed to move that functionality into a dedicated chip but that would never happen anyways.
If Stallman's modification of "implementations using special-purpose hardware" was in place and Apple was filing that application today, I could see how they would reduce the slide-to-unlock to "slide-to-unlock on a multitouch surface".
I don't think that's right. The regular meaning of special-purpose computer is an appliance like a TV or an iPod, it can't do anything that it wasn't designed to do. The opposite is a general-purpose computer which is pretty much anything that can be programmed such as a PC or a smartphone. Of course it would depend on the legal definitions to know what the exact loopholes would be.
> The dichotomy between software implementations and hardware implementations is unhelpful
Actually it's quite helpful. Something implemented in hardware has one fixed royalty per device, no matter what operating system or other customization has been performed. That implementation becomes a capability of the device, a manufacturers selling point. A software implementation is "shipped" over and over again as the software is updated, the user changes software packages, etc.
I'm pretty ambivalent on hardware patents, having grown up reading Don Lancaster, etc. But they could be a workable way to fund codec development while not encroaching on software freedom.
"What if Intel introduces new instructions that assist with some patented algorithm but do not carry out the complete algorithm? Software completes the algorithm using the chip instruction. Is that covered under Stallman's software patent immunity proposal?"
Sure, why wouldn't it be? I'm not suggesting his idea is feasible or not. But as he stated it, in this case if you were able to reverse engineer the software bits required to make the magic happen on the chip and reimplement your own version you wouldn't be on the hook for actionable patent infringement whether you were the developer or a user.
OTOH you wouldn't be able to implement the hardware side of that system under these rules.
FPGAs? Is an algorithm implemented on a FPGA a software or hardware implementation?
FPGA is pretty much general purpose metahardware. It's programmable so you could program it to be any chip, thus not covered by the effects of a patent.
Sufficiently popular software algorithms like mpeg4 (including avc) are often implemented in ASICs for speed. Stallman's suggestion does nothing to help in those cases.
If you're manufacturing or buying dedicated hardware to do one specific task well I don't see why would patents need not apply? The codec chip is clearly a "hardware machine", not a general purpose processor. It's something I imagine companies are prepared to pay license fees for. Further, nobody will accidentally use a MPEG4 hardware decoder in some device they make which is a different situation from how the accidental problems manifest in software.
You could accidentally create a patented algorithm in hardware just as easily in hardware. The trick is that you wouldn't be designing an 'MPEG4 hardware decoder', but you'd think 'oh, wavelet compression in an ASIC, how novel'. Then you'd be infringing the patent. It's not an issue of accidentally using, it's more an issue of accidentally developing in parallel.
It makes some sense. He's attempting to promote an easily understood measure to mitigate the harm caused by software patents. Putting forward suggestions which are easily understood is very useful in politics.
Stallmans suggestion is a pragmatic way to go forward and stop the current fighting between companies that is ongoing at the courts, and not through competition of products.
A clear and strong reform of patent would be preferable, and has been for long the free software foundations strategy. In the case of Bilski v. Kappos, one can read a brief made by the fsf, which rather clearly presents their view. I also strongly promote the idea to watch/read a talk by eben moglen at https://www.softwarefreedom.org/events/2009/Moglen_Cardozo/C...
Software companies can also often afford to license the odd patent. I can also afford to pay the occasional fine. But why should any of these parties do so if the law is unfair and ridiculous?
If you want a loophole, look at the part where 'selling' software wasn't on the list of exemptions. I think that could create more than a few problems, though I think the overall idea is a good one.
As for the complaints that this might create more legal absurdities, there are plenty of those already. An imperfect solution is better than none.
RMS is an idealist, not a pragmatist. He must believe this is the ideal solution.
Or maybe he's had a change in opinion recently. I have to say, this is the only cogent, practical argument I've heard out of him over the last few years. I really dislike his dogma on the free software issue.
You need to provide some evidence for Stallman not being pragmatic. The existence of the LGPL is clear evidence that he is capable of pragmatism. Another example is that he does not get very excited about things like simple calculators being open and free because he does not see that as a practical concern.
He has principles that he tries to live by and advocates strongly but I have never viewed him as an idealist nor do I see much evidence for it.
Writing these sorts of articles I think is where Stallman really shines. Pragmatic write-ups legal solutions; a more 'fanatic' stance would be to propose unlikely to occur changes to the system that would invalidate (otherwise render tooth-less) "software patents" in the context of hardware implementations but in this case he (correctly I think) concedes that as a problem for another day. Getting to hung up on that idea will prevent us from making headway on anything.
No one seems to have picked up on the strategic impact of the proposal, it neatly excludes many of the more sympathetic pro-patent entities from the picture, in particular the pharmaceutical industry and hardware manufacturers. They needn't bother to oppose it, because it has no effect on them, whereas they may oppose further barriers to granting patents on principle just in case it affects them.
Personally I'm not extremely in favor, as I'm anti-patent/copyright in general, but it makes sense for someone whose primary goal is software freedom.
tl;dr: "We should legislate that developing, distributing, or running a program on generally used computing hardware does not constitute patent infringement."
He goes on to say "generally used computing hardware" is the opposite of "special-purpose hardware" but I think that definition needs to be really explicit.
Of course then, would anyone in Congress actually pass such a bill?
Only one thing is certain: if Congress passes a law like this, they will absolutely fuck up the definition in ways that will create billions of dollars of unforeseen consequences.
Figuring out how to apply fuzzy concepts like "generally used computing hardware" to a messy world is a big part of what courts are for. I don't see any reason to believe that Congress would do a better job of it.
I think that a scientific/mathematical definition would work in this case - if you can simulate a turing machine on that particular machine, then it is considered a general purpose machine. Otherwise, its a special purpose machine.
But you can't actually simulate a TM on any machine with a fixed amount of memory. And any "special purpose" computing hardware would have at least a little memory. So I don't think that distinction works. Unless it only applies to machines with expandable memory? Technically, if it were hot swappable, the memory would be unbounded. But nowadays, the SD slot on phones is often under the battery, if it exists at all.
I mean, you can't simulate the weather exactly, but that doesn't stop us from writing "good" approximate simulations. It's not hard to simulate a TM, even if we can't build a real TM (unbound memory).
rms did a great job with GPL, fighting copyright with copyright - though v3, with patent conditions, has not seen universal adoption (because too late? or a more fundamental problem?)
A distinction with surgeons is their work is not reproducible at near-zero cost; so shielding affects only n surgeons, not all developers and their users (i.e. "most people"). Also, people generally don't die because developers can't code a particular technique. He might get a foothold in software in surgical equipment, but I bet the shield doesn't apply to them.
I don't agree with Richard. I don't see the case for treating "software" and "hardware" differently.
Patents were invented as a way to protect intellectual property and to derive revenue from it. They are an incentive for innovation. They're just being abused mostly by patent trolls.
Patent trolls acquire a large number of bogus patents, sue companies and in most cases settle confidentially. Most companies don't like risk especially when their core business process is threatened. So they settle even if there's a good chance the patent could be challenged. It's not a fair fight...
To limit this abuse we could make patents non transferable meaning you can sell the right to use the invention but you cannot sell the invention. Some will argue that patent trolls could work on behalf of inventors to help them enforce their patents but I think most inventors are more reasonable than the lawyers specializing in patent trolling. There might also be a way to mitigate this risk with some regulation, ideas?
Amazon would still be the only site offering 1-click checkout and Apple would still have the only phone with Slide-to-Unlock. These are just as important as patent trolls.
What do you mean by as important as patent trolls?
Amazon patented this process and is using it for the benefit of their customers, what's wrong with that? Another company could offer 1-click checkout if they
- pay royalties.
- or own another patent amazon is infringing as a mean to disuade amazon from suing.
Maybe the problem here is that these patents you are referring to seem overly simple and shouldn't be somebody's IP but what seems trivial and intuitive today could have been very innovative at the time they were patented.
> Amazon patented this process and is using it for the benefit of their customers, what's wrong with that?
What's wrong with it is that no competitors can use the same idea without paying Amazon (assuming Amazon would even agree to license it).
What is the benefit to society of preventing someone other than Amazon from implementing 1-click checkout? Do you really think that "innovation" would never have been created without the protection of patents?
I agree that innovation should be more openly shared and licensing should be somehow regulated but I do think there will be less innovation in a world without patents especially in a capitalist world. A lot of the innovation is fueled by research financed by the private sector. Remove the incentive to invest and you reduce the financing and as a result innovation.
I suggest that rather than limiting effects of patents, it is easier to exclude obvious ideas. By this, if two identical ideas are submitted as patents within a designated time frame, then the patent is not novel enough.
This has several advantages:
1. The number of educated people have risen considerably that we are filing more patents in a decade than the past 100 years. Even if there weren't patent protection, ideas will still continue to be created. By getting rid of the first past the post problem, we are effectively saying we will not grant an exclusive patent for something that someone else could have invented.
2. This scheme does not impact on the R&D that requires long term investment. e.g. pharmaceuticals.
3. It makes "idea patents" easy to invalidate. e.g. using a phone to play music.
unfortunately, obviousness is a very difficult thing to test for.
May be a test for obviousness is that an expert in the field is able to deduce the "inner workings" by only observing the result of applying the patent.
Thus, a pharmaceutical patent would continue to be effective under this test (you can't really tell the inner workings of a pill by looking at the pill). However, you can tell the inner workings of a bloody rounded corner, or using a phone to play music.
I say this, because patents were intented to incentivize people from hiding their secret ideas so that society at large benefits. If your idea can't be hidden, then there is no need to grant any monopoly.
Say before wireless, you had to check your email over a wired connection. Someone patents the idea of checking email over radio waves. If multiple people came up with the same idea, and lodges the same patent within 6 months of one another, then it is not worthy of a patent.
I like his suggestion, and it's rare to actually hear a new idea in how to resolve the patent problem.
However I find it odd that in the preamble he points out Apple, but presumably something like an iPhone would easily fall into the class of special purpose computing equipment, so Apple's case would be unaffected by it. In fact, it might even encourage mobile phone platforms to become more locked down and restrictive so as to avoid falling into the definition of a "general purpose" computer. Thus there could be a very dangerous backfiring of this if the definitions were not clear and broad.
The way that I read it would be that the iPhone could definitely be patented. However apps in an app store could not.
So you could have something like the slide to unlock patent. It could bind software shipped as part of the base operating system. But app developers could implement that same feature in an app and be fine.
The way I understand his idea is that a phone is a general purpose computer. If Apple wants to patent slide-to-unlock, they can only patent a hardware implementation (i.e. a chip that only does slide-to-unlock, which is clearly a ridiculous idea).
Then I can come along and write software for Android that implements slide-to-unlock, and I am not infringing because my implementation is software only.
The end result of this means that Apple's slide-to-unlock patent would become worthless.
Perhaps it's because I'm tired and I'm not understanding correctly but what is the practical difference between Stallman's suggestion and simply abolishing software patents?
He says you can't revoke existing software patents legislatively, so abolishing the ability to get NEW software patents would take 20 years to fix the problem (for the existing ones to expire). By saying those existing patents can't be enforced the problem is fixed now.
Personally I think the FSF should go full dystopia: promote and strengthen software patents.
They are so influential right now, and are changing the very fate of the infrastructure of this planet.
It isn't just about money, it's about how the whole ecosystem is poisoned. Either there needs to be massive reform sponsored by the major corps. or small countries will start to break out of treaties to promote "IP freedom" for shell corps.
I figured one way to protest the system would be to get a bunch of bogus patents and troll, while opposing software patents and pointing to your suit as an example of why the law is broken.
Not sure if that would be legally viable though. One would have to contact a lawyer and ask.
Here are a few reasons why the patent system isn't useful for software:
A) Almost no one in the industry comes up with innovative solutions to problems by reading software patents from the last 20 years. They do it by implementing their own solutions or improving existing solutions.
B) There is already a powerful force that has promoted innovation in software much more than patents, and that is open source. In fact, most of the web sites on the internet are powered by a stack of open source software. Therefore, innovation would take place in this industry even if the government didn't offer a 20 year monopoly to anyone who can disclose a non obvious idea to the public.
C) The purpose of patents is to promote innovation by encouraging the inventor to disclose the details of the intention to the public, in exchange for a 17-20 year monopoly on the implementation of the invention. However, since the industry moves so fast, inventions which are not obvious when patented become extremely obvious "incremental improvements" several years later. This combined with A completely defeats the positive side (to the public) of the compromise, but keeps the negative side of the compromise -- namely the monopoly. The latter costs society in the form of litigations, intimidation of small companies, and injunctions against useful products made by big corporations.
D) Software patents encourage patent trolls to file an invention and lie in wait, or sell the patent to someone who will lie in wait. Meanwhile, they discourage actually implementing technology, because it can infringe on any number of patented inventions. We all realize how much implementation and execution is more important than a mere idea. Thus, it might actually be thwarting the very thing that it's supposed to promote: actual implementation. In the words of Fred Wilson, it is a "tax on innovation".
E) By contrast, open source encourages actual IMPLEMENTORS of software to not only disclose the effect to the public, but release a functional piece of software which actually implements the innovations. Moreover, many Free Software licenses compel those who make use of this software to release their own software in turn. The result is people building on each other's work, promoting implementation and execution over simply disclosing ideas. This aligns much better with the interests of society at large -- and the original purpose for patents.
F) The industry moves too fast for the patent office to keep up not only with the state of the art (they have almost no chance), but even the state of PRIOR ART, leading to many patents being granted that don't satisfy the obviousness or prior art requirements. Sometimes dozens of patents are approved for the exact same thing. As a result, the cost to society is pushed into the legal sector, causing lengthy court proceedings rather than patent office actions.
G) When a small company is sued, even by a patent which can be invalidated, it can often be intimidated into entering a settlement (an unfair situation), or in fact defeated because it didn't have the funds to find the prior art. But even in cases where there was no prior art and the patented invention was in fact not obvious, chances are 99% of the time the "infringing" implementation was developed completely unaware of the patent's existence. See points A, and C. Therefore, the positive side of the compromise (to the public) was completely superfluous, but the negative side hits with full force and effect (see point F).
H) Large companies now spend billions of dollars to acquire patent portfolios for purposes of intimidation, defense against ... patent litigation, and anticompetitive practices -- by which I mean not competing on actual quality and price of the products, but rather trying to artificially reduce the quality and increase the price of the competing products. The costs to the consumer are obvious. Moreover, the costs to shareholders include money that will never be used for actual innovation, but simply the above purposes.
All in all, there are many reasons to abolish software patents in the USA.
Exactly, and Stallman's proposal represents a viable path forward to effectively abolish software patents.
It avoids the messiness of invalidating existing patents or determining during patent examination which patents are for software and which patents are for hardware. Effectively, it shifts that determination to the implementer.
If I'm able to implement a patented idea in software, then it was a software patent. And I'm not infringing.
I am not very familiar with software patents, just business process work.
If you write a program in say... python which is open source. You can patent that program even though your work is based of something that is publicly available? Or can you only patent additional libraries/new languages?
Exactly, this is how I understood his proposal. Simple to understand exactly what is and isn't allowed.
Many people here seem to be focusing on how patent lawyers would find new ways to write software patents, or focusing on whether hardware would still be patentable. That misses the point.
If I can implement a patented idea in software on commodity hardware, I'm safe. Simple!
I don't understand why the comments here are saying this is a "practical", realistic solution. This sort of legal trick might help deal with the law as it stands (personally, I'd much rather see algorithms made unpatentable and wait 20 years), but a vastly greater obstacle is convincing Congress (or a court) that these patents should be eliminated in the first place.
This is about as likely to happen as a law that comes right out and invalidates software patents. Or ends women's suffrage. Or requires everyone to wear blue pants on Thursdays, under penalty of death.
It's an interesting thought experiment, but treating it as more than that is a mistake.
Bad law can change if strongly opposed. It just seems impossible. To pick an extreme example, slavery was as old as humanity, and backed by very powerful, rich, and organized special interests, until it was strongly opposed, consistently, for decades.
It could be argued that the Industrial Revolution was making the system of mass human labor obsolete. One moneyed elite against another does not a popular struggle make.
A better example, one that was purely social, was when Prohibition was enacted in the United States (alcohol being about as old as humanity). Preachers were calling for prisons to be torn down as they would no longer be necessary with the passing of the Demon Rum.
Then again, perhaps that's not the best example either. How about we just settle on someone noncontroversial like Gandhi?
It's a lot easier to get public sentiment behind a law that benefits these altruistic people who save lives for a living, and shouldn't have to deal with such crass commercialism (I know, I know. Run with it though.)
It's tougher to make the same sale when you're talking about a bunch of computer programmers and startup founders.
In a recent job interview I was asked to code a doubly linked list as part of the coding part of the interview. Linked lists are patented, did me implementing this break the law?
That only covers linked lists that have multiple "next" pointers, so you can traverse it in more than one order. It's still stupidly obvious, but does not cover singly-linked lists.
Ah, I misread. In that case it is claimed by that patent, but this almost certainly wouldn't hold up in court, because there's so much prior art for doubly-linked lists.
This situation would be laughable if it weren't backed up by the force of law.
states
"
The definition of patent infringement may vary by jurisdiction, but it typically includes using or selling the patented invention. In many countries, a use is required to be commercial (or to have a commercial purpose) to constitute patent infringement.[citation needed]
"
Pretty unlikely in this case, but I can think of interviews where I had the same concern. MegaCorp posed a problem they were having (eg. preventing radar self jamming), I told them one solution I knew of, but I was very careful to point out that it was patented less they turn around and use it.
So I share the parent's question: Can you be held liable for infringement due to a job interview answer?
That seems to be specific way of traversing Linked Lists (which ostensibly is different than all the other ways it has been done in textbooks, published code etc.) , not Linked Lists themselves. If you find a way of traversing a list in a way that has not been done before you can apply for a patent fort that technique. If i were to use that technique of traversing linked in a product that i sell, you could sue me. However, if came up with that particular, specific way of traversing a linked list in an interview, no patents are violated anywhere. That's just silly.
I. Software is mathematics.
II. Mathematics are not patentable.
>> Software is not patentable.
Pick a premise and argue against it. Or, don't bother: you and the US legal system are in an argument against reality. It's not a winnable argument, but sense can take a long time to percolate through obstinate stupidity.
i'm not arguing for or against patents on software, mathematics or otherwise. I'm just saying that answering an interview question about how a particular thing might be done is not in violation of any patent laws. Replace "method for traversing linked lists" with "a new technique for cutting wood using a new tool" if you feel so strongly about software patents.