Open source software has been around for quite some time, but as I highlighted on the Dev Interrupted Podcast, only within the last decade has it come to be widely accepted and used, though many organizations are yet to use the concept. While many people still remain skeptical of open source, its growing popularity and use is undeniable.
For many developers, open source is “the one true way”, almost a religion. Many of the world’s best and brightest developers devote themselves to creating and advancing the cause of open source projects. There are any number of foundations and organizations--from The Apache Software Foundation to the .NET Foundation--that openly support open source. Open source is a large part of some of the biggest tech giants in the world, including Google, Microsoft, and Amazon.
As the VP of Engineering of Logz.io, which has entirely embraced the open source benefits model, I am an open source “true believer” and see many benefits to using open source software. I highlighted five of these key benefits on the Dev Interrupted Podcast with LinearB co-founder Dan Lines:
What development organization doesn’t use git these days?
There are many open source projects that are widely used. Tools like Elastic, Kafka, and the Apache Web Server are amongst the most popular and commonly used software applications in the world. Because they and many other similar projects are so popular, there are copious resources available for learning, troubleshooting, and solving problems.
Finding developers that are skilled in a particular project can be much easier, as these projects are so widely used and known. Plus, developers prefer to work at companies that use open source, because they know that they won’t be locked into a proprietary solution and that their skills will be transferable.
Open source is usually very responsive to issues and bug reports, often delivering fixes and updates in days or even hours. These updates can often be deployed immediately whereas with proprietary software, you often have to wait months for the next release to resolve a problem.
New features are available earlier in the development cycle, and users can normally see and try out features as they develop. This enables organizations to more rapidly adopt new versions of projects.
Open source can both cut costs and minimize maintenance. Of course, the biggest cost benefit comes from getting a complete, proven software package for no cost. Improvements and bug fixes also come to the software from external sources, keeping maintenance costs low. Development occurs outside of your organization, resulting in new features with little effort.
Using open source just makes financial sense. I don’t want to write a load balancer--why should I spend the time and effort to do so when I can use one built and maintained by experts?
Sure, there are some costs associated with open source, such as setup time, learning time, and continuing maintenance and configuration, but the same costs are incurred for closed source software.
Security is a worry with any software that you use, and some argue that open source isn’t secure because everyone and anyone can see what the application does--but I say that open source software is more secure because of this.
“What do you trust more? Security in a product that is fully transparent, where you have tens or hundreds of workers across the world testing and working on it, as opposed to a product where you have not seen the source at all.“
-- from the Dev Interrupted Podcast at 8:20
Since everyone and anyone can see the code, they do know exactly what the software does and doesn’t do. Thousands of pairs of eyes from all over the world look at the code and can spot vulnerabilities before they are exploited. Thanks to this transparency, it’s much more difficult to take advantage of security holes because they’re fixed as fast as they are found.
Proprietary software doesn’t have this advantage. It only has a single development team looking at the source, and you as a consumer have no idea what security holes may lurk within.
One of the benefits of open source is that it can never disappear. A proprietary company can go out of business, leaving you high and dry and with no options but to stick with what you have or migrate to another solution.
However, open source is available, well, forever. Put a project up on GitHub, and it will live as long as someone has the source code.
In a worst case scenario, an organization can take over the project themselves, fixing things and adding features as desired.
Open source software very commonly lends itself to the managed service model. In fact, most managed service providers would not be open source-able without open source software. A proprietary solution cannot be used in such a manner -- the licensing would forbid it. Taking open source and providing it as a service is a powerful business model that is only possible because of the open licensing of open source.
We here at logz.io provide managed services for log and tracing analytics and observability. We use a number of open source projects to provide these services. Our value, like all managed service providers, lies in our ability to provide expertise for a service that another organization probably doesn’t want to spend the time and money to become experts in. This is only possible because of open source.
No -- open source software is not for everyone.
Some organizations--especially large, enterprise companies--are not able to risk the “infection” from licenses like the GPL. Large organizations often have legal requirements that prevent them from safely absorbing open source. Some organizations simply can’t or won’t overcome NIH -- the “Not Invented Here” syndrome. Some want a company that they can yell at if something goes wrong. And some people just don’t see “the one true way”.
In the end, I truly believe that the benefits of open source vastly outweigh any costs that may be incurred. We’ve staked our whole business on it here at logz.io, and it’s clearly working not only for us but for many other companies and managed service providers. Fully and clearly considered, it’s hard to see why your company couldn’t benefit from using open source Software.
Listen here if you want to learn more about the benefits of enterprise open source software.