← Back to team overview

maria-developers team mailing list archive

Re: License issues

 

Hi, Maarten!

On Dec 29, Maarten Vanraes wrote:
> I'm a packager for mageia, and i'm working to get branch 5.5 submitted
> on our system, replacing mysql.
> 
> However, we have readline v6 on mageia, which is GPLv3, and serg added
> the NOT_FOR_DISTRIBUTION variable, which makes it build a bundled
> readline v5.  well, it builds for us too, but later i get a conflict
> situation on our system between mariadb-common and mariadb-client (i
> didn't look deep into it).
> 
> but normally we try to use as much system shared libraries as
> possible, also, what about security fixes + bug fixes in this bundled
> readline v5, etc... i donno how long v5 will be maintained by gnu,
> this is not an ideal situation.
> 
> i've checked and noted that mariadb server is GPLv2only and mariadb
> client has a FLOSS exception... which doesn't mention GPLv3
> 
> so i'm a bit at a loss here, ideally we want to use system shared
> readline v6 on our distribution...
> 
> it's a bit of a PITA for me, tbh, i mean, it's all open source, i
> don't really get why this is all so difficult... :-(
> 
> I guess the easiest way for us is if mariadb was GPLv2+ we could go
> ahead and use readline v6.
> 
> I guess i'm asking for a way to proceed for us.

The problem is - MariaDB is GPLv2, it has to be, because MySQL is GPLv2.
And GPLv2 and GPLv3 are not compatible. That is, if one creates a
derived work from GPLv2 and GPLv3 software (and linking classifies as
creating a "derived work" as far as I understand), the result will be
neither GPLv2 nor GPLv3. And by distributing it one will inevitably
break GPL.

It's exactly the same for MySQL, one cannot legally link MySQL with a
system readline v6. and it's a PITA, I'm totally agree here.

As for the way to proceed...

I think we're not the only GPLv2 project out there. And as unfortunate
as it is, we cannot change it.
Some distributions decided to maintain readline v5 package, in parallel
to the latest readline. This seems to be the most reasonable approach -
mysql and mariadb can use system readline, and even GPLv2 software that
don't bundle readline can be used too.

Another option for you would be to build mariadb with a system libedit,
if you have such a thing.

By the way, the FOSS exception only applies to the client library, not
to the command line client, as far as I know. And readline is only used
by the command line client, not the library.

Regards,
Sergei



Follow ups

References