← Back to team overview

maria-developers team mailing list archive

Re: MariaDB License Clarification


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
* 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

Chief Architect MariaDB
and security@xxxxxxxxxxx