Databases 14 min read

Why Oracle Uses Dual GPLv2/Commercial Licensing for MySQL and How to Respond to Potential License Changes

The article explains why Oracle can release MySQL under a dual GPLv2/commercial licensing model, how the GPL works, the impossibility of changing licenses for existing versions, and proposes creating a domestically controlled GPL‑v2 MySQL fork to avoid future licensing risks.

Aikesheng Open Source Community
Aikesheng Open Source Community
Aikesheng Open Source Community
Why Oracle Uses Dual GPLv2/Commercial Licensing for MySQL and How to Respond to Potential License Changes

1. Why can Oracle use dual licensing (GPLv2 and commercial) for MySQL?

All third‑party source code referenced in MySQL is released under permissive open‑source licenses that are not license‑contagious, or under dual licenses. Oracle chooses GPLv2 for the open‑source edition and a more permissive license for the commercial edition.

For example, when MySQL includes Memcached.pm the following notice appears:

Memcached.pm is licensed under the Perl license. Oracle may use, redistribute and/or modify this code under the terms of either: a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" which comes with the Expect/pr code. Oracle elects to use the GPLv2 for the version of MySQL that is licensed under the GPL. Oracle elects to use the Artistic license for all other (commercial) versions of MySQL. A copy of the GPLv2 and the Artistic License (Perl) 1.0 must be included with any distribution.

Based on the above facts and the requirement that contributors sign Oracle’s Contributor Agreement, Oracle obtains full control and intellectual‑property rights over MySQL source code, allowing it to decide under which license MySQL is distributed. Many wonder why the GPL, which requires code to be released under its terms, can coexist with a private license. The answer is that the GPL terms are set by the copyright holder for everyone else; the copyright holder can freely decide whether to apply those terms to its own distribution.

2. Can Oracle change MySQL’s open‑source license or make it closed‑source?

Yes, but only for future releases; existing versions already released under GPLv2 cannot have their license changed.

3. Why can’t older released versions of MySQL change their license or become closed‑source?

Licenses travel with each copy of the software; once a copy has been distributed with GPLv2, Oracle cannot recall it or alter its license. The GNU FAQ explains that each copy must contain the license itself.

http://www.gnu.org/licenses/gpl-faq.zh-cn.html#WhyMustIInclude Why does the GPL require a copy of the license to be included with every software copy? Including the license with each copy ensures that every recipient knows their rights. Embedding a URL instead of the full license is unreliable because the URL may become invalid over time.

4. How likely is Oracle to change MySQL’s license or close the source?

Although MySQL is open‑source, Oracle controls its development. The existence of community forks (e.g., Percona, MariaDB) makes Oracle cautious, so the probability of a license change or a move to a fully closed source is considered low.

5. If future MySQL versions adopt a less friendly license or become closed‑source, how should we respond?

We can create a fork from the existing GPLv2‑licensed source code, continue development under GPLv2, and release commercial distributions that remain open‑source.

Even if Oracle does not change the license, developing a domestically controlled MySQL fork is necessary for several reasons:

Oracle’s absolute control limits community contributions and resources, potentially affecting feature development and bug‑fix responsiveness.

Geopolitical competition and the need for domestically controlled software make Oracle’s MySQL less suitable for Chinese requirements.

Therefore, building a China‑specific MySQL fork is urgent.

6. Why is MySQL so important in the open‑source ecosystem and can we switch to alternatives?

MySQL holds the largest market share of open‑source databases worldwide, and in China it underpins massive investments in infrastructure, applications, and talent. Replacing this ecosystem would require enormous effort and risk; a coordinated domestic MySQL fork is a safer path.

7. Will developing a domestic MySQL open‑source fork infringe intellectual‑property rights?

No. The GPLv2 guarantees the freedoms to run, copy, distribute, and modify the software, provided that any derivative remains under GPLv2. As long as the fork complies with all GPLv2 conditions, there is no IP infringement.

In summary, developing a domestic MySQL open‑source fork is legally permissible as long as GPLv2 terms are respected.

SQLE Overview

SQLE is a database audit tool for users and administrators, supporting multi‑scenario audits, standardized release processes, native MySQL audit, and extensible database types.

SQLE Resources

Type

Address

Repository

https://github.com/actiontech/sqle

Documentation

https://actiontech.github.io/sqle-docs-cn/

Release Information

https://github.com/actiontech/sqle/releases

Audit Plugin Development Docs

https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_auditplugin/auditplugin_development.html

For more information and discussion, join the official QQ group: 637150065 .

databaseMySQLopen sourcelicensingOracleGPL
Aikesheng Open Source Community
Written by

Aikesheng Open Source Community

The Aikesheng Open Source Community provides stable, enterprise‑grade MySQL open‑source tools and services, releases a premium open‑source component each year (1024), and continuously operates and maintains them.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.