Do You Need to Pay for MySQL On a Closed Source Project?


Improve your writing skills in 5 minutes a day with the Daily Writing Tips email newsletter.

Although MySQL is open source, the software is not actually free. If you visit MySQL’s website you’ll notice they charge for it. But since it’s open source shouldn’t you be able to use it without paying?

I was curious about this topic, and I found an interesting answer on StackOverflow. The original question was:

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.

And the most voted answer:

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.

Nice to know, right?

Leave a Reply

Your email address will not be published. Required fields are marked *