How does humanity as a whole benefit from a patent holder demanding compensation for the use of their "software invention" when it's duplicated, unknowingly, by an independent hacker working in his basement on a pet project following the rapid uptake of their project by the greater software community? What if the hacker gave the software away for free? How does the original patent holder get compensated?
Or what happens when implementations of useful, but somewhat obvious technical solutions to problems are patented? Like linked-lists, for example? Or a compression algorithm? etc. etc.?
IMHO, just because someone implements something in software first, doesn't necessarily give them the right to own that implementation for some unreasonable amount of time.
There must be a better way?