Skip to content

Latest commit

 

History

History
111 lines (66 loc) · 5.72 KB

CONTRIBUTING.md

File metadata and controls

111 lines (66 loc) · 5.72 KB

How to Contribute

Where can I contribute?

Anyone can contribute to CHAOSS on any of our communication channels. See https://chaoss.community/participate/.

  • If you think something should be done (including a contribution by yourself), please open an issue in this repository. That will allow others to learn that you think some work should be done, and can comment on that. If you intend to do the job yourself, please say that.

  • Everyone with an opinion on the matter should comment on the issue, explaining how they support the idea, propose some change to it, or think it is not worth / it is not the moment for doing it.

  • If comments are positive, and a certain consensus is achieved, propose a pull request with the changes to the repository (new document, changes to existing documents).

  • Everyone with an opinion on the pull request should comment on it, and detailed reviews should be done, maybe asking for new versions of the pull request. Once comments and reviews are positive, the change will be merged in the repository.

  • If consensus is not reached at any of these points, or the process stalls, it can be raised during one of the Common Working Group meetings, or in the mailing list, to try to unblock it.

Which channel should I use?

  1. Slack channel #data-science for general discussions and questions
  2. Issue submission for discussions about future work or bugs / issues with existing work
  3. Pull requests to contribute directly to this repository (after discussing the work in meetings or an issue)

Conversations and high-level contributions

Strategic directions, clarifications of scope, and ideas in an early stage are best discussed on the #data-science Slack channel or in meetings. See https://chaoss.community/participate/.

Bug report and feature request contributions (issue)

Bug reports and specific feature requests are best discussed in an issue on the repository they pertain to.

Code or document change contributions (pull request)

In this process, make sure your GitHub account is setup fork then locally clone the repo:

git clone [email protected]:<your-username>/<repository>.git

Create a feature branch in your local repository:

git checkout -b <branch>

Make your change and commit the change:

git add <changed file>
git commit -m "<description of change>"

Push to your fork on GitHub:

git push origin <branch>

Then, submit a pull request on GitHub to the CHAOSS repository.

At this point you are waiting on the CHAOSS repository maintainers. They will comment on your pull requests within three business days (and, typically, one business day).

The CHAOSS repository maintainers will report on open issues and pull requests on the calls and via the mail list to elicit feedback from the community.

Committing back to the repository

DCO and Sign-Off for contributions

The CHAOSS Charter requires that contributions are accompanied by a Developer Certificate of Origin sign-off. For ensuring it, a bot checks all incoming commits.

For users of the git command line interface, a sign-off is accomplished with the -s as part of the commit command:

git commit -s -m 'This is a commit message'

For users of the GitHub interface (using the "edit" button on any file, and producing a commit from it), a sign-off is accomplished by writing

Signed-off-by: Your Name <[email protected]>

in a single line, into the commit comment field. This can be automated by using a browser plugin like DCO GitHub UI.

Steps to use the DCO browser plugin

The DCO browser plugin is a handy tool to automatically sign commits created using GitHub. To enable this plugin:

  • Go to the plugin page on the chrome web store.
  • Alternatively, you could go to the firefox addon page to add the extension to your browser.
  • Once you add the extension, right click on the extension in the toolbar of your browser and select Options.
  • A dialog box will open up as shown below. Fill in your GitHub name (not the handle) and email-id.

Screenshot of settings for DCO GitHub UI

  • Then, whenever you perform a commit on GitHub, the line Signed-off-by: Your Name <Youremail> will automatically appear in the commit description while making changes to a file as shown in the example below. A commit message can be added to the lines above the auto-generated sign-off.

Screenshot of GitHub UI with auto-generated sign-off in commit message

  • Once you perform the commit and send a pull request, the commit will be verified and approved by the DCO bot.

Screenshot of successful DCO check

Who is a CHAOSS repository maintainer?

The README.md of the repository contains a list of chairs, maintainers, and other roles.