Introduction to the SSSD development

Thank you for your interest in contributing to the SSSD project. The development is happening on the SSSD GitHub project using the git version control system and GitHub workflow. SSSD is a large complex project with many dependencies. Feel free to reach us on our community channels to ask for help.

See also

Check out also other GitHub Guides if you are not familiar with GitHub.

There are plenty of guides available to get you started with git and GitHub workflow if you are not yet familiar with these, therefore we don’t go into details here. As an example, we suggest reading the Git Handbook on GitHub. The following steps describe the process in a nut shell to provide you a basic template:

  1. Get familiar with the Coding Style

  2. Create an account on GitHub

  3. Fork SSSD repository

  4. Clone the SSSD repository

  5. Add your fork as an extra remote

  6. Setup an SSSD commit template

  7. Create a working branch

  8. Commit changes

  9. Push your changes to your GitHub repository

  10. Open a Pull Request against SSSD project (using gh, hub or web ui)

  11. Await our review

[.]$ git clone git@github.com:SSSD/sssd.git
[.]$ cd sssd
[sssd]$ git remote add $ghusername git@github.com:$ghusername/sssd.git
[sssd]$ git config commit.template .git-commit-template
[sssd]$ git checkout -b my-changes
[sssd]$ vim change-what-you-need
[sssd]$ git commit
[sssd]$ git push $ghusername my-changes --force
[sssd]$ gh pr create

Additionally, make sure to setup your name contact e-mail that you want to use for the SSSD development. Run the following commands from the local repository location:

[sssd]$ git config user.name "John Smith"
[sssd]$ git config user.email "john.smith@home.com"

Note

This will setup the user information only for the SSSD repository. You can also add --global switch to the git config command to setup these options globally and thus making them available in every git repository.

See also

There are also several SSSD’s side projects that you can contribute into. Some of these projects can help you with testing and debugging your code so we advice you to look at them. Navigate to the SSSD organization on GitHub to see all our projects. The policies, coding style and workflows for contributions are the same.

You can also directly contribute to this documentation by opening pull requests against sssd.io repository.

Feel free to pick up any existing ticket from the issue tracker. We try to mark tickets that don’t require too much existing knowledge with the Easy to fix keyword. You can list those tickets with the following query.

All source code committed to the SSSD is assumed to be made available under the GPLv3+ license unless the submitter specifies another license at that time. The upstream SSSD maintainers reserve the right to refuse a submission if the license is deemed incompatible with the goals of the project.