The Economics of Commercial Open SourceFeb 9, 2011 By Eran Galperin
In the past 20 years, open-source has gone from a small movement to a major force in the software industry. Many mission critical and enterprise operations are now powered by open-source software and its influence on the rise of the Internet is undeniable.
Open source is more than the availability of the source – it is a development philosophy that encourages contribution, transparency and the right to customize software to your specific needs. Open-source is responsible for a lot innovation and progress in software development.
Custom open-source development
Although normally associated with "free", open-source software provides the tools and infrastructure for a significant part of paid professional development in today’s industry. I refer to the results of that development as "commercial open-source".
Free and commercial open-source are symbiotic and complement each other, in that it allows for software products and services to emerge that would not have been possible otherwise.
However, despite its incredible value, open-source software often presents significant issues for developers – such as visibility, with many open-source projects going completely unnoticed and their developers’ efforts wasted.
Varying quality is also a concern, with amateur developers involved in open-source as often as professional ones. Motivation for continued development and support is a problem area as well, as most people can only devote so much of their time for free.
Those issues often lead to a slow and tedious discovery process when trying to find open-source code that you can use in your project, a process that sometimes will fail to find something useful.
Open-source code as off-the-shelf products
An evolutionary form of software product is becoming widespread – commercial open-source packages that fill the gaps where open-source fails to deliver a good solution.
Custom development can benefit a lot from the availability of ready to use, quality open-source packages. Quoting a post by Matt Legend Gemmell,which said:
As a self-employed software engineer,I understand the value of my time. I not only have an hourly rate, but I also grasp the value of getting ahead of a schedule, or being able to meet an aggressive schedule without having to compromise functionality or vision. The idea of paying others for quality source code is something I find very easy to accept and understand.
Any custom open-source project can benefit from shorter time-to-market and reduced development time and cost. If the costs can be transferred to the client, then it’s a win-win situation – you can price more aggressively without losing income, which means you can do more projects in a shorter time span while focusing on the unique problems each project presents.
Even when you have to shoulder the costs yourself, the investment may be worth it. If you’ve spotted a package that fits a recurring need or solves a troublesome problem and is already mature, the benefits of getting it even for a fee are very tangible.
Commercial open-source in the wild
WordPress is a free open-source blogging platform for PHP, possibly the most popular one at that. WordPress’ creators, Automattic, don’t make a cent selling WordPress (at least not officially). They do offer some additional premium services. Selling services using open-source products is a common strategy to monetize open-source develpoment.
WordPress has also spawned a separate mini-economy – for WordPress plug-ins. The premium plug-in market for wordpress is an incredibly prospering market. More marketplaces for wordpress plug-ins pop up daily, and several of those seem to be making excellent business.
Commercial wordpress plug-ins often add functionality outside of the scope of normal plug-ins. Experienced developers can make the effort to create those, because they are counting on making some sort of living from it. It’s a symbiotic relationship – add commercial open-source code on top of a free open-source platform to make the end product more capable while sustaining all parties involved.
Some open-source products take a different approach to sponsoring development by offering the base product for free and sell premium versions under a commercial license. Famous cases include MySQL – which offers a community edition for free and several enterprise editions under a commercial license, and Magento which does the same.
Solving the discovery and distribution problem
As CTO of Lionite, a small but busy web development shop, I have built custom solutions on top of open-source stacks for many years now. While enjoying the benefits of open-source, we were also feeling the pains. That experience has led us to start a marketplace and discovery for source-code named Binpress, which aims to solve most of the problems mentioned earlier.
We solve the discovery and quality problems by building a directory for curated, high-quality source packages (not unlike the apple appstore). Easy discovery along with a emphasis on design and user-experience aim to increase the visibility of source-code packages available and to help potential users understand their value faster.
Motivation is solved by giving professional developers an additional incentive to publish their code, thereby increasing the amount and variety of available solutions that could help development projects reduce time and costs. This in turn helps promote the open-source technologies being used, as they become more viable for future development projects by having more ready solutions available.
When more options are available for using an open source stack, everybody wins – both the open-source community and commercially driven custom development projects.
In order to get things started, we are currently running a programming contest for best submission of a source-code package for web development. We give over $40,000 value in cash and prizes, sponsored by companies such as Microsoft, Amazon, PayPal and Google.
If you disagree with anything I wrote in this article, please leave your opinion in the comments. I believe in an open conversation and want to hear what you have to say.