
RIP Open Source MySQL - mariuz
http://developers.slashdot.org/story/12/08/18/0152237/is-mysql-slowly-turning-closed-source
======
beedogs
As soon as Oracle bought them, the writing was on the wall for an open-source
MySQL. Look how quickly they murdered OpenSolaris. Oracle is anathema to open
software.

~~~
jacques_chester
The writing has been on the wall ever since MySQL AB required copyright
assignment.

Monty doesn't come to this with clean hands.

~~~
mrkurt
Copyright assignment is basically required if you're going to sell an open
source project under a different license. It's not usually nefarious, all that
contributed code is still available under GPL.

~~~
jacques_chester
The point is that if one entity owns the original copyright, they can wreak
sufficient havoc that the project can splinter into individually anaemic
forks.

MySQL has splintered into at least 3 competing forks outside of the "real"
MySQL: MariaDB, Percona and Drizzle.

~~~
fallenpegasus
I wouldn't say they "compete", at least, not harmfully. Maria and Percona swap
patches with each other, and are drop-in replacements for MySQL. Drizzle is an
exploration of the idea of paying off as much as possible of MySQL's technical
debt and throwing away crufty backwards compatibility. The technical ecology
of users and developers around MySQL is healthier than it has ever been.

------
jedberg
This is an excellent opportunity for the Postgres community to step up an
promote Postgres.

~~~
rbanffy
I think this would be a mistake.

This is an excellent opportunity to demonstrate that anyone can fork the MySQL
codebase and create other plug-in replacement databases with it, such as
MariaDB and Drizzle.

All that is lost is the MySQL name and brand.

PostgreSQL users and developers must seize the opportunity to show businesses
that free software cannot be killed, not even by mighty Oracle. They and, most
notably, Microsoft, have been trying to kill it for more than a decade now.

Because the anti-free-software FUD machine (fed in part by Oracle itself) is
already having a wonderful time with this.

~~~
Udo
I wish I could mod this up a hundred times. PostgreSQL people themselves have
been playing into the hands of corporate FUDders with their incessant and
inappropriate peddling. MySQL is not your enemy, MS SQL Server is. Oracle's
software empire as a whole certainly is your enemy. Show some solidarity with
a fellow open source project!

MySQL and PostgreSQL represent two very different implementation philosophies,
and being able to choose between them according to taste and merits is _a good
thing_.

Most of us have suspected that the MySQL project itself was going to die as it
was acquired by Oracle, in the same way Open Office died when it was acquired
by Oracle. This is a company where good software goes to expire, either due to
a deliberate intention or gross incompetence I can't say but I suspect it's a
mixture of both. However sad that may be for the MySQL (or OpenOffice) brand
name, the code itself lives on and continues to evolve within a rich open
source ecosystem.

Hence, sensational and petulant "RIP $PRODUCTNAME" articles are unnecessary.
There is no threat to existing projects based on MySQL or any other successful
open source project for that matter. Not only will this stuff be free forever,
it will also continue to grow and be developed on its own.

The corporate assassination of open source projects will only work if we let
it, it's a purely psychological game.

~~~
jeffdavis
Background: I am a postgresql user and developer. I started with MySQL around
'99, used both for a while, and then gave up on mysql and haven't really used
it since 2007.

I do agree that injecting postgresql into every discussion without adding
anything new is getting excessive. And declaring mysql dead is clearly
premature. But let me respond to this particular point:

"Show some solidarity with a fellow open source project!"

I guess I never really saw MySQL as an open project.

* when I first started using mysql it was not under the GPL, it was under some free-for-non-commercial use license * They pretty much reject the standards completely (introducing nonstandard things like backticks that make migration away from mysql harder for no apparent benefit) * mysql never fostered an outside developer community (by which I mean people developing mysql itself) * the code is messy and poorly structured * the development ecosystem, like revision control and documentation (and now tests) don't seem to be open * the licensing of the client library is restrictive * they require copyright assignment (although not all of the forks do)

I hope one of the forks does manage to foster a more open community, but
communities aren't built overnight nor are they transplanted easily.

~~~
Udo
You might not have seen MySQL as an open project, but I guess we can agree
based on the outcome that it turned out to be one? If it hadn't been, open
forks would not have been able to form.

