Understanding MySQL licensing - mysql

I'm trying to figure out if I require a MySQL commercial license. After reading from their site, it was still confusing to me. I have a phone call set up with them tomorrow, but I want the community's knowledge as well.
I'm creating an ERP desktop application for my company. We will probably end up using the .NET framework to produce it since we are all using Windows machines. This software will be used internally with up to 50 users (13 right now).
If I were to open source the project (put it on GitHub), can I use the free version of MySQL?
If not, we probably would just stick to our original plan and purchase SQL Server (US$8,000, ouch) since it appears the commercial license for MySQL is US$5,000.
I don't have any experience with PostgreSQL. Would you recommend that or another database that are completely free to use, and able to work in a production environment?

Here's what I understand:
If you distribute MySQL with a non-open-source project, you would
need to pay for the commercial license.
If you want Oracle support for MySQL, you would need to pay for the
commercial license.
If you want to use some MySQL tools that are licensed only to Oracle
support customers, such as the MySQL Enterprise Monitor, Enterprise
backup, various plugins, etc. then you would need to get an Oracle
support contract, and that requires you to pay for commercial
licenses.
If you want to modify MySQL source code and distribute your
modifications as a non-open-source offering, you would need to pay
for the commercial license.
Note that you can still charge money for open-source modifications. This has nothing to do with being gratis. It has to do with whether you offer your modifications under a GPL-compatible license, which would allow your customers to further modify and redistribute.
In most other cases, you can use the Community Edition. For example:
You can install MySQL Community Edition at your site and use it, or even modify it, whether your product is open-source or not. Also whether you charge for your product or not.
You can make and distribute a non-open-source product that uses MySQL, as long as you don't distribute MySQL Community Edition with it. You would require your customers install MySQL themselves. They could then use your product to connect to the instance of MySQL Community Edition that they installed.
You can distribute your product and include MySQL Community Edition with it, if you offer your product under a GPL-compatible license.
I do know at least one business that switched from MySQL to PostgreSQL specifically because they wanted to distribute the RDBMS software with their non-open-source product. PostgreSQL uses a non-viral open-source license similar to BSD or MIT licenses.
The usual disclaimers apply: I'm not a lawyer and this is not legal advice; I do not claim that the above is accurate; don't make any business decisions based on stuff you read from strangers on the internet, including me.
See also:
When Are You Required to Have a Commercial MySQL License? (2009)
Frequently Asked Questions about the GNU Licenses

Related

Oracle Developer 10g works on Oracle Dtabase 21c XE?

I want to connect my oracle database 21c xe with Oracle Developer 10g (forms/reports)?
I can't find any reference on the Internet (My Oracle Support included). The closest information I managed to find is about Forms 10g on database 19c.
Michael Ferrante (from Oracle) said:
Forms 10.1.2 has been out of support for over 10 years, long before Database 19 was even a "thing". This is not a supported configuration that I would consider for any production environment. That said, some people have claimed to get things working. So, it may be technically possible, although I personally would not do it nor would I recommend it.
If you choose to ignore my warning and recommendation, I will say that if you plan to do it ensure that you are at least running the latest patched version of Forms 10.1 (10.1.2.3 - patch ID 5983622) and have installed the latest/last DB 10.1.0.5 client patch (4505133) into this home. As always, create a backup of the home before attempting to apply any patches.
Following this guidance should help to reduce the risk of having problems.
Therefore, as 21c (XE) is even newer than 19c, you might - or might not - make it work. There's no guarantee that it will.

Devart MySQL 6.10.96 or MySQL Connector 6.3.6?

