# licensing - mysql for MUD



## Johnny2Bad (Jul 2, 2011)

I want to create a MUD driven by a GUI with MySQL as the backend for location details, user information etc. Eventually with some scripting support so you can design your own "dungeons" and non player characters etc.

If I do proceed with MySQL, I'm just concerned that I might not be able to roll it out as it would be in breech of the MySQL licensing. As far as I can tell (I'm no lawyer), I can use it for free just as long as I license my software under GNU GPL license. Is this correct?

Thanking you in advance,
Jonathan.


----------



## dh (Jul 2, 2011)

Why would you want to distribute MySQL server and/or client with your MUD?
Nobody does that.. just say in (for example) README file of your MUD distribution that your MUD needs MySQL server to run and people will install it using their operating system package managament tools.


----------



## Johnny2Bad (Jul 2, 2011)

I do not want to distribute mysql with the client side of the application. However it will be required for the server side (where you design your own dungeons). The client would be quite simple sending requests to and from the server, nothing SQL related... rather the server would do all of that.

Cheers,
Jonathan.


----------



## dh (Jul 2, 2011)

The server side is what I'm talking about - you don't need to distribute MySQL server with your MUD code.

Think about common web applications - Joomla/wordpress/durpal - all require MySQL server as storage, do they distribute MySQL server with their code? No, they don'tÂ¸ it's installed separately by sysadmin.


----------



## Johnny2Bad (Jul 2, 2011)

I understand what you're saying, but it doesn't address the whole licensing issue. If I build a server installation that drags in the MySQL port, will that be in breach of copyright?


----------



## dh (Jul 2, 2011)

Simple answer to that question is no, it does't breach copyright


----------



## mix_room (Jul 4, 2011)

Also remember that you can use other DBs as well. PostgreSQL is licensed under a BSD license.

http://wiki.postgresql.org/wiki/FAQ#What_is_the_license_of_PostgreSQL.3F


----------



## trasz@ (Jul 6, 2011)

First, the problem with MySQL is that the client library - client part, not the server part - is under GPL.  That means that any binary linked with the MySQL client side library needs to be GPL-ed as well, at least according to FSF's interpretation.

So - yes, if you wanted to distribute your MUD, you would have a licensing problem.  Note that this does not apply if you don't, i.e. if you just want to run your code on your own server, you don't have to obey any licensing restrictions implied by GPL; GPL only applies if you distribute the program in any way.

Bottom line - just forget about MySQL and use PostgreSQL instead.  Really.  There are very few things MySQL does better than Postgres.  ;-)


----------



## Zare (Jul 6, 2011)

That can be easily circumvented, with a performance penalty. Eg. build a simple standalone program, GPL'ed, linked to MySQL client library, that'll act as wrapper between MySQL client API and your main server program / level designer. They can communicate via any form of IPC, for example UNIX domain socket. 

That way your main program can still be licensed as you wish, without direct linking to GPL code.


----------

