That's almost offensive - you seem to have a very ignorant viewpoint. Have you never heard of licensing? Research teams regularly build libraries that become incorporated into products that they do not sell. They can also license the math (which is not patentable) and have another team actually write the code. Why does the licensee bother to pay? Exclusivity, maintenance, further improvements, etc. Ideas that are not patentable can still be protected as trade secret, making them commercially valuable. If a company does not pay their licensing fees, the researchers might choose not to work with them in the future, providing a competitive advantage to other companies that do.
Since you don't show a firm grasp on patents, let me provide an example of the problem. Remember that patents are a legal protection ignorant of independent discovery. Say that you created a new, successful communications tool. People are often bothered when someone sends them a message while they are giving a presentation, so you change their status from Available to Busy when their calendar says they are in a meeting.
As you become a big commercial success, IBM sues you for infringement of their patent on changing chat availability status based on calendar free/busy. They seek damages and an injunction until the matter is resolved. They will settle for 150% of your company's worth, or they will pay their lawyers to tie this up in the courts until nobody cares about your product or you run out of money.
Hopefully it is obvious that patents do not help innovation in this situation. Some will say that this is a case of a bad patent, and the solution is just to ensure that patents are good. The problem is that only a couple of people in the world could tell the difference between a bad software patent and a good one (none of them are judges or lawyers), and who are they to rule on IBM's lawsuit against you?
It is now on your head to request re-examination and prove that someone else had already created a product that uses a personal calendar to change away status based solely on information in trade publications and product manuals (if you can find them). Alternatively you could attempt to prove that the invention was obvious, which requires you to recreate the environment in which the patent was filed and convince a non-technical examiner that an average programmer in that environment would have found it to be obvious.
But let's cut to the chase and say that you run out of money. IBM can litigate their toilet paper patent for centuries without noticing, and you probably have a couple months of runway. This is what it means to have patent protection.
> Have you never heard of licensing? Research teams regularly build libraries that become incorporated into products that they do not sell.
Licensing is based on copyright, a different government-granted monopoly. Why should software libraries be protected when software algorithms aren't? What you're saying is that you should be able to protect your "yet another JS framework" under copyright, but not something like a power control loop in a wireless device under patents.
> They can also license the math (which is not patentable) and have another team actually write the code.
You can license it, but you have no legal protection to keep people from copying it.
> Ideas that are not patentable can still be protected as trade secret, making them commercially valuable.
1) you can't transact in trade secrets;
2) trade secrets are of no use when embedded as software in devices.
Say I come up with a new power control loop for wireless devices. The loop allows radios to cause less interference while maintaining bandwidth. Say I keep it as a trade secret. If I put it in a radio and sell it, someone can reverse-engineer the firmware and copy the design of the power control loop. Trade secrets won't protect me. Moreover, I have to get into the business of building every kind of radio I might want to sell. I can't just sell the power control loop to someone who is good at building radios, because trade secret doesn't cover things you voluntarily disclose. Imagine the situation: I go up to Raytheon and say "I've got a great power control loop, I'll sell it to you for $50m." And they say "well, how does it work? We're not paying $50m without understanding what we're buying." And you say "well pay me first than I'll tell you!"
> Hopefully it is obvious that patents do not help innovation in this situation.
Agreed, but that's a phenomenally bad patent.
> Some will say that this is a case of a bad patent, and the solution is just to ensure that patents are good.
Yup.
> The problem is that only a couple of people in the world could tell the difference between a bad software patent and a good one (none of them are judges or lawyers), and who are they to rule on IBM's lawsuit against you?
The "chat availability status" patents are getting a lot of press on HN, but I spent years working at tech companies that produced patents along the lines of the OFDM example linked-to above. I think a lot of people on HN don't have the exposure to embedded software to be able to really appreciate what the other side of the patent coin looks like.
Why should software libraries be protected when software algorithms aren't?
Independent invention.
> They can also license the math (which is not patentable) and have another team actually write the code.
You can license it, but you have no legal protection to keep people from copying it.
To keep other people from copying it. The people that you license it to will be contractually bound. Perhaps, but it will be expensive and time consuming for them to copy it. Patents are for a limited time, so this is an argument tied up in a comparison of how long it takes someone to unravel a complicated system, how long a patent lasts, and how much the inventor would license it for.
I think a lot of people on HN don't have the exposure to embedded software to be able to really appreciate what the other side of the patent coin looks like
That may be true. If you have made inventions such as these, you should protect them with trade secret because chat availability status patents are far more excessively damaging than strong signal processing patents are valuable.
Nobody is independently inventing the OFDM patent I linked to, at least not within the patent term. You're taking an edge case and making the debate all about that edge case. I think it's quite reasonable to have genuine independent invention as a defense to patent infringement, FWIW.
> You can write a contract for anything.
You can contract for anything, but you can't enforce the contract against anyone not in contractual privity.
> That may be true. If you have made inventions such as these, you should protect them with trade secret because chat availability status patents are far more excessively damaging than strong signal processing patents are valuable.
As I described above, trade secrets don't allow the crucial feature of being easy to transact in. And you have absolutely no basis for your claim that "chat availability" patents are more damaging than signal processing patents are valuable. You can point to the Apple litigation on one side, and I can point to ARM, Ltd. on the other, etc.
You're taking an edge case and making the debate all about that edge case.
Sadly, I see this the opposite way. Quantity-wise good, innovative architecture patents are in the vast minority. If we are to deal with software patents one at a time, the combined effort dealing with bad ones far outweighs good ones.
You can contract for anything, but you can't enforce the contract against anyone not in contractual privity.
Hah, I already updated my comment based on your updated comment! HN isn't the best for these kinds of discussions.
Nobody is independently inventing the OFDM patent I linked to, at least not within the patent term.
I have been thinking for some time that we need a collection of good software patents. Not having read the OFDM or ARM patents (for which I'm not qualified anyway), I don't know if they are "good". But I do know that one day we're going to invalidate a large percentage of software patents or watch innovation happen elsewhere. When that day comes, it will be important to have a list of things that are valuable, or else we'll end up with the bar that I described (anything computable is not patentable).
Unfortunately, I don't know of enough of them to seed such a database. Maybe fast square root or some of Carmack's graphics work. And as such I'm okay with seeing them 100% invalid. If you disagree, perhaps we can chat about it (email's in my profile).
Say I come up with a new power control loop for wireless devices. ... If I put it in a radio and sell it, someone can reverse-engineer the firmware and copy the design of the power control loop. Trade secrets won't protect me. ... Imagine the situation: I go up to Raytheon and say "I've got a great power control loop, I'll sell it to you for $50m." And they say "well, how does it work? We're not paying $50m without understanding what we're buying." And you say "well pay me first than I'll tell you!"
I think that this situation could be resolved with a careful NDA and later a license, but you've provided some compelling examples that I think are worth discussing. Perhaps the end of software patents comes with a new sort of hybrid of trade secret and license? The only way to keep things safe in the future appears to be keeping valuable things secret (ask any DRM provider). Even now, how would you enforce a patent against a competitor with a DoD contract, or abstractly with a military contract in another country? The invisibility of software complicates patent enforcement, but not trade secret or licensing.
There are hundreds of IP lawyers with strong technical backgrounds who could tell the difference between the patent in your example and say the OFDM patent [snip]
Okay, let's take that argument and run with it. If there are so very many talented IP lawyers with strong technical backgrounds, then why is patent law so bad in the first place? Why are we even having this discussion?
I think there are two reasons. First, I don't think there are enough good IP lawyers covering software patents and software patent law. Why? Software is a very new field and it is changing very quickly. Even the foundational structures of our industry are less than a century old. As such, it's very easy to sneak through "obvious" patents simply because they don't look obvious to someone outside the field. Second, the patent attorneys who do understand how software works and how software patents can be used to constrain and thwart software development all seem to be employed by patent trolls.
For example, let's look at the recent Kelora patent case [1]. In this case, Kelora patented "parametric search" (e.g. drill-down search). They then filed suit against basically every online retailer that allowed shoppers to drill down by category. Now, to a programmer or a web developer, the concept for drill-down hierarchical search is obvious, maybe even a bit blasé. But to someone who isn't as well versed in software development, it can definitely look like a new innovation that deserves patent protection.
Fortunately, in this case, the patent was overturned. But not before it did its damage. Before Kelora took on the big companies, it managed to win settlements from a number of smaller firms [2]. That highlights the true cost of software patents. The cost isn't mainly from the patents that are contested in court. The cost is mainly from the patents that aren't. It's the cost of a business that has to shut down because it violates a patent it didn't know existed. It's the cost of man years wasted because a product has to be redesigned to avoid patent litigation.
Yes, patents do protect innovation. However, they protect certain innovations at the cost of making other innovations much more difficult. In software, especially, they form a tragedy of the anti-commons, where, in effect, your competition has veto power over your innovation. It is increasingly clear to me that these costs do not justify the limited benefit that patent protection brings for software. That is why software patents should be abolished. They are simply not worth the cost.
Since you don't show a firm grasp on patents, let me provide an example of the problem. Remember that patents are a legal protection ignorant of independent discovery. Say that you created a new, successful communications tool. People are often bothered when someone sends them a message while they are giving a presentation, so you change their status from Available to Busy when their calendar says they are in a meeting.
As you become a big commercial success, IBM sues you for infringement of their patent on changing chat availability status based on calendar free/busy. They seek damages and an injunction until the matter is resolved. They will settle for 150% of your company's worth, or they will pay their lawyers to tie this up in the courts until nobody cares about your product or you run out of money.
Hopefully it is obvious that patents do not help innovation in this situation. Some will say that this is a case of a bad patent, and the solution is just to ensure that patents are good. The problem is that only a couple of people in the world could tell the difference between a bad software patent and a good one (none of them are judges or lawyers), and who are they to rule on IBM's lawsuit against you?
It is now on your head to request re-examination and prove that someone else had already created a product that uses a personal calendar to change away status based solely on information in trade publications and product manuals (if you can find them). Alternatively you could attempt to prove that the invention was obvious, which requires you to recreate the environment in which the patent was filed and convince a non-technical examiner that an average programmer in that environment would have found it to be obvious.
But let's cut to the chase and say that you run out of money. IBM can litigate their toilet paper patent for centuries without noticing, and you probably have a couple months of runway. This is what it means to have patent protection.