Sudo
GitHub Blog Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Contributing to Sudo

Thank you for your interest in contributing to Sudo! There are a number of way you can help make Sudo better.

Getting started

To get an overview of Sudo, see the README.md file. There are multiple ways to contribute, some of which don’t require writing a single line of code.

Filing bug reports/issues

If you find a bug in Sudo, you may open a GitHub issue or file a Bugzilla bug. If you would rather use email, messages may be sent to the [email protected] mailing list (public) or to [email protected] (private).

For information on reporting security issues, see SECURITY.md.

Include the version of sudo you are using, the operating system and/or distro that is affected, and, if possible, step-by-step instructions to reproduce the problem.

Making changes to Sudo

If you are interested in making changes to Sudo there are two main work flows:

In addition to the GitHub repo, there is also a mercurial repo.

sudo-workers mailing list

If you would like to discuss your changes before submitting a PR, you may do so on the [email protected] mailing list. Otherwise, discussion can simply occur as part of the PR work flow.

Fuzzing

Sudo uses the oss-fuzz project to perform fuzzing. Each commit to the main branch will trigger a short fuzzing run via the CIFuzz action. The history of that action shows successful and failed fuzzing runs.

Longer fuzzing runs occur using the ClusterFuzz infrastructure. These fuzzing runs are longer than those used by CIFuzz. A public list of failures is available.

For more information, see https://www.sudo.ws/security/fuzzing/.

Translations

Sudo uses GNU gettext for its National Language Support (NLS). Strings in sudo and related programs are collected in .pot files that can be translated into multiple languages.

Translations for sudo are coordinated by the Translation Project. If you would like to contribute to Sudo’s translations, please join a translation team at the Translation Project instead of contributing a .po file directly. This will avoid duplicated work if there is already a translation in progress. If you would like to become a member of a translation team, please follow the instructions for translators.

There are currently two translation domains: one for the sudo front-end and a separate one for the sudoers module and related utilities.