There are two fundamental discussion schemes about software patents: (1) can we patent something that can be described as a mathematical concept and stuff. and (2) why would you want to patent software in the first place.
The first discussion is tricky. Comparing algorithms to mathematics, having patents that can be expressed through mechanical OR software, etc.
The second discussion is IMHO getting back to basics: Why do you want patent in the first place ? Why, in our free market universe, do you want to give to a restricted number of actors a monopoly ? Why not competition ? After all, if your neighbor decide to put a lemonade stand in front of your garden, and even if you didn't thought about this idea before, you are free to imitate/copy/replicate its business. Patents are inherently anti-free market.
To answer to this, you need to get back in time, and understand the reasons that led our ancestors to create patents: some technological inventions were extremely expensive, hard to copy, and companies were spending an unreasonable amount of money in them, say, to re-invent steam engine. This led to this bizarre exception, at the very condition that it would be limited in time, and really have a positive impact on the market (ie. NOT for the companies filling patents as sole incentive)
In software, there is no reason to allow patents. Don't get me wrong - a very very tiny fraction of software could be seen as needing patents (mpeg algorithms are often cited, probably engine injection algorithms too). But most of algorithms can be replicated by a bunch of engineers in an office. This is neither expensive, nor requiring specific provisions.
TL;DR: Software industry does not absolutely need patents, and because patents are very strong anti-competitive provisions, it should not be allowed in this industry unless there is a clear reason.
The big original reason patents came into existence was to reduce the number of trade secrets - an obvious block to progress; by ensuring that more inventions would enter the public domain (which was once rare and much tech was lost as a result, or very local.) See the history of forceps. Secondarily, as with copyright, you are rewarding the task of creativity. So, can you extend this first principle to software? Only if the software could operate in "a cloud" far from the user and therefore never be reverse engineered... which, oops, is exactly where we are. If there are no software patents, don't think that will mean that everyone gets to use the newest and greatest algorithms, it's more likely to mean that they will remain very private property that nobody else can build on top of. That situation could take us back centuries.
It's not just a matter of encryption or compression; there are always better and worse ways of doing things. We have seen large advances in the past there and elsewhere, you're predicting progress won't happen again - a bad bet.
There are two fundamental discussion schemes about software patents: (1) can we patent something that can be described as a mathematical concept and stuff. and (2) why would you want to patent software in the first place.
The first discussion is tricky. Comparing algorithms to mathematics, having patents that can be expressed through mechanical OR software, etc.
The second discussion is IMHO getting back to basics: Why do you want patent in the first place ? Why, in our free market universe, do you want to give to a restricted number of actors a monopoly ? Why not competition ? After all, if your neighbor decide to put a lemonade stand in front of your garden, and even if you didn't thought about this idea before, you are free to imitate/copy/replicate its business. Patents are inherently anti-free market.
To answer to this, you need to get back in time, and understand the reasons that led our ancestors to create patents: some technological inventions were extremely expensive, hard to copy, and companies were spending an unreasonable amount of money in them, say, to re-invent steam engine. This led to this bizarre exception, at the very condition that it would be limited in time, and really have a positive impact on the market (ie. NOT for the companies filling patents as sole incentive)
In software, there is no reason to allow patents. Don't get me wrong - a very very tiny fraction of software could be seen as needing patents (mpeg algorithms are often cited, probably engine injection algorithms too). But most of algorithms can be replicated by a bunch of engineers in an office. This is neither expensive, nor requiring specific provisions.
TL;DR: Software industry does not absolutely need patents, and because patents are very strong anti-competitive provisions, it should not be allowed in this industry unless there is a clear reason.