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.
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:
Get familiar with the Coding Style
Create an account on GitHub
Fork SSSD repository
Clone the SSSD repository
Add your fork as an extra remote
Setup an SSSD commit template
Create a working branch
Push your changes to your GitHub repository
Open a Pull Request against SSSD project (using
hubor web ui)
Await our review
[.]$ git clone firstname.lastname@example.org:SSSD/sssd.git [.]$ cd sssd [sssd]$ git remote add $ghusername email@example.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 "firstname.lastname@example.org"
This will setup the user information only for the SSSD repository. You can
--global switch to the
git config command to setup these
options globally and thus making them available in every git repository.
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
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.