How to Contribute to DeepSpeed

Updated

To contribute to DeepSpeed, follow the project's contributing guide for formatting and testing expectations, and sign off each commit with a Developer Certificate of Origin (DCO). Most contributions require the DCO, and because it is per-commit, every commit in your pull request needs its own sign-off. All contributors are also expected to follow the project's Code of Conduct. The sections below cover what each requirement means and how to meet it.

Before You Start

  • Read the contributing guide. The DeepSpeed project points contributors to its contributing guide for details on formatting, testing, and other expectations. Check it before writing code so your change matches the project's conventions.
  • Expect a Code of Conduct. The site lists a Code of Conduct alongside the Contributor License Agreement; it applies to how contributors interact in the project.
  • Plan for per-commit sign-off. The DCO requirement is attached to each commit, not to the pull request as a whole, so build the sign-off into your workflow from the first commit.

The Developer Certificate of Origin (DCO)

The DCO is a statement that you agree to the terms published at https://developercertificate.org for that particular contribution. DeepSpeed's site links to the Linux Foundation DCO wiki page for the text.

The key operational detail: DCOs are per-commit, so each commit needs one. If you add a second commit to fix a typo or address review feedback, that commit needs its own sign-off too.

How to sign off a commit

Git has a built-in sign-off flag that appends a Signed-off-by line to the commit message:

git commit -s -m "Your commit message"

Expected result: the commit message ends with a line like Signed-off-by: Your Name <[email protected]>, using the identity configured in your Git settings.

If you forgot the flag, you can amend the most recent commit:

git commit --amend --signoff

Verify before you push

Check that every commit in your branch carries a sign-off:

git log --format="%h %s%n%b" origin/main..HEAD

Look for a Signed-off-by: line under each commit. If one is missing, amend or rebase that commit with the sign-off before opening or updating your pull request.

Common Pitfalls

Pitfall What happens Fix
Only the first commit is signed off Later commits lack the per-commit DCO Amend or rebase each commit with --signoff
Sign-off name/email doesn't match Git identity The sign-off may not be accepted as your certification Set user.name and user.email correctly, then re-sign
Skipping the contributing guide Formatting or testing expectations may be missed Read the guide before submitting
Ignoring the Code of Conduct Conduct expectations apply to all contributors Review it before participating

After You Submit

The site notes that DeepSpeed welcomes contributions and directs contributors to the contributing guide for more details on formatting and testing. It also mentions that if you'd like your model added to the adoption list, you can submit a PR — the same contribution process applies.

For questions about a specific change, the project's publications and videos pages linked from the site can help you understand the codebase areas you're touching, such as ZeRO, 3D-Parallelism, and DeepSpeed-MoE.