The Pernicious Issue of Software Patents

That’s the point of patents, folks - to make sure that the person who invents the Next Big Thing actually benefits from it.

That’s not the point of patents. That’s the method used by patents to achieve their true end: Getting information into the public domain.

The problem with not having patents is that there’s no expiration date on trade secrets.

The current problem isn’t with patents… that’s a philosophical discussion for another day. The current problem is patent abuse. Plain and simple.

USPO grants countless far-reaching, incredibly obvious, vague patents to Fancy-Pants-Cos with big lawyers. Trolls with small lawyers and even smaller RD find obscure loopholes, patent them, then sit and litigate. The small guy with no lawyer invents something new, patents it, then is buried under the legal costs of defending that patent.

Fahgetabout patents as an idea for just a sec. Because the patent system is broke - and broke bad.

I see a lot of arguments about the consequences of patents, good and bad, but not any real principled arguments. I’d like to make that here.

One of the principles involved in patent law is whether the item being considered for patent protection is a creation or a discovery. That is, is this thing under consideration a unique product of human creativity, or is it simply a discovery about the underlying nature of the universe that would have come about eventually anyway.

This question goes to the heart of what software development is: is it an engineering discipline, or is it applied mathematics. Engineering is full of patents, mathematics is not. There’s no absolute answer, and different kinds of software probably fall in different spots on the spectrum, but my experience tells me that software is more applied mathematics than engineering.

Take patterns for example; although we look at the Gang of Four as having documented the design patterns, do we consider them to have invented them? I certainly don’t. This doesn’t detract from their work, any more than it detracts from Isaac Newton’s work to say that he didn’t invent gravity.

Engineering is the application of the principles of nature. A piece of software (as opposed to software in general) is also the application of the principles of nature, in the sense that it’s applied mathematics (which no one, save God, can claim to have created). As a piece of engineering can be patented, but not the principles upon which it was based, so it seems that a piece of software should be protected thusly, but not the principles that allowed it to be created. This kind of protection exists in the form of copyright.

So it comes down to player b not being allowed to copy reams of code from player a, but if player b can examine the behavior of the application, whether through decompilation or external instrumentation, it should be fair game.

The argument is based around the idea that a software algorithm is essentially just math.

I’m not sure I agree with that. Maybe in the strict case where you are talking about a single algorithm, but many software patents cover a larger set of functionality in the software.

http://www.codinghorror.com/blog/archives/000298.html


With math, and I’m not talking about the crazy number-theory math philosophy “Do numbers really exist?” side of things, but with the applied stuff, there are correct answers. You’re either correct or you’re incorrect.

With coding, the best you can hope for is to do something well. With so many different ways to effect a single outcome, it’s up to some very right-brained sensibilities to determine if you’ve met your goal, as there isn’t anybody (except [another more experienced developer]) who can tell you if you’re right or not.

Jeff, from post #298 which you just linked to…

Unlike math, software can’t be objectively, formally verified to be correct.

Respectfully, I think Mr. Knuth would disagree with you. In fact, one of his more famous quotes is “Beware of bugs in the above code; I have only proved it correct, not tried it.”

many software patents cover a larger set of functionality in the software

I can see an argument for this. But that’s not how a lot of software patents are being used.

This is obviously a complex issue, and I don’t think any of us has “the right answer” at this point in time. Law relating to patents, copyrights, trade secrets, took centuries to evolve to the point it has. But art and mechanical inventions have been around for centuries. Software, on the other hand is only about 60 years old. It is a new thing, both very alike and very different from both art and machinery. And it’s going to take us, as a society, a long time to get the related laws right.

There’s one other issue that people have missed: whether you love or hate software patents, startup companies will almost never get substantial funding from inventors unless they have patents (pending or issued).

Venture capitalist firms, in particular, demand patents. Otherwise a big company can come along, rip off the little guy’s products, and the investors are left holding a worthless company. If the company doesn’t have patents that protect its products, it will almost never get funding.

No funding and the company will most likely dry up, or scrape along but not hit it big. I’m sure there are exceptions to this rule, but it’s much harder to get investors without some way to protect your new product.

The bottom line is that even though the people in the trenches (the coders) tend to dislike software patents, many of their jobs depend on them.

Sorry, typo… substantial funding from “investors.”

Those who think that patents hurt the little guy or that without patents you won’t get investors fail to see the fact that most businesses are not new or innovative at all. The best way to make money and be successful is to simply do what has been done before but do it better. You don’t need patents to make a hamburger. And you don’t need patents to create basic CRUD applications. And both can make you millions if you simply do them well. Granted, you won’t get any attention from the likes of Paul Graham. But then again, who wants that anyway?

Companies and their investors who stake their money on the presence of patents or on coming up with something new and novel are usually the one’s that fail miserably.

One thing you shouldn’t be able to do is to take a patent and then sit on it, there should be a clause that says that you need to use it within a certain time or sell it to someone that will use it.

Today there are companies that actually live on buying patents and then go after the big corps with lawsuits.

I have no problem with software patents if there would be such a rule built into it.

