Legal Issue: Commercial App+Zeos+libmysql

Discusions not-related to our Components

Moderators: gto, cipto_kh, EgonHugeist

Post Reply
coolkid
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: 22.09.2008, 11:35

Legal Issue: Commercial App+Zeos+libmysql

Post by coolkid »

It seems this question has not been asked before.

One thing that keeps bugging me when I develop a DB app is the legal issue of libmysql.dll. AFAIK, the license of libmysql.dll forced the developer to buy it if he/she wants to use libmysql in commercial app. That's why I always stick around with MyODBC or DBExpress (I code with Delphi), since using DBExpress, for example, means that my app LINKS to DBExpress Driver which is LGPL (and it's legal for commercial app to connect to LPGL libs), and then its DBExpress driver's job to connect to GPL version of libmysql (and it's legal too since LGPL is compatible with GPL).

I know that Zeos is released under LGPL and that makes me able to use it in commercial app, but the feat is, since Zeos is compiled natively into my commercial app, it automagically voids my right to connect it to GPL version of libmysql, since politically it is my app connects to libmysql, not Zeos because its already compiled into my app, even though deep inside it Zeos who did it.

I don't know if someone has different opinion regarding Commercial App+Zeos+libmysql, but if there are, then be my guest since I love how Zeos can be very "native" and I reeeeeeeeeeeaaaaaaalllyyyy want to use it in any DB apps of mine, but in the other hand, the license of libmysql.dll prevents me to use it in commercial app if I use Zeos.
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Strictly : it's not your application's issue provided YOU don't provide the dll yourself. As zeoslib isn't linking in any mysql code you should be safe.

You need to teach your users how to install mysql, however. Nobody forces your user to pay for a mysql license as far as I know. So they can install mysql on a server and prepare their client machines to make the libmysql dll available to all applications that want to use it. You could even provide a link to the download location of the server/client version your application prefers.
(When you're really afraid about license issues when using the word mysql, you can open-source these installation advises as a separate product next to you application :P )

You could even argue you don't force the user to use mysql. If they want to use your app with firebird, this might be possible by just editing a config file and providing the right dll's. (I know this only works when no mysql specific syntax/features are used, but in theory...)

Mark
Image
Michael
ZeosLib's Handyman :o)
ZeosLib's Handyman :o)
Posts: 189
Joined: 15.08.2005, 16:08
Location: Wehrheim
Contact:

Post by Michael »

Hi coolkid,

it's just like Mark wrote: regarding your commercial application that uses ZeosLib for database connection and stuff, everything is fine. The point regarding mySQL is: You either have to sell a license to your customer bundled with your software or: Your customer already has a legal license running and you just use this server by installing the software's database on it ;-) ... This is how it was done in my former company. They already ran a legal mySQL server that came with a certain software. And an other software company also used this database server to implement their database on it to run their software (btw: It also used ZeosLib for connection).

I hope I also could help you.

Best Regards.
:prog2: Use the source, dude!

[align=right]..::.. ZeosLib on SourceForge ..::..[/align]
coolkid
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: 22.09.2008, 11:35

Post by coolkid »

@mdaems:
Summarizing what I understand from your post, is that I can avoid violating libmysql.dll license if I:
1. Do not include the libmysql.dll in my app installation; instead..
2. Make a "libmysql.dll installer" or something which is GPLed so other apps in the user's machine can use the libmysql.dll too
3. Tell my user to use those installer so that my app can connect to MySQL server;
4. But I must also make a method in my app, in order for it to be able to connect to other type of SQL server, thus I can argue that I don't force them to use MySQL

or:

1. I can keep including the libmysql.dll with my apps distribution; but...
2. My app must have a method which user can use if they want to use other SQL server instead of MySQL

or:
Both of them are plausible? :wink:
Last edited by coolkid on 22.09.2008, 14:16, edited 1 time in total.
coolkid
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: 22.09.2008, 11:35

Post by coolkid »

Michael wrote:Hi coolkid,

it's just like Mark wrote: regarding your commercial application that uses ZeosLib for database connection and stuff, everything is fine. The point regarding mySQL is: You either have to sell a license to your customer bundled with your software or: Your customer already has a legal license running and you just use this server by installing the software's database on it ;-) ... This is how it was done in my former company. They already ran a legal mySQL server that came with a certain software. And an other software company also used this database server to implement their database on it to run their software (btw: It also used ZeosLib for connection).

I hope I also could help you.

Best Regards.
So there are no problems actually from MY SIDE if I use my app+zeos+libmysql and distribute libmysql along with my app, because the major deal is the MySQL server?

It's kinda relaxing to hear your opinion, but still, that fact that libmysql.dll is GPL and my app is NOT GPL-compatible, even though I used codes which is GPL-compatible (i.e: Zeoslib) still wrinkles me :?
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Hey... We didn't tell you to distribute the libmysql along with it!!! Certainly don't do that under a NOT GPL-compatible license.

Also : the server isn't a big deal. It's just the distribution of it. When a firm (or a consultant asked to work for that firm) just installs the freely downloadable from mysql or just builds an executable server himself from source or uses somebody else's GPL-compatible build or ... there's no problem with mysql licenses.

Conclusion : teach you client how to install a mysql client dll or build a GPL-compliant installer. I don't think there's any issue when adding the dll into the installer as it can be used independent from your app.

Mark

BTW, to solve the wrinkles : think about the dll as a service that can be used by everybody. It really is independent from your program.
Image
coolkid
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: 22.09.2008, 11:35

Post by coolkid »

I see the bright light now, thx a lot all of you :)
Post Reply