Of course when you're talking about community, every project seems to have a
different atmosphere. Linus Torvalds is famous for not accepting patches or
contributions to the Linux kernel, so is _that_ project really open? From the
perspective of a developer using MySQL, the community has always been massive,
diverse, and helpful. Maybe it was a different experience on the dev mailing
list, I wouldn't know. But I _do_ know that in the end, MySQL was open where
it really mattered.

I can understand though that it was probably easier and more rewarding for an
outside developer to get into the inner circles of Postgres than it was to
essentially join MySQL AB back in the time when they still existed.

> I hope one of the forks does manage to foster a more open community, but
> communities aren't built overnight nor are they transplanted easily.

I assume you're talking about the actual engine development community, and I'm
not certain that's really how a lot of open source projects actually work. It
seems in most cases you simply have a core group of developers doing their
thing, with occasional discussions and input from the outside. I might be
wrong, but that's certainly my perception. The Postgres dev community might be
different, again I wouldn't know.

As an app developer, I have different expectations about that. I'm not going
to take part in any discussions about implementation details, nor am I likely
to submit any patches. What I care about is software quality and proper
documentation, those are not necessarily a function of community.

~~~
jeffdavis
"I guess we can agree based on the outcome that it turned out to be one?"

Agreed. My perception is more that it is _turning_ out to be one and that is a
good thing.

"But I do know that in the end, MySQL was open where it really mattered."

The GPL means that there's no real fear that licenses will be scarce. And the
large user community means that there will always be people to offer basic
support (free or paid) and consulting. To that extent, I agree.

As far as getting bugs fixed, adapting to new use cases and changes in the
market, or just moving the product further, the jury is still out. _Will_
Oracle do it? _Can_ any of the forks do it?

Or the larger question: are you OK with calling MySQL, as a product (i.e. the
engine), "done"? I'm not saying that in a negative way. We rarely talk about
software that's done, or what it would take to finish a given product, or how
much sense being "done" even makes.

"It seems in most cases you simply have a core group of developers doing their
thing, with occasional discussions and input from the outside."

That's not how I would describe postgresql. There are lots of people that only
occasionally submit patches and lots of people that take part in design
discussions even if they never submit much code. It's pretty easy to start out
as an application developer and then be sucked into a design discussion, and
before you know it you are criticizing a design because it doesn't fit your
needs.

Even if nobody has ever seen you before, if you jump into a design discussion
and have a legitimate concern or use case that hasn't been considered then it
will be taken as seriously as any developer.

"What I care about is software quality and proper documentation, those are not
necessarily a function of community."

Absolutely correct. Although those things are also not a function of being
open source or free of charge.

------
xd
"MySQL is dead, long live MariaDB" .. would have been a better headline.
Mainly because very few MySQL users seem to be aware of MariaDB.

~~~
spudlyo
Exactly. This controversy was both discovered and promoted by Monty, who has
much to gain by the rejection of Oracle's brand of MySQL and the promotion of
MariaDB. Having said that, I agree that this is a dick move by Oracle. It
reminds me of when RedHat started shipping their kernel as one big source
tarball, without patches, which undoubtedly pissed off both Oracle and the
CentOS folks. Maybe they're taking a page from the RedHat playbook.

------
falcolas
FWIW, in addition to MariaDB, there is Percona Server as well, and they are
also maintaining a launchpad for the base MySQL code on Launchpad while Oracle
neglects that codebase.

[http://www.mysqlperformanceblog.com/2012/08/16/where-to-
get-...](http://www.mysqlperformanceblog.com/2012/08/16/where-to-get-a-bzr-
tree-of-the-latest-mysql-releases/)

~~~
caseyf
I highly recommend Percona Server. _especially_ if you are using SSDs or a mix
of SSDs and regular disks.

~~~
__Joker
Can you elaborate ?

~~~
heretohelp
Percona has done a lot of work to enable MySQL to take advantage of SSDs, work
that hasn't percolated into mainline or MariaDB.

~~~
latimer
I've benchmarked all three and it seemed like the vast majority of the
performance improvement on SSDs was due to the XtraDB engine which is included
with MariaDB.

~~~
heretohelp
_coughs_

<http://www.percona.com/software/percona-xtradb/>

~~~
latimer
Yes you have to install it separately for MySQL but it's enabled by default in
MariaDB so their work has in fact made it into MariaDB.

