Skip to content

Latest commit

 

History

History
60 lines (45 loc) · 4.54 KB

CONTRIBUTING.md

File metadata and controls

60 lines (45 loc) · 4.54 KB

How to Contribute to FedML

FedML is an open and community-driven project. Everyone is welcome to contribute!

Interacting with the FedML Community

Submitting a Bug Report / Feature Request / General Q&A

Before submitting a github issue or a feature request, ensure the issue has not been already reported under Issues, either in the open or closed issues list and it is not currently being addressed by other pull requests. For questions that required to be asnwered in a timely manner it is recommended to ask the Slack community.

If you're unable to find an open issue addressing your problem, then you can open a new one. Please make sure to include:

  • Issue Title: a consice explanation of the issue
  • Description: be as descriptive as possible so that the issue can be reproduced by others. The description needs to contain the following checklist:
    • your environment's fedml library and environment
      • hint: run fedml env
    • your environment's operating system specs
    • your environment's hardware specs
    • the sequence of execution commands creating this issue
    • source code to reproduce the error wherever necessary
  • Label: need to select at least one label from the following list:
    • bug: something is not working at all
    • documentation: improvements or additions to documentation
    • good first issue: if this is the first issue of the user
    • help wanted: if this is an advance feature request and critical help is needed
    • hotfix: a small change to a speficic functionality is needed
    • question: if the issue is an implementation or other open-ended question
    • research-projects: if the issue is related to a research project/question
    • TODO features: if the issue requests the implementation of new feature

Contributing Code - Opening a PR

Before you open a new pull request or contribute code, please make sure you have gone over the documentation, have successfully installed the FedML library and you are able to run a working example:

However, to avoid duplicating work, it is highly recommended before a new PR is opened to search through the issue tracker and pull requests list. One easy way to scan over existing issues and PRs, is by searching using one of the following labels (bug, help wanted, hotfix, TODO features), for instance for an existing TODO features you can look here.

The procedure to start working on a new PR is:

  1. checkout the development branch
  2. make any necessary changes locally and push to a new branch following the convention <username>/<PR_name>
    • username is the name of your GitHub account and PR_name is a succint name describing your PR
  3. once you have pushed your PR you need to request a merge with the development branch

Once the PR is approved, it will be merged into dev/v0.7.0 and subsequently to the main branch in the next FedML Release.