Quickstart code contribution
Estimated reading time: 2 minutesIf you’d like to improve the code of any of Docker’s projects, we would love to have your contributions. All of our projects’ code repositories are on Github.
If you want to contribute to the moby/moby
repository you should be familiar
with or interested in learning Go. If you know other languages, investigate our
other repositories—not all of them run on Go.
Code contribution workflow
Below is the general workflow for contributing Docker code. If you are an experienced open source contributor you may be familiar with this workflow. If you are new or just need reminders, the steps below link to more detailed documentation in Docker’s project contribution guide.
-
Get the software you need.
This explains how to install a couple of tools used in our development environment. What you need (or don’t need) might surprise you.
-
Configure Git and fork the repo.
Your Git configuration can make it easier for you to contribute. Configuration is especially key if you are new to contributing or to Docker.
-
Learn to work with the Docker development container.
Docker developers run
docker
indocker
. If you are a geek, this is a pretty cool experience. -
We created a filter listing all open and unclaimed issues for Docker.
-
If you change or add code or docs to a project, you should test your changes as you work. This page explains how to test in our development environment.
Also, remember to always sign your commits as you work! To sign your commits, include the
-s
flag in your commit like this:$ git commit -s -m "Add commit with signature example"
If you don’t sign, Gordon will remind you!
-
If you make a change to fix an issue, add reference to the issue in the pull request. Here is an example of a perfect pull request with a good description, issue reference, and signature in the commit:
We also have checklist that describes what each pull request needs.
-
Participate in the pull request until all feedback has been addressed and it’s ready to merge!