Tuesday, 27 October 2009

Open Source Guarantees Free Market Competition, Or Does It?

This year, I have taken over the leadership of an IT Open Source project: JXTA. This technology has been initiated by Sun Microsystems at the beginning of the Millenium and has been evolving has an Open Source project with contribution from both employees of this company and individuals of the IT community.
The announcement that Oracle would acquire Sun Microsystems created anxiety in the JXTA community. Oracle is not really known to be supportive of Open Source in general, but it has not really taken action against it too. This tension was accentuated by the fact that Sun Microsystem owns MySQL, a dominant database system in the Open Source community. Oracle already owns Berkeley DB, another Open Source database system and it is a leader in the commercial database market. The natural question is: will this concentration prevent free market competition in the database market?
It is a fact that anyone can implement its own version of MySQL at will, because it is available under the GPL 2.0 license. This is also true of many Open Source projects. The code made available is often protected by licences granting users the right to do more or less what they want (to make it simple). This includes commercial usage of the code. There is nothing Sun Microsystems, Oracle or anyone can do to prevent this regarding MySQL. So, why the tension?
Many people believe that Open Source means they have the right to do what they want. This is not true. The Berkeley DB Open Source license is presented as "(...) OSI-certified and permits use of Berkeley DB in open source projects or in applications that are not distributed to third parties. [The] commercial license permits closed-source distribution of an application to third parties and provides business assurance." This is an example of an Open Source dual license system where commercial redistribution of the code does not come for free.
The U.S. authorities have cleared the Sun Microsystems acquisition by Oracle, but the European Commission has started an extended anti-trust investigation. Why would it do so?
Stallman argues that the GPL reduces incentives to commercialize the code. This comes as an apparent contradiction, until one reads the GPL preamble: "To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights." If you got this for free, you must give it for free too. But what is the problem with that? Well, if you modify this code, section 2.b of the GPL says: "b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License." Therefore, you cannot make any money out of your contribution or work on the code. But, it takes money, resources and time to maintain and improve any piece of software...
To summarize the de facto situation if the acquisition of Sun Microsystems by Oracle was cleared: Oracle would remain the leader in the commercial segment and own two of the major Open Source database system from which no one could make a profit. Hence, there would be no incentive to maintain and improve those databases, leaving customers with an obligation to revert to commercial databases.
Well, what is the problem with that? It makes sense that one should pay for a product or a service. Otherwise, there is no economy. Employees would not be paid, and product and services would not improve to the benefit of everyone, directly or indirectly.
It is a fact that before MySQL was acquired by Sun Microsystems, it was still buggy; I faced many installation issues and small, but annoying glitches. The acquisition by Sun Microsystem improved the overall quality of MySQL. It benefit from the contribution of a commercial company. The question is, is it in the interest of Oracle to carry on supporting the maintenance and development of MySQL? Wouldn't it cannibalize its market shares by doing so? Matt Asay argues that "Oracle can't afford to abandon MySQL. It's the key to unlocking its ability to effectively compete with Microsoft in tomorrow's big markets." This argument relies on a profitability need and on positioning products and brands. Every private company is under the gun when it comes to the bottom line: if it does not make it, it dies. Therefore, any actions required to remain alive will be taken. I am not prevailing on what Oracle would or would not do, but the drivers under its motivations are not identical to those of Open Source projects. The development and maintenance of MySQL would depend on a private company's interests.
What are the numbers? In 2008, MySQL generated an estimated $208 million in an estimated $19 billion market (1,09%).
Let's imagine that a new database system - let's call it NewDB - were to rise from the Open Source community with a license granting unlimited rights to make commercial use of this product. This would take a lot of time and it would probably end up in the same buggy situation as MySQL did before it was acquired by Sun Microsystem: a product that could not be used in a live/production environment.
Is there a solution to this puzzle? Michael 'Monty' Widenius argues that Oracle should sell MySQL to a third party. But would this solve the GPL/profitability issue? There is a well-know example of a company making profit from a GPL Open Source project: Red Hat with Linux. So, is the spinning off of MySQL really necessary? Such a company could be started now.
Today's economics are not those of the 90's. It was much easier to live from an Open Source project than now. Let's not forget that that decade was a far west where companies - such as Microsoft - were fighting hard for market dominance. Remember the Netscape browser battle? Did dominant companies produce commercially bug free products? Did they have an incentive to do so while they were dominating their market segments? There is no doubt that Open Source has forced them to rethink their strategies when it comes down to core products required by everyone. OpenOffice and Firefox are blatant examples. They have restored some market efficiency.
No one knows the intentions of Oracle regarding MySQL, people can only speculate right now, including me. Yet, uncertainty is not good for business, because it undermines trust, the necessary condition for prosperity.
An anti-trust case can hardly be made against Oracle when numbers are taken into account, but if it were to keep MySQL under control through the GPL licence, it could either not develop it further, eliminating some stimulating Open Source competition, or develop it while preventing the rise of profitable competition companies by forcing free redistribution of their work. There is a risk of market distortion.
Contrary to the Linux situation where companies have risen from a Open Source product, the database market is dominated by Oracle, Microsoft and IBM. One can hardly see how the type of Linux market competition could rise within the database market.
A short a simple solution would be to request Oracle to distribute MySQL under the Apache 2.0 license, which does not force companies to redistribute their work for free. In fact, why not make this a legal requirement for all Open Source projects and remove ambiguities?
The JXTA community is pretty safe from these issues, because its license, unlike the GPL, does not request free redistribution of any modifications made to the code. I would personally be more comfortable if we moved to the Apache 2.0 license, but there is nothing preventing anyone from making money with JXTA, provided that copyright disclaimers are included in derivative products.
Open Source does not necessarily guarantee free market competition, but it has proven efficient to restore it over time. Unfortunately, the intentions behind the GPL are firing back. I do not know what the European Commission will recommend, but it has not been shy when it came to deal with Microsoft and Intel on anti-trust issues. I am not betting on an Oracle/Sun Microsystems clearance without conditions or requirements.