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