From 3c34f73983a0a73c4620f6ed457ad8b3b861b663 Mon Sep 17 00:00:00 2001 From: Victor Poughon <victor.poughon@cnes.fr> Date: Fri, 2 Feb 2018 09:32:45 +0000 Subject: [PATCH] DOC: Update CONTRIBUTING and PSC with Julien's review --- CONTRIBUTING.md | 35 +++++++++++++++++------------------ PSC.md | 20 ++++++++------------ 2 files changed, 25 insertions(+), 30 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fbc7511e69..5f8a409abb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,16 +33,9 @@ help fixing the bug quicker. Remember to add as much information as possible! ## Feature requests and discussions Feature requests are welcome! Generally you are welcome to simply [open an issue](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/issues) -and discuss your idea there. +and discuss your idea there. For more complex requests there is an issue +template for in depth description called 'Request for Comments'. -For complex and potentially controvertial ideas, we use Request for Comments. -RFCs are normal issues but which will need more discussion from the community -and usually a formal PSC vote. For this, use the 'Request for Comments' issue -template on gitlab. Older RFCs live on the [wiki](https://wiki.orfeo-toolbox.org/index.php/Requests_for_Comments). -More long term ideas are collected on the wiki [Wishlist](https://wiki.orfeo-toolbox.org/index.php/Wishlist). - -For more peripheral contributions which do not belong in the main OTB -repository [Remote Modules](#remote-modules) are also a great option. ## Documentation improvements @@ -62,7 +55,8 @@ Clone the repository, create a feature branch, commit your changes, push the feature branch to a fork (or the main repository if you are a core developer), then send a merge request. -Note that we also accept PRs on our [GitHub mirror](https://github.com/orfeotoolbox/OTB). +Note that we also accept PRs on our [GitHub mirror](https://github.com/orfeotoolbox/OTB) +which we will manually merge. ### Commit message @@ -70,7 +64,7 @@ On your feature branch, write a good [commit message](https://xkcd.com/1296/): short and descriptive. If fixing an issue or bug, put the issue number in the commit message so that GitLab can [crosslink it](https://docs.gitlab.com/ce/user/project/issues/crosslinking_issues.html). You can prefix your commit message with an indicating flag (DOC, BUG, PKG, -TEST, SuperBuild, etc.) or the name of the module you are changing. +TEST, SuperBuild, etc.). Standard prefixes for OTB commit messages: @@ -87,7 +81,6 @@ For example, here are some good commit messages: BUG: #1701 Warn users if parameter string is unset DOC: Fix typo in Monteverdi French translation COMP: Allow GeoTIFF and TIFF to be disabled when no 3rd party drags them - Learning/Unsupervised: Add KMeans Shark implementation ### Merge request @@ -98,12 +91,18 @@ template. The merge request will then be discussed by the community and the core OTB team. Larger contributions will require code review and a formal PSC vote. +* Merge requests can not be merged until all discussions have been resolved (this is enforced by GitLab). +* Merge requests **must receive at least 2 positives votes from PSC members** before being merged. +* The merger is responsible for checking that the branch is up-to-date with develop and that the dashboard is ok. +* Merge requests can be merged by anyone (not just PSC or RM) with push access to develop + ## Remote modules -[Remote Modules](https://wiki.orfeo-toolbox.org/index.php/Remote_Modules) are the prefered way if your contribution is about adding new classes or -application to bring new features to OTB. Remote modules are just like regular -modules, except they are not distributed inside OTB source code. Under some -conditions (dependencies, official acceptance process, etc.), we are also able -to distribute your remote module in the official standalone binaries. See [the wiki](https://wiki.orfeo-toolbox.org/index.php/Remote_Modules) +[Remote Modules](https://wiki.orfeo-toolbox.org/index.php/Remote_Modules) are +the prefered way if you wish to make your apps and filters available to the +community while keeping control and maintenance of their sources. Remote +modules are just like regular modules, except they are not distributed inside +OTB source code. Under some conditions (dependencies, official acceptance +process, etc.), we are also able to distribute your remote module in the +official standalone binaries. See [the wiki](https://wiki.orfeo-toolbox.org/index.php/Remote_Modules) for more information. - diff --git a/PSC.md b/PSC.md index 2e47504e74..c798cec66e 100644 --- a/PSC.md +++ b/PSC.md @@ -175,12 +175,11 @@ submits to vote the following release decisions: ### Process -- Proposals are written up and submitted on the otb-developers mailing - list for discussion and voting, by any interested party, not just - committee members. Proposals are available for review for at least - three days before a vote can be closed. It is acknowledged that some - more complex issues may require more time for discussion and - deliberation. +- Proposals are written up and submitted as GitLab merge requests or on the + otb-developers mailing list for discussion and voting, by any interested + party, not just committee members. Proposals are available for review for at + least three days before a vote can be closed. It is acknowledged that some + more complex issues may require more time for discussion and deliberation. - Respondents may vote “+1†to indicate support for the proposal and a willingness to support implementation. - Respondents may vote “-1†to veto a proposal, but must provide @@ -189,9 +188,9 @@ submits to vote the following release decisions: - A vote of -0 indicates mild disagreement, but has no effect. A 0 indicates no opinion. A +0 indicates mild support, but has no effect. -- Anyone may comment and vote on proposals on the list, but only - members of the PSC's votes (including the Chair) will be counted - (“eligible votersâ€). +- Anyone may comment and vote on proposals on the list or on the merge request + thread, but only members of the PSC's votes (including the Chair) will be + counted (“eligible votersâ€). - A proposal will be accepted if it receives at least +2 (including the proponent) and no vetos (-1) - If a proposal is vetoed, and it cannot be revised to satisfy all @@ -199,9 +198,6 @@ submits to vote the following release decisions: majority of all eligible voters indicating +1 is sufficient to pass it. Note that this is a majority of all committee members, not just those who actively vote. -- Upon completion of discussion and voting the proposers should - announce whether they are proceeding (proposal accepted) or are - withdrawing their proposal (vetoed). - The Chair adjudicates in cases of disputes about voting. A summary of discussions is published in a dedicated section of the wiki -- GitLab