A recent eWeek article suggests the end of open source software is nigh. It probably isn't, but that doesn't mean open source software faces no dangers, either.
Imagine the surprise of stumbling across an eWeek article that suggests Oracle might be the doom of open source software everywhere. Oracle Suit Against Android Threatens Open-Source Existence (single-page version) starts out discussing the battle lines being drawn between Google and Oracle over Android's supposed violation of Java related patents. By the time it is over, however, it goes so far as to suggest that you should not put all your eggs in the open source basket, because open source software may not be long for this world:
Finally, you'll need to examine your dependence on open-source applications. While Oracle probably can't do much directly to the companies that write them, the company can poison the environment they need to survive, if only to make sure they also lose.
Reading through this article multiple times, going over it in excruciating detail, provides no clues as to how its author Wayne Rash came to such conclusions. The dire portents that presage the end times for open source software are simply not present in this article. How, one might wonder, does he imagine that the End is Nigh?
Was Sun a critical part of the open source community?
Perhaps Wayne Rash does not understand the world of open source software well enough to understand that Sun's involvement was a mere drop in the bucket of open source development. It is true that Oracle's withdrawal of Sun from the open source arena is making headlines and raising eyebrows, but it really will not affect the open source software ecosystem all that much. OpenSolaris, once hailed almost as a fulfillment of prophecy, proved to arrive on the scene with more of a squeak than a roar, and its effective departure seems more significant as an indicator of Oracle's intentions than as an important act in its own right. The overall reaction has largely been an unspoken, "Who cares about Solaris? I'm worried about Java, or MySQL, or ZFS in particular."
Meanwhile, the Java ecosystem from Sun has itself never quite been 100% open source. The runtime will not even install properly on many open source OSs without signing up for an account at the Sun site to agree to proprietary EULAs attached attached to a couple of the files, and the vast majority of open source software never depended on Java technology in any case. Certainly, a number of open source projects — some of them even somewhat popular — would be affected by effective removal of Java from the open source world, but open source software as a whole would continue onward with hardly a blip.
MySQL, while still widely deployed and used, is highly prone to forking if Oracle closes its official mainline branch. In fact, Michael Widenius — arguably the creator of MySQL — has already created a fork called MariaDB. MySQL itself, even before Sun bought its parent company MySQL AB, was never purely open source anyway; it was offered via a business model that provided enhanced functionality and the option for inclusion in closed source software for a price. Even if MySQL in all its forms dried up, it is arguably unnecessary for almost any purpose, given the existence of SQLite and PostgreSQL; an argument can be made for one or the other of them outperforming MySQL in just about every single deployment.
Is open source = Linux = Android = Java?
Perhaps Wayne Rush is ignorant of the way Google's Java reimplementation, Dalvik, interacts with Android's Linux-based core. Because Dalvik is such a critical part of the Android platform, and is in fact the necessary underpinning of every application in the Android Market, and because Android itself is a specialized Linux distribution, perhaps Wayne Rash believes that Java-like technologies are necessary parts of all Linux distributions. Perhaps he also believes that Linux is the open source ecosystem, which is a particularly understandable misconception, given the way many Linux users actually seem to believe so as well.
If that were the case, it would make sense to think that Oracle's efforts could kill off the world of open source software. Of course, it is not the case. Quite the contrary: Java is entirely unnecessary to Linux-based development, and Linux is just one of a few kernels that could form the basis for the various OSs that are currently available as Linux distributions. The Debian project even offers a Linux-less OS based on the FreeBSD kernel, called Debian GNU/kFreeBSD — though one might be forgiven for wondering whether there is much reason to use that instead of FreeBSD itself. Furthermore, there are other entire OS options out there that have nothing to do with the Linux kernel at all, including the several BSD Unix systems. FreeBSD, in fact, is running on the laptop used to compose this article.
Will patents spell the end of open source software?
There is one other honest possibility that comes to mind for what has raised Wayne Rash's hackles. What about the threat of software patent litigation in general?
The problem with attributing this meaning to Wayne Rash's words is that what he said does not seem to support this theory as his intended meaning. The threat of patents does not come from Oracle; rather, it comes from the entire commercial, closed source software industry as a whole.
If Oracle's lawsuit against Google over Dalvik — an action that appears to have possibly been in the works since Sun was its own company in fact, damaging Sun's image as the "good guy" that just got gobbled up by the "bad guy" in this case — ends in Oracle's favor, it could serve as an early warning sign for what is to come from other quarters. Other software technology patent holders could sue commercial dealers of open source software in a similar manner, which would then have something of a chilling effect on the open source software ecosystem. If such patent holders are (as Wayne Rash seems to hint about Oracle) intent on destroying open source software altogether, they could also threaten lawsuits against small companies and lone developers with the intent of starving open source software of its engineering benefits. A patent suit does not need to be winnable in court to achieve its goal, if the goal is to scare people without the resources for a court battle into giving up.
If there is a threat to open source software as a whole, in this form, it does not appear to be well supported by what Wayne Rash's article said. It may, however, be a real danger not only to open source software but to any software that is not protected by a major corporate software vendor. Such a threat to software development would have a chilling effect not only on open source software, but on the advancement of the software state of the art in general. We already seem to be heading down this road to some extent, with software patent trolls beginning to appear in the market, even going so far as to target software giants like Microsoft.
Defense against software patents
Prior art is the only "easy" defense against a patent violation claim in a court of law. If you can prove that what a given patent covers was previously accomplished by someone else, thus invalidating the "novel" requirement for a patent, you have effectively defended yourself against the patent claim. This makes real innovation a potentially dangerous job, of course, because innovation by definition deals with ideas that are not based on prior art. If someone else patents the very thing you are developing, perhaps even by accident as a result of an overly broad patent grant, you have no prior art on which to rely in your defense. This also makes real innovation extremely important, however, because without such innovation there is no new art established prior to potential patent grants later on.
The preferable approach, and the safest approach, to protecting innovation in the field of software development from the chilling effects of patent claims will always be to eliminate the dangerous practice of software patents altogether. It is important to oppose software patents at every turn, and for those of us in the United States to try to get the USPTO to stop issuing patents for software, if you care about healthy innovation in the software industry in general and open source software in particular.