Jonathan on August 9th, 2007

By now, word has gotten around that MySQL has made some more changes to their process around MySQL Community Server. The changes primarily focus on:

  • acceptance of community contributions (5.0 and 5.1 are now locked for contributions, so any contributions won’t be available until 5.2 or later)
  • release schedule of community server (”Mature GA”, meaning 5.0, will have approximately 4 source builds per year and 2 binary builds; new GA, meaning 5.1, will have a binary build once per month)

These refinements of the community server [process] are detailed in Kaj Arnö’s blog. Not everyone is happy about the new plan for acceptance of community contributions, because it means that community enhancements have to wait a long time to see the light of day. Jeremy Cole has talked about the frustrations that this causes and calls the Enterprise/Community split a failure. These refinements are interesting are definitely worthy of discussion, but I’ll leave that aside for another time.

What’s wrapped up inside of the announcement about “Refining Community Server” is something not related to Community Server at all: “The current Enterprise source tarballs will be removed from ftp.mysql.com.” Perhaps it’s just me, but it feels a lot like what often happens in political bills, where a politician tries to add 4 good things and squeeze in one bad thing in the same bill (download movies, movies online). They are either hoping that no one will notice, or that perhaps it’s an easier pill to take when a little sugar is applied. Kaj responded to Jeremy with the expected response of “not much changed” and “it’s for the better anyway” message. But it’s worth taking a closer look.

Placing the source tarballs behind a closed door doesn’t keep it closed with the GPL. Everyone knows (and Kaj acknowledges) that the GPL guarantees the right of any person who receives a binary to obtain and re-distribute the source tarballs to the world. So what’s the big deal about hiding Enterprise source tarballs behind a password-protected site that only customers can access?

It’s about the importance of being earnest in what you do. Being an open source company is about a lot more than just slapping a GPL license on your software and handing it out. It’s about building a relationship with the community that is using, playing, testing, and improving your software. As anyone who is married knows well, this can only be done through ongoing, continual trust and transparency between the two parties. Trust is built by being dependable, and by telling the other person things that sound honest and real. Trust is improved by transparency, which is opening yourself to the other person. Adding an artificial means of inconvenience to the community in obtaining bits does nothing to help customers and only reduces transparency as seen by the community.

MySQL has a goal of of positioning their software as: “Community Server for community users, Enterprise Server for paying users”. This makes sense from a marketing and sales perspective, and I have no argument with it at that level. After all, companies deserve to make money for their efforts, and customers need to understand what they are paying for when they buy Enterprise Server. They get a great deal for a cheap cost when they buy a license, because it includes all kinds of services: updates, technical alerts, technical support, troubleshooting, assistance with tuning, and many other services. They are also getting cool features and stability which came as a direct result of feedback from the community. Most of all, customers are paying for the comfort in knowing they have an experienced team to call and help when they have a problem. But customers aren’t paying for bits. The bits are Free Software and infinitely re-distributable, so there isn’t any money to be made by trying to make bits appear part of the sale.

From a technical standpoint, dividing source code based on “paying customers” and “community” simply doesn’t make any sense. Customers want source code typically for one reason: “just in case” (in case your company disappears). Community wants source code to learn from, experiment with, play with, improve, fix, argue about, comment on, and many other things. The division of code drives down the quality of the Enterprise Edition for customers, and it drives down the motivation of the community to provide the necessary feedback and improvements.

As the transparency decreases, the distrust increases. On the #mysql-dev IRC channel yesterday, I worried about what might happen if the current transparency continues to decrease and MySQL decides some day to release their Enterprise Server code under a proprietary license instead of the GPL. Where will that leave the community, if they know that the work they help to provide under the Community Server gets repackaged at a later date under a proprietary Enterprise Server? Kaj quickly responded by saying he personally would commit to keeping it open.

[13:46] <cheyer> kaj: are you willing to commit that MySQL does not have any intention to change the license for Enterprise to a non-open source license in the near future?
[13:46] <kaj> cheyer: I am

Much to Kaj’s credit, he did indeed address this in his blog today. But would MySQL AB be willing to publicly commit to this as a company by plac

2 Responses to “The Importance of Being Earnest”

  1. But customers aren’t paying for bits. The bits are Free Software and infinitely re-distributable, so there isn’t any money to be made by trying to make bits appear part of the sale.

    Sure there is. Plenty of business owners want to use software that has a monetary component to it, because their feeling is that if it’s free it’s not worth it. That’s changing, but slowly, and not completely. After all, if *you* are a business owner, and you have great free software, it doesn’t make business sense to give it away for free.

    (yes, I know the arguments. But try telling that to entrepeneurs, who see open source as akin to renting a building for free and having the rentors pay for all the utilities and repairs and maintenance on the building. It just doesn’t make business sense to them)

    Anyway, there is a point in charging for the bits, but not to folks who understand open source. What we have to realize is that *not everyone understands open source*.

  2. @Sheeri
    “*not everyone understands open source*”
    Do you mean to fool some entrepeneurs ? Unfortunately, most of the people understand open source and free software as nothing to pay at all.

Leave a Reply