> But with out patents there is no incentive for innovation.
In some areas, perhaps, but not when it comes to software.
This is easy to show. Software was not always patentable or was rarely patented, and innovation was no less rapid than it is now.
The underlying reason is that the marginal cost of R&D for software is lower than in any other field. In principle, it just requires a person and a computer (which is what you need for any kind of R&D). No expensive labs, no clinical trials, etc. If you have a person and a computer, you're a potential inventor; if you have a bunch of them, you're virtually guaranteed to invent something. If you have a bunch of such companies (or college departments), you're virtually guaranteed to constantly reinvent what somebody else has already figured out.
When Oracle sued Google, almost all of their patent claims were thrown out on reexamination; and those weren't trivial patents. It just so happened that practically all of them had already been figured out by somebody else; and we only know because Google was willing to throw a few thousand hours at researching prior art.
This is why reinvention in computer science is so common; this is also why patent trolls can flourish: Because reinvention is common, they have plenty of victims to target. If innovation were not so easy in computer science (at least relative to the standards of the USPTO), patent trolls in their current form could not sustain themselves.