[Maria-developers] MariaDB License Clarification
Hello, My name is Ryan Coe and I've been maintaining the MariaDB package for Buildroot (https://buildroot.org). In commit 577915def8d39223aa23a06f898e11e82e72365a, COPYING.LESSER was removed. Our packaging currently states the MariaDB license as GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library). Could I please get clarification on how the different components are licensed? Also, the GitHub page is still referencing COPYING.LESSER in the README. Thank you.
Hi, Ryan! On May 18, Ryan Coe wrote:
Hello,
My name is Ryan Coe and I've been maintaining the MariaDB package for Buildroot (https://buildroot.org). In commit 577915def8d39223aa23a06f898e11e82e72365a, COPYING.LESSER was removed. Our packaging currently states the MariaDB license as GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library). Could I please get clarification on how the different components are licensed? Also, the GitHub page is still referencing COPYING.LESSER in the README. Thank you.
Sure. It was https://jira.mariadb.org/browse/MDEV-12297 This is the full story: * All MySQL code, including libmysqlclient, is GPLv2 * When implementing async API for libmysqlclient, we have licensed it under LGPL. That's when COPYING.LESSER was added. Apparently someone thought that having both COPYING and COPYING.LESSER means that the project includes both GPL and LGPL components * Then we got MDEV-12297, saying Github suddenly started showing MariaDB license as LGPL * Github uses a library "licensee" to detect the license, and it was a recent bugfix in licensee to return "LGPL" when both COPYING and COPYING.LESSER are present. * Indeed, https://www.gnu.org/licenses/gpl-howto.html says that LGPL licensed projects should have both files. So licensee and Github were right. * At that point in time we already have all async API code in MariaDB Connector/C library (which is LGPL as a whole), so the simplest solution was to remove COPYING.LESSER, basically relicensing async API for libmysqlclient under GPLv2. Practically it changes nothing. MariaDB server was and is GPLv2, we cannot change that. libmysqlclient library was and is GPLv2, we cannot change that. MariaDB Connector/C was and is LGPLv2.1 Regards, Sergei Chief Architect MariaDB and security@mariadb.org
participants (2)
-
Ryan Coe
-
Sergei Golubchik