Math has not been patentable under any scheme until recently, where over a series of lawsuits the US courts have effectively made a subset of it (software) patentable.
And it all started thanks to seeing a computer operated manufacturing process as something patentable over the same process done without a computer...
I'm not saying the patent system is bug-free, but I am saying it'll be a lot harder to drive the kind of innovation we're used to seeing here with no patent protection at all (copyright only protects the implementation, and trade secrets are things you don't share e.g. as client-side code).
Full disclosure: I've got a few to my name. I don't think any of the inventors I know would've even bothered inventing the patterns they/we did if the protection didn't exist. Unpopular opinion, I'm certain.
Software is math and it shouldn't be patentable. I think very little good has come of that at all.
For any startups here thinking patents are a good use of their time - think again.
(Tangent: Trade secrets protect knowledge implemented within my spheres of trust, i.e. "my systems.")
Copyright protects the literal documentation/expression of knowledge, such as an algorithm, not the knowledge itself. As an example, reimplementing a novel algorithm in a different language or over a different framework will likely be enough to subvert copyright protection over the code itself.
Copyright will ineffectively protect novel algorithms, whereas patents do a good job of protecting these algorithms in well-exposed contexts e.g. client-side from unauthorized imitation and usage day zero (or, more realistically, day 30). Barring a tactical or strategic error in the approved patent — a wonderful example of this, if I recall correctly, is the Swype patent¹ which prompts the user to pick a word rather than guess one for the user — the patent will effectively cover the algorithm in any implementation for the statutory duration.
A separate issue: "All a patent does is let you have a lot of time and money for an option to sue some types of companies trying to clone your idea. But companies are all about the execution."
That's the use case that garners the most press coverage. The sort that's more prevalent and far less noisy is licensing, and this happens far, far more often, and generally with not so much as a peep in the press. In fact, this is one survival strategy used by some startups as they pivot when they've created novel technologies but have devised ineffective business models around them. This moots the following statement: "For any startups here thinking patents are a good use of their time - think again." — it really depends on how the patents are acquired, such as through deferred equity compensation. I'd argue against doing so in cash, but doing so with equity could make sense especially if the startup's novel ideas are expected to be executed in untrusted (read: client, or "not my systems") environments.
My main argument is that software patent durations need to be cropped. Could be three years, could be five, but given the pace of software development, twenty is patently (ahem) anti-competitive in the software world. That's the argument I'll stand by unless anyone has a proposal to protect and incentivize the creation of novel algorithms without the use of patents.
Source: the numerous IP lawyers I've worked with during both my day job and consulting engagements. But I'm not an attorney, which means there's a nontrivial chance I got some of the nuances wrong, but I'm willing to attach my name to the overall message.
---
¹—http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=H... "The present invention then generates a list of possible words associated with the entered part and presents it to user for selection."
But I would go further and say that patents are largely a waste of time and money for startups. With some exceptions, the Swype patent being one. The things is unless you have a novel algorithm for which there is no substitutions, it grants you very little protection.
For example, I have a novel database index algorithm that uses SIMD instructions to do more operations in parallel. But if I patented it, it would largely be a distraction from the insanely complex task of building a full database product and a successful business model and sales channel around it. Sure that algorithm might give me an enduring performance edge over the competition, in the best case scenario. But whether my competitors copy that innovation or not, it's such a small part of the whole, and one for which there are plenty of substitutes - even if somehow mine happens to be the best (the odds are against that!) it's still a minor contribution and likely a waste of resources to patent.
You'd need something that's core to the business and which you can't substitute. If you have an invention like that, by all means patent it. By and large that's rare though.
And the whole system is so terrible, so utterly broken, so abused by bad actors and corrupt courts (District of East Texas, I'm looking at you!) It's impossible to write any substantial amount of code that doesn't infringe patents. So basically everyone infringes, and some have the bad luck that others will use that to extort money from them. I wish the whole system would die in a fire.
I've often wondered how I would react if that happened to me. I'd probably find the cheapest lawyer I could in the district hearing the case, and instruct him to draw the proceedings out to the maximum possible extent - run up the bill as high as possible for the bastards.
So far the sky has not fallen down and the software industry is healthy.
Is it math because numbers and logic are involved? In that sense, chemistry is just as much math, yet new compounds and drugs are readily patentable. Ditto for physics or mechanical engineering, both of which can produce patentable goods. The only difference for software seems to be that it’s trivially copiable and adaptable.
This isn’t to say there aren’t massive problems with software patents today. Regardless of how you feel about the concept generally, the patent on timestamps seems roughly equivalent to a patent on painting something red, a trivial and obvious product refinement.
And software is hardly pure numbers and logic. Many aspects of algorithms (and patents) are related to real world elements of the _machine_ executing instructions. The concept of a “space-efficient” algorithm is only meaningful because space has a real world cost and imposes constraints. There are no implications for space in pure “numbers and logic”.
If filing long term bogus patents becomes sufficiently expensive and likely to be ultimately rejected, they'll probably become less common.