views:

2118

answers:

5

Is it necessary to have a commercial license for MySQL in order to use it legally in a project which is not open source? Does it matter if the application is hosted and the binaries are never distributed? The more I learn about open source licenses the more confused I become.

A: 

Not a lawyer, but I say no you don't need a commercial license. As far as I know MySQL is still open source which means you can do anything you want, I believe the commercial license just gives you tech support.

Someone correct me if I'm wrong.

Nick
Open source does not mean you can do anything you want. Please see the Jacobsen vs Katzer decision from the federal circuit. (http://www.cafc.uscourts.gov/opinions/08-1001.pdf)
David Locke
"Open source" is an overloaded term that applies to many different licenses. Some of them essentially mean "do anything," but most have some restrictions.
Sherm Pendley
If you use "open source" to mean licensed by an OSI-approved license, there's a list (the OSI criteria) that shows things you certainly can do. You can change and redistribute open source freely, but not necessarily under any license you choose.
David Thornley
+1  A: 

Unless you are using MySql Code (As in the database code )in your code base then I doubt the licence affects you much...

You are free to connect to a MySql database from any codebase, because you are not changing thier code.

As far as the commercial licence, essentially as somone else has pointed out you get tech support and should you find a bug that effects you, then it'll probably get a higher priority...

Omar Kooheji
+1  A: 

Nope you don't need a commercial license for MySQL Community Server. You need a license for the Enterprise Server.

Also in general if you're just hosting an application and not distributing it there is no requirement for your project to be open source even if you're using other open source libraries or applications as part of it.

Gerald
+17  A: 

No, you are not required to pay for a license to use GPL-licensed software such as MySQL in your closed-source project.

Yes, it does matter if you distribute MySQL with your project. MySQL uses the GPL License. This means that if you distribute GPL-licencsed technology (code or binary) then any of your code you distribute with it must also be licensed with the GPL. So your code becomes open-source too and you're obliged to make your source code available.

If you don't distribute your application, even if you make it publicly usable via your website, you don't have to make your project open-source. This is known as the "application service provider loophole" and it's a legitimate use of the free MySQL product (another flavor of the GPL exists, that is intended to plug this loophole, but MySQL uses the plain GPL).

If you distribute MySQL with your product, but you want to avoid the open-source requirement, you must pay for MySQL licenses. MySQL (now Sun Microsystems) owns the code, so they get to choose the terms of the license for any given user. If you pay them, they allow you to use the product under their non-GPL license.

That's my layman's explanation. I am not a lawyer, so I encourage you to confirm anything you read on the internet with a qualified legal professional. But for what it's worth, I've worked as a Release Engineer at a couple of software companies. I was responsible for our compliance with software licenses of the various open-source packages we included with our product.

Bill Karwin
Thanks Bill. Excellent answer.
Ed.T
+2  A: 

Your code would only need to be GPLd if your code links to GPLed code. Just aggregating a MySQL server install with your application isn't enough. You could have fancy installation wrappers, shared configuration tools, etc. All fine.

The question becomes less clear when you are talking about the client libraries which you would likely distribute. The law seems to be somewhat unclear; C and Java "link" things very differently, so if your app is a "derivative work" of the client lib is somewhat determined by which language is used!

Pragmatically speaking, I don't think that MySQL has ever gone after a commercial vendor shipping their libraries.

If you aren't distributing the software, if it is all used in house (or only providing a service), then you can do WTF you want with the code, for free.

Jeff Warnica