Skip to main content

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

Project roadmap​

Before you propose a new feature, read the project's pinned roadmap issue so your work matches what the community has already prioritized. To put your organization's requests on that list, comment with them in priority order, or join the roadmap meeting. See the roadmap guidelines for more details.

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 NOTICE file (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