Historically, these business models started in the late 1990's and early 2000's as "dual-licensing" models (for example MySQL[1]), and they have matured over time, giving rise to multiple variations as described in the sections below. Pure dual licensing models are not uncommon, as a more nuanced business approach to open source software businesses has developed. Many of these variations are referred to as "open core" model, where the companies develop both open source software elements and other elements of value for a combined product.
A variety of open-source compatible business approaches have gained prominence in recent years, as illustrated and tracked by the Commercial Open Source Software Index (COSSI),[2] a list of commercial open source companies that have reached at least US$100 million in revenue. Notable examples include open core (sometimes referred to as dual licensing or multi-licensing), software as a service (not charging for the software but for the tooling and platform to consume the software as a service often via subscription), freemium, donation-based funding, crowdfunding, and crowdsourcing.
There are several different types of business models for making profit using open-source software (OSS) or funding the creation and ongoing development and maintenance. The list below shows a series of current existing and legal commercial business models approaches in the context of open-source software and open-source licenses.[3] The acceptance of these approaches has been varied; some of these approaches are recommended (like open core and selling services), others are accepted, while still others are considered controversial or even unethical by the open-source community. The underlying objective of these business models is to harness the size and international scope of the open-source community (typically more than an order of magnitude larger than what would be achieved with closed-source software equivalents) for a sustainable commercial venture. The vast majority of commercial open-source companies experience a conversion ratio (as measured by the percentage of downloaders who buy something) well below 1%, so low-cost and highly-scalable marketing and sales functions are key to these firms' profitability.[4]
Open-source software can also be commercialized from selling services, such as training, technical support, or consulting, rather than the software itself.[5] [6]
Another possibility is offering open-source software in source code form only, while providing executable binaries to paying customers only, offering the commercial service of compiling and packaging of the software. Also, providing goods like physical installation media (e.g., DVDs) can be a commercial service.
Open-source companies using this business model successfully are, for instance RedHat,[7] IBM, SUSE, Hortonworks (for Apache Hadoop), Chef, and Percona (for open-source database software).
Some open-source organizations such as the Mozilla Foundation[8] and the Wikimedia Foundation[9] sell branded merchandise articles like t-shirts and coffee mugs. This can be also seen as an additional service provided to the user community.
Selling subscriptions for online accounts and server access to customers is one way of adding value to open-source software. Another way is combining desktop software with a service, called software plus services. Most open core companies that use this approach also provide the software in a fashion suitable for on-premises, do-it-yourself deployment. To some customers, however, there is significant value in a "plug and play" hosted product. Open source businesses that use this model often cater to small and medium enterprises who do not have the technology resources to run the software. Providing cloud computing services or software as a service (SaaS) without the release of the open-source software is not an open source deployment. With a SaaS approach, businesses no longer need to write new code from scratch, but instead can use the software they need by paying a subscription. Serverless technology allows businesses to completely transfer infrastructure management to the provider, which means that teams can create scalable applications more efficiently, cheaper, easier, and more reliably.[10]
The FSF called the server-side use-case without release of the source-code the "ASP loophole in the GPLv2" and encourage therefore the use of the GNU Affero General Public License which plugged this hole in 2002.[11] [12]
See main article: Donationware. There were experiments by Independent developers to fund development of open-source software donation-driven directly by the users, e.g. with the Illumination Software Creator in 2012.[13] Since 2011, SourceForge allows users to donate to hosted projects that opted to accept donations, which is enabled via PayPal.[14]
Larger donation campaigns also exist. In 2004 the Mozilla Foundation carried out a fundraising campaign to support the launch of the Firefox 1.0 web browser. It placed a two-page ad in the December 16 edition of The New York Times listing the names of the thousands who had donated.[15] [16]
In May 2019, GitHub, a Git-based software repository hosting, management and collaboration platform owned by Microsoft, launched a Sponsors program that allows people who support certain open source projects hosted on GitHub to donate money to developers who contribute and maintain the project.[17]
Crowdsourcing is a type of participative online activity in which an individual, an institution, a nonprofit organization, or company proposes to a group of individuals of varying knowledge, heterogeneity, and number, the voluntary undertaking of a task via a flexible open call. The undertaking of the task, of variable complexity and modularity, and in which the crowd should participate, bringing their work, money, knowledge and/or experience, always entails mutual benefit. The user will receive the satisfaction of a given type of need, be it economic, social recognition, self-esteem, or the development of individual skills, while the crowdsourcer will obtain and use to their advantage that which the user has brought to the venture, whose form will depend on the type of activity undertaken. Caveats in pursuing a Crowdsourcing strategy are to induce a substantial market model or incentive, and care has to be taken that the whole thing doesn't end up in an open source anarchy of adware and spyware plagiates, with a lot of broken solutions, started by people who just wanted to try it out, then gave up early, and a few winners. Popular examples for Crowdsourcing are Linux, Google Android, the Pirate Party movement, and Wikipedia.
Offering training programs and certification courses related to the open-source software, catering to individuals or organizations, like Red Hat Certification Program or Linux Professional Institute Certification Programs.
Other financial situations include partnerships with other companies. Governments, universities, companies, and non-governmental organizations may develop internally or hire a contractor for custom in-house modifications, then release that code under an open-source license. Some organizations support the development of open-source software by grants or stipends, like Google's Summer of Code initiative founded in 2005.[18]
In order to commercialize FOSS (free and open-source software), many companies (including Google, Mozilla, and Canonical) have moved towards an economic model of advertising-supported software. For instance, the open-source application AdBlock Plus gets paid by Google for letting whitelisted Acceptable Ads bypassing the browser ad remover.[19] As another example is SourceForge, an open-source project service provider, has the revenue model of advertising banner sales on their website. In 2006, SourceForge reported quarterly takings of $6.5 million[20] and $23 million in 2009.[21]
See main article: Open-source bounty. The users of a particular software artifact may come together and pool money into an open-source bounty for the implementation of a desired feature or functionality. Offering bounties as funding has existed for some time. For instance, Bountysource is a web platform which has been offering this funding model for open source software since 2003.
Another bounty source is companies or foundations that set up bounty programs for implemented features or bugfixes in open-source software relevant to them. For instance, Mozilla has been paying and funding freelance open-source programmers for security bug hunting and fixing since 2004.[22] [23]
A newer funding opportunity for open-source software projects is crowdfunding, which shares similarities with the pre-order or Praenumeration business model, as well as the reverse bounty model, typically organized over web platforms like Kickstarter,[24] Indiegogo, or Bountysource[25] (see also comparison of crowd funding services). One example is the successfully funded Indiegogo campaign in 2013 by Australian programmer Timothy Arceri, who offered to implement an OpenGL 4.3 extension for the Mesa library in two weeks for $2,500.[26] Arceri delivered the OpenGL extension code which was promptly merged upstream, and he later continued his efforts on Mesa with successive crowdfunding campaigns.[27] Later, he found work as an employee in this domain with Collabora and in 2017 with Valve.[28] Another example is the June 2013 crowdfunding on Kickstarter[29] [30] of the open source video game which raised the payment of a full-time developer for 3.5 months. Patreon funding has also become an effective option, as the service gives the option to pay out each month to creators, many of whom intend to develop free and open-source software.[31]
See main article: Open-core model and Multi-licensing. In a dual licensing model, the vendor develops software and offers it under an open-source license but also under separate proprietary license terms. The proprietary version can be licensed to finance the continued development of the free open-source version.[32] Customers may prefer a no-cost and open-source edition for testing, evaluation, proof of concept development, and small scale deployment. If the customer wishes to deploy the software at scale, or in proprietary distributed products, the customer then negotiates for a commercial license to an enterprise edition. Further, customers will learn of open-source software in a company's portfolio and offerings but generate business in other proprietary products and solutions, including commercial technical support contracts and services. A popular example is Oracle's MySQL database which is dual-licensed under a commercial proprietary license and also under the GPLv2.[33] Another example is the Sleepycat License. Flask developer Armin Ronacher stated that the AGPLv3 was a "terrible success" as "vehicle for dual commercial licensing" and noted that MongoDB, RethinkDB, OpenERP, SugarCRM as well as WURFL utilizing the license for this purpose.[34]
Dual license products are generally sold as a "community version" and an "enterprise version." In a pure dual licensing model, as was common before 2010, these versions are identical but available under a choice of licensing terms. Added proprietary software may help customers analyze data, or more efficiently deploy the software on their infrastructure or platform. Examples include the IBM proprietary Linux software, where IBM contributes to the Linux open-source ecosystem, but it builds and delivers (to IBM's paying customers) database software, middleware, and other software that runs on top of the open-source core. Other examples of proprietary products built on open-source software include Red Hat Enterprise Linux and Cloudera's Apache Hadoop-based software.
See main article: Franchising. Another financing approach is innovated by Moodle, an open source learning management system and community platform.[35] [36] The business model revolves around a network of commercial partners[37] who are certified and therefore authorised to use the Moodle name and logo,[38] and in turn provide a proportion of revenue to the Moodle Trust, which funds core development.[39]
If a software product uses only own software and open-source software under a permissive free software licence, a company can re-license the resulting software product under a proprietary license and sell the product without the source code or software freedoms.[40] For instance, Apple Inc. is an avid user of this approach by using source code and software from open-source projects. For example, the BSD Unix operating system kernel (under the BSD license) was used in Apple's Mac PCs that were sold as proprietary products.[41]
See main article: Open-core model. Some companies sell proprietary but optional extensions, modules, plugins or add-ons to an open-source software product. This approach is a variant of the freemium business model. The proprietary software may be intended to let customers get more value out of their data, infrastructure, or platform, e.g., operate their infrastructure/platform more effectively and efficiently, manage it better, or secure it better. Examples include the IBM proprietary Linux software, where IBM contributes to the Linux open-source ecosystem, but it builds and delivers (to IBM's paying customers) database software, middleware, and other software that runs on top of the open-source core. Other examples of proprietary products built on open-source software include Red Hat Enterprise Linux and Cloudera's Apache Hadoop-based software. Some companies appear to re-invest a portion of their financial profits from the sale of proprietary software back into the open source infrastructure.
The approach can be problematic with many open source licenses ("not license conform") if not carried out with sufficient care. For instance, mixing proprietary code and open-source licensed code in statically linked libraries[42] or compiling all source code together in a software product might violate open-source licenses, while keeping them separated by interfaces and dynamic-link libraries would adhere to license conform.
A variant of the approach above is the keeping of required data content (for instance a video game's audio, graphic, and other art assets) of a software product proprietary while making the software's source code open-source. While this approach is completely legitimate and compatible with most open-source licenses, customers have to buy the content to have a complete and working software product.[43] Restrictive licenses can then be applied on the content, which prevents the redistribution or re-selling of the complete software product. Examples for open-source developed software are Kot-in-Action Creative Artel video game Steel Storm, engine GPLv2 licensed while the artwork is CC BY-NC-SA 3.0 licensed,[44] and Frogatto & Friends with an own developed open-source engine[45] and commercialization via the copyrighted game assets[46] for iPhone, BlackBerry and MacOS.[47]
Other examples are Arx Fatalis (by Arkane Studios)[48] and Catacomb 3-D (by Flat Rock Software)[49] with source code opened to the public delayed after release, while copyrighted assets and binaries are still sold on gog.com as digital distribution.[50]
Richard Stallman stated that freedom for works for art or entertainment are not required.[51]
The similar product bundling of an open-source software product with hardware which prevents users from running modified versions of the software is called tivoization and is legal with most open-source licenses except GPLv3, which explicitly prohibits this use-case.[52]
Another variant of the approach above, mainly use for data-intensive, data-centric software programs, is the keeping of all versions of the software under a free and open-source software license, but refraining from providing update scripts from a n to an n+1 version. Users can still deploy and run the open source software. However, any update to the next version requires either exporting the data, reinstalling the new version, then reimporting the data to the new version, or subscribing to the proprietary update system, or studying the two versions and recreating the scripts from scratch.
This practice does not conform with the free software principles as espoused by the FSF. Richard Stallman condemns this practice and names it "diachronically trapped software".[53]
All of the above methods follows from the traditional approach in the selling software, where Software is licensed for installation and execution on a user- or customer-supplied infrastructure. In the classic software product business, revenues typically originate from selling software upgrades to the customer. However, it's also practicing selling exactly the same programs or add-ons but without proprietary licensing. For example, applications like ardour,[54] radium[55] or fritzing[56] it's completely free software on GPL license but there is a fee to get the official binary, often bundled with tech support or the privileges of attracting developers' attention to adding new functionalities to the program. It is also practiced to sell both source code and binaries, as Red Hat did[57]
This practice does conform with the free software principles as espoused by the FSF.[58]
An approach to allow commercialization under some open-source licenses while still protecting crucial business secrets, intellectual property and technical know-how is obfuscation of source code. This approach was used in several cases, for instance by Nvidia in their open-source graphic card device drivers.[59] This practice is used to get the open-source-friendly propaganda without bearing the inconveniences. There has been debate in the free-software/open-source community on whether it is illegal to skirt copyleft software licenses by releasing source code in obfuscated form, such as in cases in which the author is less willing to make the source code available. The general consensus was that while unethical, it was not considered a violation.
The Free Software Foundation is against this practice.[60] The GNU General Public License since version 2 has defined "source code" as "the preferred form of the work for making modifications to it." This is intended to prevent the release of obfuscated source code.[61]
Some companies provide the latest version available only to paying customers. A vendor forks a non-copyleft software project then adds closed-source additions to it and sells the resulting software. After a fixed time period the patches are released back upstream under the same license as the rest of the codebase. This business model is called version lagging or time delaying.[62] [63]
For instance, 2016 the MariaDB Corporation created for business compatible "delayed open-sourcing" the source-available Business source license (BSL) which automatically relicenses after three years to the FOSS GPL.[64] [65] This approach guarantees licensees that they have source code access (e.g. for code audits), are not locked into a closed platform, or suffer from planned obsolescence, while for the software developer a time-limited exclusive commercialization is possible. In 2017 followed version 1.1, revised with feedback also from Bruce Perens.[66] [67]
However, this approach works only with own software or permissive licensed code parts, as there is no copyleft FOSS license available which allows the time delayed opening of the source code after distributing or selling of a software product.
See also: List of commercial software with available source code and List of commercial video games with available source code. An extreme variant of "delayed open-sourcing" is a business practice popularized by id Software[68] [69] and 3D Realms,[70] [71] which released several software products under a free software license after a long proprietary commercialization time period and the return of investment was achieved. The motivation of companies following this practice of releasing the source code when a software reaches the commercial end-of-life, is to prevent that their software becomes unsupported Abandonware or even get lost due to digital obsolescence.[72] This gives the user communities the chance to continue development and support of the software product themselves as an open-source software project.[73] Many examples from the video game domain are in the list of commercial video games with later released source code.
Popular non-game software examples are the Netscape Communicator which was open-sourced in 1998[74] [75] and Sun Microsystems's office suite, StarOffice, which was released in October 2000 at its commercial end of life.[76] Both releases made foundational contributions to now prominent open-source projects, namely Mozilla Firefox and OpenOffice.org/LibreOffice.
Unlike proprietary off-the-shelf software that come with restrictive licenses, open-source software is distributed freely, through the web and in physical media. Because creators cannot require each user to pay a license fee to fund development this way, a number of alternative development funding models have emerged.
An example of those funding models is when bespoke software is developed as a consulting project for one or more customers who request it. These customers pay developers to have this software developed according to their own needs and they could also closely direct the developers' work. If both parties agree, the resulting software could then be publicly released with an open-source license in order to allow subsequent adoption by other parties. That agreement could reduce the costs paid by the clients while the original developers (or independent consultants) can then charge for training, installation, technical support, or further customization if and when more interested customers would choose to use it after the initial release.
There also exist stipends to support the development of open source software, such as Google's Summer of Code and Outreachy.[77]
Another approach to funding is to provide the software freely, but sell licenses to proprietary add-ons such as data libraries. For instance, an open-source CAD program may require parts libraries which are sold on a subscription or flat-fee basis. Open-source software can also promote the sale of specialized hardware that it interoperates with, some example cases being the Asterisk telephony software developed by PC-telephony hardware manufacturer Digium and the Robot Operating System (ROS) robotics platform by Willow Garage and Stanford AI Labs. Many open source software projects have begun as research projects within universities, as personal projects of students or professors, or as tools to aid scientific research. The influence of universities and research institutions on open-source shows in the number of projects named after their host institutions, such as BSD Unix, CMU Common Lisp, or the NCSA HTTPd which evolved into Apache.
Companies may employ developers to work on open-source projects that are useful to the company's infrastructure: in this case, it is developed not as a product to be sold but as a sort of shared public utility. A local bug-fix or solution to a software problem, written by a developer either at a company's request or to make his/her own job easier, can be released as an open-source contribution without costing the company anything.[78] A larger project such as the Linux kernel may have contributors from dozens of companies which use and depend upon it, as well as hobbyist and research developers.
A new funding approach for open-source projects is crowdfunding, organized over web platforms like Kickstarter, Indiegogo, or Bountysource. Liberapay is a crowdfunding platform, primarily for open-source projects, that is itself open-source.[79]
Open-source software can be sold and used in general commercially. Also, commercial open-source applications have been a part of the software industry for some time.[80] [81] While commercialization or funding of open-source software projects is possible, it is considered challenging.[82]
Since several open-source licenses stipulate that authors of derivative works must distribute them under an open-source (copyleft) license, ISVs and VARs have to develop new legal and technical mechanisms to foster their commercial goals, as many traditional mechanisms are not directly applicable anymore.
Traditional business wisdom suggests that a company's methods, assets, and intellectual properties should remain concealed from market competitors (trade secret) as long as possible to maximize the profitable commercialization time of a new product.[83] Open-source software development minimizes the effectiveness of this tactic; development of the product is usually performed in view of the public, allowing competing projects or clones to incorporate new features or improvements as soon as the public code repository is updated, as permitted by most open-source licenses. Also in the computer hardware domain, a hardware producer who provides free and open software drivers reveals the knowledge about hardware implementation details to competitors, who might use this knowledge to catch up.
Therefore, there is considerable debate about whether vendors can make a sustainable business from an open-source strategy. In terms of a traditional software company, this is probably the wrong question to ask. Looking at the landscape of open source applications, many of the larger ones are sponsored (and largely written) by system companies such as IBM who may not have an objective of software license revenues. Other software companies, such as Oracle and Google, have sponsored or delivered significant open-source code bases. These firms' motivation tends to be more strategic, in the sense that they are trying to change the rules of a marketplace and reduce the influence of vendors such as Microsoft. Smaller vendors doing open-source work may be less concerned with immediate revenue growth than developing a large and loyal community, which may be the basis of a corporate valuation at merger time.
See main article: Open-source economics. According to Yochai Benkler, the Berkman Professor for Entrepreneurial Legal Studies at Harvard Law School, free software is the most visible part of a new economy of commons-based peer production of information, knowledge, and culture. As examples, he cites a variety of FOSS projects, including both free software and open source.[84]
This new economy is already under development. In order to commercialize FOSS, many companies, Google being the most successful, are moving towards an economic model of advertising-supported software. In such a model, the only way to increase revenue is to make the advertising more valuable. Facebook has recently come under fire for using novel user tracking methods to accomplish this.[85]
This new economy is not without alternatives. Apple's App Stores have proven very popular with both users and developers. The Free Software Foundation considers Apple's App Stores to be incompatible with its GPL and complained that Apple was infringing on the GPL with its iTunes terms of use.[86] Rather than change those terms to comply with the GPL, Apple removed the GPL-licensed products from its App Stores.[87] The authors of VLC, one of the GPL-licensed programs at the center of those complaints, recently began the process to switch from the GPL to the LGPL and MPL.[88] [89]
See main article: List of commercial open-source applications and services. Much of the Internet runs on open-source software tools and utilities such as Linux, Apache, MySQL, and PHP, known as the LAMP stack for web servers. Using open source appeals to software developers for three main reasons: low or no cost, access to source code they can tailor themselves, and a shared community that ensures a generally robust code base, with quick fixes for new issues.
Despite doing much business in proprietary software, some companies like Oracle Corporation and IBM participated in developing free and open-source software to deter from monopolies and take a portion of market share for themselves. See Commercial open-source applications for the list of current commercial open-source offerings. Netscape's actions were an example of this, and thus Mozilla Firefox has become more popular, getting market share from Internet Explorer.