However, this doesn't mean that the current system is as effective as it should be. We have to continuously monitor to make sure that patents aren't abused to create de facto monopolies or to allow a corporation with a big legal team to bully everyone from innovating on their own.
Patents just dont' work with software.
Patents are a conscruct. It's a ethical thing. The idea behind patents is that society at large sacrifices it's freedom to do certain things for a certain time people so that a small group or individual can profit from inventions.
The profit is high motivation for creating new ideas. And a patent is temporary so that if you want to keep on making money your going to have to keep on inventing.
So ultimately what you have is a termporary loss to society which you trade for hopefully a net gain.
The second part of a patent is...
Also in order to get a patent you must reveal your invention and describe it's function and concepts spelled out in detail in the patent application. After getting a patent these applications are in the public domain. They are used by researchers and other inventors then then create new ideas based on your ideas, which they themselves can patent, and it allows industry the chance to understand and perfect the use of your invention in their own products (to which they can then pay you or wait till the patent expires to release their product).
This is to counter the natural tendancy for trade secrets. So companies can make a choice, reveal in detail their invention to the public and get a temporary monopoly to which they can license to other people, or keep it a secret and hope that nobody reverse engineers it. (which is 100% legal and many many large companies around today got their start by reverse engineering other people's stuff and releasing it. Adobe for example. Compaq did the same thing with the IBM PC Bios)
So when the concept of patents were put into law in the USA in Europe if you were a inventor then basicly your inventions become property of the state. Many many great inventors and such never ever made any money off their stuff and basicly they operated as wards of the state. Everything they have is bought and owned by the state, they were operating under state control, and the state took their ideas. More or less.
So with patents this made the USA a very very attractive place for very smart people to immigrate to. Because then engineers and scientists not only could be their own men, but could make truckloads of money from it also.
And it's still like that. That's why most countries honor patents. The thing make sense for engineering and science and it's a wonderfull way to allow society's resources (in the form of money) go to the people that are the most productive at producing new ideas.
But patents don't work with everything and software (at least in general) suffers greatly from it.
If your curious why software patents are bad for programmers and companies were otherwise patents are good for inventors and companies there are a few pages that will help you out...
This page is the classic one. Everything they talk about is still true today, except that it's much worse.
http://lpf.ai.mit.edu/Patents/patents.html
Another thing to keep in mind is that software complexity is much much higher...
Say software program vs automobile.
* Software has copyright protections, a automobile does not. (copyrights and patents are two entirely different areas of laws and are unrelated)
* A automobile may have hundreds of potentially patenable inventions for each new model. A large software program will have several thousand. Software is on a order of magnitude more complex then mechanical devices, and unlike cars or bridges are not restricted by the laws of nature.
* A automobile requires teams of engineers to design, months of expensive testing to prove, teams of people to construct in plants costing millions of dollars, and out of that lawyers are a very small overhead. A programmer can go to wallmart and buy a PC for 300 dollars and have the ability to create software that is as complex and usefull as any corporation on the planet.
* Automobile makers have a relatively easy time avoiding patent violations. With programmers if your making software your violating patents, its impossible to avoid.
There are several reason for these things.
Keep in mind that software is something that is relatively new. It has aspects that are similar to engineering, and writing a book, or making a food recipe, and lots of other things, but it's still different from all those things.
In 2006 alone there were almost 41,000 software-related patents granted by the US patent office.
Doing a search through the patent database for 'software' I came across 289,348 patents. Look through them yourself and ask yourself if this is something that makes sense to have. Of course a lot of them aren't nessicarially about software, but most are.
http://patft.uspto.gov/netacgi/nph-Pars...&FIELD1=&co1=AND&TERM2=&FIELD2=&d=PTXT
http://en.wikipedia.org/wiki/Software_patent_debate
What is probably going to happen if there isn't major reform with the system is that basicly any company that wants to do software will simply do it outside of the USA. It just doesn't make sense to operate in a environment were your subject to such restrictions and legal risks. Then companies doing work outside the US will then just come back, get as much software patents possible themselves and just extract as much licensing fees from companies still operating out of this country.