Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using MySql From .Net - Licensing Concerns

I am working on a project and trying to determine what platform to use. Right now, my first choice would be to use ASP.Net MVC with a MySql database. My concern with this is that the MySql drivers have a GPL license. I am creating this for a company and therefore it can't be an open-source project. Here are the questions I have:

  1. If I use the MySql drivers which have a GPL license, do I have to make the entire application open-source?
  2. Does anybody know of any other MySql drivers that have a less restrictive license?
  3. PostgreSql has a LGPL license which I believe should be ok but I can't find any hosting sites that have ASP.Net and PostgreSql. Anybody know of any cheap hosting plans ($10-$20/mo preferably) that offer both?
like image 481
Derek White Avatar asked Nov 11 '08 06:11

Derek White


People also ask

Does .NET support MySQL?

Connector/NET includes full support for: Features provided by MySQL Server, up to and including the MySQL 8.0 release series. MySQL as a document store (NoSQL), along with X Protocol connection support to access MySQL data using X Plugin ports.

Is MySQL free for commercial use?

Since the MySQL software is released under the GPL, it may often be used for free, but for certain uses you may want or need to buy commercial licenses from MySQL AB at https://order.mysql.com/.

Does MySQL require license?

MySQL is an open source project. That is, the complete source code of MySQL is freely available. Since June 2000 (that is, since version 3.23. 19) the GNU Public License (GPL) has been valid for MySQL.

Is C# compatible with MySQL?

Connect C# to MySQLAll the communication between a C# application and the MySQL server is routed through a MySqlConnection Object. So, before your application can communicate with the server, it must instantiate, configure, and open a MySqlConnection object.


3 Answers

Using the MySQL libraries will GPL your code base.

If you're writing the code for multiple customers, you will be obligated to release the source code to you system to THOSE customers. You have no obligation under the GPL to open the source code to the public at large, you simply can not prevent someone else from doing so.

Let me repeat that, as people get really unclear about this point. The GPL obligates you as the entity distributing the software to release the source code only to those entities you have actually released a binary of the software to. If you have a relationship with me, and I get a copy of your software (and ideally I have compensated you for it), and then Frank shows up asking for the software, you have NO obligation to give (or sell, or anything) the software to Frank. It's not some "Cat out of the bag" thing.

Frank could come to me, and I can give (sell, trade) it to him, and you can not stop me from doing so, but you have no commitment to distribute the software yourself, nor support Frank. Since I may well be in the Tire business, distributing software really isn't my bag, so it's unlikely that I'll be posting code up on some public archive.

If the project is for a single customer, they may well be entitled to the source code anyway, so the GPL in this case is probably a non-issue.

As long as you have copyright to the code, you can always change the license for a future release. So, if you choose to no longer use MySQL later, you can "un-GPL" the next release and use some other license, however you can not "un-GPL" any released software.

For custom, vertical software, the GPL is really a non-issue as most companies simply are not in the software distribution business, and as a vendor you're not obligated to actually support anyone but your actual customers, rather than anyone they might have given the source code too. The primary concern is over trade secrets etc.

Mass market software is a different issue, of course.

like image 116
Will Hartung Avatar answered Sep 20 '22 08:09

Will Hartung


Are there technical/political reasons you need to use either MySQL or PostgreSQL? The reason I ask is that there are ASP.NET hosts out there in your target price range that provide SQL Server database access. Server Intellect has a $15/mo plan that includes 250MB of SQL database space (note: while I use Server Intellect as a hosting provider, I have no other relationship with them and don't get any benefit out of you choosing to use them).

I read through the GPL (2.0) link on the MySQL .NET Connector page and it's not completely clear to me what impact it would have when using it as-is (unmodified) in a web app. Section 2 seems to only apply if you're modifying the driver... Section 3 seems to say that you can use ("distribute or publish") the binary as-is, provided you also make it (and the source) available.

If you've GOT to go the MySQL route, you'd be wise to consult a GPL expert/attorney.

like image 36
Jeff Donnici Avatar answered Sep 22 '22 08:09

Jeff Donnici


I'm not a lawyer, but MySQL at first is a database engine. So you don't need to release your projet OpenSource because you put data on it.

If you were to update the driver to suite your need, then you would need to put that modification under GPL licence.

like image 29
David Avatar answered Sep 24 '22 08:09

David