When are you required to have a commercial MySQL license?

As you may know, MySQL has a dual-licensing model. You can get the source under the GPL version 2, or you can buy a commercial license.

I’ve recently been hearing a lot of confusion about when you have to buy a commercial license. People I’ve spoken to wrongly believe that they’re required to purchase a license if they’re going to use MySQL in anything but a not-for-profit business, for example. I don’t know how these notions get started, but they do.

So when are you required to buy a commercial license? It’s very simple: when you want to do something with MySQL that the GPL doesn’t permit.

I am not a lawyer, and you should do your own legal research, but misinterpretation of the GPL is rampant and I think I should try to counteract the misinformation about it if I can. Note that in this article I will use the word “Free” very carefully, as used by the Free Software Foundation. If you do not know what Free Software is, you should learn.

Here are some things the GPL allows:

And you don’t have to ask anyone’s permission or pay anyone for the right to do this. Are you shocked? You shouldn’t be.

The above come with some restrictions, but those restrictions are (broadly speaking) only to prevent you from making the software less Free. So, for example, if you sell or redistribute, you have to do it under the GPL too. You cannot strip the GPL or encumber part of the software and then pass on a less-Free version of the software to others.

Here are some things the GPL does not require:

So if you have to buy a commercial license for things the GPL doesn’t permit, what are those? Here are a couple of scenarios I can think of.

Since these things are not permitted under the GPL, you need to buy the right to use the MySQL source code under a non-GPL license. That’s where the dual-licensing comes in.

MySQL is very careful in their marketing materials. So far I cannot recall hearing anyone from MySQL say that you have to have a commercial license for some purpose that doesn’t require it. Sometimes they say things like “MySQL Enterprise is for people who want to make money with MySQL.” This marketing message may be unclear to a person who doesn’t know the freedoms guaranteed by Free Software licenses (i.e. it may leave them with the false impression they have to pay for MySQL if they want to use it to make a profit). But such people can always learn the truth by spending the few minutes necessary to educate themselves about the wonderful freedoms guaranteed by the GPL.

My lists above are just short samples. For examples and demonstrative text that will help clarify the GPL further, you should read the GPL FAQ.