22 mar. 2010
Dear Jonathan Schwartz...
This article is in fact a copy of my response to a recent blog post of Jonathan Schwartz - Good Artists Copy, Great Artists Steal.
Thanks Jonathan for this refreshing article. I believe that IT guys from all over the world appreciate your commitment in writing stories about subjects that matters (just like this one).
I have a few concerns about patents that overlap a part of this story and I'd like to share them.
When it comes to the world of software, innovation is only marginal - incremental changes are the norm. As a consequence, what we label as innovation is (most of the time) an limited evolution of tools that were known before. The story of Java is itself a good indicator : what did Java invent ? Obviously, it's not the language structure itself - the grammar is similar to C and C++ and the main concepts are borrowed from other object-oriented languages. The fact that Java sits on top of a byte-code-based virtual machine is not new : O-code (for BCPL) is born in 1966 (see http://en.wikipedia.org/wiki/O-code) - a few years before Sun started to work on Java if I'm not mistaken. Byte-code for portability ? this was the goal of the pascal code in the early 70s (see work by Wirth and a few other). A byte-code powered virtual machine as an OS ? Same was done by the USCD in 1978 (see http://en.wikipedia.org/wiki/UCSD_p-System for further information). Technically, Java is a revamp of a lot of technologies that existed before but were less mature. Thus, strictly speaking, Java is not an innovation but an incremental change. Just like any other existing technology.
Yet we (and I include myself) consider Java to be an important innovation of the late 90s. I can't give any rationale behind this feeling (although I suspect that part of my perception is directly linked to the early Java marketing campaigns).
This is true for Java, and this is true for a myriad of other softwares out there. As we work in the software (or hardware) industry, we tend to value these little increment a lot when they really simplify our life - either as a developer or as a user. Innovation is good when it grant us more flexibility, more power - in other words : more possibilities. It allows us to make other small incremental changes to the existing technology and to label these "innovations". Then we can pretend to protect our work with some fancy IP protection scheme.
The fact that any innovation depends on other innovations is important and is outlined in your post : Sun used technology developed by others, and others used technology developed by Sun, thus creating a network of new technologies. When they are incremental changes over an existing technology, innovations are highly interdependent. This is where IP protection comes into play - and I shall say "into bad play".
Let's take a simple example : the now infamous marching cube algorithm which is used to create a 2D or 3D representation of an iso-surface which is defined by a set of mathematical rules. From this description you can easily understand that the algorithm is purely mathematical. This algorithm, which is helpful in visualization softwares, was patented from 1985 to 2005. As a consequence numerous softwares were not able to use it without paying a dime to the algorithm authors. This might sound good to most of you - except that this algorithm was mostly used in the research field, where credit lines do not really take IP protection into account. The direct consequence is a slow-down in innovation in the fields where a good 3D representation of iso-surfaces was needed (to be fair : another algorithm was constructed to circumvent the marching cubes patent but it is computationally more expensive and may introduce some artifacts in the resulting visualization). This is of course a prime example of how software patents can prevent innovation.
You experienced bolder issues than those scientists who were denied the right to use this algorithm because your company was threatened in its very existence. You were also more lucky because you happened to have arguments to counter your opponents threats. In the end, this look like a giant circus where software patents are either a threat, a counter threat or some innocuous thing. If I don't own a good number of software patents I'm very likely to be prosecuted because I might use some other guy's patents, thus preventing me to iterate over any existing technology. If I'm a big healthy company that can afford to either buy other companies patents or to develop my own, I'm nearly free to use any other company patent because I might be able to retaliate if they sue me. If I'm a patent troll, I just don't care about technology - I just want to make money with the patents I got (for whatever reason).
And which problem do patents solve ? Was the underlying Java technology protected when MS unveiled the .Net platform ? Did Apple stop the development of Keynote despite they know the existence of Concurrence ? Has the infamous One Click Buy technology stopped any online shop but Amazon to operate (sometimes using a very similar technology : see Amazon vs. Barnes & Nobbles) ?
Patenting software is trying to apply a bad solution to a non-existing problem. The European Parliament voted against what we call software patents (despite intense lobbying from a large number of important companies) and, good thing, Earth still revolves around itself (some software patents are still granted in the EU). Except in marginal cases, companies that create softwares try to innovate, not to copy - because market share comes from making your customer happy and attracting new customers (and it does not make much sense to copy your concurrent software in order to get a slice of your concurrent market share). Of course, some companies might prefer to copy instead of following the good but costly and risky way of innovating. In most cases the copier have the financial power to overcome any legal battle against the copied firm - or at least it has the power to settle an arrangement with it (MS against Eolas ; I suspect MS and other web browser vendors won't remove the possibility to extend their software with plugins). When it's not the case, it means that the copier is not a large enough competitor of the copied firm to really endanger their business (MS against VirtualDub's author, Avery Lee, regarding the use of the ASF format in VirtualDub).
Then, we have aberrations. What would the web look like if British Telecom managed to have their web link patent granted ? What about Scientigo who claimed to have patented XML ? Would we still use JPEG images if Forgent was allowed to continue its prosecutions ?
We value innovation and of course innovators have to be protected - this is a truism. But saying that software patents as they exist today are dangerous to innovation is also a truism. Your story shows that large companies have at least some possibilities to overcome a few problems about patents, but most smaller companies can't. Since the goal of patent is to protect innovation in both small and large companies, they fail miserably, giving an unnatural and unfair advantage to large businesses.
Maybe it's time to reevaluate the way software patents works.