What’s driving Docker’s popularity? There are lots of obvious factors. But here’s one that receives less attention: Docker is free and open source. Here’s why that matters more than people may realize.
If you’re familiar with Docker, you probably already recognize the technical benefits of Docker containers. They make applications more portable and scalable. They optimize resource usage by making it possible to run many applications within modular environments on top of a single host. They can be used to turn complex applications into easily managed microservices apps.
Those are all good advantages associated with Docker. But as Docker adoption continues to soar, I can’t help but wonder whether the platform would be enjoying so much popularity if Docker were not open source.
The Importance of Being Open Source
After all, Docker’s open-source nature provides a number of benefits from both a software development and business standpoint. They include:
- Docker is easy to extend with new functionality because anyone can contribute code.
- Docker’s open nature makes it simple to write plugins.
- It’s easier to test and optimize resource usage when the code for the system you’re running is open. For example, if you run performance tests and find problems, Docker’s open code allows you to pinpoint the problem.
- Organizations concerned about being locked into a particular vendor’s platform have less reason to worry when they use an open-source solution such as Docker.
Docker vs. Virtual Machines
It’s also worth noting that Docker’s open-source nature is a key differentiator between Docker and virtual machines. Yes, some virtual machine hypervisors are open source, such as KVM. But most are partially or fully closed source, such as VMware and VirtualBox. (The latter’s core platform is open source, but some VirtualBox extensions that are important for production use are not.)
Using closed-source virtual machines limits extensibility and raises the specter of vendor lock-in. No one wants to find out that the whole data center will have to be updated because VMware is ending support for a virtualization product, and there’s nothing you can do about it because it’s closed source.
In an age when the question on every admin’s mind is whether to migrate workloads from virtual machines to containers, the fact that Docker is open source is a significant point in Docker’s favor.
To be sure, open-source software is not a magic bullet. It has its drawbacks, and it sometimes is not as “free” as companies would like because it requires paid support plans to use reliably in production.
Plus, the fact that Docker has not played completely nicely with community-supported initiatives, such as the OCI‘s efforts to create universal container standards, is a reminder that having an open-source code base does not commit a project to being totally open in all ways. If Docker were to cease complying with open standards, its value as an extensible and flexible platform would decrease.
Yet the fact remains that Docker is built using open-source code. That characterstic affords many benefits to users, especially those weighing Docker containers against virtual machines.