Multi-licensing

Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different software licenses or sets of licenses. Prefixes may be used to indicate the number of licenses used, e.g. dual-licensed for software licensed under two different licenses.

When software is multi-licensed, recipients can typically choose the terms under which they want to use or distribute the software, but the simple presence of multiple licenses in a software package or library does not necessarily indicate that the recipient can freely choose one or the other. In some cases, especially when the software has multiple origins, all the accompanied licenses apply at the same time. The applicability of the different licenses has to be individually checked. The distributor may or may not apply a fee to either option. The two usual motivations for multi-licensing are license compatibility and market segregation based business models.

Business models
Multi-licensing is commonly done to support free software business models in a commercial environment. In this scenario, one option is a proprietary software license, which allows the possibility of creating proprietary applications derived from it, while the other license is a copyleft free software/open-source license, thus requiring any derived work to be released under the same license. The copyright holder of the software then typically provides the free version of the software at little or no cost, and profits by selling proprietary licenses to commercial operations looking to incorporate the software into their own business. This model can be compared to shareware.

Since in most cases, only the copyright holder can change the licensing terms of a software, multi licensing is mostly used by companies that wholly own the software which they are licensing. Confusion may arise when a person outside the company creates additional source code, using the less restrictive license. Because the company with the official code is not the copyright holder of the additional code, they may not legally include this new work in their more restrictively licensed version. Companies may require outside developers agree to a contributor license agreement before accepting their work in the official code-base and source code repositories.

Multi licensing is used by the copyright holders of some free software packages advertising their willingness to distribute using both a copyleft free software license and a non-free software license. The latter license typically offers users the software as proprietary software or offers third parties the source code without copyleft provisions. Copyright holders are exercising the monopoly they're provided under copyright in this scenario, but also use multi licensing to distinguish the rights and freedoms different recipients receive.

Such licensing allows the holder to offer customizations and early releases, generate other derivative works or grant rights to third parties to redistribute proprietary versions all while offering everyone a free version of the software. Sharing the package as copyleft free software can benefit the copyright holder by receiving contributions from users and hackers of the free software community. These contributions can be the support of a dedicated user community, word of mouth marketing or modifications that are made available as stipulated by a copyleft license. However, a copyright holder's commitment to elude copyleft provisions and advertise proprietary redistributions risks losing confidence and support from free software users.

Examples of multi-licensed software include Oracle's NetBeans IDE, MySQL AB's database, Asterisk, Oracle Corporation's Berkeley DB, Modelio, ZeroC's Ice, Magnolia CMS, JUCE, wolfSSL, and Qt Software's Qt development toolkit.

Description on one specific example to illustrate multi-licensing: Oracle MySQL comes in various editions: MySQL Enterprise Edition is a commercial edition, hence to be purchased. The license is only offered as a subscription, named MySQL Enterprise Edition Subscription. The same applies for MySQL Standard Edition (MySQL Standard Edition Subscription) and MySQL Cluster CGE (MySQL Cluster Carrier Grade Edition Subscription). The other editions, such as the MySQL Classic Edition or MySQL Community Edition, are free to use with some restrictions. For instance, the MySQL Community Edition is a freely downloadable version, available under the GPL license and is supported by a community of open source developers.

Single-vendor commercial open source business model
The term single-vendor commercial open source was coined by Dirk Riehle in 2010, and has later been further popularized by other scholars, such as Simon R. B. Berdal.

According to Riehle: "Single-vendor commercial open source firms build their business around an open source software project that they fully control, typically by having developed the software and never having shared control with third parties. This is done by owning the full copyright to the code and related intellectual property such as patents and trademarks... Typically, the free open source form is provided under a reciprocal license like the GPL to drive adoption but stall possible competitors. Paid-for versions of the software are then provided under a commercial license like traditional software vendors do. This is also known as the dual-license strategy of commercial open source."

In contrast to traditional open source projects, a single-vendor commercial open source project is controlled by exactly one stakeholder with the purpose of commercially exploiting it. In this context, the open source community is less engaged in the development of core functionality, as they typically are in conventional (pure) open source projects. As the then CEO Mårten Mikos of MySQL said in an interview:

"The depth of the contributions varies by product and situation. The deeper you go into the core of the database engine, the more difficult it is for somebody to contribute because it takes five years to learn. If you build something on the outskirts of the kernel - some tool or function that you add on top of it - then that is much easier because there's less risk that you will mess up the whole product. But something great can emerge out of many tiny-looking contributions. It's analogous to how, in economic development, microloans can have such a huge impact - each entry is minimal, but when you multiply it by the number of people who are involved, it grows massive. It starts getting a momentum of its own.."

Hence, the community of multi-license software as a rule includes employees of the code-owning firm, as well as strategic partners that have vested interest in the software. As Riehle notes, In single-vendor open source, almost all of the core product development work is carried out by the commercial firm, with occasional contributions from the community.

As Berdal notes, the governance of the open source community becomes a key business management process in this context: ''As such, it needs to be aligned with other business activities. Governance models of dual-licensed OSS editions may therefore display a tendency towards commercial bias. To prevent the community from being provoked or alienated it may therefore seem imperative to balance commercial inclinations against “open” interests.'' This is by no means an easy task. As Berdal demonstrated through a case study of SugarCRM, this commercial open source software (COSS) business model can trigger substantial friction points, which can eventually lead to pure open source forks (table adapted from Berdal, Table 3, page 75 ):

Only a few months after these friction points were observed, a new fork of the SugarCRM Community Edition was announced.

License compatibility
A second use of multi-licensing with free software is for license compatibility, allowing code from differently licensed free software projects to be combined, or to provide users the preference to pick a license.

Examples include the source code of Mozilla Application Suite and previously Mozilla Thunderbird and Mozilla Firefox, that have used tri-licensing under the Mozilla Public License (MPL) 1.1, GNU General Public License (GPL) 2.0 or GNU Lesser General Public License (LGPL) 2.1 before the latter upgraded to GPL-compatible MPL 2.0, making the tri-licensing unnecessary. Other examples are Perl, which is dual-licensed under the GPL or Artistic License, and Ruby, whose license contains explicit GPL dual licensing.

Market segregation in proprietary software
Multi-licensing is also used by distributors of non-free software. Sometimes this is done to proprietary software to segregate a market. By splitting customers into multiple categories such as home users, professional users, and academic users, copyright holders can set different prices for each group. However, among proprietary software companies, it is more common to release a "home edition" and a "professional edition" of a given product, which differ by the software and software features included, not just the license.