I understand that MySQL (community edition) and MariaDB are under GPL v2 license. Does it mean that it is not allowed to build proprietary database storage engines for them? It is inevitable that one needs to link the storage engine with the database, and thus GPL requires the linked storage engine to be GPL-ed. Or did I miss something?
On the other hand, there are a few (rather obscure) proprietary storage engines for these databases out there, including (old versions of) TokuDB, and a few others listed here, how can they keep the source code closed while not violating the GPL license?
To clarify, I certainly care about distributing the resulting binary, as we know that not releasing source code for private use or even exploiting the so called "SaaS loophole" is allowed by GPL.

  • Do you actually care about linking as you specify in your question, or distributing the code afterwards? The GPL cares only about distribution. Jun 14 at 18:03
  • 1
    There is a detailed description here, with this sentence: "MySQL Server uses a pluggable storage engine architecture that enables storage engines to be loaded into and unloaded from a running MySQL server." To me this looks like a pretty loose connection between MySQL and the storage engine through a defined interface. Read what the GPL FAQ has to say about it. You might need an MySQL expert to understand if it is an 'intimate' or 'loose' communication. Jun 15 at 13:05


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.