The web is aflutter at the moment with discussion of the patent system and its relationship with the software industry in particular (the most thought-provoking piece on the subject so far comes from Nilay Patel and is fully worth the requisite time investment). Should we let people patent software? At what point does math become a patentable invention?
Like most people, I’m unversed on patent law, but I am a sometime software developer. Personally, my gut feeling is that if a piece of software is developed for an explicitly commercial application then it absolutely should be protected under law, particularly if the software effectively IS the business (Google, for example). Surely it isn’t right that I invent something, someone else brings an identical product or service to market and my company is forced out of business? But gut feeling seems to be what most pundits are running on, and is not necessarily the best way to approach the issue.
Current hysterics calling the system ineffective or broken should consider two software cases from near the dawn of our industry, over three decades ago. The first case is Software Arts’ VisiCalc, the first electronic spreadsheet program for personal computers. Although a new invention, the fundamental concept – an electronic spreadsheet – of VisiCalc was not patented, and within a couple of years of its release the market was populated with alternatives, most notably from Lotus and Microsoft. If the core idea behind VisiCalc had been patented, 1-2-3, Multiplan and later Excel would not have existed, or would have needed to invent a totally new spreadsheet metaphor to be permitted under law. But Software Arts did not patent the electronic spreadsheet, and consequently the only time they or VisiCalc are mentioned these days are as points in patent discussions.
Dan Bricklin, one of the co-creators of VisiCalc doesn’t argue for specific change, but does intimate that the patent system is not best suited to the software industry. However, in the same post he actually states that the lack of a VisiCalc monopoly (which would have been enabled by a patent of Software Arts’ take on the electronic spreadsheet) encouraged competition and improvement in quality of all the available software packages (Multiplan correcting the mistakes of 1-2-3, which improved on the shortcomings of VisiCalc etc…). If the core concept behind Archie had been protected by law at the beginning of the ’90s, Yahoo!, Google et al. perhaps wouldn’t exist. Because the overarching concept of a web search engine isn’t itself patented, but the effective and novel technical innovations that make a great search engine can be, we have multi-billion-dollar companies built on the foundations of innovation, protected by the patent system. Bricklin is correct to assert that the broad metaphor of an electronic spreadsheet doesn’t benefit from being patented, much as the fundamental idea of an internet search engine wasn’t. But the current patent system has demonstrably fostered protectable innovation in the case of Google – not so broken in that case, apparently.
One company famous, perhaps more so than any other, for developing, patenting and licensing high technology is IBM. In the 1970s, researchers at IBM developed the relational database model, a vastly superior means of storing and operating on data to the existing database paradigms on the market at the time. To protect the revenue streams provided by their existing database systems however, they chose not to immediately market products based on the new technique. Instead, one Lawrence J. Ellison and colleagues formed a company of their own to being a product to market based on an implementation of the SQL concept outlined in IBM’s research – the Oracle Database.
Oracle, the company, was started to market a software concept developed but not exploited by another organisation, and just like Microsoft with Multiplan and Lotus’ 1-2-3 they may not have invented the central idea but they have innovated on it and created a technologically progressive sector of the industry where there would instead have been a monopoly.
Those are the two cases which spring immediately to my mind when I meditate on this subject (again, not one which I am educated to consider from a legal standpoint). It’s difficult to separate my feelings as a developer – if I invented the RDBMS and Larry Ellison ate my lunch, I wouldn’t be very happy – from my thoughts as an observer – had IBM patented the RDBMS concept or SQL as an implementation thereof, this site wouldn’t be running (and the LAMP stack wouldn’t exist). It seems to me that if any changes need to be made, and again, I’m not a lawyer, they need to be made to what kind of patents you can be granted rather than whether you can patent software at all. Larry Page’s patent on PageRank doesn’t preclude anyone else from creating a search engine, but it isn’t allowed to work just like his does, which is what forms the core of his competitive advantage. And in Oracle’s ongoing complaint against Google and Android, Oracle shouldn’t be allowed to own the idea of a VM with JIT compilation, but they should be able to protect the innovations which they own to do with its operational techniques. The legal system would be best improved by stipulating the breadth and application of concepts eligible for patent protection, as well as those who are permitted to action upon them (no trolls, please).