Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

A really big issue that a lot of people have problems with is software patents. According to Wikipedia, some of the big issues with software patents include:

  • Where the boundary between patentable and non-patentable software should lie
  • Whether the inventive step and non-obviousness requirement is applied too loosely to software
  • Whether patents covering software discourage, rather than encourage, innovation

One famous example of questionable software patents is Amazon's patent on 1-Click checkout which was initially granted by the USPTO in 1999, re-examined in 2007 and finally revised in 2010 due to much debate regarding its validity. The idea of simplifying a user's buying experience by reducing the number of actions required to complete a transaction seems like common sense to just about anyone, so why should patents like these be legitimate?

As a professional or a hobbyist, how do you feel about software patents? Do they crush innovation by locking down [often] common-sense ideas, or are they a necessity of success and profitability?

share|improve this question

closed as not constructive by Mark Trapp Jan 10 '12 at 0:41

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

+1 great question. We were just discussing this in work the other day. –  Paddyslacker Sep 3 '10 at 20:43
subjective? ... –  Moshe Sep 3 '10 at 22:06
Funny, I thought it was pretty clear that patents discourage, rather than encourage, innovation, not just in software but everywhere. –  Timwi Sep 5 '10 at 15:15
@Timwi in the pharmaceutical industry, and for industrial work patents encourage innovation. Knowing that your income-stream will be protected allows companies to justify the cost of R&D necessary to develop new products. Consider the trouble that 'name-brand' drugs have against off-brand competitors. The name-brand company did the work to figure out how to make the drug, while the competitor only needed to buy a sample to create a similar competing product. –  Noctrine Sep 6 '10 at 18:20
@Timwi The impression is probably built from that being the way that most people have been using their patents recently (and the spirit of free knowledge in our industry and academia), and the nature of the patents that have been applied for in our industry. There have been a lot of patents that were taken just for the purposes of trolling. But that doesn't make a patent for a drug that will take 1mil+ and several years to figure out any less valid. –  Noctrine Sep 6 '10 at 22:30

8 Answers 8

up vote 33 down vote accepted

No, for at least three separate reasons. First, in the U.S., software is a literary work, and is thus fully protected under copyright law. It makes no more sense to additionally protect software ideas (as opposed to expression), then it would to patent a clever plot concept.

Second, all software is equivalent to lambda calculus, and abstract ideas are not supposed to be patentable.

Finally there is serious doubt about whether software patents accomplish the Constitutional goal of "promot[ing] the progress of science and useful arts." An Empirical Look at Software Patents found in sharp contrast that:

"Our results are difficult to reconcile with the traditional incentive theory—that granting more patents will increase R&D investments. Rather, if legal changes have encouraged strategic patenting, the result might well be less innovation."

Many of the biggest software patenters opposed them before they had acquired so many. Bill Gates wrote:

"If people had understood how patents would be granted when most of today’s ideas were invented, and had taken out patents, the industry would be at a complete standstill today."

Oracle, the plaintiff in the recent software patent lawsuit against Google, said in 1994 that:

"existing copyright law and available trade secret protections, as opposed to patent law, are better suited to protecting computer software developments."


share|improve this answer
I have issue with the software = calculus part. I don't write calculus in regular code. Saying that is like saying the ink in a book isn't nothing more than atoms, and you can't patent atoms. –  TheLQ Sep 3 '10 at 22:20
@TheLQ Of course you do, it's just being hidden by keywords and language constructs. At a purely conceptual level FormatString(string) is no different than f'(x). –  Nathan Taylor Sep 3 '10 at 22:37
@TheLQ: there's some confusion (in general, and here specifically) about what actually constitutes a "software" patent. There are a fair number of patents granted for things that, while nominally tied to a machine or implementation, are often referred to as "business method" patents. Amazon's OneClick is a (fairly) recent example here: there's nothing terribly novel about the technologies or algorithms involved, the value comes from how the customer interacts with the business - because software enables this (and software is tied to hardware...) this then becomes patentable. –  Shog9 Sep 3 '10 at 23:25
@TheLQ: You're also confusing the Lambda Calculus (which is described by Alonzo Church and is a theory of functions and computation and is closely related to Turing's theories) and The Calculus (which was described by Liebniz and Isaac Newton, and involves derivation and integration, among other things). –  greyfade Sep 4 '10 at 4:55
@TheLQ, you can't patent the text (written expression) of a book, which seems to be what you mean. That is in the domain of copyright law. –  Matthew Flaschen Sep 4 '10 at 21:20

The reason why there's so much confusion on this issue because we as a society have by and large lost the point behind intellectual property. It's not supposed to be about what goes into the patent or the copyright. It was never supposed to be about what goes into a new creation. The point is what comes out the other end: new knowledge in the public domain. Patents were created to improve society as a whole by discouraging what has always been the single greatest detriment to technological progress in human history: the trade secret.

