The problem with getting rid of software patents is that you have to do it retroactively, invalidating the existing patents. The patent holders would sue the government for destroying their property, and would likely win it even if those patents collectively destroy more value than they represent (something which I strongly believe). So, even if you had a government willing to get rid of software patents, they're not likely to get away with it. The only practical way to do it would be to reduce the life of a new patent by one year every year, so that all software patents, current and future end up exiring at the same time. But that still takes 20 years before it actually takes effect.
That would be a solution. But political pressure is high, that the system stays as it is. And they that want it that it stays are the biggest players on place, since they think they can win most of this ridiculous system.
It is like dinosaurs, which make a law, that children must come from an egg....