Just wondering whether anyone has any views on whether DevArt MySQL is > MySQL Connector ? In the past, when I have used MySQL - the MySQL Connector really sucked for C# ASP.NET development work.
Can anyone please provide an opinion on whether its better to use DevArt or ?
I've just started using the DevArt MySQL connector and it seem to be good so far. One issue that I've discovered, though, is that it doesn't seem to offer the equivalent of a MySqlDateTime type. This means timestamps must map to the DateTime .NET type and the consequence is that a 'zero' timestamp cannot be represented as such and is converted to 01-01-0001 on the .NET side.
Something else you should be aware of is that the (non-DevArt) MySQL connector is GPL and so if you want to use it from a non-open-source application, you must apply for special permission. This was doable when Sun owned MySQL, but the process appears to be more complicated now that it's owned by Oracle. You must first sign up as an Oracle partner and their web site suggests a 'Gold' membership for driver integration which costs $2500 per year. It's not clear whether this is mandatory and whether your application will be considered with a free membership. I've also been unable to use their partner sign-up web page - it appears to be broken and they haven't responded to a query that I sent them on this. In short, $100 or so is looking very cheap for DevArt's connector.
6-month update: DevArt's connector has been working well and I continue to recommend it. And Oracle have confirmed to me that they require $2500 per year to permit use of their MySQL driver with non-open-source software.

Why doesn't MySQL include a decent migration tool anymore?

MySQL used to have a Migration Toolkit, to make it easier to import from SQL Server and get started with MySQL as a production platform. That has been discontinued as a product. We were promised that an equivalent product would be added to the newer MySQL Workbench, but that has not happened.
It strikes me as a bizarre business decision, by the MySQL team, to put an extra barrier in the way of people who are considering moving from an MS-stack to a LAMP-stack.
Yes, migration toolkit was awesome.
But still they support the import/export in mysql workbench.
Checkout here:
http://dev.mysql.com/doc/workbench/en/wb-server-administration-manage-data-import-export.html
That seems like a strange move indeed...
You will find several tools suggested under "Migration Tools" here: dev.mysql.com/tech-resources/articles/migrating-from-microsoft.html.
You can migrate Data from MSSQL using PHPMyAdmin Web Interface!
Check here!
To install it on your LAMP-Stack (if you don't have it already), type this on server:
sudo apt-get install phpmyadmin
and Voilá!
:)
Latest MySQL moves look like the typical management decisions based upon marketing rather than actual software capabilities. The company has been through several owners in a few years and the last one, Oracle, has a strong will to make money out of it. (They are even making money out of Sun Microsystems!) MySQL used to have a bunch of poorly maintained GUI tools with a widely variable quality level. That's okay for most users but it scares away companies, which are the type of users that are willing to pay. Creating a single suite out of it looks like an intelligent move in the long term but they probably lack resources to speed up things and they want results now.
Right now, you can still find the old tools if you dig into the archives section from the download page. You'd better grab your copy before they change their mind. ;-)

Micro-ISV License Costs - .NET Or Open-Source?

I've started developing a website in ASP.NET MVC and have taken part in the BizSpark program. The only part that concerns me is the licensing cost of SQL Server Enterprise after the three year period is up.
Given this cost, and the potential outcome that this product may not 'take off'; should I rewrite the application in a 'free' platform such as Ruby on Rails or Java?
You can use SQL Server Express even in production IIRC. Alternatively, use ASP.NET MVC but with a free database such as Postgres or Mysql.
You're not forced to choose between "everything Microsoft" and "nothing Microsoft".
Why rewriting the app if the problem is SQL server?
You can connect to MySQL from .NET.
Check out this question as well: Why is microsoft stack said to be costly?
Aside from the cost of the Windows Server (which would include IIS) to host, and the cost of SQL Server for the database, .NET itself is essentially free.
The .NET Framework can be downloaded for free, and you can get the Visual Web Developer Express version of the VS development tools also for free.
Also, there's no reason why you have to use SQL Server as the back-end database. MySQL will happily run on top of Windows, and there's ADO.NET providers for it also.
If your database needs aren't huge (ie. you can happily live with a 4GB database size limit), you can even use SQL Server Express freely.
If you're a start-up that meets several conditions (most notably, less than $1 million in revenue) then you probably qualify for the BizSpark program, which basically eliminates the .Net licensing costs.
Any alleged pros and cons of .Net vs Ruby in a general sense are highly subjective. You might find one more suitable to a particular task than another but there is no general "better" or "best".
And obviously startups can (and do) use .Net. Case in point: Stackoverflow.
Microsoft licensing is expensive. And most of the time, I can't even find which license I actually need on the massive, confusing labyrinth that is the Microsoft web site.
Having said that, In my opinion the .NET Framework is a great platform (robust, easy to learn, good dev tools), and I've found the .NET developer community is very supportive.
As some others here have already suggested, you can run Windows Server/IIS and MySQL in conjunction, to get the best of both worlds.
If you are ok with using mysql as a database there is really no need for SQL server...
And if you want to eliminate licensing costs for Windows Server 2008 as well, it should be possible to run asp.net on apache (google it for more info)....

