Open-source development is on the rise and the effects can be felt throughout the software development world. Hand in hand with the growth of the software engineering community, open-source has become mainstream over the last couple of decades, and is now one of the main building blocks of most software projects.
Business opportunities around open-source have evolved as well. Household names such as Redhat, MySQL and WordPress have shown that with the correct positioning and business model, open-source can be a huge business. Big companies and venture capital have taken note as well, funneling budgets and resources into open-source.
A common misconception about open-source is that it means code that is available for zero cost. The “Free” part of “Free open-source” talks about freedom (as in “free speech”) and not about zero cost (as in “free beer”) – the freedom to read, modify and redistribute the code. While there is natural resistance to spending money on something you are used to getting for free, commercially supporting open-source has only benefits in the long run.
Adding a commercial element to open-source leads to more funds being available to develop and improve open-source products, and for providing professional level support and integration services. This, in turn, reduces the total-cost-of-ownership – the costs associated with using and maintaining an open-source project that might have been provided “as-is” without commercial support.
The economics of open-source
Many look at the successes of Redhat and MySQL as outliers, and still consider open-source as a volunteer process. Hobbyist / volunteer open-source development will always be a big part of what open-source is, but many projects – as they reach a certain level of maturity and popularity – need to find some level of commercial support or face being bogged down by issue reports and feature requests, while core team members eventually move on to gigs that actually pay the bills.
At that point, open-source projects typically evolve in one of several ways:
- Project owners release control of the project to the community, and hopefully a team of contributors forms organically to maintain the project over time.
- A big company, such as Google or Microsoft, takes ownership of the project and provides paid engineers to work on it full-time.
- A dual-licensing model emerges where higher levels of support or features are included in commercial licenses only. This is often termed as “Commercial Open-Source”.
The first option is certainly viable but can be risky – without someone taking ownership of a project, many times development by committee hits a wall and trails off as disagreements about direction and lack of accountability derail an otherwise well-meant effort.
The second option is not really something you can plan for – great when it happens but not something you can count on for sustaining an open-source project.
The third option is what I believe would be the future of most open-source project, as they transition from a hobby to a professional pursuit. Using a dual-license model, with commercial licensing supporting the development of both community and enterprise versions. It’s a model that companies such as Redhat and MySQL used very effectively in building billion dollar businesses and enterprise grade products.
A professional approach to developing open-source products benefits even you, as the end user. The initial cost might rise (especially compared to *zero*), but the overall costs (the total-cost-of-ownership) are significantly reduced.
How many times did you use an open-source project that had a show-stopping issue (for you) that has been opened for over 2 years? Did you ever think to yourself – “I would pay the developer to fix this bug only so I could use this otherwise great product”? What about new features or customization that would take the original developer a fraction of the time to add compared to you and your team? This kind of thinking process happens every day at a score of software houses around the world. Wouldn’t it be great if that option actually existed?
A big opportunity in a huge market. Are you excited yet?
The software market is huge and growing fast, as software penetrates every aspect of our daily lives. As the industry matures and becomes more professional, so do the products that drive it – and especially open-source. With several big names and a host of small successes already in the books, commercial open-source products constantly prove this model works well, and benefits all sides involved.
Building a successful business is not easy regardless of the field, and it’s the same story with open-source products. The opportunity is there, and the time is now – as there are still relatively few professional open-source offerings, especially compared to the huge range of software projects that could benefit from it.
Most likely you have never considered building a business from releasing code. If I have opened your mind a bit for new business opportunities as a software developer, then my goal in writing this article has been achieved.
If you have any questions or comments – hit me up in the comments. Let’s talk about it!
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers