Changes between Version 1 and Version 2 of ReviewProcessRevisions
- Timestamp:
- May 25, 2014, 4:46:56 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ReviewProcessRevisions
v1 v2 6 6 - demystify the process for new library authors 7 7 - encourage more review managers to step forward 8 - remove cruft 9 10 In addition, this documents the following new processes: 8 11 - propose the Incubator as a replacement for the queue-which-is-not-a-queue 9 - remove cruft 12 - the Community Maintenance Team for orphaned libraries 13 - mini-reviews for reviewing conditions on acceptance 14 - passing on of orphaned reviews 10 15 11 16 Except for the new Boost Library Incubator, there is no attempt to improve the process. The purpose is to document the process as it exists today. 12 17 13 However, Gordon also includes subjective advice ''in italics'' which could be included or go into an ''Advice for Authors and Review Managers'' page somewhere. 14 15 16 = Boost Formal Review Schedule page = 18 > For context, most of the original text of the pages is quoted 19 20 Subjective advice is ''in italics''; part of the proposal is to include this or put it into an 'Advice for Authors and Review Managers' page. 21 22 23 = Boost Formal Review Schedule 17 24 http://www.boost.org/community/review_schedule.html 18 25 19 > Reviews are usually scheduled on a first-come-first-served basis, and normally last ten days.See Formal Review Process for more information.26 > Reviews are usually scheduled --on a first-come-first-served basis, and normally last ten days.-- See Formal Review Process for more information. 20 27 21 28 Reviews are scheduled when the review wizards approve a review manager and agree with the manager and author on dates. Reviews normally last ten days... … … 23 30 24 31 25 = Boost Library Submission Process page =32 = Boost Library Submission Process 26 33 http://www.boost.org/development/submissions.html 27 34 28 == Determine interest == 29 30 > Potential library submitters should use the Boost developers mailing list as a forum to gauge interest a possible submission. 31 32 ... use the Boost developers mailing list and Boost Library Incubator as forums to ... 35 == Determine interest 36 37 > Potential library submitters should --use the Boost developers mailing list as a forum-- to gauge interest a possible submission. 38 39 40 ... use the Boost developers mailing list and Boost Library Incubator as forums ... 33 41 34 42 35 43 > A message might be as simple as "Is there any interest in a library which solves Traveling Salesperson problems in linear time?" 36 37 44 > A bit of further description or snippet of code may be helpful. Messages should be plain text; not rich text, HTML, etc. 38 39 45 > Please don't post lengthy descriptions, documentation, or code to the mailing list, and no attachments, even small ones. Please post lengthy material in the YahooGroups boost Files section (formerly called the " vault"). 40 46 41 Please post your code to a version control system such as Github, and make your documentation available in HTML format on a public website. An issue tracker is also (suggested/required).47 Please post your code to a version control system such as Github, and make your documentation available in HTML format on a public website. An issue tracker is also highly recommended. 42 48 43 49 Release your code under the (Boost Software License). 44 50 45 51 (Move from Formal Review section) 46 Please verify that your submission compiles and runs under at least two compilers. This flushes out obvious portability problems.52 > Please verify that your submission compiles and runs under at least two compilers. This flushes out obvious portability problems. 47 53 48 54 ''While participation in prior reviews is not a prerequisite for submitting a library to Boost, it is highly recommended because it will acquaint you with the process and the emotional demands of a formal review.'' 49 55 50 56 51 == Preliminary submission ==57 == Preliminary submission 52 58 53 59 > If response to an initial query indicates interest, then make your preliminary submission publicly available if you haven't already done so. … … 55 61 (Remove this step. Everyone seems to be fine with putting their code in version control from the get-go.) 56 62 57 == Refinement ==63 == Refinement 58 64 59 65 > Discuss, refine, resubmit. Repeat until satisfied. 60 61 66 > The exact details of this process varies a lot. Sometimes it is public, on the mailing list, sometimes a lot of discussion happens in private emails. For some libraries the process is over quickly, for others it goes on for months. It's often challenging, and sometimes leads off in completely unexpected directions. 62 63 67 > The archive of past messages is one way to see how this process worked for other Boost libraries. 64 68 … … 78 82 79 83 80 == Submission for review ==84 == Submission for review 81 85 > All of the files which make up the library should be combined and compressed into a single submission file using the .zip format. Free encoders and decoders for this format running on many different platforms are available at the Info-ZIP web site, which includes a FAQ and much other useful information about the .zip format. Many commercial compressor-archiver utilities also support this format. 82 86 … … 87 91 (Pure cruft! Remove section, move directory structure requirement to Formal Review step or Determine Interest step.) 88 92 89 == Formal Review ==93 == Formal Review 90 94 > Before asking for formal review, your submission should be easilly accessible to all. Please verify that your submission compiles and runs under at least two compilers. This flushes out obvious portability problems. If you don't have access to a second compiler, ask for help on the Boost mailing list. 91 95 … … 106 110 107 111 108 = == Boost Formal Review Process page ===112 = Boost Formal Review Process page 109 113 http://www.boost.org/community/reviews.html 110 114 111 == Before Requesting a Formal Review ==112 > Read and follow the Boost submission process. There are at least four stepsa library author must take before a formal review is requested.115 == Before Requesting a Formal Review 116 > Read and follow the Boost submission process. There are --at least four steps-- a library author must take before a formal review is requested. 113 117 114 118 ... several steps ... 115 119 116 == Introduction ==120 == Introduction 117 121 > Proposed libraries are accepted into Boost only after undergoing a formal review, where Boost mailing list members comment on their evaluation of the library. 118 122 … … 128 132 > Private comments to a library submitter may be helpful to her or him, but won't help the Review Manager reach a decision, so the other forms are preferred. 129 133 130 What to include in Review Comments131 132 (This still seems up-to-date to me, notwithstanding the common complaint that reviewers make their acceptance conditional on adding more stuff. But that's out of scope here.)133 134 Results135 At the conclusion of the comment period, the Review Manager will post a message to the mailing list saying if the library has been accepted or rejected. A rationale is also helpful, but its extent is up to the Review Manager. If there are suggestions, or conditions that must be met before final inclusion, they should be stated.136 137 Notes for Review Managers138 Before a library can be scheduled for formal review, an active boost member not connected with the library submission must volunteer to be the "Review Manager" for the library.139 140 The Review Manager:141 142 * Checks the submission to make sure it really is complete enough to warrant formal review. See the Boost Library Requirements and Guidelines. If necessary, work with the submitter to verify the code compiles and runs correctly on several compilers and platforms.143 144 (The Incubator automates this somewhat. The rest of this section LGTM.) 145 146 * Decides if there is consensus to accept the library, and if there are any conditions attached.147 148 [Advice: Consensus is not the same as a vote. The Review Manager has discretion to weigh opinions based on authority or thoughtfulness.] 149 150 151 Notes for Library Submitters134 == What to include in Review Comments 135 136 (This hasn't changed.) 137 138 == Results 139 > At the conclusion of the comment period, the Review Manager will post a message to the mailing list saying if the library has been accepted or rejected. A rationale is also helpful, but its extent is up to the Review Manager. If there are suggestions, or conditions that must be met before final inclusion, they should be stated. 140 141 == Notes for Review Managers 142 > Before a library can be scheduled for formal review, an active boost member not connected with the library submission must volunteer to be the "Review Manager" for the library. 143 144 > The Review Manager: 145 146 > * Checks the submission to make sure it really is complete enough to warrant formal review. --See the Boost Library Requirements and Guidelines--. If necessary, work with the submitter to verify the code compiles and runs correctly on several compilers and platforms. 147 148 See the Boost Library Requirements and Guidelines - or submitting through the Boost Library Incubator will 149 150 > * Decides if there is consensus to accept the library, and if there are any conditions attached. 151 152 ''Consensus is not the same as a vote. The Review Manager has discretion to weigh opinions based on authority or thoughtfulness.'' 153 154 155 == Notes for Library Submitters 152 156 153 157 (Unchanged.) 154 158 155 159 156 Library Maintainer's Rights and Responsibilities157 By submitting a library to boost, you accept responsibility for maintaining your library or finding a qualified volunteer to serve as maintainer. You must be willing to put your library and documentation under a Boost-compatible license.158 159 You will be expected to respond to reasonable bug reports and questions in a timely manner and to participate as needed in discussions of your library on the boost mailing lists.160 161 You are free to change your library in any way you wish, and you are encouraged to actively make improvements. However, peer review is an important part of the Boost process and as such you are also encouraged to get feedback from the boost community before making substantial changes to the interface of an accepted library.162 163 If at some point you no longer wish to serve as maintainer of your library, it is your responsibility to make this known to the boost community and to find another individual to take your place.160 == Library Maintainer's Rights and Responsibilities 161 > By submitting a library to boost, you accept responsibility for maintaining your library or finding a qualified volunteer to serve as maintainer. You must be willing to put your library and documentation under a Boost-compatible license. 162 163 > You will be expected to respond to reasonable bug reports and questions in a timely manner and to participate as needed in discussions of your library on the boost mailing lists. 164 165 > You are free to change your library in any way you wish, and you are encouraged to actively make improvements. However, peer review is an important part of the Boost process and as such you are also encouraged to get feedback from the boost community before making substantial changes to the interface of an accepted library. 166 167 > If at some point you no longer wish to serve as maintainer of your library, it is your responsibility to make this known to the boost community and to find another individual to take your place. 164 168 165 169 Libraries which have been abandoned will be put in care of the Community Maintenance Team. 166 170 167 Review Wizard171 == Review Wizard 168 172 169 173 (Responsibilities have changed considerably here.) 170 174 171 175 172 The Review Wizard coordinates the formal review schedule:176 > The Review Wizard coordinates the formal review schedule: 173 177 174 178 (Ok) 175 179 176 * Maintains a list of review manager volunteers, in the form of a queue, so that volunteers who least recently managed reviews become the prime candidates for upcoming reviews.180 > * Maintains a list of review manager volunteers, in the form of a queue, so that volunteers who least recently managed reviews become the prime candidates for upcoming reviews. 177 181 178 182 (Nix. There is no manager volunteer queue, because domain knowledge and interest are required.) 179 183 180 * When a formal review is requested for a library: 181 * Assign a review manager and 182 183 * Approve the review manager based on their participation in the Boost community, including the mailing list. 184 [and previous reviews? Stack Overflow participation?] 184 > * When a formal review is requested for a library: 185 > * --Assign a review manager-- and 186 187 * Approve the review manager based on their participation in the Boost community, including the mailing list. ''and previous reviews? Stack Overflow participation?'' 185 188 186 189 * Suggest a schedule, after checking (via private email) availability of the volunteers 187 190 188 * Finalize the schedule, once the review manager verifies the library is actually ready for review.189 * Resolve schedule slips or other issues with review managers and submitters.191 > * Finalize the schedule, once the review manager verifies the library is actually ready for review. 192 > * Resolve schedule slips or other issues with review managers and submitters. 190 193 191 194 (Ok) 192 195 193 (Bikeshed question: do we continue to call it a review queue, but say "the queue is not a queue"? Also consider replacing the queue with the Incubator.)194 195 * Maintains a schedule of both past and pending reviews, in the form of the Review Schedule web page.196 * Resolves questions from review managers and library submitters, who sometimes want a third opinion on questions such as "Should we extend the review period because ...?"197 * Monitors the general review process, and makes minor adjustments as needed, or queries the list about possible major adjustments.198 The role of Boost Review Wizard is currently played by John Phillips (johnphillipsithaca at gmail dot com) and Ronald Garcia (rxg at cs dot ubc dot ca).196 (Bikeshed question: do we continue to call it a review queue, but say "the queue is not a queue"? Or simply replace the Queue with the Incubator?) 197 198 > * Maintains a schedule of both past and pending reviews, in the form of the Review Schedule web page. 199 > * Resolves questions from review managers and library submitters, who sometimes want a third opinion on questions such as "Should we extend the review period because ...?" 200 > * Monitors the general review process, and makes minor adjustments as needed, or queries the list about possible major adjustments. 201 > The role of Boost Review Wizard is currently played by John Phillips (johnphillipsithaca at gmail dot com) and Ronald Garcia (rxg at cs dot ubc dot ca). 199 202 200 203 (Still current.) 201 204 202 Fast Track Reviews 203 To qualify for fast track review: 204 205 * The component must be small. 206 * The technique must be already in use in Boost libraries and the new component provides a common implementation. 207 * A full Boost-conformant implementation is available in the sandbox. 208 * The Review Wizard determines that the proposal qualifies for fast track review. 209 Procedure: 210 211 * The Boost Review Wizard posts a review announcement to the main Boost developer's list. The review period will normally last for 5 days. No two fast track reviews will run in parallel. Fast track reviews may run during full reviews, though generally this is to be avoided. 212 * After the review period ends, the submitter will post a review summary containing proposed changes to the reviewed implementation. 213 * The Review Wizard will accept or reject the proposed library and proposed changes. 214 * After applying the proposed changes, the component is checked into the repository like any other library. 215 216 217 205 = Fast Track Reviews 206 > To qualify for fast track review: 207 > * The component must be small. 208 > * The technique must be already in use in Boost libraries and the new component provides a common implementation. 209 > * A full Boost-conformant implementation is available in the sandbox. 210 > * The Review Wizard determines that the proposal qualifies for fast track review. 211 > Procedure: 212 213 > * The Boost Review Wizard posts a review announcement to the main Boost developer's list. The review period will normally last for 5 days. No two fast track reviews will run in parallel. Fast track reviews may run during full reviews, though generally this is to be avoided. 214 > * After the review period ends, the submitter will post a review summary containing proposed changes to the reviewed implementation. 215 > * The Review Wizard will accept or reject the proposed library and proposed changes. 216 > * After applying the proposed changes, the component is checked into the repository like any other library. 217 218 219 == Mini-Reviews == 218 220 (add section) 219 Mini-Reviews220 221 221 222 If a review results in conditions on acceptance, the review manager may request a Mini-Review to determine if the conditions have been met. The Mini-Review is usually conducted by the same review manager. 222 223 223 (possibly add section) 224 [Abandoned Reviews 225 226 If a review manager has not delivered a report in a reasonable time after the review, another member of the community may volunteer to manage the review retro actively. The volunteer must seek approval of the previous review manager, author, and review wizards off-list. The replacement manager will write the report based on the review discussion and submit the report to the original review manager for sign-off.]224 == Orphaned Reviews == 225 (add section) 226 227 If a review manager has not delivered a report in a reasonable time after the review, another member of the community may volunteer to manage the review retrospectively. The volunteer must seek approval of the previous review manager, author, and review wizards off-list. The replacement manager will write the report based on the review discussion and submit the report to the original review manager for sign-off.