FINOS Contributor Cheatsheet
Contributor License Agreement (CLA) and DCO
Many FINOS projects use a Contributor License Agreement (CLA) or Developer Certificate of Origin (DCO) so the Foundation can distribute contributed code. Which mechanism applies depends on the project and stage; see Contribution Requirements.
Code contributions must follow the project’s policy (DCO sign-off, CLA via EasyCLA, or—for standards—CSLA). Other activities such as emails, issues, and meetings typically do not require CLA/DCO coverage.
Where a project uses CLA, EasyCLA guides contributors through signing.
Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org
Contributing Issues
Prerequisites
- Have you searched for duplicates on GitHub Issues? A simple search for exception error messages or a summary of the unexpected behaviour should suffice.
- Are you running the latest version?
- Are you sure this is a bug or missing capability?
Raising an Issue
- Create your issue using GitHub Issues
- New issues contain two templates in the description: bug report and enhancement request. Please pick the most appropriate for your issue, then delete the other.
- Please also tag the new issue with either "Bug" or "Enhancement".
- Please use Markdown formatting
liberally to assist in readability.
- Code fences for exception stack traces and log entries, for example, massively improve readability.
Contributing Pull Requests (Code & Docs)
To make review of PRs easier, please:
- Please make sure your PRs will merge cleanly - PRs that don't are unlikely to be accepted.
- For code contributions, follow the existing code layout.
- For documentation contributions, follow the general structure, language, and tone of the existing docs (if available)
- Keep commits small and cohesive - if you have multiple contributions, please submit them as independent commits (and ideally as independent PRs too).
- Reference issue #s if your PR has anything to do with an issue (even if it doesn't address it).
- Minimise non-functional changes (e.g. whitespace).
- Ensure all new files include a header comment block containing the Apache License v2.0 and your copyright information.
- If necessary (e.g. due to 3rd party dependency licensing requirements), update the
NOTICEfile (found in the project's root folder) with any new attribution or other notices
Commit and PR Messages
- Reference issues, wiki pages, and pull requests liberally!
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move button left..." not "Moves button left...")
- Limit the first line to 72 characters or less