Most people don't understand what the fuss is about. That's not their fault, software is just a course of business that's not easy to understand for a layman. I'll try to explain some of the problems we (well, the Open Source Community, of which I consider myself a tiny part) see that make the whole practise of software patents so dangerous.
First I'll describe how one should view programming. I'll defend the idea that programming is more an art than a science and should be treated as that. After that I'll try to explain how software patents don't fit in with the whole "programming is an art"-idea. Following that, I'll give some real-life examples about how patents can jeopardize legitimate practises and innovation. Finally, I'll give my own views on what should be patentable and what not and why it's important to clearly mark those borders.
Please keep in mind, IANAL. I am, however, a (not very good, but good enough) programmer.
The Art of Coding
Although most programmers will not let you believe so, programming is more an art than a science. The same way that building a house is more of an art than a science. Of course, you need to know what you're doing and there are a lot of different ways to do it. But essentially, if you know the basics, you can start building your house or your program.
While building, you use a lot of tools and of course your experience. The first house you built will be simple. Just like your first "Hello World" program. You'll start elaborating on that first concept and you'll find new techniques of doing things. You'll develop your own style, which will be most probably a combination of styles you learned when you first started.
Just like in the construction works, when you enter the programming world, you'll need some guidance. You don't start off building a complete house, you start carting building blocks around, for example. The same with programming, you start maybe with translating work of an Open Source project. (As a sidenote, I think the best ways to really learn programming is (a) get a job in a large programming firm early or (b) start doing work in the Open Source community, either way, you'll meet a lot of people who know far more about the subject then you do, so you always can ask your questions.) Gradually, you'll be promoted or do some work on your own initiative. Maybe you'll build that shed in your garden that you always wanted. Or you create a simple program to resize pictures.
In time, you get more experienced and better acquainted with the tools you have. You get to use structures that you wouldn't have thought about, when you had less experience and you see possibilities far better. You know which structures resist the elements better and which are safer. You learn about "pretty" building, how to do the most with the least materials. You're combining stuff into new, exciting combinations, in a way that really makes you say "You know, 1 + 1 really is 3". You get the most out of your program. And when you're really good, everyone tries to do the same. They follow your examples.
Of course, there are parts in construction and programming that are real science. Think about the composition of building blocks or the mathematical formulae to solve the "traveling salesman" problem in the shortest time possible. But really, are these parts of construction and programming? I'd call the former "an application of chemistry" and the latter "an application of mathematics". And both chemistry and mathematics are in my opinion real sciences.
So programmers generally don't invent stuff. They combine stuff to generate new things and applications. Most people don't use any program for which the programmer had to invent new stuff, everything was readily available. Only the combination of all those small, little things, makes the program unique.
Art Patents Are Impossible, Copyright Is The Way To Go
Numerous places are citing texts that tell you no novel could be written anymore when we would allow Art Patents. If Edgar A. Poe would have taken a patent on horror stories, (probably) all the works of Stephan King would violate that patent. That's not what we want.
What we do, however, is copyright. If Stephan King would quote Poe verbatim, it would violate Poe's copyright (if it was still valid), especially when mr. King would put his own name on the works. But if he wanted to write a sequal to "The Pit and the Pendulum", he would be allowed to do so. If I wanted to write in the wonderful world created by Katharine Kerr, Deverry, it would be no trouble at all. Even when that story would be a bestseller, the only thing mrs. Kerr could do was ask me to find some other world in which to settle my atagonists. And she probably wouldn't. But instead of selling my story, I could publish it online, on this blog, for everyone to enjoy. No trouble at all!
And that's the power of copyright over patents. Copyright encourages new, hopefully better derivative works than the original. And we (speaking as part of the Open Source community again) like it that way! We want others to improve our programs. Hopefully they'll donate their improvements back to us.
When Microsoft wants to keep their Windows-code closed, that's okay. That's their choice, because they have the copyright over the code. But they cannot patent that code or even part of it. That would mean that each program that uses one of the building blocks Microsoft used for their Operating System, would be outlawed.
If, however, Microsoft invented some genuinly new way to solve the herefor mentioned Traveling Salesman problem, they have every right to patent those mathematical algoritmes. I wouldn't like it, because it would really damage the Open Source movement, but it would be their moral right. I would petition them to "free the code" and all, but I could never demand it from them. (Except, of course, when it was proven they didn't actually invent to code but copied it from someone else.)
A lot of people quote the Amazon One-Click patent-problem, but recently some other news is even more interesting: Apple has been sued over their iTunes interface. This is such a perfect example of why Software Patents are a Bad Thing©. Apparantly, Contois Music Technology, the owner of eMusicGear, has the patent for the user interface that's used by iTunes. So, a user interface (which is an artistic expression, using buttons and colors and the like) has been patented. Which means each new program has to look very carefully where they put their buttons, or else they might violate the patent. That's just silly.
Again, programming is an art, the same as user interface design. It may be partly a science, but for the most part it's an art. Deciding where to put certain buttons isn't an invention. It's using basic building blocks to achieve something that the building blocks should be used for. How come people can patent this stuff? So each time I make a little program for my father, I'll have to consult all the patents to see if someone patented the placement of the buttons in the order I'm using them? Silly. And it doesn't contribute anything but money and power for the bureaucracy.
These things, the interface and the shopping cart, aren't innovations. They are yet another way to assemble the building blocks that everyone can use. If a constructor would create a configuration with in the middle a door and two windows next to it, would you allow him to patent it? Of course not! Software Patent should be disallowed.
Patents And Copyright, The Right Choice For The Right Subject
Copyright is the stuff you want to use for programs. Not patents. We want derivatives of programs. Not only Open Source Software, closed software as well. Patents in this wat stiffle improvements and innovations. Start-ups would think twice before starting up, if they're into the programming business. It's like construction, good companies will prevail, as long as they have a steady flow of ideas and materials (and orders, of course). Software companies work the same, there will be lots of innovation without patents. Far more than with patents.
Patents aren't a bad thing. They can help to improve innovation. Especially in field where a lot of money needs to be invested to get something viable. Like pharmeutical industry or other chemistry. You can't simply start pharmaceutical research in your living room. You can, however, do some programming art in your living room (especially with a nice PowerBook on your lap, a cute bunny at your side and a few dogs running around).
Patents are a bad thing for software, though. Only the large players can use those. They can stop those programmers who start in their living room designing new, amazing stuff from the same bricks that are used every day in software development. It's the configuration of those bricks that matters. And copyright is good enough to be able to make money off of it.