451 CAOS Theory *
A blog for the enterprise open source community

Balancing community and enterprise needs

, December 8, 2008 @ 8:43 am ET

When Monty Widenius published his criticisms of MySQL 5.1 recently a lot of the coverage that followed focused on his belief that the product had been made generally available too early and has too many serious bugs.

A solution to this problem would have been told hold 5.1 back even longer for more testing or, better still, not to have announced it as a release candidate so early. However, reading Monty’s post in full indicates that this would be a matter of treating the symptoms rather than finding a cure.

He also wrote: “the MySQL current development model doesn’t in practice allow the MySQL community to participate in the development of the MySQL server” and “I think it’s time to seriously review how the MySQL server is being developed and change the development model to be more like Drizzle and PostgreSQL where the community has a driving role in what gets done”.

From a wider open source perspective this is a much more interesting issue as it highlights one of the potential problems of the subscription model: managing the relationship between the unsupported community edition and the subscription-supported enterprise edition.

One of the issues MySQL faces is that when it announced the creation of the MySQL Community Server and the MySQL Enterprise Server in 2006 it decided that it would produce “more frequent binary releases of the MySQL Enterprise Server software than of the MySQL Community Server”.

On one hand this made sense in terms of focusing the attention on the needs of paying customers. However, it also contradicted the belief that “the users of MySQL Community Server expect early access to MySQL features under development”.

The model MySQL came up with is a lot like Red Hat’s Enterprise Linux/Fedora model where all new features are developed and tested in the Fedora project before being certified and tested a whole lot more before inclusion in the Enterprise Linux product – except in reverse.

A number of people have pointed out over the years that the MySQL development process is counterproductive (not least Jeremy Cole).

UPDATE – I should mention this post from Giuseppe Maxia which provides an alternative view of the development process for MySQL 5.1 and notes that “everyone agrees on the need for change, and we are working toward this goal” of opening up the development process – UPDATE

The issue raised its head again in April when MySQL began to talk about the potential of making some new features for MySQL available only to Enterprise subscribers. Marten Mickos admitted that it would have to hire more QA testing staff to test the code.

Marten responded to my concern about the potential cost of this model by pointing out that as the number of features was small it would not be a serious drain on resources.

However, as Monty’s post highlights (with all due respect to MySQL development and testing staff) the lack of community engagement can have a potential impact on quality, as well as cost.

This is by no means an issue that impact only MySQL – in fact it will impact any vendor that is involved with, or considering getting involved with, Open-Core Licensing strategies.

As Savio Rodrigues recently wrote:

    “It’s logical to assume that the enterprise-only features will not be of the same quality as the community code. This is because fewer users will touch these features and uncover bugs. However, vendors highlight “additional testing” as a benefit of their enterprise edition. So I could be convinced that the code quality will remain high. However, this form of testing results in higher costs to the OSS vendor. I’d argue that the development cost savings of the OSS business model are negated for enterprise-only features, if not for the enterprise-only product on whole.”

We noted the same thing in our recent CAOS report, Open Source is Not a Business Model:

    “Vendors using hybrid development and licensing models are potentially missing out on the benefits of open source development — including lower development costs and broadly tested code — but are balancing higher development and marketing costs with the ability to increase revenue-generation opportunities with commercially licensed software.”

The important point is that revenue generation opportunities, rather than revenue per se, are increased. An increase in revenue may follow, but only if the balance between enterprise and community licensing is the right one.

The same is true of vendor and community development. It is not a matter of one or the other, but identifying and maintaining the correct balance between the two is essential.

Permalink | Technorati Links | Bookmark on del.icio.us | digg it
Comments (6) Categories: Business strategies,Licensing,Software

6 Responses to “Balancing community and enterprise needs”

  1. Matthew Montgomery says:

    The Community/Enterprise split in no way contradicts that “the users of MySQL Community Server expect early access to MySQL features under development”. They are totally unrelated. Early access to features is provided with the several software previews mysql provides. http://forge.mysql.com/wiki/Category:Software_Preview The split allows MySQL to provide binaries to paying customers more frequently. If a community member is experiencing a bug which has been patched but for which no community binary exists they can easily download the source repository and build it them selves. Originally there were some differences in the capabilities in the community and enterprise versions (i.e. community had profiling). Now this differences is no more.

    • Thanks for the clarification but I stand by the point I made. In the example you cited the community user may have to wait days or weeks (or longer) for the bug fix to be made available in an Enterprise binary, let alone the community binary.

  2. Arjen Lentz says:

    My clients and I don’t care much for the feature previews. A feature is not an island which should be visited individually. Take Falcon, for example; we want to see it as a plugin in 5.1. That would allow us to actually review it, use it in development, perhaps even on a production slave, and find and report bugs. A feature preview is not going to do that.

  3. zillablog says:

    Log Buffer #127: a Carnival of the Vanities for DBAs…

    Well, it’s been a long time (100 editions in fact!) since I have hosted a log buffer, but I thought what better way to break-in the new blog than by hosting the 127th edition of Log Buffer. Let’s get started!

    The big story in MySQL this week was t…

  4. [...] of vendors that build proprietary extensions around a core open source project. The strategy theoretically provides a balance between commercial and community user requirements, but that balance is hard to [...]