There are two problems with software patent. First, they violate First Amendment free speech rights. Second, Free Software programmers have no money to buy them. I think that both of these can be dealt with and that the Free Software Community should embrace software patents.
The issue of violating the first amendment rights is a big issue. Fortunately, with patents covering GPL code would only stop non-free software from being published. Many people in the free software community view non-free software as unethical, and with software patents, it could also be illegal. A second justification is that it's better to oppress your competition than be the victim. The doctrine of preemption applies here. A third justification is that software patents are not morally wrong, it's not like you're doing anything illegal.
The problem of not having money is just a matter of perspective. If you buy a software patent, then you can sue people with it down the line and recoup your investment. There are people who would be willing to buy your patents.
If I remember correctly, it costs around $10K to buy a patent. I would be willing to sell a patent to someone else for $15K. That person could then wait for 5-7 years and then start licensing the patent for non-free software or suing people who refuse to license.
In fact, here is my plan. I'm going to open my software up so that anyone can patent any aspect of it if they pay me $5K. They would have to take care of all the patent paper work and they wouldn't be able to sue anyone over GPL licensed software but otherwise, they'd be free to sue anyone they wanted.
In the coming years, Microsoft will use patents to try slow Free Software development. They will succeed. Fortunately, the Free Software community
can fight Microsofts assault by selling patent rights to lawyers.