------
scottlinux
Check out this GPLv2 fork / alternative mentioned: <http://mariadb.org>

~~~
mikescar
Also, Percona rocks. XtraDB is just a drop-in replacement for InnoDB.

<http://www.percona.com/software/percona-server>

------
nicthu
Why are (some of?) the open source SQL-compatible RDBMS so different that you
can't wake up any Monday and decide to use another one, so then proceed to
unload all your data from your old one, load it into your new one, and proceed
on your merry way? In other words, why should I have to care which flavor the
engine is, as long as it supports all my App's SQL requests correctly?

~~~
garenp
In principle, the usual response to your type of question is that it's a
problem that _could_ be solved if all the parties of interest could agree on a
standard to follow. For SQL DBs, there is an ISO/IEC SQL standard
(1992,1999,2003,2008,2011), so it's not that there is a lack of a standard. If
you look at the various issues brought up in this thread and other postings,
you will find long standing bugs (and waves of duplicates & complaints) that
have been filed for all of them on bugs.mysql.com, so it's not that there
isn't interest in fixing MySQL; likely it's just not been a high priority for
the project, and the value added for existing apps that already "work" with
MySQL isn't there. Also, what motivation is there for MySQL--which is arguably
the most popular open-source DB--to change to be more compliant?

To answer your question concretely, which I read as: "Why can't we easily
change out a SQL RDBMS as if it were a common component?" I would say:

(1) Lack of standards compliance; in this case the SQL standard being the
relevant one that MySQL doesn't follow.

(2) DB specific extensions that many apps have become to rely on, often also
caused by the previous point: apps having to rely on non-standard extensions
due to the non-existence of a standard feature that could have otherwise been
used. An earlier poster pointed out a few of these above (INSERT IGNORE, ON
DUPLICATE KEY UPDATE, INSERT REPLACE, ...).

(3) Due to a combination of both points above, supporting software in your
favorite language or ORM either doesn't exist, is incomplete for a particular
DB, or lacking in cross-platform support (e.g. the mylang-pgsql driver for
Linux works but doesn't on Windows, OS X or some other major commercial UNIX
OS like Solaris or AIX).

(4) Finally, for open-source DBs there is practically no code re-use that
matters; I see this as very unfortunate, because it could be a unique strength
that only open-source projects can take advantage of. One reason for this is
legal: different open-source DBs have different or conflicting licenses. But
regardless of that (putting on flame suit now) much of the reason for a lack
of code re-use is due to the fact that C and C++ make it pretty difficult to
do well--which is a point I find true across all codebases in general (i.e.
different C, C++ codebases share very very little code).

------
roberto66
And that why its so important that you can not sell and change the ownership,
control of a community driven software project. So the community is sure that
not one person can sell the projects efforts from all community members. MySQL
could be sold bcs it was controlled by one person same as with Linux,
Drupal,... and in contrary to ie examples like Joomla that set up a legal
entity to secure Joomla for a l l community members..
<http://opensourcematters.org/index.php> See and learn from Joomla how they
structure their real open source project where all members are guaranteed part
of ownership, development and engagement of the project. Start with the legal
part to secure your open source project for ever!

------
amouat
HN just repeated slashdot? I don't remember that happening before...

~~~
Bill_Dimm
Proof that time is now flowing backwards!

~~~
HorizonXP
Indeed! You should see time flowing backwards in this YouTube video at this
timecode: [http://www.youtube.com/watch?list=LLjUp4g-9BFlW78BBJ-
lVqRg&#...</a><p>Seriously, watch it. Very cool.

------
hnruss
Dear Oracle:

Who are you trying to impress by removing test cases and revision history?
That just seems like a dumb idea all around. I cannot imagine what you are
gaining from that.

What are you losing? Me, as a developer/user of MySQL and your software in
general (in the cases where I have a choice, anyways). Also, I'll be avoiding
you as a potential employer, now.

See ya

------
Groxx
Is anyone _actually_ surprised by this? Personally, I declared MySQL doomed
(if not immediately dead) as soon as Oracle took over. I know this isn't
_proof_ of its death, but really. This was a long time coming.

------
greenback
This sounds a bit premature. I have MySQL running on several server instances.
They will continue to run.

