DevOps pros and open source: Culturally connected
Source – devopsagenda.techtarget.com
DevOps pros love open source software partly for technical reasons. They also love open source because open source software overlaps culturally with DevOps. Understanding where open source and DevOps intersect leads to a better understanding of DevOps itself.
If you look around the DevOps world, open source software is everywhere. Platforms like Jenkins, Ansible, Docker and Nagios — to name just a handful of examples — form part of the toolchain of DevOps organizations far and wide.
That does not mean that DevOps pros only use open source. Plenty of companies in the DevOps space are building software that is partially or completed closed source. Docker Swarm is closed, for example. As are the different components of Amazon Web Services that have grown so popular with DevOps organizations.
Still, by and large, if you give a DevOps engineer the choice between a closed source and an open source tool — and both tools are equal in functionality — it’s a safe bet that he or she will choose the open source tool.
Why does DevOps love open source
Part of the answer involves the practical reasons that make open source popular: It’s free of concerns about vendor lock-in, easier to customize, usually free of cost and so on.
But I think that the connection between DevOps and open source runs deeper than just practical considerations. There’s a profound conceptual and philosophical overlap between DevOps and open source culture.
After all, the DevOps community and the open source community both prioritize the following.
DevOps engineers want to deliver continuously. Open source advocates like to push out new code quickly, too. By sharing code freely and relying on a community of developers to implement new features, they can churn out updates at a dizzying pace. Fast releases were one of the factors that helped Linux to take off in the 1990s.
If there’s one thing both DevOps folks and open source fans hate, it’s waste. DevOps pros spend a long time optimizing application performance and ensuring that their infrastructure is not over- or underprovisioned.
In similar fashion, open source developers share code partly because it’s just more efficient. Rather than having to duplicate software that someone else has already written, you can use open source code to borrow from others and focus on writing something new, which is a much more efficient use of your time.
DevOps and open source engineers alike tend to believe that people should be judged on merit alone. If you want to join an open source community, chances are that no one cares where you live, which language you speak or which degrees you have. The only thing that matters is whether you can contribute useful code.
In a similar way, DevOps emphasizes the importance of placing less emphasis on official titles and more on allowing people to get jobs done based on their abilities. And DevOps thinkers don’t hesitate to argue that “not all opinions are equal in the DevOps community.”
The open source (and free software) community is famous for its quarrels and strong opinions. From Linus Torvalds referring to other people’s code as “brain damage” to Richard Stallman’s headline-making comments about Steve Jobs’s death, the open source (and free software) community is not one to hold back its opinions.
DevOps professionals may not generate quite as much controversy, but they still tend to have deeply held beliefs. If you disagree with a DevOps engineer about the best continuous integration server or container orchestrator, for example, be prepared for an earful about why you’re wrong.
To be sure, there are DevOps pros out there who don’t like open source, and not all open source practices and ideas parallel the DevOps world. Still, there are strong cultural connections between open source and DevOps — certainly much stronger ones than there are between DevOps and closed source.