Licensing Gotchas with Developer Databases: mySQL
Do you know that you must pay mySQL for any commercial or non-open source use of mySQL drivers or mySQL Server?
When it comes to licensing, Valentina gets compared with both non-network (local runtime only) and network (includes a server component) databases. This is fair and reasonable since Valentina database runtimes come in two varieties: Application Developer Kits (local runtime only, but includes a client) and Embedded Server, a part of Valentina Developer Network. There are some serious gotchas with mySQL commercial licensing in particular - gotchas we resolved in licensing Valentina.
It should be clear enough what royalty free means. That is, a version where you may or may not pay once and are able to ship as many units as you like. Valentina Application Developer Kits and the default version of Embedded Server both include royalty free distribution rights.
Now to the shifting sands of commercial mySQL licensing. mySQL greatly benefited from the LAMP paradigm (Linux Apache mySQL and P for several P languages, such as Python, Perl, PHP, etc), but the actual lack of uniformity of the licenses in LAMP creates some challenges for commercial developers.
Lets clear away the obvious that any commercial developer shouldn’t be surprised about.
- Including mySQL as a component of a software commercial application, ie bundling
- Including mySQL with some hardware which is sold to a customer
Right. Okay, those are obvious. The next one is a bit tricky -
- Selling software (open source or not open source) that requires a customer to download and install mySQL
So what does this mean? Actually, mySQL AB does a really good job of explaining how a commercial license applies to this, but there is that LAMP notion that somehow using mySQL is free. It’s free in the way the GPL defines free, but not in the same way as public domain free.
If your commercial product is not a GPL or GPL compatible license, then you have to pay up for mySQL Server. This actually fits well with a later statement in the mySQL license that there is no direct legal relationship between a GPL user and mySQL AB as a company. This assumes the use falls under the indemnification portions of the GPL - use at your own risk - its your fault if something breaks. That makes sense. Under the GPL, you can fix it yourself, right?
- If your product requires that your customer downloads a copy of mySQL server to use it, then someone must pay for that copy of mySQL server.
mySQL AB says that you are responsible, but maybe your customer is. But somebody is clearly responsible. If mySQL AB wanted to pursue this, who would they sue?
What if you create a commercial application (lets say a GUI tool for building AJAX interfaced database solutions) that requires mySQL to be installed by your customer?
Did you expressly inform your customer that they have to pay to download and use mySQL? Lets say you sell your AJAX builder for $50, but in order to achieve the results you claim your product does, it requires mySQL Server - which begins at $595 per server - the solution cost to your customer is now $645.
Lets break this one down -
If you didnt expressly tell your customer they have to pay for that $595 server, they may have recourse against you. After all, you knew about the terms of the commercial license but neglected to inform them of their obligations. Just saying that mySQL 5 or higher is a requirement may not be sufficient protection if your customer is confronted by mySQL AB.
From a commercial standpoint, your customer may no longer be your customer - they are now mySQL AB’s customer. Are you a mySQL reseller? Even so, the license for the mySQL portion of the total solution is between the customer and mySQL AB. It is easy enough for the customer to see what mySQL AB charges, or shop around to other solution providers.
This is how Paradigma tackles this problem. Paradigma VDN Embedded Server licenses are only available to VDN members - your customer can’t come directly to us and buy. Copyright requirements for your solutions using Embedded Server are minimal and you can minimize it either further with the ability to change the creator type or extension of Valentina database files. You also have the option to sell non-unlimited versions of Embedded Server (Valentina Embedded Server Infinite is competitively priced at $400 per installation), including the default, royalty free five connection Embedded Server. If you use mySQL, your customer is paying $595 +, just for that server - even if they do not need an unlimited number of connections.
- If you incorporate one or more of the mySQL drivers so that your non-GPL application can connect to mySQL, then you need to license the drivers from mySQL AB under a commercial license.
You remembered that you can’t arbitrarily help yourself to any GPL code and put it into your non GPL product, right? So either you have to bite your lip and pay mySQL for these rights, license drivers from someone else, or create your own drivers.
The Valentina response to this is a bit easier. You see, every Application Developer Kit includes two parts: a database runtime and a Valentina Client. An ADK licensee can distribute the ADK components royalty free. Lets say you have VDN for Adobe Director. You can build powerful server applications that incorporate Embedded Server and you can build desktop applications that let you
- store data locally, and
- connect to your Embedded Server or
- connect to any copy of Valentina Office Server
You might be thinking that as a non-profit or academic institution that you can use mySQL royalty free. While non-profits may be able to plead their case to mySQL AB, non-profits and academic institutions are generally required to use the GPL versions of mySQL. There isn’t any special dispensation for being one of these institutions.
A bone mySQL AB tosses to individuals is the right to download and use mySQL personally, without having to pay. The gotcha - with individual licensing, if you want to distribute any form of your mySQL based solution, you are required to select either the GPL license version OR acquire commercial licenses. You may not even deploy your solution in demo mode without making this critical choice.
The Valentina answer is the royalty free license. In either case - single connection Application Developer Kits or Embedded Server, you have paid to be able to deploy at least one configuration royalty free. For example, you could deploy a server application in demo mode so that your users can activate the default five connections at any time.