MySQL 4

Chris Adams cmadams at hiwaay.net
Thu Oct 7 17:56:59 UTC 2004


Once upon a time, Ken Snider <ksnider at flarn.com> said:
> Just one small clarification.
> 
> You can still connect to MySQL via a Unix Socket or TCP without worrying 
> about the GPL-ness of the libraries - this only affects *compiled* code 
> that links against libmysql.

But _something_ has to talk the MySQL protocol over that socket.  Right
now, the only implementations commonly available are licensed under the
GPL (and AFAIK the protocol is not documented except in the source, and
they do change it with new versions).  If I have a perl program that
uses the DBI module, it would use DBD::mysql, which in turn is linked
against libmysqlclient; my code is then linked to libmysqlclient and
falls under the GPL.

Most code I write I put under the GPL, but that's me.  We have customers
that write their own code (or pay someone to write code for them) that
may not want to do that.

> This is one of the reasons a separate package with the 3.x mysql libs might 
> make sense from a linking standpoint, but I'd bet there'd be an issue with 
> using them against a 4.x MySQL.

The MySQL documentation recommends you always upgrade the client library
at the same time as the server.

If someone really cared and had the time and manpower, they could (a)
have someone document the protocol differences between 3.23 and newer
versions of MySQL by reading the source code and then (b) have someone
else modify the libmysqlclient from 3.23 to handle such changes.  Then
you'd have an LGPLed client library (as well as a documented protocol
specification).

Don't get me wrong: it is MySQL AB's code and they are free to put it
under whatever license they want.  However, I'm free to choose another
database server when I have a chance.

-- 
Chris Adams <cmadams at hiwaay.net>
Systems and Network Administrator - HiWAAY Internet Services
I don't speak for anybody but myself - that's enough trouble.




More information about the fedora-test-list mailing list