I think the main problem is that the length of protection is far too long for the IT industry - something more like three to five years would be more appropriate in my opinion given how fast it changes. And then there is also the problem that most software patents should fail the prior art or obviousness tests, but it costs so much to fight them that most companies settle...