I'm not totally opposed to software patents, I mean, the RSA encryption algorithm is a brilliant piece of software and might qualify for some sort of protection. But I also believe that algorithms are built on math, and software is built on algorithms. Imagine what the world would look like if other ideas were equally patentable, like if Einstein had patended his theory of relativity, demanding license fees from anyone who tried to use it?
Copyright does an excellent job at protecting people's works, and it comes into effect automatically as you write something. But if you have a great idea that could help make life easier for people around the world using computers, and you patent it to prevent them from using it without first paying you, what kind of person does that make you? I mean, sure, if I write some program to compress files and then sell it to people, there's nothing wrong with that. But if someone else then writes a better program and people start buying that instead, who am I to complain about it? If I try to stop people from writing better software without paying me, I'm a greedy, monopolizing bastard. And last time I checked, people don't like greedy, monopolizing bastards. It's a good thing "real world" patents don't work like that, or we'd all still be using the old-style bicycles with huge front wheels (since the original inventor would demand unreasonable license fees from anyone trying to invent another bicycle).
The software community is an interesting thing, it is a market where people must be allowed to make money, but it is more importantly a field of science. RSA is a perfect example of this too. And science, the advancement of knowledge, should not be hindered by prohibiting others to build on your ideas.