This sort of benefit in software can be realized with much shorter terms. A 5 or 10 year term would accomplish pretty much all the same benefits. 25 years is just way too long for software.
Why do you think it always only takes 5 years to develop some superior technology? 5 years seems like a short enough time frame that a company would rather just wait out the patent than invest heavily in R&D in the off chance they come up with a viable alternative (that now of course THEY can only protect for 5 years)