The Business of Open Source
“I’ve experienced quite a bit about how open source works. It’s been a wonderful learning experience for me and definitely turned me from someone who thought open source code and developers were somehow not as good as closed source equivalents into a person who knows that the opposite is most definitely the case!”(Mark Little, Red Hat, blog)
Indisputable fact of today’s worlds is an existence of many IT companies that based their success on the Open Source. Talend, Alfresco, Cloudera, Mozilla and last but not least: Red Hat/JBoss (How JBoss did it!) are great examples of that.
Many more, Google, Facebook, Microsoft and Yahoo and many more, provides commercial services, and are not entirely based on open source projects, but helps their communities, seeing obviously support business model in there. Growing popularity of cloud computing has been giving birth of new open source cloud platforms, high performance distributed computing, decentralized and scalable databases. Many of these solutions does not have comparable closed ones and all of them in some way constitute of the revenue for the enterprises.
Even though, many businesses are constantly striving for using closed source software provided by “big vendor’s”, with very expensive and professional marketing machine. Good, that there is slow, but visible movement towards open products build within communities. Benefits of that movement are getting more and more visible, followed by many successful stories. That is caused by many advantages of the Open Source.:
- No vendor lock-in
There is no need to depend on any software vendor. Open source projects are free, and publicly available for everyone without requirement to sign purchase agreement. Take it and use it is the only rule. That gives high flexibility for any organization. If product does not suit your requirements you can simply change it without breaking contract and loosing money.
In more advanced cases you may want to have professional support for the open source product from external company that knows well this particular solution. Most of the times you can choose from at least few companies. Sometimes vendors provide a commercial version of open source projects. Using them make sense if you need very stable product, 24h support, SLA or customized functionality. Even if it looks like traditional vendor lock-in it is common practice that you require from them continuous compatibility with open source version, e.g. every feature requested by you that is added to commercial version is contributed back to the community. Then, you can always resign from their services and choose open source stack.
If you purchase closed product you take the risk that vendor will not bankrupt or shutdown project while you use it. You may easily end up with “black box” product, not developed anymore with potential bugs and security issues that you cannot fix. Replacing solution with competitive one is not usually easy way either even if both are standard compliant. With Open Source you never come across that. In the blackest scenario you have source that you can modify, add new features, fix bugs or train developers to expand it further.
- Companies competition
In most cases every mature open source products have several companies that provides professional services or commercial version of it. This provides to much healthier market than in single, monopoly vendor situation. Companies supporting clients has to compete with price, better adherence to the standards and services quality – often employees of these companies are commiters to open source projects and knows them very well.
- Zero entry cost
It is always good practice to try out several solution, to choose most suitable one before deploying it within your organization. You can test several open source projects without any cost and choose one that best matches you requirements.
- Reduced overall costs
From the business perspective what matters the most is TCO (Total Cost of Ownership) that determines direct and indirect costs of purchased software. There is plenty of arguments in Open Source favour:
- Zero purchase fee.
- No license fees, e.g. for every product user (does not increase cost when you organization grows)
- No organizational administrative costs to purchase software, updates etc.
- Competition in the markets keeps lower support costs and quality services
- Eliminated risk of closing project by the vendor or vendor bankruptcy
- Security and quality
Open source projects code is publicly available and may be seen by anyone. This causes that many developers from all over the world, browse actual source code, find bugs or security breaches and contribute patches. All they have different background, specialties, education so they focus on different aspects of the product. That makes overall open source software very reliable, consisting best practices of software engineering.
Open source software engineers produces much better code than in closed projects as code visible to their colleagues, random programmers or potential future employers.
- Engineers are happy
- Easier to add new features
- Benefit from each other
- Have influence on a standard
Very often reference implementation of the standard specification is implemented as open source project. It allows all involved in the standard parties to work on the development to fulfill all theirs priorities. Even more often happens that implementation is done beforehand standardization. If your organization is one of its creators, you can influence the way that standard goes.