Sign in to follow this  
Zelek

MySQL Licensing/Distribution and Open Source (GPL)

Recommended Posts

Zelek    199
I have an application written in C that makes use of a DLL to connect to a MySQL database and execute queries. If I were to distribute my application, I would have to distribute libmysql.dll as well, which requires that I either: a) Make my application Open Source using the GPL b) Pay a very large licensing fee (most likely between $800 and $3000) My main question has to do with the GPL and MySQL's FOSS exception (http://www.mysql.com/about/legal/licensing/foss-exception/) The DLL I am using was written by another developer and I am simply making use of it. If he were to make the DLL Open Source, it seems he would have the ability to distribute libmysql.dll free of charge. Would I then be able to keep my application non-Open and direct my users to download his plugin and include it in my install directory? I am in frequent contact with the developer and am fairly certain he would agree to this. It seems this would be allowed by the GPL in light of the following: (http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem) "However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program." I understand that these are complicated questions best resolved by a lawyer, but I'm just a poor grad student doing what I can on the cheap. I'll certainly take any advice with a grain of salt, but I'd be interested if anyone out there has some insight on MySQL licensing or the way in which the GPL applies in this case.

Share this post


Link to post
Share on other sites
Obscure    175
Regardless of what people here say you could still be sued/served with an cease and desist letter if the licensor thinks that what you are doing is a breach of the license. The best way to avoid this and to know for sure would be to ask the licensors (Sun Microsystems).

Share this post


Link to post
Share on other sites
Sun's license pages very clearly state that if you use their stuff, you are expected to pay them. Except, if your software is FOSS. Fullstop.
They don't care if you use a wrapper library, and why would they want to care? Their rights are not transferred to whoever wrote a wrapper library only because he did, they still apply (and luckily they do -- the entire industry would be bankrupt, if you could circumvent copyrights that easily).

If you distribute a non-GPL program based on a GPL library based on a proprietary library with a GPL exception, you are not making your situation any better, in fact you make it worse. You now break two licenses instead of one.

Share this post


Link to post
Share on other sites
Alastair Gould    100
Connecting to a mysql database with a non gpl connection libary would be ok. If not we'd all be sued since we connect to linux servers everyday with a webbrowser.

I think the lisence his talking about is to do with the .dll. Nothing to do with sun if its made by seprate dev as he says. I think if your App gets linked(.dll) to GPL code its illegal, even if the user does it.


But if you get a bsd connection libary, and connect to mysql via sockets/networking. That would be ok.

But i'm not sure.

Share this post


Link to post
Share on other sites
DrHalan    122
I think PostgreSQL has a nicer license, namely BSD. You should consider using that instead of MySQL if you don't wan't to pay the fee.

namaste

Share this post


Link to post
Share on other sites
Zelek    199
Thanks all for the comments. I will probably get in touch with a Sun rep before all is said and done, since I've already spoken to several over phone/email about licensing costs. I just want to be as informed as possible ahead of time.

Quote:
Original post by samoth
Sun's license pages very clearly state that if you use their stuff, you are expected to pay them. Except, if your software is FOSS. Fullstop.


I don't think it's quite that straightforward. The developer who wrote the plugin is allowed to distribute libmysql.dll since his application is open source. Fullstop.

The question is then what applications are able to use his plugin - only other open source applications? I don't know if you can infer that from the license pages.

Quote:
If you distribute a non-GPL program based on a GPL library based on a proprietary library with a GPL exception, you are not making your situation any better, in fact you make it worse. You now break two licenses instead of one.


I'm not sure what you mean by "based on a GPL library". I'd be using an open source DLL/plugin which appears to be supported by the GPL because of the section of the FAQ I linked above. Simply because my application is proprietary doesn't prohibit me from distributing GPL applications alongside it. If you could quote the portion of the GPL that you believe I'd be in violation of, I'd like to check it out.

Share this post


Link to post
Share on other sites
DvDmanDT    1941
Is it really GPL? Isn't it LGPL (the client library that is)?


[edit]
I just read the page, it's GPL. Seems weird, but whatever. Anyway, I seem to recall reading something like "If your app links to a GPL program/lib, you must also release your app under GPL. However, if you can dynamicly load it (LoadLibrary()) instead, you can use any license you want." I haven't confirmed this though.

Share this post


Link to post
Share on other sites
Obscure    175
Quote:
Original post by Zelek
I don't think it's quite that straightforward. The developer who wrote the plugin is allowed to distribute libmysql.dll since his application is open source. Fullstop.

The question is then what applications are able to use his plugin - only other open source applications? I don't know if you can infer that from the license pages.

Sorry but licensing doesn't work that way. The author of the plugin is making use of the dll under the terms of the license agreement. He almost certainly has no rights to grant you a license for your commercial app to make use of this dll as his license with Sun will state that any of their open source code used in his plugin can be freely used but only on the same terms as his license.

Share this post


Link to post
Share on other sites
Quote:
Original post by Zelek
I don't think it's quite that straightforward. The developer who wrote the plugin is allowed to distribute libmysql.dll since his application is open source. Fullstop.
Yes, quite so, but that does not mean that you have any rights. This is entirely irrelevant for your person.
The legalese talk that's important is "nonexclusive and nontransferable license", which is more or less the wording of pretty much every license, including the ones by Sun.
It means they give the right to use their stuff to whoever else they want, whenever they want, and whoever was granted a right can't do anything about it, nor give any rights to someone else.

If your program links against a library (GPL or not) that links against the MySQL client library, then your program effectively links against the MySQL client library. Thus you fall under "OEMs, ISVs, VARs and other distributors that combine and distribute commercially licensed software with MySQL software and do not wish to distribute the source code...".

If that library you use was written from scratch and only reimplemented the MySQL client protocol, then of course things would look different.

Share this post


Link to post
Share on other sites
swiftcoder    18439
If the particular MySQL connection library you are looking at using has an incompatible license, why not switch to another? There are many MySQL connection libraries out there, and at least a few are licensed under the less restrictive BSD or LGPL licenses (for example, mysql++).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this