Skip to content

Latest commit

 

History

History
103 lines (71 loc) · 5.4 KB

CONTRIBUTING.md

File metadata and controls

103 lines (71 loc) · 5.4 KB

Contributing to Eclipse Winery

Contributing Issues

Please check https://github.com/eclipse/winery/issues and its forks (OpenTOSCA: https://github.com/opentosca/winery/issues; RADON: https://github.com/radon-h2020/radon-gmt/issues) whether the issue is already open. If not, just open an issue at https://github.com/eclipse/winery/issues or its respective fork. In case you are affiliated with the OpenTOSCA ecosystem (e.g., a student of the University of Stuttgart), we ask you to open an issue at https://github.com/opentosca/winery/issues/.

Contributing Patches

We love seeing people contribute patches to the Winery project and the process is relatively simple. In general, we follow GitHub's fork & pull request model. Since we are an Eclipse project, we have requirements on commits. These requirements are modest but very important to the Eclipse Foundation and the intellectual property of the open source project. The following is the general process by which we operate:

  • You must have a signed Eclipse Contributor Agreement.

  • This agreement must be under the same email address as the Git pull request originates from.

  • The commit must be signed.

  • When the pull request is made, a git-hook will validate the email address.

    • If the result is a green checkbox then the Winery committers can review the pull request.
    • If the result is a red X then there is absolutely nothing the Winery committers can do to accept the commit at this point.
  • This may not be the final form a commit will take, there may be some back and forth and you may be asked to re-issue a pull request.

Not everything is specifically relevant since we are at GitHub but the crux of things are detailed there. The CLA is critically important to the process.

Sign a Eclipse Contributor Agreement (ECA)

The Eclipse Foundation has a strong Intellectual Property policy which tracks contributions in detail to ensure that:

  • Did the contributor author 100% of the content?
  • Does the contributor have the rights to contribute this content to Eclipse?
  • Is the contribution under the project's license(s) (i.e., EPL and ASL in the case of Winery)

Thus a contributor needs to e-sign a Contributor Agreement regardless of how their contribution patch is provided. For more explanation see the Eclipse ECA FAQ. You can familiarize yourself with the Eclipse wiki page on contributing via Git. In order to have a pull request accepted by any Eclipse project you must complete this agreement.

Signing an ECA

Log into the Eclipse projects forge and complete the form. Be sure to use the same email address when you create any Git commit records. You will need to create an account with the Eclipse Foundation if you have not already done so); click on "Eclipse Contributor Agreement".

Configuring Git

GitHub has copious amounts of quality documentation on how to interact with the system and you will minimally need to configure the user.email property. Check out the guide on GitHub for more information.

Please follow http://eclipse.github.io/winery/ to setup a git hook, which ensures that each commit contains a Signed-off-by: line.

Configuring GitHub

Please ensure that the email address you use at Eclipse is the same as the "Public email" configured at https://github.com/settings/profile.

Making the Commit

In the case of multiple authors, please add each additional author to commit message.

Co-authored-by: Some Bodyelse <[email protected]>

For more information, see https://www.eclipse.org/projects/handbook/#resources-commit.

Contributing via GitHub PullRequests

Pull requests are very much a GitHub process so best explained by GitHub. See also https://help.github.com/articles/configuring-a-remote-for-a-fork/.

A step-by-step guide is available at http://eclipse.github.io/winery/dev/ToolChain.

Background Information

See the Eclipse Legal Process Poster and Project Code Contributions in the Eclipse Project Handbook.

This is howto is based on the Jetty Contributing Patches documentation.