A look at various funding models for open source projects. Most of the major open source projects require a fair amount of development and maintenance and have many full-time people working on them.
People volunteer their time, most of the members of the numerous open source software foundations are unpaid and dedicate their own time and energy. Many of these volunteers work for companies who understand the importance of open source and give them the time.
Here's a look at how open source projects, which by nature do not charge for their software, generate money to fund their projects.
Wikipedia is the best example of the donation model. Annually it turns to its users directly asking for donations, using banner ads and on-site promotions. The Wikimedia Foundation also receives funding from benefactors and grants. Wikimedia follows a very similar model as public radio in the U.S.
Bitcoin Foundation is funded by a membership model which you can join for a donation or if you wish you can donate without membership.# Membership is another very common model for offline non-profit organizations, for example the ACLU. The benefits of a membership model allows for recurring revenue and a mailing list you can reach out to to solicit future donations.
Software foundations such as the Free Software Foundation, Software for the Public Interest, Software Freedom Conservancy and Apache Foundation operate under a similar sponsorship model, with the majority of donations coming from large corporate sponsors.
However, the donation model is difficult to sustain particularly on an on-going basis and for smaller projects. See Nathan Willis' article New funding models for open source software which discusses donation and crowd funded projects.
Corporate Sponsor or Patronage
Companies benefit greatly from open source software and will hire and employ people just to work on them. Google employed creator of Python, Guido van Rossum for 7-years. Yahoo employed creator of PHP, Rasmus Lerdorf for many years to further PHP development. Two examples which key people are able to dedicate their time.
Linux has long been funded and advanced by corporate contributors. You can see the amount of time given to open source by the Linux contributors list. A majority of these contributions are for drivers to make the company's hardware work with Linux. The companies are motivated to get involved but the time and code contributed is still open source.
Android was created by Google and released as open source to generate a platform audience, receive contributions and feedback and encourage adoption. Also, as open source third-party manufacturers are more willing to adopt a platform since it is open. Google still maintains primarily control and employs the majority of developers.
Ruby on Rails is another example with 37 Signals releasing the software to both give back to the community, but also with larger adoption, they benefit through feature development and bug fixes. Also, as a company an increase in both community goodwill and experienced engineers; making it easier to hire. You can see the core team of Rails has since expanded beyond 37 Signals.
Other examples of companies developing then releasing software as open source include, Java by Sun Microsystems, Cassandra by Facebook, Hadoop by Yahoo, Bootstrap by Twitter, V8 and Go programming language by Google. Plus countless libraries released by all sizes of companies.
Commercial Enterprise Support
RedHat was one of the first companies who attempted to build a for-profit business off open source. The RedHat business model is to develop an enterprise version of the Linux platform and offer long-term stability and enterprise support contracts. RedHat had some bumps along the way but has worked out a pretty good model, now working well with the community and is a profitable company with a \$10b valuation #
Ubuntu follows a similar model as RedHat but started with more a focus on the consumer market. Canonical, the company behind Ubuntu, was jump started by its founder Mark Shuttleworth who self-funded it. Canonical offers support and services to enterprises and governments. However it continues to struggle between profitability and ambitious projects, such as its recent failures with the Ubuntu Edge device and Ubuntu One file services.
MySQL started and continues to be a dual-licensed product, originally run by a Swedish-company MySQL AB, but now run by Oracle. The two versions of MySQL are an open source community version licensed under the GPL and a commercial enterprise server which includes support and advanced features not available in the community edition, for example backup, monitoring and high-availability services. Sun Microsystems acquired MySQL for \$1b in 2008.
VirtualBox is an open source virtualization tool which Oracle releases the basic app free for all. They also offer advanced features and extensions which are free for personal use, but requires a commercial license for business use. This model appears to work well to encourage adoption, for example the Vagrant project uses VirtualBox as its primary engine.
Zend Framework is a PHP Framework used to develop web applications. The primary framework is open sourced and Zend Technologies gives away to encourage adoption. They sell their Zend Server product which adds additional features for packaging, deployment and support.
WordPress is an open source blogging platform which has a diverse model of funding. Anyone can download and install WordPress on their own servers, however if you want a hosted version the easiest option is the commercial product WordPress.com offered by Automattic, the primary contributor to WordPress. Disclosure note, I am work for Automattic.
Automattic continues the WordPress mission by offering free hosted blogs, but for premium features such as domain name, space upgrades, custom design are paid upgrades. Additionally, and probably more importantly, WordPress is supported by thousands of freelance developers and designers who profit from selling their own services, themes and plug-ins built on top of the WordPress platform.
Github is a little similar in nature offering a paid hosted version for an open source tool. Though Github was not the developers of git, which was actually created by Linus Torvalds of Linux fame. Anyone can host their own git repository on their own servers, but if you want the convenience, speed and additional features, you can use the hosted version on Github.
This hosted (or cloud) model of funding is one of the stronger methods and should continue to grow in popularity. It gives users the confidence and freedoms of an open source project, so no vendor lock-in, but also the convenience of not having to run themselves.
Apache Server started as the NCSA HTTPd server developed at the National Center for Supercomputer Applications a unit of the University of Illinois. Support for the NCSA comes from the National Science Foundation, the state of Illinois and other business and federal partners. The Apache Foundation now manages the Apache server as well as dozens of other open source projects. The Foundation operates under a sponsorship/donation model.
The Scala programming language was developed by Martin Odersky while he was a professor at EPFL in Switzerland. # However, after 10-years of development to continue and expand the work on Scala a for-profit company, Typesafe was founded and now is primary contributor to Scala development.
Mozilla uses the affiliate model which is not too common, especially since it ties closely to advertising and more reliance on a single source of income. In Mozilla's case they receive the majority of their income from Google, \$300m annually, by setting Google as the default search engine in Firefox. #
Conferences are another source of income for open source projects but typically not the largest nor most profitable. Most conferences have significant cost including paying for the space, refreshments, staff and require a lot of time to plan and run. A conference tend to be better for marketing, recruitment and building an open source community than a large source of profit for a project or foundation
You can see the costs of conferences in the Software Freedom Conservancy report # which shows in 2012 conference income of \$183,083, and conference expenses \$216,492. So a net loss due to conferences of \$33,409, though overall might be considered worthwhile as promoting the software projects.
Another source of incomes for open source projects is licensing of the project name. This is used across many of the popular projects, but typically accounts for a small percentage of the product's funding. This method also requires the project name to have enough popularity that others would want to use it. You can see below the GNOME Foundation only made 2% of income due to royalties.
A form of brand licensing to some degree, both the Linux Fund and the Free Software Foundation offer credit cards which a portion of payments go to support their projects. Both of these foundations offer support to numerous open source projects
Bounties are a new form of open source funding which has popped up recently. One example is BountyOSS which allows crowdfunding of projects by paying for bugs or features to be developed. A little too soon to tell if this will be a viable funding model. My guess is it won't, crowdfunding can offer a quick bump in income but not a recurring source of income, which software projects need since software is never done.
It is interesting to look at the software foundation budgets, you can see that they are not employing vast amounts of developers and have minimal budgets. Here is the GNOME Foundation 2012 financial report which shows just $200k going to employees, which at today's rates would only be 1-2 full time engineers.
|GNOME Foundation 2012 Statement|