Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The common complaints about software patents rely on mistakes and shortcomings of the book-keeping: obvious inventions sneaking through, prior art missed, terms too long, etc.

But the real difference (and problem, imo) can be found in the claims.

A patent for a physical invention lays out, in its claims, precisely how an invention works. A lever-arm here, a catch there.

Infringement on that patent can only happen if a competing implementation contains all the elements of the original claims.

So if I want to achieve the same result that you did, I simply have to build my solution such that at least one element is distinct.

E.g. If you were granted a patent on a traditional set of gears to effect variable windscreen wiper delay, I could use an orbital gearing solution. Regardless of which solution is better, at the end of the day we'd both be able to offer our clients variable wiper delay.

Software (and process) claims, by contrast, invariably work at a higher level. Gone are levers and gears, in their place we find 'a method', 'a network', 'a client'. As we all know "a network" describes a far, far larger domain than "a gear" (and even "a gear" is pretty darn generous).

Software patents are literally staking their claims at a higher level of abstraction and the practical result is that there is generally no feasible alternative implementation. So no competitor can offer a competing product that effects the same result, even if the substance of their solution is wildly different than the original invention.

Rather than granting a monopoly on the invention, software patents live far closer to the level of granting a monopoly on the idea. And this introduces a much more severe drag on the market than you see with physical inventions.



The solution then, it appears, would be to hold software patents to the same standard. Put the code in there. Patent the source code. Forget the legal stuff. If you use unpatented closed source patents, be clear about which product it is and which version you are using. Hold corporations responsible for using version control on their software and everything falls into place.

For loops are like gears. While loops are like emptying water tanks. Booleans are switches Storage containers are variables.

All that stuff is represented in the source code. As a software engineer, my defense is my repository. I wrote all that code, look. I didn't take it from someone or copy someone's idea or try to infringe anything. I was trying to make the world better and people liked it so they bought it and I can feed my family. :)


Source code is already covered by copyright law. Why must it be covered by patent law as well?


A patent for a physical invention lays out, in its claims, precisely how an invention works. A lever-arm here, a catch there

Only if it was written by a really crappy lawyer! The company I work for spent months coming up with a design for a mechanism and ended up with something pretty suboptimal in order to avoid all the existing patent claims. A good patent attorney will state the claims as generally as possible. e.g., don't call out a "10-24 screw," instead call out a "fixed or removable fastener" or "a means of locating the rotating element" etc. You may be confused because many patents show drawings, but those drawings are only examples to illustrate the concept, not necessarily actual claims


Sounds like innovation to join a market, rather than innovation to create a market. Why not just patent an improvement on an existing product?

That's one good thing about open source software. Improvements can just be tacked on. You don't have to go invent something totally new. That is one thing that separates software and machines.

It's hard to tack a more efficient engine onto a 5 year old tractor.


You're arguing one simplified example while having ignored the thrust of the argument.

Yes, applications on physical inventions try to broaden their claims as much as possible. But there is still a substantial and quantitative difference between the domain covered by "fixed or removable fastener" and "a network" or "a process".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: