views:

135

answers:

4

Hey all,

We're considering using MySQL in a .NET project. We're aware that there's a connector available on mysql.com that's dedicated to .NET, and that it's under a GPL license.

We're having trouble interpreting the GPL license so we've thought we'd ask around : If we were to use that connector, are we obliged to make the project's sources public ?

Cheers

+2  A: 

It's probably best to ask a lawyer this question.

Jon Bringhurst
no kidding, lol
Maciek
+1  A: 

If you use any library that is under the GNU GPL, you are obligated to make the sources of your own program available to whomever you give the program to, and the recipient also gets the same rights and obligations.

There are a couple of ways around the GPL. One is to isolate it into its own program and call it with a command line (the wrapper program is still under the GPL, of course); another is not to distribute your program at all and only use it internally (it can be exposed to the public via a web interface).

The GPL is sometimes used to encourage closed-source developers to buy a non-GPL licence. Maybe this "connector" thing offers an alternate license?

Qwertie
what about dynamic linking of the GPL component?
Maciek
+8  A: 

This is a slightly complex question, and you will find that the advice from mysql will firmly state that you can't use the mysql connector in a closed source project without paying for a commercial license.

The first thing to say is that, if you don't plan to distribute your product (eg. you will host it on a server, and never give the binaries to a customer to deploy/install/run themselves) then the GPL isn't relevant as it only applies to distribution, and you are free to use the GPL connector.

If you do plan to distribute your application, you could "use" the GPL connector so long as you don't rely on it.

eg. develop your application, testing against both mysql and any other database - ms sql server, or anything. Just try to avoid putting in anything specific to mysql.

Then, you can distribute your product just fine - but distribute it without the mysql connector. You can tell your customers to use mysql or ms sql as they see fit. You're then not distributing the GPL component (and nor is your software dependent on the GPL connector to work), so you are not violating any license.

As others have said, to be sure you should take legal advice, from someone familiar with software licensing law in your jurisdiction.

JosephH
This is probably the best answer yet. Thanks Joseph
Maciek
Oh, and as in the comment above, what about dynamic linking of the GPL component?
Maciek
In the situation I've described, you're using dynamic linking (or at least something similar). If you were distributing a product that was reliant on dynamic linking to a GPL component, you could not distribute it. If however you develop a product that will work with any database connector, and your customer chooses to use a GPL connector, then that is not a violation of the GPL. (So long as your customer doesn't then distribute a combined product to someone else, but that would be your customers problem.) If that doesn't answer your question, please try asking it again in a different way :-)
JosephH