Skip to content

Latest commit

 

History

History
executable file
·
89 lines (76 loc) · 5.67 KB

CONTRIBUTING.md

File metadata and controls

executable file
·
89 lines (76 loc) · 5.67 KB

Contributing to FDC3

👍 First off, thanks for taking the time to contribute! 👍

Contributor License Agreement (CLA)

A CLA is a document that specifies how a project is allowed to use your contribution; they are commonly used in many open source projects.

All contributions to all projects hosted by FINOS must be made with a Foundation CLA in place, and there are additional legal requirements that must also be met.

As a result, PRs submitted to the FDC3 project cannot be accepted until you have a CLA in place with the Foundation.

Contributing Issues

Prerequisites

  • Have you searched for duplicates? 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 here.
  • 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.
  • 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 shenanigans).
  • 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 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
  • Please start the commit message with one or more applicable emoji:
Emoji Raw Emoji Code Description
🎉 :tada: initial commit
🚧 :construction: WIP (Work In Progress) commits
🚑 :ambulance: when fixing a bug
🐛 :bug: when identifying a bug, via an inline comment (please use the @FIXME tag in the comment)
🆕 :new: when introducing new features
🎨 :art: when improving the format / structure of the code
📝 :pencil: when performing minor changes / fixing the code or language
☑️ :ballot_box_with_check: when completing a task
⬆️ :arrow_up: when upgrading dependencies
⬇️ :arrow_down: when downgrading dependencies
🐎 :racehorse: when improving performance
🔥 :fire: when removing code or files
🔈 :speaker: when adding logging
🔇 :mute: when reducing logging
📚 :books: when writing docs
🔖 :bookmark: when adding a tag
💎 :gem: new release
:zap: when introducing backward incompatible changes or removing functionality
💡 :bulb: new idea identified in the code, via an inline comment (please use the @IDEA tag in the comment)
❄️ :snowflake: changing configuration
💄 :lipstick: when improving UI / cosmetic
:umbrella: when adding tests
💚 :green_heart: when fixing the CI build
🔒 :lock: when dealing with security
👕 :shirt: when removing linter / strict / deprecation / reflection warnings
:fast_forward: when forward-porting features from an older version/branch
:rewind: when backporting features from a newer version/branch
:wheelchair: when improving accessibility
🌐 :globe_with_meridians: when dealing with globalisation / internationalisation
🚀 :rocket: anything related to deployments / DevOps
🚱 :non-potable_water: when plugging memory leaks
🐧 :penguin: when fixing something on Linux
🍎 :apple: when fixing something on Mac OS
🏁 :checkered_flag: when fixing something on Windows
👜 :handbag: when a commit contains multiple unrelated changes that don't fit into any one category (but please try not to do this!)