Patents provide an incentive for innovation. People aren't going to spend years working on an invention if some large corp can just take it without compensation. The problem with software patents is that they're given out too easily.

The problem with software patents is that they are given out at all. Patent law was meant to cover physical devices, such as a semi conductor. Software code is like writing and as such should be covered by copyright law.

In the real world, the large corps you are talking about are using software patents to maintain their entrenched monopoly status.

I really don't expect this situation to improve any time soon. The lawmakers in the United States really don't understand the fundamental differences between hardware and software. They just go along with whatever their lobbyist tell them.