The Docker open source project is among the most successful in recent history by every possible metric: number of contributors, GitHub stars, commit frequency, etc. Managing an open source project at that scale and preserving a healthy community doesn’t come without challenges.
This post is the first of a 3-part series on how we deal with those challenges on the Docker Engine project, starting with the most important aspect of all: the people.
Open Source Culture
Do you know what Docker’s IPv6 support, user namespaces, or the recently added
docker update command have in common? They have been contributed by members of community.
There are as many open source cultures as there are open source projects, and the spectrum is extremely wide ranging from “projects with open code”, to projects that foster and encourage outside participation.
One of the things that I love the most about the Docker project is how much effort maintainers put into creating a welcoming environment. One part of it is defining the right processes supported by the right tooling (more on that in the upcoming posts in this series), but far more importantly, this is about being helpful, positive, and supportive.
For every pull request, Docker maintainers will work their best to “reach a yes”. Of course we don’t merge everything we receive, but we do merge 80% of pull requests! And an important reason for that is because whether you are unfamiliar with git, with Go, or with Docker itself, maintainers will help you get to the point where we can push the green button. We know how intimidating it can be as a first time contributor to open source because we have all been there: we hope we can encourage more people to become open source citizens this way, whether on our projects or on others.
The Shape of the Community
It won’t come as a surprise to anyone that a fast-growing open source project with that much attention from the industry naturally attracts commercial interests, and that the Docker project is backed by the Docker Inc company. In that context, culture and respect are essential to preserve a healthy community and a welcoming environment for professionals and hobbyists alike.
And the numbers are here to tell! In the past year, 58% of pull requests submitted to the Docker Engine were authored by people who are neither maintainers nor Docker employees, 12% by maintainers working for other companies, and 30% by Docker employees themselves.
Putting It All Together
This is how the Docker Engine is made:
So really the project would be nothing without its community, and although the 1,962 people who contributed to the project so far would deserve their picture on this post, we can start by giving a shout-out the some of our outstanding maintainers, past and present:
Even with the most amazing maintainers, some amount of process is required to keep things going smoothly given this huge activity, and this is what the next post in this series will be focusing on. In the meantime, if you want to join the fun, check out one of our numerous repositories, read our contributing guides, or come chat on IRC Freenode #docker-dev!
Learn More about Docker
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Read the Docker 1.11 Release Notes
- Subscribe to Docker Weekly
- Sign up for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Register for DockerCon 2016
- Watch DockerCon EU 2015 videos
- Start contributing to Docker