The idea is that there needs to be some way to get people to stop treating new ideas as closely-guarded trade secrets that all too frequently died with their inventors, by encouraging creators to publish the details of their creations and assign them to the public domain. The means that they came up with was what we now call intellectual property protection: "We can bribe people to publish the details of their new creations and assign them to the public domain by offering them a monopoly on production for the first few years after they create it." And it was a huge success.

One of the best examples is steel. It's been discovered and forgotten, and rediscovered and lost again many, many times over the centuries, by ancient cultures in both the Old World and the New World. The earliest known samples date to the 14th century BC. But it was not until Henry Bessemer's patent for the crucible steel process expired in the 19th century that the cheap commodity steel that has formed the infrastructure of so much of the modern world ever since began to become available.

With that in mind, software patents are a fine idea, as long as the review process (to prevent patents of prior art or obvious processes) are adequate and the duration is reasonably short. I agree that Gary's figure of 5 years is a reasonable duration.

share|improve this answer
Completely agree on the shorter period. Non-tangable 'patents' shouldnt last more than 5 years. And/Or, once a patent is transfered, the new owners get a maximum of 3 years to discourage trolling. –  GrandmasterB Sep 17 '10 at 4:42
@Mason This was very interesting. Where did you get this information from? (I'm hoping it's some book I can buy) –  EpsilonVector Jul 18 '11 at 13:48
@EpsilonVector: Just freely-available knowledge on the Internet. –  Mason Wheeler Jul 18 '11 at 22:33
... and now Apple and others publish obfuscated representations of their trade secrets with cryptic descriptions that only correspond to the real product enough to be upheld in court against copycats after the real product is released. :) –  Roy Tinker Nov 1 '11 at 22:12

I am (clearly) no legal expert, but I don't know what problem software patents solve that existing laws don't.

If you are actually stealing someone else's code and putting it into your product, then that's just theft.

If you simply have an idea, then that idea of itself does not have much value. As Derek Sivers said (and Jeff Atwood recently quoted):

To me, ideas are worth nothing unless executed. They are just a multiplier. Execution is worth millions.

To make a business, you need to multiply the two. The most brilliant idea, with no execution, is worth $20. The most brilliant idea takes great execution to be worth $20,000,000. That's why I don't want to hear people's ideas. I'm not interested until I see their execution.

I don't see how patenting ideas for software helps with innovation.

share|improve this answer
To go further, I'd suggest that patenting anything discourages innovation. I recommend reading both Patent Failure by Bessen and Meurer and Against Intellectual Monopoly by Boldrin and Levine (the latter is available as a free PDF). Both books discuss the effects patents have had both in economic terms and in their effects on innovation and technological advancement. –  greyfade Sep 4 '10 at 4:59
@greyfade: Depends on the field. Drug patents are absolutely necessary if we want pharmaceutical companies to research new drugs, which is an extremely expensive process, with a very high probability that a drug going through it will not be approved. In software, I believe patents discourage innovation. –  David Thornley Oct 8 '10 at 14:11
@David Thornley: I disagree, and I have yet to see evidence that pharmaceutical patents are necessary. I always see the drug companies giving this exact excuse for why they are special and they need patent protection more than anyone else. Yet the only reason I can find for their patents to even exist is to justify the exorbitant prices they charge for even the most basic of drugs. In the absence of patent protection, drug companies world-wide have been producing both new and generic drugs at a break-neck pace. Why can't the same be true in countries with patents? Read those books. –  greyfade Oct 8 '10 at 17:17
@greyfade can you provide me with a few examples of new drugs coming from countries without IP protection? The limiting factor in the development of drugs in generally not the lack of good ideas, it's the lack of resources to prove effectiveness and safety. This is significantly different from the situation in software, where the cost of the "proof of concept" is generally trivial. I recommend the book "The Demon Under the Microscope" about the development of sulfa antibiotics in Germany before WWII as an instructive case. –  Charles E. Grant Oct 16 '10 at 3:08
"If you are actually stealing someone else's code and putting it into your product, then that's just theft." No, it's not theft. It's copyright infringement. –  Frank Shearar Oct 26 '10 at 7:54

Like @Paddyslacker, I too, am no legal expert, but here's my take on it.

It depends.

One Click - No

Some encryption algorithm - Yes

In my opinion, the patent office is not equipped to make these decisions and needs an industry filtration system to rule out unworthy applications.

What if the patent office crowd sourced confirming the problem is not easily solved. If a reasonably close solution is not found within a given time frame, it could be deemed patent worthy and the application could proceed as normal.

It might be worth it for programmers in the community to crush bogus patent claims to prevent the future constraints in our industry.

Failed software patent attempts should also have a financial penalty to encourage only legitimate patent worthy applications.

