MySQL and "commercial extensions:" Core, complements, and semantics
MySQL has placed itself in the middle of a rising furor over its allegedly diminished commitment to open source. To be fair, it has only itself to blame.
It all started with a disgruntled ex-MySQL employee, Jeremy Cole. Cole declared that MySQL's sky was falling because it was to be releasing certain parts of the next version of its database as closed-source software. Marten Mickos responded that he had misunderstood (when, in fact, he had understood very well), it went to Slashdot (where it was of course misconstrued even further), and we're left with a somewhat tepid defense by Marten in the comments section of Slashdot to the self-addressed question, "Why is MySQL now producing some proprietary software?":
The reason is that we have an ambition not only to produce FOSS [free and open-source] code, but also to be a profitable business that can exist for a long time. Each time we make more money, we hire more developers to develop GPL code.
If the world were perfect, we would only produce GPL code and we would have a great business that can fund the software development. But we have found that the world is not perfect. We have been experimenting with a variety of business models around FOSS (dual licensing, support only, simple subscriptions, different binaries for community and enterprise, non-open source features) to find the best one. And we will continue to experiment until we are satisfied. We need to find a model that allows us to produce a ton of great code under GPL while having the financial strength to do all this.
To get to this goal of ours, we believe we have to be more pragmatic than dogmatic. Call it a necessary evil if you like. Having production add-ons that we provide only to paying customers currently seems to use to be a useful model. Our partners and customers think it is great. Many users think it is great. But not all do (as evident from this thread on /.). I would hope we could please all, but I am afraid we cannot.
It's a fine defense, and one that SugarCRM has used for years (and one which Zimbra never had to, for some reason, quietly churning out tons of cash in the background while others took the arrows. Perhaps Satish was on to something :-). But it's unclear to me why MySQL had to get to this point.
Perhaps it's just a matter of semantics (Marc Fleury certainly believes it is), but I think MySQL would have been wiser (at least as an interim step) to adopt Red Hat's model rather than don the hairshirt over commercial extensions, without clearly defining what this means.
What would MySQL Enterprise look like if it truly followed Red Hat Enterprise Linux?
- MySQL would make Enterprise available only to paid subscribers, which subscription would include 100 percent of its core database software as GPL (or some other open source-licensed) code, along with proprietary services (support, MySQL Network (Red Hat's Network was proprietary), up-to-date bug fixes, etc.);
- MySQL, like Red Hat, could block "first sale" access to the Enterprise bits to paid subscribers by placing the availability of the bits behind a support contract (This would ensure a steady stream of paying customers but wouldn't stop a CentOS, as seen below);
- These subscribers would have the option to redistribute the core software because, after all, it's open source. (They would not be able to distribute Network and the patches/services distributed through this mechanism.) However, as with CentOS and other RHEL clones, they're more of a minor nuisance than a serious threat to Red Hat, and I can't imagine that MySQL would suffer much at the hands of the clones, either (including from Oracle - I heard from one of its Unbreakable Linux salespeople that things aren't going too swimmingly there);
- MySQL is spared having to make distinctions between proprietary code and instead can focus on a very clear distinction between core (100 percent open source) and complement (some percentage of which is closed).
The sound and fury around MySQL's moves is because people (wrongly, for the most part) perceive that MySQL is closing off the core of its product to them. It is not. MySQL is considering holding back future add-ons to its core product, either as proprietary software or as proprietary services (in the fashion that I've described). But by not taking a bold, RHEL-esque move, MySQL's position looks shakier than it actually is.
Of course, MySQL is a business that needs to please shareholders. I believe, however, that it can do this without sacrificing the community that contributes much to its success, even if it doesn't contribute much to its code base.
The key, again, is to separate the core from the complement. MySQL, the database, is the core. That should be open source. It's good for MySQL that it be such. It leads to greater distribution.
As for monetization, in open source you do it exactly the opposite as in proprietary software, which jealously guards the core and throws trifles to the crowd as free complements. In open source, you charge for the complements while giving away "the crown jewels."
The services around MySQL, including Workbench (around which MySQL did a better job of explaining the difference between the open-source core and the "proprietary" periphery), Network, and other add-on services that make the MySQL experience more pleasant but not necessarily more capable are fine to close off to paid subscribers, as Red Hat has long done.
As Michael Tiemann of Red Hat expresses it:
The bits are free; the service is not.
A very simple principle that can help MySQL and every other open-source company intelligently make decisions about how it licenses its software.
Ultimately, MySQL has made a short-term public relations error, but one that is easily fixed. It simply needs to reassure its user community that it is not taking anything away, now or in the future. Instead, it is offering additional services to subscribers, services that augment the MySQL experience but don't imply a degraded MySQL experience for those who opt for the free download of Community.
One way to further improve such a strategy is to make the short-term difficult step of clearly separating out a separately trademarked/branded community product as Red Hat did with Fedora. Clearly brand it as the community/labs product and foster its growth on its own merits, then focus the bulk of MySQL, the company, on MySQL Enterprise. Fedora is a vibrant community in its own right. There's no reason that Dolphora (MySQL Community ;-) couldn't be the same.
Matt Asay brings a decade of in-the-trenches open-source business and legal experience to The Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure.






You are assuming that the Red Hat model is the best business model. I don't think that has been proven yet. How do we know that Red Hat's model is sustainable? Once companies become familiar with Linux, and their engineers become skilled, who is to say that a significant amount of customers won't switch to CentOS?
By the way, I think you are underestimating the impact of CentOS. I know of a half-dozen proprietary software products that run CentOS under the hood. Some hide that fact, and others simply say "RedHat Linux compatible".
Even if you can prove that RedHat provides the best service on the planet, it doesn't count for anything if the customer doesn't want support anymore. Just ask yourself this - How many Windows customers buy services from Microsoft? Almost none! Perhaps this is how RedHat will become, where people don't need their services anymore.
I think the dual-licensing model is terrific for MySQL. There are hundreds of vendors who want to sell a product with an embedded MySQL database. These vendors do not want to deal with the GPL, so they buy licenses from MySQL. MySQL uses that money to fund development of the open source product, along with the proprietary extensions.
I think MySQL is a better example of a successful open source business model, but we are each allowed our own opinions. ;)
The industry is evolving, and while Linux is growing in its share, it's increasingly being used by the same limited people that manage Microsoft platforms, and they don't have a clue what's going on behind the GUI. Sounds like ripe pickings for RH & MySQL....
And, yes, I *am* bitter. ;-)
One thing to realise about the dual licensing, is that quite a few vendors have purchased licenses for "embedding" MySQL even though they would be perfectly entitled to distribute their product with the GPL license. From my own observations, this may even be the vast majority by now.
One could bring up the "risk" factor and just choosing to buy licenses because that's playing it safe... but really...
-- Mike Olson
http://www.theopenforce.com/2008/04/two-markets-in.html
http://lwn.net/Articles/261768/
Also, Brian Stevens (Red Hat CTO) recently said at The Linux Foundation?s Annual Collaboration Summit earlier this month that one of Red Hat's goals is to give customers the immense value that goes with a "zero cost to exit" offering where there is no RHEL lock-in, and to that end the folks at CentOS have done Red Hat a great favor.
The previous Fedora chairman Max Spevack did have many nice things about centos:
http://spevack.livejournal.com/17372.html
http://spevack.livejournal.com/10144.html
http://spevack.livejournal.com/27382.html
And Nick Carr of Red Hat said:
http://itmanagement.earthweb.com/article.php/3671886
Anyway, the net result is that CentOS brings Red Hat customers and CentOS helps Red Hat solve problems in their enterprise code base (search the Red Hat bugzilla for CentOS) at no cost to Red Hat.
-
by montywi
April 21, 2008 11:50 AM PDT
- An additional point is what makes open source software successful:
-
Reply to this comment
-
(11 Comments)- No software lock in; If something doesn't exist or doesn't work you can fix it
- No vendor lock in; If a software vendor goes out of business or gets too unreasonable you can change the vendor
- More users with makes the code more tested
- More developers, which gives the software longer lifetime and increases innovation.
- As long as you are a community driven open source project, there is little chance that the code will be forked into multiple projects
There are a lots of other reasons, but all have the same thing in common; As soon as you close one critical part of the software, the line between closed source and open source disappears together with many of the prior advantages. You become a vendor that makes crippleware. No one really wants to use crippleware and while people try to portray it as balancing open source ideals with business sense, it doesn't.
I am absolutely sure that MySQL would never have been a success if the MySQL server or other offerings would have been crippleware from the start. Changing the server to crippleware now and exchange growth and adaption for money is not something that I think is in Sun's interest.
I agree that one needs to make money, but that should be done by proprietary services, not on software. The RedHat business model is one of them, but there are others.
I disagree with the idea of giving paying users first access to the software before the community. This will make paying customers and their production systems your bug finders, something they don't really appreciate. We have seen this with the current MySQL enterprise server which has a much higher customer/community bug finding ratio than what we had before this offering.
For Sun in particular this is not that hard as Sun can package the MySQL offerings into it's other offerings and sell a complete stack with support and other services. Sun can take MySQL to new kinds of customers, and has channels that MySQL AB did not. There are many new compelling offerings and business opportunities to be made, without having to go to crippleware.
You can find more things about this topic on my blog at:
http://monty-says.blogspot.com
Monty
Former CTO of MySQL AB, now with Sun's CTO Organisation