MySQL: Now and Then… and Dual License Community Impact
December 24, 2008 1 Comment
Stephen O’Grady recently posted a Q&A pertaining to the past, present, and future of MySQL. There’s been quite a bit going on at MySQL and Sun lately, but I’ll focus on one issue in this post – the impact of the current MySQL dual-licensing strategy. Stephen covers much more in his post, and I will be posting some additional MySQL-related thoughts soon. From the linked post:
A: Well, let’s remember what the dual license mechanism is and how it works. Here’s a basic description I wrote a while back:
A single entity such as MySQL is responsible for the overwhelming majority of all development on a given codebase. Anything they don’t produce themselves, they license. Very often this is practiced in conjunction with the dual-license model; because MySQL is responsible for virtually all of the development of the core code, they own or have licensed appropriately all of the involved IP. As such, they’re free to issue commercial licenses to those who would cannot or choose not to comply with the terms of the open source license – the GPL, in this case.
Generally, this model has served MySQL fairly well. By controlling the intellectual property, they retain the rights to relicense the code, thus protecting a revenue stream. They also were afforded a slightly greater protection from forks versus more collaboratively developed projects like Linux, in that they – theoretically – employed the majority of the people qualified and paid to work on the codebase at the lowest levels. But let’s come back to that.
What’s the catch to the model? In part, it’s that the burden of development is born almost entirely by the MySQL staff, but the more relevant concern here is the inability to consume external contributions – even if they’re excellent – without licensing them.
Stated more simply: as long as MySQL remains committed to the dual licensing model, it will be unable to accept the same patch set that open source only versions of the code can, because they do not share the same licensing concerns. Which is why we’ve seen these spring up, and possibly why the MySQL-derived Drizzle project has taken a different approach from its parent.
For a long time, most viewed the control that MySQL AB had as a strength, at least from a business perspective. With the high quality work that is now going on outside MySQL/Sun, however, that is increasingly not the case. Percona, Proven Scaling, OurDelta, Google and others are doing some really cool things these days. The current thinking for many is that the best bang for the buck when it comes to MySQL is now outside MySQL. That’s never happened before and I think it shifts the entire MySQL landscape. The question for Sun now becomes: when will the ability to consume external contributions outweigh the perceived benefits of the dual-license strategy that inhibits the consumption of those contributions? While Drizzle may change some of this, I think it’s a question Sun is going to have to answer (for its own good) sooner… rather than later.