Re: Or, simply...
I wouldn't go for an entire ban on software patents.
HOWEVER, raising the bar to require the following would greatly reform the trolling problem
a) SPECIFICITY - a specific patent for a specific use.
b) NON-TRIVIALITY - must be WAY more than an obvious/trivial implementation
c) no "algorithms" - NO patenting of a (pure) algorithm. Reserve THAT for copyrights. However, if the algorithm works together with OTHER patentable tech, it could be considered as part of "that tech".
d) no "cosmetic" or UI claims - the use of multi-button presses, square windows, colors, touch, or other such common UI elements/appearance in a software patent claim.
As I see it, a software patent that applies to a particular technology (let's say control software for a particular industrial process that requires the industrial hardware to work), when this has been targeted to the particular implementation, should be fine. [I am actually party to a provisional software patent that is like that].
however, a PURE software patent on an algorithm, a trivial patent that's too obvious, or an 'umbrella' patent that is not specific, should be DENIED categorically.
This way if you invent something, and software is part of the invention (but not ALL of it), you should be able to patent your software WORKING WITH your invention.
but if you come up with an algorithm to calculate something [i.e. pure software], or generically perform some kind of control [let's say GPIO bit flipping or networking, and the hardware isn't patentable] then it should be DENIED.
the latter is probably the most frequent source of patent trolling, non-specific generic algorithm type patents that should NEVER have been granted.
and ESPECIALLY no "cosmetic" or UI claims, unless it's specific to your hardware.