Can I use MySql for free on my machine for developing my application? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I have one query related to mysql licensing. I am developing a desktop application for commercial purpose and using mysql community server (5.0) as backend database server.
We dont install mysql server and driver from our application installer. If user wants to install our application on his machine then he first needs to install MySql server and driver by themselve and then he can install our application. This is because of GPL license terms.
Now my question is can I use MySql for free on my machine for developing my application or do I need any commercial license for application development?
As MySql is a freeware, I am using it on my machine for development of my application. Am I doing something wrong?
I am confuse about how this GPL license works? I am not able to understand its terms and conditions. I know only one thing is that I cannt ship mysql installer with our product, but about development purpose I have no idea how license works.
The usage of MySQL for development is free. As you are not giving away that product (MySQL), no GPL restrictions apply.
If you want to distribute MySQL in some form, the licenses apply. See: MySQL commercial license
OEMs (Original Equipment Manufacturers), ISVs (Independent Software Vendors), VARs (Value Added Resellers) and other distributors that combine and distribute commercially licensed software with MySQL software and do not wish to distribute the source code for the commercially licensed software under version 2 of the GNU General Public License (the "GPL") must enter into a commercial license agreement with Oracle.
Simple explanation of MySQL License (without driver hassle/crude explanation):
Case 1:
If you are an individual trying to solve your problems then no need to pay license fee.
Case 2:
If you are an individual trying to market your application that requires MySQL then
a) If you plan to release your application free - No license Fee
b) If you plant not to release your app free - License need to be bought at less price
Case 3:
If you are a company that uses MySQL
a) internal apps with lot of users using MYSQL server - License required
(because this is believed to make money in terms of savings)
b) external apps - License required
Cheers,
SpiderMan
I believe it's always been available under the GPL so you can use it for free anywhere. You can pay for support and you can also pay for the other non-community editions. It does look like the Cluster version is also free. As far as reselling it I'm not sure. You probably have to get the user to download it to their machine when they install it, but I'm not sure. You may be able to distribute it along with your application.
Using a GPL server doesn't mean you have to put your own application under GPL (any more than every app developed on Linux must be GPLed).
Also, you would certainly be able to distribute mysql along with your application - at minimum, as a separate installer on the CD, or download web page. You just have to make the source (of mysql) available also.
But I suspect there is probably no issue putting it in your own installer too, one to check with a lawyer though.
This is perhaps off-topic but you might want to consider SQLite for the backend database if it's a single-user desktop application. It doesn't involve running a service and it's free for both development and run-time. Plus you can distribute it with your application.
MySQL Is free to download and use. They also have an enterprise version available for subscription purchase and provides you with the database server as well as very nice premium support package and very robust utilities and tools such as Query Analyzer. As well as using it locally on any computer you want to install it on you can also sign up for free shared database servers. I would recommend signing up at:
http://www.mysqlforfree.com/
They are a new website I found and are taking off, so far I've seen more features with them than any of the other free mysql websites.
As far as I'm aware, it's fine to use it as a development tool because you are not then reselling it or making money from it.
Where I used to work all our internal and external web sites were using MySql without the need for a licence.
One thing I like about Postgresql over MySQL is that it has a slightly more open licensing policy:
http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL#Licensing