>> And secrecy is a patent that potentially never expires.
Do you seriously believe, no one else can come up same/similar functionality/product? I would like a system where they keep the patent secret(nothing is published) for 5 years, and if in 5 years no one comes up with same/similar idea, patent is granted for next 10 years (rather than current 20 years from filing), otherwise patent is not granted. My guess is 99% of software patents will go away.