Thanks for showing interest in contributing to AboutCode org projects. To start making contributions to the project of your interest:
- Visit the repository of the project you are interested in.
- Try to understand how the project of your interest is used by end users. For example, in case of scancode-toolkit, this might be running license scans on your personal projects. You can find out how to set up the project as a user from the project's README itself.
- Time to put on the hacker's goggles ! Set up a development enivironment, so you can make changes locally and try them out. Most of our projects provide these instructions in their README or CONTRIBUTING document.
- All of our projects have their own issues page.
- Try filtering the issues by labels like 'good first issue', 'easy', 'help' etc to find easy issues to work on. See how to do this at GitHub docs . Remember it is not a hard and fast rule to find issues this way. In fact it is highly encouraged to skim through other issues as well, this will strengthen your understanding of the project and it's challenges.
- If you don't find anything suitable to work on, don't worry! Try searching the project for words like 'TODO' or 'FIXME'.
- Finally make sure no one else is working on the ticket. Let others know that you are working on an issue/'TODO' by leaving a message in the issue or in the chat of the project.
- Make a branch with name related to what you are working on.
- Add unit tests depending upon how complex/large your change is. This helps the maintainers to quickly review your changes. Use existing tests of the project as a reference while making your own tests.
- Follow our coding style, which is very similar to PEP8 except longer line limit of 100 characters. Use
black -l 100 <file_you_changed>
on the files you changed. - Use good commit messages, see writing good commit messages.
- Run tests and style checks before opening a pull request. Instructions on how to do this is present in the README or CONTRIBUTING document of the particular project.
- Be brief about what your change is and how it is implemented.
- Link the ticket/issue(if any) which is being solved.
Leave a message on the issue or chat about the problem you are facing. Be brief to help the other commiters to help you.