-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify and simplify contribution rules #552
Closed
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,19 @@ functionality for IDE-like applications, like a file system or a navigator | |
view, most functionality doesn't necessarily need to be put into the core | ||
repository but can be developed separately. | ||
|
||
* [How Can I Contribute?](#how-can-i-contribute) | ||
* [Asking Questions](#asking-questions) | ||
* [Reporting Bugs](#reporting-bugs) | ||
* [Reporting Feature Requests](#reporting-feature-requests) | ||
* [Pull Requests](#pull-requests) | ||
* [Contributions](#contributions) | ||
* [Reviewing](#reviewing) | ||
* [Signing off](#signing-off) | ||
* [Landing](#signing-off) | ||
* [Becoming a Committer](#becoming-a-committer) | ||
* [Coding Guidelines](#coding-guidelines) | ||
* [Developer's Certificate of Origin 1.1](#developers-certificate-of-origin-11) | ||
|
||
## How Can I Contribute? | ||
|
||
In the following some of the typical ways of contribution are described. | ||
|
@@ -42,63 +55,66 @@ an issue. Simply choose the issue you would want to work on, and tell everyone | |
that you are willing to do so and how you would approach it. The team will be | ||
happy to guide you and give feedback. | ||
|
||
## Coding Guidelines | ||
## Contributions | ||
|
||
We follow the coding guidelines described | ||
[here](https://github.com/theia-ide/theia/wiki/Coding-Guidelines). | ||
All contributions to the project must be through pull requests. This applies to all changes to documentation, code, binary files, etc. Even long term committers must use pull requests. | ||
|
||
## Sign your work | ||
No pull request can be merged without being reviewed. | ||
|
||
The sign-off is a simple line at the end of the explanation for the patch. Your | ||
signature certifies that you wrote the patch or otherwise have the right to | ||
pass it on as an open-source patch. The rules are pretty simple: if you can | ||
certify the below (from | ||
[developercertificate.org](http://developercertificate.org/)): | ||
### Reviewing | ||
|
||
``` | ||
Developer Certificate of Origin | ||
Version 1.1 | ||
For non-trivial contributions, pull requests should sit for at least 24 hours to ensure that committers in other timezones have time to review. Trivial pull requests may be landed after a shorter delay. | ||
|
||
Copyright (C) 2004, 2006 The Linux Foundation and its contributors. | ||
1 Letterman Drive | ||
Suite D4700 | ||
San Francisco, CA, 94129 | ||
The default for each contribution is that it is accepted once no committer has an objection. Once all issues brought by committers are addressed it can be signed-off and landed by any committer. | ||
|
||
Everyone is permitted to copy and distribute verbatim copies of this | ||
license document, but changing it is not allowed. | ||
### Signing off | ||
|
||
Developer's Certificate of Origin 1.1 | ||
Committers sign-off on a pull request by explicitly stating their approval in the PR text or associated comment stream. | ||
|
||
By making a contribution to this project, I certify that: | ||
All pull requests submitted by individuals who are not committers must be signed-off on by an existing committer before the PR can be landed. The sponsoring committer becomes responsible for the PR. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. see my comment above. |
||
|
||
Pull requests from an existing committer must be signed-off on by at least one other committer. | ||
|
||
(a) The contribution was created in whole or in part by me and I | ||
have the right to submit it under the open source license | ||
indicated in the file; or | ||
### Landing | ||
|
||
(b) The contribution is based upon previous work that, to the best | ||
of my knowledge, is covered under an appropriate open source | ||
license and I have the right under that license to submit that | ||
work with modifications, whether created in whole or in part | ||
by me, under the same open source license (unless I am | ||
permitted to submit under a different license), as indicated | ||
in the file; or | ||
When Landing a pull request, a committer may modify the original commit message to include the following additional meta information regarding the change process: | ||
|
||
(c) The contribution was provided directly to me by some other | ||
person who certified (a), (b) or (c) and I have not modified | ||
it. | ||
- A `PR-URL:` line that references the full GitHub URL of the original Pull Request being merged so it's easy to trace a commit back to the conversation that lead up to that change. | ||
- A `Fixes: X` line as appropriate, where X includes the full GitHub URL for an issue, and/or the complete or abbreviated hash identifier and commit message if the commit fixes a bug in a previous commit. Multiple Fixes: lines may be added if appropriate. | ||
|
||
(d) I understand and agree that this project and the contribution | ||
are public and that a record of the contribution (including all | ||
personal information I submit with it, including my sign-off) is | ||
maintained indefinitely and may be redistributed consistent with | ||
this project or the open source license(s) involved. | ||
``` | ||
## Becoming a Committer | ||
|
||
Then you just add a line to every git commit message: | ||
All contributors who land a non-trivial contribution should be on-boarded in a timely manner and added as a committer. The invitation to become a committer must include a copy of the project Developer’s Certificate of Origin ([DCO]((#developers-certificate-of-origin-11))). Assuming the individual accepts the invitation, they are granted commit-access to the project. | ||
|
||
Signed-off-by: Joe Smith <[email protected]> | ||
Committers are expected to follow this policy and continue to send pull requests, go through proper review, and have other committers sign-off and land their pull requests. | ||
|
||
Use your real name (sorry, no pseudonyms or anonymous contributions.) | ||
## Coding Guidelines | ||
|
||
We follow the coding guidelines described | ||
[here](https://github.com/theia-ide/theia/wiki/Coding-Guidelines). | ||
|
||
## Developer's Certificate of Origin 1.1 | ||
|
||
By making a contribution to this project, I certify that: | ||
|
||
If you set your `user.name` and `user.email` git configs, you can sign your | ||
commit automatically with `git commit -s`. | ||
* (a) The contribution was created in whole or in part by me and I | ||
have the right to submit it under the open source license | ||
indicated in the file; or | ||
|
||
* (b) The contribution is based upon previous work that, to the best | ||
of my knowledge, is covered under an appropriate open source | ||
license and I have the right under that license to submit that | ||
work with modifications, whether created in whole or in part | ||
by me, under the same open source license (unless I am | ||
permitted to submit under a different license), as indicated | ||
in the file; or | ||
|
||
* (c) The contribution was provided directly to me by some other | ||
person who certified (a), (b) or (c) and I have not modified | ||
it. | ||
|
||
* (d) I understand and agree that this project and the contribution | ||
are public and that a record of the contribution (including all | ||
personal information I submit with it, including my sign-off) is | ||
maintained indefinitely and may be redistributed consistent with | ||
this project or the open source license(s) involved. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I having a committer sign-off is additional process about responsibility / code ownership, but has nothing to do with copyright. I don't think we need that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure about it. Any sign-off is about copyright. If one signs other unsigned work he declares that he reviewed it and the work is developed under an open-source license to his knowledge. If he is not sure he should not sign but ask the originator.
At node.js they use a PR approval as the sign-off. The DCO does not say that github sign off should be used. The process is very simple a PR should be revied by a committer and approved to be signed.