Thank you for your interest in contributing to AboutCode! We are a family of open source projects working to uncover metadata about software. We welcome contributions from everyone, whether you're fixing a typo, adding a feature, or helping with documentation.
AboutCode is for everyone. We're here to help if you have questions or need guidance along the way.
Most AboutCode projects use Python and standard development tools. Check the specific project's README for detailed requirements.
# Fork the repository on GitHub, then:
git clone https://github.com/YOUR_USERNAME/PROJECT_NAME.git
cd PROJECT_NAME
# Follow project-specific setup instructions in the README# Most projects use:
pytest
# Check the project's README or CI configuration for specificsNew to open source? No problem! We maintain good first issues across our projects to help you get started.
- Report a Bug: Open an issue with detailed steps to reproduce
- Fix a Bug: Check existing issues labeled
bug - Request a Feature: Open an issue to discuss before implementing
- Improve Performance: Profile first, then optimize with benchmarks
Important: Keep PRs small and focused. One logical change per PR makes review faster and merge easier.
Documentation is critical! Help us by:
- Fixing typos or clarifying confusing sections
- Adding examples or tutorials
- Improving API documentation
- Writing how-to guides
See our documentation contribution guide for technical details.
- Help answer questions on Gitter
- Join our community meetings
- Share your use case or provide feedback
- Improve translations
Fork the repository on GitHub, then clone your fork locally.
git checkout -b fix/issue-123-short-descriptionUse descriptive branch names: fix/, feat/, docs/, etc.
KEY PRINCIPLE: Small PRs
- Focus on one logical change per PR
- If fixing multiple issues, create separate PRs
- Smaller changes = faster reviews = quicker merges
Code Style:
- Match the existing style of the project you're contributing to
- Run the project's linter before committing
- Follow PEP 8 for Python projects (most AboutCode projects)
- Add tests for new features or bug fixes
When referencing issues in your commits or code:
- In commit messages within the same repo: Use shorthand like
Fixes #123 - In code comments or cross-repo references: Use full URLs like
https://github.com/aboutcode-org/aboutcode/issues/123
This prevents broken references when code moves between repositories. See our issue referencing guidelines for details.
Follow our commit message guidelines:
- Use the imperative mood: "Add feature" not "Added feature"
- Keep the subject line under 50 characters
- Add a blank line before the body
- Explain what and why, not how
- Reference issue numbers
Example:
Add support for SPDX 2.3 format (#456)
The previous implementation only supported SPDX 2.2. This adds
parsing support for the new 2.3 fields while maintaining backwards
compatibility.
Fixes https://github.com/aboutcode-org/aboutcode/issues/456
Signed-off-by: Your Name <your.email@example.com>
We use the Developer Certificate of Origin (DCO). Add a Signed-off-by line to your commits:
git commit -s -m "Your commit message"The -s flag automatically adds your sign-off.
git push origin fix/issue-123-short-descriptionThen create a Pull Request on GitHub:
- Fill out the PR template
- Link to the related issue
- Explain what changed and why
- Add screenshots for UI changes
- Address reviewer comments promptly
- Ask questions if feedback is unclear
- Push additional commits to your branch as needed
- Thank reviewers for their time!
Different AboutCode projects may have additional requirements:
- ScanCode Toolkit: Comprehensive code scanning
- VulnerableCode: See importer/improver guides
- ScanCode.io: See pipeline development
- DejaCode: Enterprise license compliance
Check each project's CONTRIBUTING.md or documentation for specifics.
By contributing to AboutCode, you agree to license your contributions under the same license as the project (typically Apache-2.0). You also certify that you have the right to make the contribution under the Developer Certificate of Origin.
- General questions: Ask on Gitter
- Bug reports: Open an issue in the relevant project
- Security issues: Email security@aboutcode.org (do not open public issues)
Thank you for contributing to AboutCode! 🎉