In association with heise online

Duality of purpose

Dual licensing relies on copyright assignment and the willingness of third-party developers to surrender ownership of the code to the controlling company, and has been seen as an acceptable compromise (by some but not all developers) in the case where the code is always made available simultaneously as free software.

Dual licensing has not been without its problems. Brian Aker, a contributor to Drizzle, one of several forks of the MySQL code, noted: "dual licensing forces any developer who wishes to contribute into a position of either giving up their rights and allowing their work to end up in commercial software, or creating a fork of the software with their changes. In essence it creates monopolies which can only be broken via forking the software."

The plus side of the Drizzle fork for Aker is that "in our single year of operation we have achieved a larger base of contributions than MySQL achieved in its decade long existence. Community contribution at the expense of proprietary extensions is a small price compare if you consider the value that surrounds us by releasing that opportunity."

This parallels the experience of the LibreOffice developers, who reaped a similar dividend after breaking away from Oracle/Sun. It can be argued that dual licensing and copyright assignment worked against the participation of developers, and in this respect, MySQL failed to reap the true benefits of being open source.

At the same time, MySQL's availability as free software indisputably worked to the advantage of MySQL AB, and gave it a commercial reach that would have been unattainable if it had been licensed as an exclusively proprietary product.

Splitting the difference

More than most free software projects of any size, MySQL has been subject to forks, branches and patch sets, dating back several years. The best known variants are probably MariaDB, led by Widenius, the Percona patch set, and Drizzle. Drizzle was developed with the approval of Sun/MySQL management, and the product development was led by Brian Aker, who at the time was MySQL's director of architecture.

But Aker left MySQL after the purchase of Sun by Oracle, and obviously felt some discomfort with the direction in which MySQL was heading. Aker has been a vocal critic of Stallman's advocacy of dual licensing as a model for free software development.

Forks and branches usually signify unhappiness within a community. As Nathan Willis observed in 2009. "The real question is not which fork is the MySQL, but whether the multiple patch sets and forks indicate sickness or health for MySQL as a whole. Excluding Drizzle, all of the projects were started because someone who cared a great deal about the future of MySQL saw something wrong with MySQL's development process (and for its part, Drizzle was spawned by even deeper dissatisfaction with the technical direction of MySQL)."

Willis concluded: "Surely that much concern on the part of the community signifies health." Equally, it may signify endemic failure within the development process.

Aker suggests an alternative reading of the situation: "If you wish to observe this in action, take a look at the list. Watch the jockeying and counter posture attacks that go on between Sun, MontyAB, and other groups. Each group trying to take rights and create position within the MySQL codebase. None of this does any good for the ecosystem surrounding MySQL. Users lose out in the end as bug fixes and enhancements are lost over an attempt to hold eventual rights that will be reserved for proprietary software, and at the same time creating a monopoly for the single party who gains 'rights' control over the project."

Distributed open source software development works partly because it strips away bureaucracy and control, and allows the developer to get on with the work at hand. A sense of community is the essence of free software development, and a clear and open licensing policy is part of the glue that binds a community together.

If MySQL continues on its current trajectory, of offsetting new developments in the proprietary version against a relatively static GPL version, it is easy to surmise that MariaDB or Drizzle or PostgreSQL may begin to supplant MySQL in the affections of web developers and users.

For other feature articles by Richard Hillesley, please see the archive.

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit