By Jake Edge
August 15, 2007
In announcing
changes to the way it does its releases, MySQL AB, the company behind
the MySQL database, probably knew what
element would be the most controversial. Listed last of five changes was
the plan to no longer be distribute Enterprise Server source code.
Very quickly noticed by members of the MySQL community, then by
the wider free software community, it caused a bit of an uproar.
A Slashdot headline,
later reworded, proclaimed "MySQL Closing Off Its Source", which was easily
enough to fan the flames. A closer look reveals that not all that much has
changed, MySQL is trying to find ways to have a free software product that
generates revenue – a difficult balancing act.
The roots of the problem go back to the split of MySQL into two products:
Enterprise Server and Community Server. That change was
announced in October
2006 and was an attempt by MySQL AB
to separate the needs of the
"community" from those of their commercial, "enterprise" customers. The
words chosen were, perhaps, a bit distasteful; one would think that all
MySQL users are members of the community, the real distinction they were
trying
to make is: paying vs. non-paying.
At the time of that split, there was talk that MySQL AB was turning its
back on
free software, "going corporate" as it were. In fact, the company
has kept up its side of the bargain, releasing its code under the GPL. It
has also worked with the Free Software Foundation on GPLv3; upcoming
MySQL releases might very well be covered by that license. Its biggest
sin,
in some eyes, has been the unwillingness to forgo making a profit.
The change that caused the latest stink is more subtle,
as it just changes the Community Server development process. But, as
a seemingly unnecessary part of that change, the Enterprise Server
source tarballs will no longer be available on the the
ftp.mysql.com
site. The source will be distributed to customers who buy the Enterprise
Server, but will no longer be accessible – from MySQL AB –
by the community at large.
The company evidently wants to make a sharp distinction between the two
releases, which is what led them to restrict the source code. Various
Linux distributions have been using the Enterprise source, rather than the
the Community source, to build MySQL
packages and the company would rather not
see that. Kaj Arnö, VP of Community
Relations for MySQL AB, puts it this way:
What we do intend is related to positioning: MySQL Community
Server is for
our users, MySQL Enterprise Server is for our paying customers. We want
people to associate MySQL Enterprise Server with a commercial
relationship
to MySQL as a company.
It seems a rather drastic step, likely to induce community annoyance, for
very little gain. The marginal cost of maintaining
another copy of the tarball should be nearly zero. In addition,
Arnö has acknowledged that the source will still be
available to anyone who truly wants it. Folks like DorsalSource are already planning
to provide source and binary versions of the Enterprise products as they
are
released.
GPL compliance, always a confusing topic, was at the heart of a lot of the
complaints about withdrawing the source. The company is complying with the
license by providing the source code to their Enterprise customers with the
binary distribution. Given that they hold the copyright for the entire
package, by requiring contributors to assign their copyrights, they could
make other license arrangements with their customers, but choose to stick
with the GPL.
The other, less controversial changes announced were largely codifying the
current Community release practices. One of those practices, leaving new
features and bug fixes out of the community releases, at least until the
next major release, seems contrary to the intent for the Community Server.
When it was set up, it was to be the testbed for the Enterprise Server, but
that role has clearly fallen by the wayside.
There are legitimate differences between large, enterprise-class
customers
(who are more likely to pay for support) and the rest of the universe of
MySQL
users. One wants stable releases, on a fixed schedule, that have been
extensively tested in real-world installations. The other wants new
features and bug fixes more quickly, even if they have not yet had
extensive testing. Unfortunately, it seems like MySQL AB may be
confused
about which group of users needs each style of release.
A parallel is often drawn between the split that Red Hat made between
Fedora and Red Hat Enterprise Linux (RHEL), but while the original
reasoning seems to be the same, the implementation
is rather different. For reasons that are not entirely clear,
Enterprise Server gets monthly "hotfix" releases that often seem to contain
fixes that are out of place for a stable
release. Often, the changes have not yet been released in a community
version, so they have only
been tested in MySQL AB's labs.
This is very different from the
Fedora/RHEL model as the frequency of releases between community and
enterprise has been reversed. In the Red Hat model, features (new
packages)
are released first in Fedora, vetted by the community, then released in an
RHEL release sometime later, typically much later. It is hard to
see what benefit monthly releases provide to a "stable" product. An
exception
must be made for security fixes, but those should not wait until the next
scheduled release anyway.
MySQL AB seems to see things differently, one must hope that they are
right,
and that they understand precisely what their customers want. It would be
a tragedy for MySQL AB to falter; they are a free software company that
does
an enormous amount of work on the database software that is
used freely by millions. Thankfully, even if that did happen, MySQL the
software package, would continue, perhaps at a slower pace. That, in many
ways, sums up what MySQL AB, or any company that uses a free license, gives
to
their users, paying or
non-paying, the ability to keep using and extending the software even if
the
company fails.
(
Log in to post comments)