DevOps and open source are both key trends in the software world today. But they are rarely discussed in tandem. Perhaps that should change, because DevOps and open source have much more in common than their proponents may realize.
Defining DevOps and Open Source
Before discussing how DevOps and open source are related, let's define these two terms.
DevOps is an approach to software design, production and management that emphasizes constant collaboration, "agile" technologies and workflows and the reduction of complex applications and tasks into small, manageable parts.
Open source, meanwhile, is a paradigm of source code management and sharing that prioritizes the free availability of source code so that developers and users can extend or customize applications as they see fit.
How DevOps and Open Source are Different
DevOps and open source are not closely related concepts. You can do DevOps without using open source code. You can write or adopt open source programs without adhering to the DevOps philosophy.
It's worth noting, too, that open source (and free software) emerged decades before the DevOps movement. They're not historically intertwined or related
What DevOps and Open Source Have in Common
DevOps and open source are, however, functionally related in many ways. Proponents of both concepts share similar goals and adopt similar strategies.
Consider the following ways in which open source and DevOps overlap or intersect:
- They prioritize flexibility. The DevOps community prefers technology and methodologies that are agile, meaning they can easily be modified, extended or replaced. Open source software is popular for a similar reason: With access to source code, anyone can customize or extend an open source program.
- They help you work in parallel. DevOps proponents often talk about the importance of working in parallel, meaning that different teams (such as developers and software testers) work on different tasks (such as coding and running QA tests) at the same time. Parallel workflows lead to faster results and allow a more efficient use of everyone's time. Open source can also help teams work in parallel because an organization that uses open source code can focus on internal workflows while third-party open source developers work on the upstream open source software.
- They facilitate maximum collaboration. The modern incarnation of the open source movement arose from the idea that software production works best when a large, decentralized community (which Eric S. Raymond famously described as a "bazaar") collaborates on it. DevOps is similar in that it emphasizes the importance of allowing different teams to work side-by-side, rather than leaving them in isolated silos.
- They're good for your career. DevOps expertise and open source familiarity are both high high on the list of qualities employers look for when hiring.
So, while open source and DevOps may not appear to have much in common, they are related in key ways. It's time to make them part of the same conversation.