A blog for the enterprise open source community
Finding the right balance – MySQL’s changing development modelMatthew Aslett, April 24, 2008 @ 4:50 am ET
I’ve already taken a look at MySQL’s changing business model and the potential business drivers behind the company considering introducing new functionality under to Enterprise customers only. One area that I didn’t dive into was the impact on the company’s development model.
This, in fact, was the focus of Jeremy Cole’s initial take on the news as well as a significant response from Marten Mickos. “MySQL will start offering some features (specifically ones related to online backups) only in MySQL Enterprise,” explained Jeremy.
“As I’ve discussed before, the size of the user base for MySQL Enterprise is much smaller than for MySQL Community,” he added. “That means these critical features will be tested by only a few of their customers. So, in effect, they will be giving their paying customers real, true, untested code. How is this supposed to work?”
Marten has partially answered that question in an interview with Glyn Moody at Computerworld UK:
“GM: One issue is that you seem to be throwing away an advantage of open source in the sense that if it is closed then obviously people can’t help you make it better.
MM: That’s true – absolutely, it’s true. That’s why for any such code we will have to hire more QA people, and do more work because we don’t get that help from the community.”
It occurs to me that this could create a vicious circle: the more QA people MySQL needs to hire, the more revenue it will need to generate to cover costs. The more revenue it needs to generate, the more value it needs to provide Enterprise users. The more value it needs to provide enterprise users, the more likely it is to introduce proprietary add-ons. The more proprietary add-ons it has, the more QA people it needs to employ. You get the picture.
This is of course different from the “virtuous circle” which sees the community users benefiting from MySQL’s commercial activities in that they also fund the development of GPL features. In fact, the fear for some community users is that withholding new features from the community version in fact breaks that virtuous circle.
In response to Jeremy’s post, Marten pointed out that InnoDB, WebYog and indeed MySQL already have features that are only available for paying customers. “All those products are working well and serving customers well,” he wrote, while comparing MySQL’s position to PostgreSQL-based vendors.
“The same applies to the largest group of PostgreSQL-based companies: EnterpriseDB, Greenplum, Netezza, etc. It seems to me that the situation is analogous between Postgres and MySQL: a great product under an open source license, and various commercial initiatives around it,” he added.
With all due respect to Marten, there is a significant difference between the captive open source development model for MySQL and the community open source development model for PostgreSQL.
The vast majority of MySQL development is done by MySQL employees. To date that development model, combined with the dual licensing and support subscription models, has served both Community and Enterprise users equally. As the company adds more features and services to the Enterprise product it will increasingly have to try to serve two masters, however.
As Marten told Computerworld: “So as we do this, of course, we meet exactly the crossfire that we are now in, meaning the same solution seems to upset one market and please the other one. So then the question is: How do we ensure that we are not completely upsetting our open source users when we do something commercially, or vice versa.”
The difference between MySQL and the PostgreSQL-based vendors in this regard the PostgreSQL community isn’t dependent on EnterpriseDB et al for code.
The relationship between the PostgreSQL-based vendors and the PostgreSQL community is more symbiotic. EnterpriseDB, Greenplum, and Netezza work with the community, employ core developers and contribute code, but they are also independent of the project.
While they benefit from contributing code and improving the strength of PostgreSQL for all, the BSD license means they have no obligation to contribute their own proprietary developments. The PostgreSQL-based vendors have much more freedom, therefore, to decide based on their own business drivers when code should be open source, and when it should not.
In fact, if any dependency exists in the PostgreSQL model it is EnterpriseDB and Greenplum’s dependency on the PostgreSQL community. MySQL has no such dependency on the community.
MySQL also has no obligation to contribute new features to the open source model, but then it is then it has built a business on supplying the same code to both user groups, and has benefited from doing so.
As Zack Urlocker noted: “While the number of customers who pay us is much smaller than the number of community users who do not, most of our paying customers first used MySQL because it is available freely under the GPL open source license. And in many cases, we know that MySQL is popular because of the work of the community who are out there using it, blogging about it, creating add-on tools, products or services.”
He added: “MySQL is in the middle trying to make sure we are balanced in our actions and not neglecting the interests of either market. It’s not always obvious how to benefit both groups and there are few successful models to guide us at this point. So we are constantly forging new territory, experimenting, trying new things, and listening for input.”
Balance is the critical word here, and if MySQL does choose to develop closed source extensions to the GPL code it will probably have to find some way of balancing that with providing more value to the community.
Comments (6) Categories: Business strategies,Software