Docker is open source, but not all of it
Docker the container platform has two parts: Docker Engine, which is fully open source under the Moby Project, and Docker Desktop, which includes proprietary tools and requires a paid subscription for commercial use. If you're using Docker Engine directly on a Linux server, you're working with free, open source software. If you're using Docker Desktop on Windows or Mac, or running Docker in a business setting, the licensing rules change.
The distinction matters because "open source" doesn't mean "free to use everywhere." You can read the code, modify it, and run it without paying anything — but Docker Inc. (the company behind Docker) has added licensing restrictions around Docker Desktop that apply to businesses above a certain size.
Key Takeaways
- Docker Engine, the core container runtime, is open source under the Moby Project and free for any use.
- Docker Desktop, the graphical application for Windows and Mac, requires a paid subscription for companies with more than 250 employees or over $10 million in annual revenue.
- You can use Docker Engine on Linux servers without any licensing restrictions, even in commercial settings.
- Open source doesn't mean free for business use — Docker Inc. added commercial licensing terms to Docker Desktop in 2021.
What Docker Engine actually is
Docker Engine is the software that actually runs containers. It's the part that takes your application code, packages it with its dependencies, and isolates it so it runs the same way on any machine. This piece is open source under the Moby Project, which Docker Inc. maintains on GitHub.
Because Docker Engine is open source, you can download the source code, read it, modify it, and redistribute your changes. You can run it on production servers, use it in commercial applications, and never pay Docker Inc. a dollar. This is true whether you're a solo developer or a Fortune 500 company. The open source license (Apache 2.0) places no restrictions based on company size or revenue.
Docker Desktop and the commercial licensing change
Docker Desktop is the graphical application you install on Windows or Mac. It bundles Docker Engine with a user interface, Kubernetes support, and other developer tools. In 2021, Docker Inc. added a licensing requirement: companies with more than 250 employees or more than $10 million in annual revenue must pay for a Docker subscription to use Docker Desktop.
This doesn't affect Docker Engine itself — that remains free and open source. But if your company falls into that size category and your developers use Docker Desktop on their laptops, you need a paid subscription. Individual developers, small teams, and nonprofits can use Docker Desktop without paying. The subscription costs vary by plan, starting around $5 per user per month for the basic tier.
This licensing change created confusion because Docker Desktop is built on open source Docker Engine, but Docker Inc. added proprietary restrictions on top. You're still getting open source software, but with commercial licensing terms attached to the packaged version.
Open source alternatives if Docker Desktop licensing is a problem
If your company is large enough to need a Docker Desktop subscription but wants to avoid the cost, you have options. Podman, made by Red Hat, is a container runtime that works almost identically to Docker Engine and is fully open source with no commercial licensing restrictions. Colima is another open source alternative that runs Docker Engine on Mac without the Docker Desktop licensing requirement.
On Linux, you don't face this problem at all — you install Docker Engine directly and never interact with Docker Desktop. The licensing restrictions only apply to the packaged Docker Desktop application on Windows and Mac.
Why Docker Inc. added commercial licensing
Docker Inc. is a company that needs to make money. Docker Engine is free and open source, which means the company can't charge for the core software. Docker Desktop is how they generate revenue from professional developers and companies. The 2021 licensing change was an attempt to ensure that large companies using Docker Desktop contribute financially to its development.
This is a common pattern in open source: the software itself is free, but the packaged, user-friendly version comes with commercial terms. It doesn't change the fact that Docker Engine is genuinely open source — it just means Docker Inc. has added a business model on top.
What you can and can't do with Docker's open source code
Because Docker Engine is open source under the Apache 2.0 license, you can read the source code on GitHub, modify it for your own use, and run modified versions without permission. You can also redistribute your changes, as long as you include the original license and give credit to Docker Inc.
You cannot claim you wrote Docker, remove the license notice, or use Docker's trademarks without permission. You also can't hold Docker Inc. liable if something breaks. These are standard open source license terms, not unique to Docker.
Frequently Asked Questions
Do I have to pay for Docker if I use it on a Linux server?
No. Docker Engine on Linux is fully open source and free for any use, including commercial applications. There are no licensing restrictions based on company size or revenue. You only encounter Docker Desktop licensing if you're using the graphical application on Windows or Mac.
Can I use Docker Desktop for free if my company is small?
Yes. Docker Desktop is free for individuals, small businesses with fewer than 250 employees, nonprofits, and educational institutions. The paid subscription only applies to companies above those thresholds. You can check Docker's licensing page to confirm your company's status.
What's the difference between Docker Engine and Docker Desktop?
Docker Engine is the container runtime — the actual software that runs containers. Docker Desktop is a packaged application for Mac and Windows that includes Docker Engine plus a graphical interface and other tools. Engine is open source and free everywhere; Desktop has commercial licensing restrictions for large companies.
If I modify Docker's open source code, do I have to share my changes?
No. The Apache 2.0 license allows you to modify Docker Engine and keep your changes private. You only have to share modifications if you redistribute the software. If you're using it internally, you can modify it however you want without sharing the code.
Is Podman a complete replacement for Docker?
Podman works almost identically to Docker for most container tasks and is fully open source with no commercial licensing. However, some Docker-specific tools and workflows may not work exactly the same way. For most development and production use cases, Podman is a viable alternative if Docker Desktop licensing is a concern.