I don’t really like the solution that I am proposing, but I think that it is the most workable given the situation:

Make patent duty like jury duty. However instead of opening it up to all citizens open it up to all engineers. Got a new mechanical device? You’re going to have to defend it in front of a jury mechanical engineers. The question then becomes, do we ditch software patents or do we license software engineers? Licensing software engineers wouldn’t mean that everyone has to be licensed. We could have Computer Scientists as scientists, Software Engineers as engineers, and umm script kiddies to write boilerplate for web stuff.

Why does a patent for organic dust compression last as long as a patent for one-click buying?

In Australia you can not patent software under the Australian regulations. (Nor ideas, concepts etc. etc.)
Therefore we have to rely on Copright which is adequate for small developers but doesn’t protect from overseas too well.
We still suppose to pay all these american companies countless thousands if we infringe on their so-called patents, like clicking a mouse, having a button etc etc.
This in turn has created a very insecure and secretive industry in Australia. I’m working on software but can not even release a demo of it to the open world in fear of someone stealing my ideas, and patenting them.
Thanks to the American Patent legislation many small and individual developers can’t afford to offer new software in fear of repercussions.
Control should be on the physical code and not the idea. This garbage of patents for mouse clicks, and on screen buttons etc is purely done to limit future development by other companies.
Companies should be promoting and endorsing their new developments and striving for creativity and advancement, not locking everything away.
Money should be in the code, not the idea! Ideas are free!

Unlike math, software can’t be objectively,
formally verified to be correct.

This from the guy who thinks experience can make up for education :slight_smile:

You’re wrong, of course.

I too am in the Reddit wormhole. I always knew you were a redditer. You seem to hit many of the topics there on this blog. Its quite a unique set of people there.

Software patents do no good, and in fact do harm. See this video for an explanation:

http://video.google.com/videoplay?docid=6390784544771380326

Bottom line, the only people software patents benefit is big companies with lots of money, and they don’t need the benefit anyway, and they hurt the small guy very badly.

Actually, the current Patent process in regards software is more against the “little guy” than you would think; especially when clearly obvious (and unoriginal) patents are used as a club to whack them out of business.
And if you’re a “big guy” company and a patent is in your way, the old trick of “stringing out the lawsuit until you crack” is easily applied. Deep pockets win those cases, not patents (or for that matter, the law).

The current style is to make the wording so wide and far-reaching, that even a patent for a mobile device can be easily applied to software without changing the context of the Patent (take the Microsoft double-click/delay-click patent for example).

Those people saying patents were made to protect the little guy, you have to realize that this was never the rationale behind patents. Not now, not ever.

Patents were never supposed to be used as “proof” that “I thought of it first” for the sake of litigation. They were meant to encourage people and businesses to share their ideas for new inventions (so others could build on them), while still getting credit for the idea. In other words, they could make the information public while receiving protection against the possibility of any dummy - who would never have thought of the idea themselves - blatantly stealing the idea.

That worked for a long time, but in today’s overly litigious society people eventually realized that they could get absurdly generic patents approved in order to stifle the competition. In a sense, patents have become more like copyrights than what patents were originally meant to be. And then you have these patent farms gaming the system, making an entire business out of hoarding them and suing everybody who comes up with anything even remotely similar. With software this becomes ridiculous because there are always 50 different ways to accomplish the same task; patents usually describe functional specifications and basic design, but in software, the real meat is in the implementation.

I’m not sure how the litigation works now, but I think that if a patent is ever struck down in court because it’s too generic or not novel, the plaintiff should be required to pay for all the legal fees, plus any damages incurred to the defending individual/business as a result, plus punitive damages if they’re caught doing this more than a couple of times.

You can’t patent creativity or code.

I’m patenting this line of code so no one else can ever use it!

string data = string.empty;

Most systems I worked on never had much documentation anyway, so how are you going to patent that??

Ideas shouldn’t be patented, they should be kept secret until the implementation of the idea is produced. Implementations, I can see patents on that, but the innovation has to be documented.

You shouldn’t be allowed patent something like Google, Online Checking or Amazon because even though they are products, what they really are is services and if someone else comes up with a better way to do Internet Search or do Online Checking your company will just have to deal with it and innovate a new solution.

If the US patent office is allowing for silly patents, then I agree it need to be reformed.

You can patent machines, designs or methods

I have seen a lot of discussions saying patents are broken,stifles innovation but the discussions so far have been pretty short on fixes. I really havent seen any pragmatic approaches that even begin to stem the abuses of the current system I can think of several things that the USPTO needs to do:

  1. public comment period after the initial due dilligence of the patent examiner to determine if there are other sources of prior art before allowing the patent.

  2. use or lose it. either by filing a business plan that demonstrates intent to exploit and commercialize the patent.

  3. licensing arbitration. to prevent abuse in setting patent fees so high as to stifle innovation or cause crib death to start ups. either via cross licence agreements or sliding scales on compensation.

I am sure there are detractors of this but we certainly need to do something rather than nothing but whine about it.