From its launch, Docker Desktop was a free product letting us easily install Docker on macOS and Windows machines. Docker doesn't run natively on either, and previously required serious hackery to get Docker running. But, the company behind Docker recently announced changes including describing Docker Desktop as being available for individual developers, education, open source, and small businesses. That's led to some outcry, and calls to abandon using Docker.
Docker is an excellent tool for packaging applications for deployment on hardware systems small and large. It revolutionized DevOps, bringing powerful techniques within easy reach of all developers. It is widely used, and forms a huge part of the foundation upon which Kubernetes runs.
Clearly the company behind Docker, namely Docker Inc, needs to have income from which the business will survive. Do any of us want to see support behind the open source Docker projects to vaporize?
Over the past year or so, Docker Inc switched to a "freemium" model. While most aspects of the Docker ecosystem are free, others require payments. Lots of open source software projects are supported by companies offering paid-for addons.
One critical service operated by Docker Inc is Docker Hub, the primary container registry for the Docker ecosystem. There are over 100,000 container images hosted on Docker Hub. Obviously Docker Inc faces a serious cost for operating that service.
docker pull request costs Docker Inc some resources, as does operating the build machines, and the disk space for storing container images. Does it make sense for Docker Inc to support unlimited free use of its resources? The need to limit that cost is a strong incentive for Docker Inc to have adopted the freemium model.
The base software of the Docker ecosystem is open source, and is remaining free.
The most recent announcement came on August 31, 2021. It introduces new subscription terms for the use of Docker Desktop. Docker Desktop had previously been 100% free zero cost software, but Docker Inc now requiring a fee from organizations over 250 employees.
Notice that the fee schedule covers primarily services available on Docker Hub. This includes private repositories, larger allotment of docker image pulls and image scans, and so forth.
But... switching Docker Desktop from being free to being paid is causing, if not an uproar a certain amount of consternation. At the extreme end is a recommendation to not use Docker ever again. The reasoning? That what's to stop Docker Inc to, sometime in the future, change it again to remove all free versions of Docker Desktop? Sorry, that doesn't quite make sense. Other commentators have a less extreme take on this change. It makes sense to pay a fee, they suggest, for software that is providing business value.
Why Docker Inc won't lock down Docker to require fees for every use of Docker
Ever hear of a "loss leader"? That is, a business puts something out at a very low price, or free, solely to draw in customers who will then buy other products or services.
Think of the open source side of the Docker ecosystem as a loss leader. It's not a perfect fit, but think about it.
What makes Docker Hub so valuable is that so many of us are happily using Docker based tools. We therefore turn to Docker Hub as a source of container images. And that makes publishing to Docker Hub attractive for those distributing software. The more people using Docker Hub, the more revenue Docker Inc receives from those who use paid Docker Hub services.
What would happen if, instead, Docker Inc tried to close down the Docker ecosystem to charge fees for even more things? The uproar/consternation referred to earlier would turn into rage, and there would be talk of a hostile fork.
Most (or all) of the Docker ecosystem is currently open source software available through Github. One tenet of open source software is freedom, including the freedom to make a fork of an open source project. This has happened several times in the past with other projects. Here's a few examples:
- LibreOffice is a hostile fork of OpenOffice, and is also much better than OpenOffice.
- Joomla is a content management system launched as an hostile fork from a previous system that was taken closed source.
- NextCloud is a fork of OwnCloud.
- MariaDB is a fork of MySQL.
In other words, the Docker ecosystem is important enough that, if Docker Inc were to threaten the open source projects, there would be a hostile fork well underway by the end of the day.