If you are an end-user, you can use a GPL licensed server and will not require a commercial license to use MySQL. This applies even if you are an ISP or if you sell services on your e-commerce web site, since you are not distributing anything. If you are distributing anything, please see under the Developer heading below.
If you want to take advantage of MySQL Network for your servers, you can get a yearly subscription. In case your organization is apprehensive about GPL licensed software, you can then ask for a commercial (non-GPL) license as an optional (but free) extra.
If you later decide that you no longer want to subscribe to MySQL Network, you can continue to use GPL licensed servers.
如果你将来决定不再订阅MySQL Network的服务,则可以继续使用GPL许可下的服务器.
Developers (including ISVs/OEMs)
开发者(包括分公司(ISV)和代工(OEM))
If you build an application, and link it with MySQL code, check out these possibilities:
如果你开发了一个应用软件,并且和MySQL的代码连接,则看看下面的几个可能性:
1. Are you only using your application in-house?
→You are actually an end-user. See above.
1. 你是否只是在内部使用这个软件?
→ 那么你实际上是终端用户,看上面.
2. Are you distributing your application as Open Source under the GPL (free or for money, doesn't matter)?
→You may link with any GPL licensed MySQL code: client library or embedded server. The end-users of your software can, at their option, subscribe to MySQL Network.
3. Are you distributing your application and only linking with the MySQL client libraries, not under GPL but with another Open Source license we allow? (see the FLOSS License Exception)
→Same as the previous point 2.
4. Are you distributing your application but it is not Open Source, and you want to link with the MySQL server?
Contact MySQL AB to discuss an OEM agreement for commercial licenses. Embedding the MySQL server with your application can be an excellent idea, as it makes things very easy and cost-effective for your customers. And of course there are volume discounts.
5. Are you certifying your application, whether it's open source or not, for use with MySQL Network?
You can sign up to be a MySQL Network Certified Partner. This program helps you certify your software as compatible with MySQL Network and is quite effective when you will have your customers buy MySQL Network. There is a cost associated with this program, but the basic level is very affordable and it also gives you MySQL Network for yourself, which includes access to the knowledge base and the advisors.
As partner, you get listed on our partner web site, and your application will have a strategic advantage over competitors as it is certified for MySQL Network. There are some additional rules that govern the partner program.
Your customers may want to subscribe to MySQL Network, for which your software will be tested and certified, but you don't have to worry about individual licensing or anything like that. So this is the really big new thing for developers of closed-source software
who want to support MySQL.
Of course, you can always sign up as a MySQL Network Certified Partner even if your situation is not as described above. You would get the benefits of MySQL Network as well as the partnership extras, for a decent price.
I won't go into the definitions of "linking" or "distribution" here. We follow what the GNU General Public License text and the FSF (Free Software Foundation, the people who wrote the GPL license) say about this (Frequently Asked Questions about the GNU GPL). Lawyers also have (varying!) opinions on this. If you are uncertain but don't want to pay a lawyer, please contact MySQL.
KimSeong Loh wrote:
> The article listed some possibilities for Developers.
>
> Case 4: Does "link with the MySQL server" means using MySQL server in embedded mode only or
> does it include using the client libraries to connect to a MySQL database server through TCP/IP or
> other protocol?
> For example: a java application using Connector/J or an application using ODBC.
It is about linking with MySQL code.
It definitely applies to libmysqld (the embedded server), as the server is GPL.
It also applies to the libmysqlclient (the client library), in case the application is not open source; the client lib is GPL, but
has the licensing exception to allow other open source licensed apps to link with it too.
> Case 5: Certifying the application for use with MySQL Network.
> Does it mean distributing a certified application (non-GPL) do not need a commercial license to use
> the MySQL client library or drivers such as Connector/J or MyODBC?
Certified apps have nothing to do with commercial licenses as such.
It is about certifying that the app works with the certified server. This allows the app vendor to specify a known suitable
environment for the application, and provide support based on that.
> What about cases where the developers create custom applications (non open source) for each
> customers?
> In the case of distributing a php application (non open source) which connects to a MySQL database
> through php mysql api, does this falls under case 3, case 4 or case 5? Definitely not case 1 and 2.
>如果是开发者为不同的客户定制应用软件(非开源),这种情况该怎么办?
>如果把一个通过php mysql api连接到MySQL数据库的php应用软件分发了(非开源),那么是对应哪一种情况呢?第3,第4,还是第5种?显然不会是第1,2种.
Again, it primarily comes down to what requirements an application builder has.
It makes sense to be a MySQL partner for MySQL Network, so you have those resources available, the exposure on the MySQL web site, and providing the known tested environment to users.
We could debate the (sometimes murky) legal bottom line, but that's not it's really about.
MySQL Network for end users, and network/oem partnerships for developers, offers an environment that provides real value for
all those involved. It's also very affordable.
Inside any of these offers, licensing effectively becomes a non-issue. So why waste time on it?
我们来讨论一下合法的底线(有时候是晦涩,不明确的),不过这不是真正相关的问题.
MySQL Network为终端用户,并且网络/OEM合作伙伴为开发者,提供了一个包括真正价值的环境.
基于以上各种因素,许可证的有效性已经不是问题了,为什么还要浪费时间呢?