Why abolish software patents
This is a rough article to make a long list of all the arguments against software patents. This list can serve as a starting point for drafting submissions for consultations from patent offices, governments, and courts, and other campaign materials.
When making the case against software patents, it's very important to have an array of explanations. What seems the most important to you might not seem important to someone else. You have to be able to adapt your explanations to your audience.
Part two is then: How to write a law banning software patents.
- Clogging up the legal system
- The failing solutions are expensive
- The disclosure is useless
- Software relies on incremental development
- Software progress happens without patents
- Software patents harm SMEs
- Software is too abstract, software patent quality is terrible
- Software is math
- Software does not make a computer a new machine
- Reducing innovation and research
- Publishing information is made dangerous
- Patent trolls
- Patent ambush
- Low risk
- Jobs and skills
- Invalid patents remain unchallenged
- Insurance against patent litigation
- Infringement is unavoidable
- Inequality between small and large patent holders
- Incompatible delays and durations
- Harms to education
- Harm to standards and compatibility
- Freedom of expression
- Examples of use for sabotage
- Costs are astronomically disproportionate for SMEs and individuals
- Cost of the patent system to governments
- Cost barrier to market entry
- Controlling entire markets
- Breaks common software distribution models
- Blocks competing software, reducing choice
- Blocking useful freedoms
- Antitrust law isn't solving the problems
- All businesses have software patent risk
- A bubble waiting to burst
List of ideas
Arguments specific to software patents
- Patents are incompatible with software, and with file formats in particular, because it's too hard to change a file format after initial release.
- It's hard to know when a technology is patent free (e.g. MP3, MPEG-1) - but this is an argument for changing the way patents work, not an argument for abolition.
- Writing any software that solves any problem IS an invention. Any time any software programmer types up functional code he or she has invented something that is patentable. The U.S. patent system relies on the fact that only a small percentage of these software "inventors" take action to patent their invention. If every programmer attempted to patent the software that they had written it would create a backlog that the patent office would not be able to clear and would gridlock the software industry by ensuring that anything that could be done with a device that contains RAM and a CPU to fall under one or more patents. Any system of laws that continues to function only because the majority of citizens do NOT exercise their rights under those laws is a broken system.
- Not only are most citizens not exercising their rights but are unable to. As stated above, it's very easy to create something that could be patentable. How many ideas could we patent? This system (no automatic recognition and very costly to gain recognition) creates a system of monopoly rights to be bought by the highest bidder. The more money you have, the more of your and of others' ideas you can patent to gain the monopoly/taxing rights over everyone. This system only has a chance of being fair if those affected directly by it can participate on a near equal footing. [Note that some patents involve technology that costs millions or billions of dollars for execution. Few have the resources to invent in this environment so almost no one is held back specifically because of the patent monopolies. Those that can play this game at that level can easily afford those (nonsoftware) patents.]
- (Software is math) Since the logic (idea) of software can be reduced to mathematical formula (idea) with Church-Turing Thesis, and because mathematical formula (idea) is not patentable, software should not be patentable as well. More generally, [software is abstract]. It exists because of digitalization. This is why writing software is frequently like writing fiction; you can create almost anything you can imagine without having to answer to Mother Nature (and deal with related expenses and uncertainties).
- Since the only requirement to develop software is a commodity computer, which is very cheap, software should not be patentable just as authoring a book that only requires paper and a pen, which are very cheap, is not patentable. Very cheap means (a) the pool of inventors is much higher and (b) the risk to inventing is much lower. This in turn means (a') a monopoly hand-cuffs that many more (a very high liability to progress and cumulatively to individual liberties) while simultaneously (b') the incentive required to stimulate invention goes down similarly, both because of lower capital risks and because of the mentioned greater competition. [FOSS forms evidence that many can and do create original quality software without seeking patents and actually while encouraging no-strings attached collaboration.] Either (a) or (b) should be sufficient reason to abolish or greatly reduce the power, scope, and/or duration of patents. (b) is naturally true and keeps getting lower the more quality FOSS exists. (a) is generally true for an average patent (and is also promoted by an increasing body of quality FOSS) and is true to a large degree for most patents because the bar for accepting patents is so low.
- The inventiveness bar to accepting a patent is so low that it would be laughable were it not so problematic. The USPTO gives a 20 year exclusivity grant for an invention that is non-obvious to a person having ordinary skill in the art. Think about this. If you are among the many million that lie on the upper part of the software "skill-level" bell curve, so that you find this invention "obvious", you can be kept from using the invention (eg, as the need comes up) for 20 long years for each such obvious (to you) invention. Even if you are on the lower part of the bell curve, you might come to the invention after some work and maybe some months or a few years. You too would be infringing. What makes this troubling and not just laughable, is that we aren't talking about million dollar inventions that are out of reach of most people, but software, fully within the economic reach of anyone (and with ample study material available for free or for a very modest fee). In fact, the languages usable to express new inventions in software continue to approach English (or other native languages) and other constructs familiar to nearly anyone.
- Software Development unlike other forms of mechanical invention is already afforded protection within existing copyright laws. First, this means that traditional and much more focused and balanced protections do already exist for publishing software details (and many companies have also shown tremendous skill at leveraging the complexity of software binaries using trade secret protections to thwart competitors). Second, because going from source code to running binary is effectively a trivial step, applying patents to the running machine wholly pre-empts all the more balanced protections and safeties from copyright law. The broader patent would always trump copyright in effect and control (note also that patent law has no "fair use" nor recognizes independent invention). Copyright law was designed to cope with many simultaneous equal individual creators in mind, but patent law was designed to stop or throttle competition that mostly included few well-capitalized entities. With respect to balancing copyright against First Amendment rights, the US Supreme Court highlighted Section 102b (http://www.law.cornell.edu/uscode/17/102.html#b ) in the ruling for Harper & Row, the "idea/expression dichotomy strike[s] a definitional balance between the First Amendment and the Copyright Act by permitting free communication of facts while still protecting an author's expression." Software patents most definitely are not limited in scope to a definite expression but necessarily cover broad concepts and the like. [Specifically on free expression considerations, it should be clear that high capitalization inventions means almost no one is able to express themselves of their own volition that way to any significant extent but certainly can for any kind of software that can be cloned innumerable times and installed on, eg, any consumer device.] [Update, the Phil Salin 1991 essay linked from the Freedom of expression page covers a lot of this ground. The Talk page there suggests it be given more prominence and perhaps enhanced (or augmented) to cover up to the present time period.]
- [Partly as summary to some earlier points] Most new invention ideas happen in direct response to some new social or economic context that become accessible to many people at around the same time. Shouldn't we all have our turn at the bat based on our ability to reason? Clearly a monopoly granting system seems wholly unsatisfying and surely stifling. Only one can be the first to the patent office with the full cash on hand. In the US, patent monopolies derive their legality from the Constitution only when they would "promote the progress of science and useful arts." For at least these reasons, software patents would be unconstitutional.
- The now obvious "auto-filling" feature of spreadsheets is patented and not available in builds of free software office software for certain distributions.
- Working with even DRM-free DVDs is not legally possible without violating patented codecs.
- As of 2009, firms involved in developing HTML as an open standard with embedded video support could not recommend a video format because of the risk of patent encumbrances.
- Most software patents describe the problem that the claimed "invention" solves but they don't detail *how* it is solved e.g. at least with design and implementation. As a result, all solutions to the problem are patented (and not just the one which is implemented by the patent applier).
- The computer, which can perform any computation specified by a table of numbers ("instructions") is already patented. Any particular computation thus performed is a subset of behavior already patented in the patenting of the computer itself.
- The significant body of prior art software is confidential, unsearchable, and inaccessible. All publicly accessible software is prior art to all later filed patent applications. But, except for Open Source Software, most software is made public in a format that hides the disclosure and user agreements prohibit reverse-engineering the code. Thus, many patents cover inventions that have been in the public domain for years.
- A good analogy should be written to associate patents for software to patents for the developments in the legal and judicial professions. There are many parallels. We need to overcome any possible suggested difference that software development is different because it is "technical" (in the engineering/science sense). Should not everyone within the course of their work be able to use "eureka" moments they have without fear that someone else had that moment (or a broad generalized version of it) earlier? Like with software, the practice and creation of law certainly has many aspects that are practical and involve applications of theory. Logic and precision are important to each. Creativity is important to each. Free speech is used liberally in each. Each greatly relies on re-using the works of others. In each, re-using techniques tremendously helps the profession/field and customers. Monopolies would almost make no sense. Neither involves creation of machines. Much independent creation exists in each. In each many inventions happen only when provoked by the current work (eg, by the specific details and needs of the current trial); thus, in each necessity is frequently the mother of invention and obviously some will have found the necessity (and hence invention) before others.
- Math, fiction, law, jokes, music .. anything (particularly easily: the digital) can be implemented as hardware because hardware can simulate information and software patents are patents largely implementable as information processing. Besides any of many static representations, special hardware can turn math, jokes, fiction, laws, etc into something else (maybe math implications; a new similar joke or a translation of that joke (including aural) or a fictional story described by the joke or a kaleidoscope effect based on the particular words, intended audience, irony factor, etc, or a security system where the base of humor in the language is mapped to types, layers, geographical scopes, etc to be protected in ways identified by features of the humor using some sort of fuzzy logic effect; a visual re-creation of the fiction or producing a type of sequel or a security system defined by the fiction; new laws or a forming a set of inconsistent laws; play the music or generate a lesson based on the music constructs). The point is that a machine can be created (likely using some lower layer of software plus digital programmable hardware) so that many new types of effects can later be achieved by loading it with new information. The layers of information added are always created using higher and higher level languages. At the highest digital level you have arbitrary free speech driving the effect. At the lowest digital level, you likely have a version of a Turing Machine (ie, very general programmable features) implemented in transistors or in house doors or in anything else that can create the digital abstraction.
- There is always an alternative to using a general purpose based system to implement an invention. A suitably worded patent will not try to cover the software based solutions and will focus on specific machines. Presumably the flexibility of using existing machines plus software also means a trade off is made where many extra transistors are used, adding "weight" to the system. Allowing patenting of the "lighter" system would be consistent with the software based system being legal as a substitute (by this argument) of a lower quality. However, having the software version of the system be patentable (or infringe) either implies that many minds that otherwise could contribute to advancing some particular art using their general purpose computers would not be possible (lose to society would include the areas of medical diagnostics and many other developments carried out by supercomputers or any of many other programmable devices). [Summary: There is presumably always a way to word a patent to cover a machine doing the same thing but without including software implementations. This trade off allows the more efficient and particular hardware implementation to be patentable without hand-cuffing progress or free speech from the many users of general purpose machines. This argument is important because it shows that all sides can be given something (thus forming a compromise) and keeps patents to the costly particular machines and hardware environment rather than to areas that directly hand-cuffs many people's potential contributions and liberties.]
Software arguments that could apply to patents in general
- After 20 years, the disclosed ideas are almost all useless.
- Companies in the software industry are banding together for the sole purpose of patent defence (ex: OIN), illustrating the system is broken.
- In the United States, the Constitutional purpose of patents is to "promote the progress of science and useful arts", but there are numerous studies and reports showing that software patents retard progress, and have a great cost to the economy.
- Software is usually built upon thousands of different ideas, which all could be patented. There is not one patent for one product, as it is mostly the case for physical products.
- Arguments against software patents really shouldn't even be necessary and the anti-software patent side should not allow itself to be forced into a defensive position simply because of the historical status quo. The burden of proof rests upon the shoulders of software patent defenders and advocates. The only acceptable justification for the negative ethical and economic consequences of patent eligibility for software would be hard evidence demonstrating that it substantially increases technological progress and economic and social welfare despite the harm it does.
- The Internet has made collaboration and distribution at a massive scale extremely cheap. All problems with software patents get magnified when we consider the synergies from collaboration that would be lost to monopolies (ie, we lose more than the fruits of many working alone). Further, the cost risks for the software/information business (marketing and distribution) are extremely low.
- Digitalization (and miniaturization) has revolutionized the creation of machines (and made software possible). Thanks to this, it's now much cheaper to add brains and control of a very sophisticated nature to where it was not possible before. This has created a host of areas where the abstract nature of software leads to the innovation for the particular machine. Specifically, we see this in the design of many circuit topologies (using algorithms to try and test all or many possible layouts or in specifying the actual logical states that are hard-coded). For reasons described above on this page, the current patent system is unfit to fairly handle these inventions as well. It makes little sense to allow someone to buy and use a more expensive glorified calculator ahead of others to compute values before everyone else and then bar others from directly leveraging equivalent results once they are able to also produce the automatic calculations. Such a patent rewards the already wealthy and the one already with the first mover advantage. Surely, 20 years would be too long to hold others back. Generally, advanced technology and other economic and social gains should have already resulted in patent duration terms having been reduced well beyond the dates used hundreds of years back.
Arguments against patents in general
- (see also: Should the whole patent system be axed?)
- SMEs and individuals can't afford to do patent searches
- SMEs and individuals can't afford to defend themselves
- When a standard is patented, the only way to avoid the patent is to avoid the standard
- There is no practical disclosure of the patent due to the sheer volume of patents and the legal risks that arise from non-patent lawyers interpreting patents. (so there is little benefit to society from granting the company a monopoly in return for disclosure)
- Patents dampen the competitive drive that feeds capitalism. It also prevents innovation by non-capitalist communities and individuals.
- It's too difficult for the patent office (or anyone else) to consistently and objectively assess the worthiness of a patent (how to prove non-obviousness ?). Many patents are overturned when they reach the courts (citation needed) which suggests current assessment methods are not good enough.
Software patents effects in specific cases
- Current public key cryptography will be broken as soon as there are quantum computers that can execute certain algorithms (like Shor's algorithm which can break RSA and many other public key cryptographic algorithms). In the Post-Quantum Cryptography: Detours, delays, and disasters presentation, Tanja Lange and D. J. Bernstein explain how software patents indirectly slow down the deployment of Post-Quantum Cryptography. This slow down is a huge issue because actors with bad intentions have been capturing internet traffic and continue to do that to be able to decrypt it when quantum computers become practical enough. The only thing that can be done against that is to start deploying newer cryptographic algorithms as soon as possible, in order to prevent newer traffic from being decrypted. But software patents is seriously slowing that.