I think the problem with software patents is that they have no physical embodiment for laymen (Patent clerks) to be able to "see" and "Feel" and therefore make wise judgments on issuing patents. This leads to some vague patents, which when held by a small company/individual, will be easily invalidated by a large corporation in court, but when held by a large corporation, can be pretty much undefeatable.
There is a recent suit claims World of Warcraft and Call of Duty violate a software patent;
Not a patent that describes a novel rendering engine, or networking code, but a patent that (I'm Summarizing here) covers the idea of "representing players as 3-d avatars in a virtual space and allowing other players to see them" (This patent is held by a small company, and will probably be invalidated)
I think that software should be patentable, but, my common sense (as a small web-developer) says that these patents need to be significantly novel, AND specific, AND be tied to an IMPLIMENTATION.
I guy i know holds that patent to the idea of "displaying web site users who are looking a specific product, other products that were commonly purchased together by other consumers" He makes quite a bit of money from this.
This IS NOT a patent on the METHOD he uses to track the most popular products or the way he structured his Database or his specific implementation of code, But the “IDEA” of LISTING commonly purchased products.
As someone else here mentioned, when dealing with ethereal things as software, it’s hard to distinguish IDEAS from INVENTIONS, and too many IDEAS are being patented as INVENTIONS.