Frequently Asked Questions - Open Source Projects & LGPL Licencing
The MariaDB Client Library for C & MariaDB Client Library for Java Applications
What is an open source project?
A way of developing and spreading software, based on community adoption. Usually, a project has a central figure, who commonly originated the software and - as the project grows - decides on what goes into the releases of the software. An open software project can be highly centralised, like MySQL was under MySQL AB times, or merely have central coordination, like Linux has.
What does LGPL licensing mean?
LGPL stands for Lesser GPL or "GNU Lesser General Public License" (http://www.gnu.org/copyleft/lesser.html). The L at one point also referred to Libraries, which LGPL is frequently used for. It is a so-called "permissive" license, that puts fewer constraints on its usage than, say, GPL.
How is LGPL different to other types of licensing?
As opposed to GPL, the LGPL license allows for combinations with commercial software. Software licensed under the GPL requires tightly linked software, when distributed, to also be GPLed. Software licensed under the LGPL does not. The disadvantage, from an open source perspective, is that LGPL does not grow the amount of free software by requiring the application software to be open source.
Does Open Source software come at no cost?
The English word "free" is ambiguous. Many want to read "no cost" into it ("free beer"), but Free Software refers not to the price but to the freedom of the software ("free speech"). Most other languages have different words for these two concepts.
Can Open Source software have a price tag attached to it?
Yes and no. From the freedom of the software follows that it can be distributed in ways that makes it possible (within limits) to use the software at no cost. But services, support, subscription and add-on software very often come with a price tag.
Under which licence are the connectors being released?
SkySQL & Monty Program are releasing the MariaDB Client Library for Java Applications and the MariaDB Client Library for C under the permissive LGPL licence.
We’re releasing the connectors under the LGPL licence in order to grow the ecosystem of users of the MySQL and MariaDB databases. Providers of open source software (FOSS) have already been able to use the GPL licensed connectors from MySQL. The connectors now being released have a more permissive license, namely LGPL which puts fewer constraints on the surrounding software. We expect the existence of robust and tested LGPL connectors to expand the user base. In fact, before MySQL 4.0 (meaning up until about 2003), MySQL used to have LGPL connectors. Now we come back full circle to the original situation.
While both GPL and LGPL are free, open source software, the LGPL license puts fewer constraints on the surrounding software.
Link to the GNU Lesser General Public Licence: http://www.gnu.org/copyleft/lesser.html
Under which version of the LGPL Licence are the connectors being released?
Under the terms of the GNU Lesser General Public Licence as published by the Free Software Foundation, the connectors are released as either version 2.1 of the Licence, or (at your option) any later version.
If I’m using the MySQL Connector/C, what code changes would I need to do to make use of the MariaDB Client Library for C?
It’s an easy switch. The MariaDB Client Library for C has exactly the same API as the MySQL Connector/C.
Are they Drivers, Connectors or Libraries?
While we are releasing under the names MariaDB Client Library for Java Applications and MariaDB Client Library for C these are also commonly referred to as Drivers or Connectors. In the Java world, for instance, it is common to refer to software providing connection to a database via JDBC as a JDBC Driver, while other platforms often refer to Database Connectors. No matter what you call them, if you need to connect a C or Java codebase to a MySQL or MariaDB database, then these will do the job, and the licensing makes them an easy choice.