The Moby Project Is Not Docker Trying to Switch Their Brand
Moby Project is to Docker as Electron is to VSCode and Atom. Both are frameworks that let you build completely different products.
There is a lot of confusion in the community when it comes to what the Moby Project is.
Recently, Docker redirected their GitHub repo from docker/docker to moby/moby . It would be easy to assume that Docker is about to make a big brand change because this happened during DockerCon 2017. But remember, assumptions are a dangerous thing.
Docker as a product and a brand is not going away. You will still be able to install Docker Community and Enterprise Edition just like you did before.
End users will not notice any difference in the product, other than perhaps seeing sprinkles of the Moby Project being mentioned in the documentation or the Moby Project being mentioned in technical write ups as the implementation details of Docker itself.
# You Can Compare the Moby Project to Electron
I think a great analogy here would be relating what Electron is to VSCode and Atom.
In case you didn’t know, VSCode and Atom are both popular code editors built using the Electron framework. Electron is a framework that lets you build desktop GUI applications with components originally designed for web apps.
Plot twist: Electron was called Atom Shell back in the day, but they renamed it to Electron to decouple it from the Atom brand.
The relation here is that Electron is a toolset that you can use to build many different products, but they are all based on the same framework.
The Moby Project is doing the exact same thing. You’ll be able to build your own containerized systems. Docker itself will be built from Moby Project components.
# Why Didn’t Docker Do This from Day 1?
If you’re a software developer, I’m sure I don’t need to tell you how hard it is to get proper abstractions in place from day 1. That’s just not how software development works.
We tend to build things as monoliths at the start because it lets us start using it as soon as possible. You can ignore major design decisions and just start hacking away on your code.
Eventually you start to see patterns and ways to break up your code into internal libraries. After more time, you see even larger patterns and you can begin to spin off external packages.
I don’t know exactly why Docker is making this move, but if I were to guess, they probably hit the point where they detected enough patterns that they realized it’s possible to build completely different products than Docker with the same underlying tools and technology that Docker uses.
This is very similar to how you can use a web framework like Ruby on Rails to build many different types of web applications. The core technology (Rails) is the same but the user facing end product (your web app) is completely different and unique.
# Was Creating the Moby Project a Good Move?
My opinion is yes, because if it gets well adopted then everyone wins.
Docker developers will get to understand user requirements at a faster rate if more people are using the same framework to build their systems. They will also have more people helping fix bugs and address issues. In the end, they will have a higher quality code base to work with.
Docker end users (like you and me) will get kick ass features implemented faster and also have a more polished experience due to multiple products using the same Moby Project framework.
Non-Docker product developers also benefit because they can use battle hardened tools and libraries that everyone else is using to build their containerized systems. This will allow developers to create their own solutions much faster, and will spark up more competition in the container field.
I think it’s a really smart move by Docker to start the Moby Project because they probably realized that containers are here to stay long term. It would be naive to think that other companies won’t build competing products. If the Moby Project gains traction, now they are a big part of the entire container ecosystem, instead of potentially becoming irrelevant 10 years from now.
I’m optimistic about how this will turn out for both Docker and the community.
What do you think about the Moby Project? Was it a good move? Let me know below.