After having worked with a Microsoft stack - VB.Net, ASP.Net, SQL Server - for the past 10 years, we are now faced with having to develop an application for both Windows and Mac environments.

It has been suggested that MySQL, for the database, is available on both platforms.

I've been under the impression that MySQL is an open source project, but has recently been bought? / taken over? by Oracle.

The MySQL web site seems to indicate that unless it is being used in another open source project, there are licencing fees to be paid, and the fees are in the order of other database costs - eg. SQL Server, Filemaker.

Somebody has suggested that MySQL is free to use in a LAMP environment (but what about for a Windows Server?). Can somebody with deployed MySQL experience confirm or explain this, along with any other gotchas that might be pertinent?

  • 6
    Not your question, but you could also consider PostgreSQL.
    – psr
    Feb 17, 2012 at 0:24
  • Have you considered contacting Oracle and asking your questions directly to them? They would know more about MySQL product licensing than anyone else.
    – S.Lott
    Feb 17, 2012 at 1:06
  • @S.Lott - I doubt they are going to help work out a solution that is best for me, when there are licence fees up for grabs.
    – Bill
    Feb 17, 2012 at 1:16
  • Currently, I'm working with a MySQL-based product. It's certainly viable for business use (and we're not paying any license fees, to Oracle or anyone else), but frankly I'd prefer PostgreSQL.
    – asthasr
    Feb 17, 2012 at 1:37
  • 1
    @Bill: Solution? Your question is entirely about licensing terms and conditions. Oracle can explain the licensing terms and conditions that apply to you.
    – S.Lott
    Feb 17, 2012 at 10:48

5 Answers 5


MySQL is Free Software licensed under the GPL, and it changing owners isn't going to affect that (that's pretty much the entire point of the GPL).

Where you need to pay is if you're distributing MySQL as part of a binary that you expect people to install, but don't want to license the entire binary under the GPL. Because of the way copyleft licenses work, you'd usually be forced to release the complete binary under the same license as the copylefted component you include.

Oracle is willing to sell you a non-GPL license to use MySQL. With that license, you can distribute it as part of a non-GPL application that you're developing (and of course, they're also happy to sell you a support contract besides).

If you don't actually distribute MySQL under a non-GPL license (for instance, if you were to use it on the back end of a web server, or if you ship MySQL server separately from your main application and instruct your clients on where to get their hands on the appropriate source code), you don't actually need to pay anything.

If you're really, really worried about it, look into using Postgres (released under an expat-like license) or SQLite (in the public domain) instead.

  • 1
    Note that the MySQL drivers are GPL also (not LGPL), so if you link those into your app you'll either have to license it under the GPL too or pay for the non-GPL drivers (which are not inexpensive). So simply requiring your customers to install the server separately isn't a panacea.
    – TMN
    Feb 17, 2012 at 19:10

I haven't looked at the mysql licensing recently but if you want a drop-in replacement you could also consider MariaDB, which is a fork by the original MySQL developer based on a (IIRC) pre-Oracle MySQL source tree.


To my belief you can download and use mysql server free of charge - but if you want any type of real time support you need to purchase the server. If you are developing software that deploys the server, you will need to then purchase it as well. I have been using mysql in a small-medium sized retail environment for around for years and have not had any issues with it. Do not cheap out on the server however, many make that mistake and regret it in the long run.


I've recently used MySQL (downloaded from an Oracle website) in a real project, hosted on windows. This is a closed source, proprietary project.

I didn't download it myself or read any legalese. But my impression is the database is free to use even from Oracle. They sell support. Now I'm interested in this as well because we might be unknowingly violating a license.

Regardless we haven't paid any $$$. If it's really a concern you could always download a "non-Oracle" version of MySQL.

  • 1
    IANAL, but based on what you describe, you're ok. The GPL only bites if you try to distribute GPLed code without also providing a "the corresponding source", or directions for how to freely obtain it. Sections 4 and 6 of the license are relevant to you. If by "hosted", you mean "software as a service", you never distribute source code, so you're fine unless you use a component licensed under the AGPL (in which case, you need to post the source for your server for all your users in order to comply).
    – Inaimathi
    Feb 17, 2012 at 1:45
  • Sorry, that should have read "...you never distribute anything...". Also, refer to section 13 of the AGPL for relevant bits there.
    – Inaimathi
    Feb 17, 2012 at 12:35

In 2012, I would probably craft something more along the lines of a web service application backed by whatever data store worked best with thick clients communicating entirely over the services rather than directly to the data storage. That said, any well supported database you can backup is appropriate. MySql is well supported and easy to backup. Need I say more?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.