Changes between Version 1 and Version 2 of ReviewProcessRevisions


Ignore:
Timestamp:
May 25, 2014, 4:46:56 PM (8 years ago)
Author:
Gordon Woodhull
Comment:

complete first format

Legend:

Unmodified
Added
Removed
Modified
  • ReviewProcessRevisions

    v1 v2  
    66- demystify the process for new library authors
    77- encourage more review managers to step forward
     8- remove cruft
     9
     10In addition, this documents the following new processes:
    811- 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
    1015
    1116Except 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.
    1217
    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
     20Subjective 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
    1724http://www.boost.org/community/review_schedule.html
    1825
    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.
    2027
    2128Reviews are scheduled when the review wizards approve a review manager and agree with the manager and author on dates.  Reviews normally last ten days...
     
    2330
    2431
    25 = Boost Library Submission Process page =
     32= Boost Library Submission Process
    2633http://www.boost.org/development/submissions.html
    2734
    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 ...
    3341
    3442
    3543> A message might be as simple as "Is there any interest in a library which solves Traveling Salesperson problems in linear time?"
    36 
    3744> A bit of further description or snippet of code may be helpful. Messages should be plain text; not rich text, HTML, etc.
    38 
    3945> 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").
    4046
    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).
     47Please 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.
    4248
    4349Release your code under the (Boost Software License).
    4450
    4551(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.
    4753
    4854''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.''
    4955
    5056
    51 == Preliminary submission ==
     57== Preliminary submission
    5258
    5359> If response to an initial query indicates interest, then make your preliminary submission publicly available if you haven't already done so.
     
    5561(Remove this step. Everyone seems to be fine with putting their code in version control from the get-go.)
    5662
    57 == Refinement ==
     63== Refinement
    5864
    5965> Discuss, refine, resubmit. Repeat until satisfied.
    60 
    6166> 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 
    6367> The archive of past messages is one way to see how this process worked for other Boost libraries.
    6468
     
    7882
    7983
    80 == Submission for review ==
     84== Submission for review
    8185> 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.
    8286
     
    8791(Pure cruft!  Remove section, move directory structure requirement to Formal Review step or Determine Interest step.)
    8892
    89 == Formal Review ==
     93== Formal Review
    9094> 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.
    9195
     
    106110
    107111
    108 === Boost Formal Review Process page ===
     112= Boost Formal Review Process page
    109113http://www.boost.org/community/reviews.html
    110114
    111 == Before Requesting a Formal Review ==
    112 > Read and follow the Boost submission process. There are at least four steps a 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.
    113117
    114118... several steps ...
    115119
    116 == Introduction ==
     120== Introduction
    117121> Proposed libraries are accepted into Boost only after undergoing a formal review, where Boost mailing list members comment on their evaluation of the library.
    118122
     
    128132> 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.
    129133
    130 What to include in Review Comments
    131 
    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 Results
    135 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 Managers
    138 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 Submitters
     134== 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
     148See 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
    152156
    153157(Unchanged.)
    154158
    155159
    156 Library Maintainer's Rights and Responsibilities
    157 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.
    164168
    165169Libraries which have been abandoned will be put in care of the Community Maintenance Team.
    166170
    167 Review Wizard
     171== Review Wizard
    168172
    169173(Responsibilities have changed considerably here.)
    170174
    171175
    172 The Review Wizard coordinates the formal review schedule:
     176> The Review Wizard coordinates the formal review schedule:
    173177
    174178(Ok)
    175179
    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.
    177181
    178182(Nix.  There is no manager volunteer queue, because domain knowledge and interest are required.)
    179183
    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?''
    185188
    186189* Suggest a schedule, after checking (via private email) availability of the volunteers
    187190
    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.
    190193
    191194(Ok)
    192195
    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).
    199202
    200203(Still current.)
    201204
    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 ==
    218220(add section)
    219 Mini-Reviews
    220221
    221222If 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.
    222223
    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 retroactively.  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
     227If 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.