Home opinion-and-analysis Open Sauce Monty has last laugh as distros abandon MySQL

Author's Opinion

The views in this column are those of the author and do not necessarily reflect the views of iTWire.

Have your say and comment below.

Monty has last laugh as distros abandon MySQL Featured
Get all your tech news delivered to your mail box five days a week
iTWire UPDATE - it's FREE!


When the community GNU/Linux distributions Fedora and openSUSE recently announced that they would be switching their default database management system from MySQL to MariaDB, one man in Finland would have had a very hearty laugh.

That man is Ulf Michael Widenius, better known as Monty, one of three founders of the original MySQL company, and the man who created MariaDB as a fork of MySQL back in 2009. (The pic above is the logo of the MariaDB Foundation which was set up in December 2012 to run the project.)

There are two reasons why Monty would be chuckling: one, he knows that the salad days are coming back again (though he probably has enough money to last for the next three generations), and, two, he has given his old foe, Oracle, a good punch in the snout.

From the community distributions, it is a short step to the enterprise distributions. The enterprise distributions, SLES and RHEL, are next in line and once MariaDB is being extensively used by businesses, the support contracts will pour in. And the experts on MariaDB are, unsurprisingly, Monty and co!

Monty is one person in the FOSS community who has played his cards right and benefitted as a result. A little look back into history would be instructive.

Monty, David Axmark and Allan Larsson were the founders of MySQL and they were in business by 1995.

MySQL became popular when Linux took off as a server operating system in the late 1990s and early 2000s. Along with Apache and either Perl, Python or PHP, it was part of the acronym LAMP that referred to the four components that ran most websites - Linux, Apache, MySQL and Perl/Python/PHP.

Before the company was bought by Sun Microsystems in 2008 and then Oracle in 2010, MySQL was well-maintained even though it did not exactly live up to the ideals of free or open source software until the year 2000. (corrected)

Code was released as and when the company bosses thought it fit to do so, in order that its own business would not be marginalised. As Monty told iTWire back in 2009, the licensing was certainly not open.

"...back then we were not sure if you could use GPL from the start, and we needed some money to be sure that we could concentrate on working only on the product that we believed in," Monty said.

"So we had a commercial licence. It was kind of open source but this was before open source. The licence basically said you could use it freely, but if you made money on it directly, then you needed to pay a small licence fee back."

By 2000, the licence was changed to the GPL - because, as Monty explained, by then the company was financially sound enough to afford it.

"For example, if you had a commercial web service then... if you sold the web server you needed to give something back. For the Windows platform we had a shareware licence which basically said you can use it freely for 30 days, but after 30 days you should pay us a fee," Monty said

"But there were no restrictions in the code. It was just that you get a bad feeling if you didn't pay. Basically we used the Windows licence to bootstrap our business. In 2000 we changed to GPL because by then we had got the ball rolling to the extent that we could afford to do it."

But even after 2000, outsiders could only make contributions of code to MySQL if they were willing to cede copyright to the company.

Thus the involvement of outsiders did not pick up; as Monty put it: "...we had some restrictions on the licence under which you could contribute - you basically had to give us the code and then we assigned the code back. As a developer I would never accept this. But I was overruled by decision-makers in MySQL and the effect was that since 2005, I don't think we have added more than 20 patches to MySQL."

But despite these restrictions, a halo grew around MySQL. It helped that there was no rival to the program; PostgreSQL, which some technical people rate as much better than MySQL, had nothing like the name and aura MySQL did.

When Sun bought the company, the owners of MySQL had a big payday - by my estimates, enough to last at least the next three generations. Monty went over to Sun for a while and then left. He set up MariaDB as a fork of MySQL and its initial release was on January 22, 2009. The fork is named after his daughter. Both Axmark and Larsson are also part of MariaDB.

MariaDB has two licences - the extensions are under the Lesser GNU General Public Licence and the main software is under version 2 of the GNU GPL. Nobody can question its FOSS credentials.

There was another fork of MySQL by Brian Aker, called Drizzle, in 2008. As one of the main developers of Drizzle, Stewart Smith, told iTWire in 2011, the fork was set up because, "we saw a couple of problems: 1) the new features in MySQL 5.0 weren't really applicable to large scale websites, a traditional stronghold and 2) the code base was aging and in desperate need of large scale refactoring. It boils down to a number of people thinking that we could build a better database for large scale web and cloud applications than what we currently had."

MariaDB and Drizzle are aimed at different markets. Smith again: "Drizzle is aiming for being the database optimised for cloud and web applications. This means we make different decisions. If there is a choice between optimising for 32 concurrent connections or optimising for 1024 concurrent connections, we choose the 1024 route. We need to be pluggable, fitting into infrastructure, not dictating it.

"MariaDB aims for full backwards compatibility with MySQL. Drizzle doesn't. We've taken the direction of removing features that don't work well in large scale web/cloud environments. We've also changed the way various things operate, to help prevent users from making mistakes or entering in invalid data (that was valid in MySQL)."

