Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
6  
Not your question, but you could also consider PostgreSQL. –  psr Feb 17 '12 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 '12 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 '12 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. –  syrion Feb 17 '12 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 '12 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.

share|improve this answer
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 '12 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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer
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 '12 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 '12 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?

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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