The creation and use of open source software in recent years has exploded and forced many enterprises to reconsider whether to integrate these tools into their environments. The availability of platforms such as GitHub, which makes collaboration between developers much easier than it was in the past, is a notable part of this explosion.
But enterprises must carefully weigh the limitations and advantages of open source software before integrating it with existing tools. Support, cost and security all factor into the decision.
Advantages of open source software
There are areas of IT where an open source product is the best option to handle a particular task.
First, open source tools, unlike many commercial or proprietary tools, often work with or support a wide range of IT vendor platforms, rather than cater specifically to one. In other words, they help enterprises avoid vendor lock-in. For example, HashiCorp Packer is an open source tool that enables IT teams to automate the creation of machine images across a range of platforms, such as VMware, AWS and Azure -- a feature that's especially beneficial in a hybrid or multi-cloud environment. For this particular use case, Packer integrates with a DevOps pipeline.
Another advantage of open source software is always a major business factor: cost. Open source tools are inherently free to use, which means businesses can reallocate their budget to hire better talent to use and support the tools. For instance, Git is a completely free open source IT tool that developers commonly use for software version control.
In addition, open source tools offer enterprises the ability to further customize software to meet their specific needs.
The lines blur between open source, proprietary software
In the current era of information technology, open source software is found in just about every enterprise. Rather than evaluate tools based on source code availability, look for the best tool available that fits a specific business need.
Even Microsoft, a historically anti-open source company, now contributes to and uses open source tools -- in fact, the software giant acquired GitHub. And many vendors now offer commercial distributions of tools that have open source software at their core.
Limitations of open source tools
One major aspect of open source software adoption that deters enterprises is a lack of formal support services or vendor documentation. For example, technical support for HashiCorp Packer is informal, and users must go to forums or create an issue on GitHub for help. That said, because all enterprise users of an open source tool are in the same boat, there is often a massive pool of filed issues and posted solutions for reference.
Enterprises often prefer contracts that provide timely technical support from software companies so that, in the event something goes awry, they can receive expert help. While this support issue is a valid reason to not choose open source IT management tools, the key variables around this decision are the existing technical knowledge of the organization's IT team, as well as how often it needs technical support for a given piece of software. For instance, an enterprise that has an employee with 10 years of expert-level experience in a tool might eliminate the need for a support contract in the first place.
However, if a production server were to hit a bug that takes a critical application offline, filing a GitHub issue might not provide timely support.
Integration and contribution best practices
One method to integrate open source IT tools from GitHub into a production environment is to clone a repository from the desired tool. This process enables the enterprise to make changes to the source code, but also integrate any future changes from the original repository, if needed.
Enterprises can also contribute to an open source tool by submitting pull requests for changes. These changes might ultimately benefit other organizations, as well. This is another advantage of open source software, and the open source community at large: Many contributors improve a tool for the benefit of all.