LinkedIn Twitter
Publisher / Editor @ CloudAve and Enterprise Irregulars. Industry Observer, Blogger, Startup Advisor, Program Chair @ SVASE (Silicon Valley Association of Startup Entrepreneurs). In his "prior life" spent 15 years immersed in the business of Enterprise Software, at management positions with SAP, IBM, Deloitte, KPMG and the like.

11 responses to “Internal Email on Why a Software Company Migrates Away from MySQL”

  1. saulgoode

    But for a project I actually care about, I would never choose the BSD license. The license doesn’t encode my fundamental beliefs of ‘fairness’. I think the BSD license encourages a ‘everybody for himself’ mentality, and doesn’t encourage people to work together, and to merge.” — Linus Torvalds (

  2. Mark

    Actually it was Stallman who foresaw the natural loophole, way before Torvalds, and to solve it he recommended that anyone adopting the GNU license assign their copyright to the FSF.

  3. Charles

    > But an app written on top of MySQL, even though it connects over the wire and a JDBC driver, has to be GPL – why, simply because MySQL decreed it so

    That is simply factually incorrect. In fact, it’s so incorrect that it falls straight into FUD territory.

    Any application that can speak MySQL’s proprietary protocol can connect to it. It happens that they wrote the majority of libraries for doing so, and those libraries are GPL. This is why PHP stopped bundling the MySQL libraries a while ago, and why they *wrote their own freaking library from scratch* called mysqlnd just to work around the license issue.

    Unless you’re shipping actual MySQL-derived, GPL’d code with your application, you don’t have to release it under the GPL.

    There are numerous MySQL forks, including Maria and one from the Percona dudes.

    GPL FUD is not a valid argument for switching to PostgreSQL. There are many, many better arguments that can be made in PG’s favor instead.

  4. Marco Maggi

    Sorry “smart software CEO” but you have understood nothing. Whatever the license, the copyright holder can do whatever it wants with the code base; this includes starting a closed source distribution tomorrow. The BSD license does not prevent this.

    More: while the GPL explicitly forbids revocation of the license (once a revision of a software is distributed under the GPL, that revision will be forever under the GPL), the BSD does not: if the copyright holder attempts to revoke the BSD license from all its software revisions, and you want to go on using one of them, you would end up litigating in court and see what happens. I dunno if this has already happened somewhere, but IMHO nobody knows what would happen in this case until a court rules about it.

    I do not know the details and the history, but I think this is why the “original” concept of BSD license included copyright assignment to the “Regents of the University of California”: the idea is that the “Regents” have no interest in revoking software licenses.

    This is from the COPYRIGHT file of PostgreSQL 8.4.2: “Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.” See that there is nothing about license revocation? Does “for any purpose” include relicensing? Go to court and establish it.

    When you use an open source software there is always a risk, whatever the license; for example the maintainers may stop developing. The GPL forces you to distribute your source code, but prevents people from removing the carpet from under your feet.


  5. Samuel

    Such a fine piece of writing! Thanks so much for making it public.

  6. Josh Berkus


    No open source license that I know of permits relicensing. This is a basic misunderstanding of the difference between liberal and copyleft licenses. (Liberal = {BSD, MIT, TPL, Artitistic, etc.}, Copyleft = {GPL, AGPL, GPLv3, etc.}).

    However, what *you* have misunderstood is that the liberal licenses permit bundling, and permit adding additional downstream restrictions on redistribution. Thus, for example, it is legal for EnterpriseDB to bundle PostgreSQL with their own proprietary tools and impose a fee and non-open-source terms on the whole bundle. This is not, technically, relicensing, but the effect is the same.

  7. Marco Maggi


    “No open source license that I know of permits relicensing.” My error, I should have written sublicense (this is legalese that I do not master at all); for example, all the Scheme SRFIs permit explicitly sublicensing of code[1].

    “However, what *you* have misunderstood is that the liberal licenses permit bundling, and permit adding additional downstream restrictions on redistribution.” I have understood this perfectly, believe me.

    I am putting aside the revocation of license issue, which is still here anyway in GPL-vs-BSD.

    “Liberal” licenses allow Mr. X to make money off Mr. Y work, giving back nothing: of course Mr. X is happy with this! Josh, criticising dual-licensing of GPL code is like criticising banks because they do not distribute money-for-nothing through ATMs; would people not be happy with this? Of course they would!

    The GPL, instead, pushes the creation of an ecosystem.

    Why EnterpriseDB should have the right to sell software it got for free, while its end users should be cut out of “charity”? Is this something like government incentives to agriculture? With Oracle or the PostgreSQL Global Development Group playing the role of the government?

    In the specific MySQL case, as Charles noted, it is perfectly possible to use only the server of MySQL and write non-GPL clients. Are you not happy yet to have a database for free? What do you want, their blood in crystal glasses?


    [1] Scroll to the end

  8. Steve

    I am a fan of postgres and to me, still holds the upper hand with regard to MySQL, however, this is really an opinion on my part. MySQL got a major facelift when you consider the differences between v4 and v5.

    I am not sure if I support merging as Linus had suggested, where postgreSQL promoted branching. If I understand correctly, merging as in merging of resources for the community where everyone can have their input. By Branching, I am assuming that Linus means that everyone makes their own version of PGSQL…is this correct?

    If so, then this offers two schools of thought that can be applied to economics which is my background (Education) and my industry is hosting. Anyway, the “merging” effect means that MySQL is maintained by one large force (entity) which is the community and PGSQL is otherwise split off and improvements are made on the business end of things by each individual person/firm/organisation.

    In economic terms, it’s the difference between a monopolistic market (One entity) or a competitive market with multiple entities working on the same thing. In my opinion, the latter promotes innovation better than the one big group controlling everything (merging). I think, the only issue is the sharing…there is less sharing involved in Postgres which is probably why Linus wasn’t so keen on PGSQL.

    I, myself am a fan of postgres as it is more feature rich, it’s a product of a derivative of the original UNIX (system 5) and it’s longevity is very consistent, meaning, it’s a force to be reckoned with.

    I am sure we can debate this issue for ages, but just giving my 2 cents.

  9. alan

    It’s funny how every body and his aunt Tillie think they are an expert on Richard Stallman and what he thinks/want/says. He (co) wrote a license and promotes it and his free software campaign, but otherwise that’s it. I mean, every time some company or developer discovers a way to do something fundamentally crappy or annoying with the GPL, people act like Stallman himself is personally holding the code hostage in his couch cushions.

    People choose to use the GPL because it suits their purposes and appeals to their fundamental sense of fairness. If it means that smart software CEO’s proprietary software company can’t make its millions using someone else’s free code, well boo-hoo. That’s probably why they chose GPL in the first place, ya think?

  10. mike

    This article is bunch of nonsense. There is no such thing as RMS’s interpretation or Torvalds interpretation of GPL. That is a lie.

    Thing is that Linux is a kernel, not an OS, and POSIX functionality is provided by GNU C Library (glibc). That library is LGPL which allows dynamic linking, therefore programs running on top of GNU/Linux can have any license. And who chose that license? Richard Stallman! Not Torvalds. glibc is originally developed by Roland McGrath who was paid by FSF to work on it.

    So who is now extremist? Stallman surely isn’t, he chose license pragmatically. If glibc was GPL, all software on GNU/Linux would have to be GPL’d too. Here is story about that

    About MySQL issue, when MySQL AB was independent company, they had overreaching interpretation of GPL. Nobody (not even RMS) approved that. They claimed that their protocol is GPL’d, therefore all apps need to be GPL. That was Marteen Mickos’ and Monty Widenious’ interpretation, and basically nobody agrees with that. But that was what they kept telling their customers. A big lie. Business model based on GPL scare.

    Other databases now remove any notion of this interpretation by licensing their drivers under more permissive license (LGPL or even MIT, Apache, etc) while database is GPL. Examples of this are CUBRID and MongoDB, but I am not sure if Ingres does the same. Any application working on top of those databases can be licensed under any license, even though databaase is GPL (I tihnk MongoDB is AGPL).

    Moving to Postgres just because BSD license is not very smart decision. First of all, suport options are scarce, there is only EnterpriseDB which will make you move to their own propriatary version of Posgres, called PostgresPLUS. Then, how you know that somebody wont buy EnterpriseDB and make you pay even more than Oracle asks for MySQL? When you use proprietary PostgresPLUS, moving back to PostgreSQL is not easy. PL/SQL is PosgresPLUS-only feature and if you code in it, you are boned. Second, if you use free version, keep in mind that BSD license has no patent protection, so tomorrow some of ex contributors might come knocking on your door, asking for patent royalties! This might sound insane, but Sun employees contributed to Posgres, and we know who own Sun now. It is perfectly legal to contribute patented stuff under BSD license and then sue users. BSD license allows that. BSD license allows everything.

    Problem of MySQL is specific to MySQL, it has nothing with GPL. Even with mySQL, if application is made for in house use, and never distributed outside company, it doesn’t have to be GPL. That is because GPL apply only on redistribution, use is not subject to license.

    My favourite free (as in freedom) database is CUBRID

    Also worth mention are MariaDB (mySQL’s compatible fork) Drizzle (MySQL’s incompatible fork), Ingres, and VectorWise will be opensourced sometimes this year.

  11. Open Source Cartoon « DECISION STATS

    […] Internal Email on Why a Software Company Migrates Away from MySQL ( […]