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

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