He added: "PostgreSQL also solves a different set of problems than Drizzle does. Some application architectures are much more suited to PostgreSQL than others. It is certainly more Oracle-like than MySQL-like - and that works brilliantly for some people and some applications. We get on really well with PostgreSQL people (and indeed view many as friends)."

(Correction, Feb 5: SkySQL is a company that offers services for both MySQL and MariaDB; in the original article it was listed as another fork of MySQL).

When Oracle completed its purchase of Sun Microsystems in January 2010, Monty was one of many people who objected to MySQL being part of the purchase. The ostensible reason was that Oracle's control of MySQL would reduce competition; after all, Oracle's own database is the major player in the business database market. The EU lodged an objection, so did the Free Software Foundation. But Oracle got its way.

Oracle has always made it clear that it is buying open source projects to make money. If the project comes into its possession as part of another purchase and has no money-making potential, then it will not be retained by Oracle. And the prime reason it bought Sun was to become the owner of Java, a programming language which has great currency in the business sphere.

For example, the open source office suite, OpenOffice.org, was given away to the Apache Foundation. (A fork of this project, called LibreOffice, continues to be part of most Linux distributions.) OpenSolaris, a version of Sun's signature operating system, Solaris, was ditched (Forks persist here and there).

The main players in the corporate Linux market are Red Hat, SUSE, and Canonical. There are lots of smaller players but these three are the big boys. And among them, Red Hat is the 800-lb gorilla.

The reasons for the switch to MariaDB is ostensibly because of Oracle's move to make the MySQL project more closed. To quote Jaroslav Reznik, the Fedora project manager, on January 16: "Recent changes made by Oracle indicate they are moving the MySQL project to be more closed. They are no longer publishing any useful information about security issues (CVEs), and they are not providing complete regression tests any more, and a very large fraction of the mysql bug database is now not public.

He added: "MariaDB, which was founded by some of the original MySQL developers, has a more open-source attitude and an active community. We have found them to be much easier to work with, especially in regards to security matters."

Oracle cares little about SUSE dropping MySQL, but it is bothered about Red Hat, given the extent of business that Red Hat caters to. After years of neglect by Novell, SUSE is only now beginning to recover and gain traction after it was taken private in 2011 and moved back to its original base, Nuremberg in Germany.

Thus, it is not surprising an Oracle developer Andrew Rist tried to convince Red Hat not to dicth MySQL: "We've been following the discussions to replace MySQL with MariaDB in Fedora, and would like to provide additional data to help the community make the most informed decision. Instead of switching the default to MariaDB 5.5 we would like to propose that Fedora instead integrate MySQL 5.6. Switching to MariaDB would be going backwards, as their releases usually lag by at least 6 months. The differences between MariaDB 5.5 and MySQL 5.6 are quite significant, with major improvements in both performance and stability, as well as additional features and improved security.

"With hundreds of development and QA engineers, including MySQL veterans and fresh talent, Oracle has produced the most stable, secure, and scalable releases of open source MySQL ever. We are ready to help integrate and package the latest and best-tested version of MySQL in Fedora, including becoming the package maintainer (same as we do with Ubuntu).

"15 years of contributing to the Linux kernel, 8 years developing InnoDB, and now 3 years leading MySQL represent a track record that speaks for itself. Fedora's corporate sponsor and Oracle do compete in the Linux support business, but the database choice for Fedora should only focus on the merits and the quality of the MySQL code. If Fedora, as the mission statement says wants to 'lead, and not follow' we recommend you keep MySQL, the leading edge and highest quality open source database, as the default choice in your Linux distribution."

Alas, his words fell on deaf ears. Fedora voted unanimously to make the change. It will come in with the next release, Fedora 19, which is some months away given that version 18 was released last month. openSUSE will make the change to MariaDB with version 12.3 which is due out in March.

And when that happens Monty will sit back, smoke a pipe, have a couple of beers, and laugh loud and long. Revenge is indeed sweet.

ITWIRE SERIES - REVENUE-CRITICAL APPS UNDERPERFORMING?

Avoid War Room Scenarios and improve handling of critical application problems:

• Track all transactions, end-to-end, all the time and know what your users experience 24/7

• View code level details with context and repair problems quickly

• Fix problems in minutes before they wreak havoc

• Optimize your most important applications, Java, .NET, PHP, C/C++ and many more

Start your free trial today!

CLICK FOR FREE TRIAL!

ITWIRE SERIES - IS YOUR BACKUP STRATEGY COSTING YOU CLIENTS?

Where are your clients backing up to right now?

Is your DR strategy as advanced as the rest of your service portfolio?

What areas of your business could be improved if you outsourced your backups to a trusted source?

Read the industry whitepaper and discover where to turn to for managed backup

FIND OUT MORE!

Sam Varghese

website statistics

A professional journalist with decades of experience, Sam for nine years used DOS and then Windows, which led him to start experimenting with GNU/Linux in 1998. Since then he has written widely about the use of both free and open source software, and the people behind the code. His personal blog is titled Irregular Expression.

Connect