share|improve this answer
What makes the encryption algorithm special, in your opinion? IIRC, the strength of a cryptographic algorithm isn't decreased or increased by a patent... –  Piskvor Sep 15 '10 at 11:49
@Piskvor-Encryption algorithm was just an example of something which might take indepth research and effort to come up with. Basically it's more about what it isn't. It the exact opposite of any programmer with a half once of common sense, spending 2 minutes to come up with something like Amazon One Click. –  John MacIntyre Sep 15 '10 at 12:07
There's less correlation between failed patent applications and un-patent-worthy applications than we all would like. –  Ken Bloom Oct 15 '10 at 18:57
@JohnMacIntyre, "crowd sourced", you should have patented the idea... http://patents.stackexchange.com lol –  CaffGeek Oct 4 '12 at 15:24
@CaffGeek - LOL. Maybe I should have. From what I understand, the SE patent site deals with the 'prior art' part of it, which I understand to mean 'does it already exist?'. But even if One Click didn't already exist, it still shouldn't be patented. I wrote a short post about how I think we could deal with the non-obvious solution part of software patents. I'm not expert on patents, so it may be extremely naive, but there it is anyway; whileicompile.com/?p=668 –  John MacIntyre Oct 6 '12 at 19:49

For something like encryption or compression algorithms, a patent seems more appropriate than copyright.

As a compromise, maybe short term patents (such as 5 years rather than 20).

It gives enough time for a return on investment but without killing off exploitation. Also, by the time a challenge has come to court and been decided, the span is probably up (or close to it) so estimating damages becomes massively easier.

share|improve this answer

Software patents are ultimate evil of today IT world. They hurt innovation and entrepreneurship and their sole purpose is to extinguish fair competition.

share|improve this answer
Your answer is argumentative and shows you haven't comprehensively examined the ramifications of patent law. Patents aid innovation by allowing inventors to profit on their works for a limited time in exchange for disclosing the principles behind it. That disclosure and documentation allows others to review other processes and determine how new inventions could be applied thereto. In addition, the reluctance of many to license patented technologies in fields in which they're experts leads to new inventions to circumvent the patents, multiplying innovations in societies that protect them. –  Huperniketes Oct 15 '10 at 10:26

Software patents are bad for several reasons that seem to apply quite acutely to software (but less so in some other industries, e.g. pharmaceuticals).

  1. Software is built on a stack of innovations at different levels. The ability to patent some of the core concepts that we take for granted and charge to license several patents at every level of innovation can increase costs of consumer products.

  2. Software patents can be used to restrict the free implementation of interoperability protocols and interoperable standards. To require somebody to license a patent for the GIF file format or MP3 file format prevents interoperability.

  3. Software patents make it difficult for upstart players (particularly open source players who have no revenue stream) to enter the market and/or take advantage of existing network effects.

There are also plenty of reasons why the patent system itself has run amok, which hurt the software industry even more:

  1. Submarine patents. These can be asserted against a product years after the product has already been written, released, and become popular and indispensable in business. (This happens with patent trolls a lot.) Another problem is companies that seek to make an easy buck by lobbying a standards committee to require their own technology as part of a standard. Then after the standard is finalized, they reveal that they've patented that technology and begin asserting the patent.

  2. Vague patents can make it very difficult for people to tell whether they are infringing a particular patent. See, for example, the Patently-O blog which mentions "Given the uncertainties associated with patent law, one can virtually never be 'substantially certain' that conduct infringes a patent short of a final judgment."

  3. Newly-filed (and granted) patents on inventions that everyone's been using for years. Though this shouldn't be so difficult to deal with in theory (the prior art is obvious), it can cost millions of dollars to defend yourself in a patent suit.

share|improve this answer

Yes, they should as patents foster innovation by motivating experts into developing new inventions that duplicate the benefits of patented technologies without utilizing the inventions so patented. Without that motivation not to be indebted to someone else's licensing requirements, innovations would be slow in coming and we'd still be using a lot of older technology.

In addition, many technologies and businesses are funded on the basis of a significant return on the investment required to develop them through the use of patents. Without that investment with an expectation of profit, a lot of very advanced and expensive technologies would not be developed.

share|improve this answer
The chief concern that really bothers me about software patents is the thought that through some creative process that I am the sole proprietor of I could come up with an idea that I think is great, and then find out (hopefully before implementation) that someone owns my idea. I didn't take the idea from them, I merely reached the same conclusion as someone else through my own efforts. If anything, patents crush ingenuity and constrain one's ability to be truly creative. –  Nathan Taylor Oct 15 '10 at 17:36
@Nathan, it's your ego that gets crushed when you discover someone else patented your idea. Prove your ingenuity by creating an alternate invention that accomplishes the same task, or is even better. If you're really creative you should be able to devise a solution that avoids that limitation. That's what programming is, having to develop a solution that overcomes some constraint in the problem-space. Do it in a way no one else has, or documented, and you're truly inventive. –  Huperniketes Oct 15 '10 at 18:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.