Multi-licensing

[citation needed] The two usual motivations for multi-licensing are license compatibility[1] and market segregation based business models.

Companies may require outside developers agree to a contributor license agreement before accepting their work in the official code-base and source code repositories.

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.

[6][7] 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,[8] and Qt Software's Qt development toolkit.

Typically, the free open source form is provided under a reciprocal license like the GPL to drive adoption but stall possible competitors.

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.

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.

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 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[13]): Free Software purists: “Immoral”.

Not confirmed, but highly plausible: 2) brand promotion, and 3) thwart forking attempts / stifle unsolicited external code reuse.

2) Speculative: Diminish the influence of FOSS enthusiasts and vigilantes, who could interfere with a commercially guided development process.