Changes between Initial Version and Version 1 of ReviewProcessRevisions


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

First draft of process revisions, halfway formatted

Legend:

Unmodified
Added
Removed
Modified
  • ReviewProcessRevisions

    v1 v1  
     1The Boost Formal Review Process has evolved since it was described on the website.
     2
     3This wiki page documents proposed changes to the Review Schedule, Library Submission Process, and Formal Review Process pages.
     4
     5The goals are:
     6- demystify the process for new library authors
     7- encourage more review managers to step forward
     8- propose the Incubator as a replacement for the queue-which-is-not-a-queue
     9- remove cruft
     10
     11Except 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
     13However, 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 =
     17http://www.boost.org/community/review_schedule.html
     18
     19> Reviews are usually scheduled on a first-come-first-served basis, and normally last ten days. See Formal Review Process for more information.
     20
     21Reviews are scheduled when the review wizards approve a review manager and agree with the manager and author on dates.  Reviews normally last ten days...
     22
     23
     24
     25= Boost Library Submission Process page =
     26http://www.boost.org/development/submissions.html
     27
     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 ...
     33
     34
     35> A message might be as simple as "Is there any interest in a library which solves Traveling Salesperson problems in linear time?"
     36
     37> A bit of further description or snippet of code may be helpful. Messages should be plain text; not rich text, HTML, etc.
     38
     39> 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
     41Please 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).
     42
     43Release your code under the (Boost Software License).
     44
     45(Move from Formal Review section)
     46Please verify that your submission compiles and runs under at least two compilers. This flushes out obvious portability problems.
     47
     48''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
     50
     51== Preliminary submission ==
     52
     53> If response to an initial query indicates interest, then make your preliminary submission publicly available if you haven't already done so.
     54
     55(Remove this step. Everyone seems to be fine with putting their code in version control from the get-go.)
     56
     57== Refinement ==
     58
     59> Discuss, refine, resubmit. Repeat until satisfied.
     60
     61> 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> The archive of past messages is one way to see how this process worked for other Boost libraries.
     64
     65(Nothing changed here!)
     66
     67
     68== Seek a Review Manager
     69(new step)
     70
     71In order to have a formal review, the author must find a capable volunteer to manage the review.  This should be someone with knowledge of the library domain, and experience with the review process.  See (Formal Review Process) for the responsibilities of the review manager.  Review Managers are approved by the review wizards based on their level of participation in the Boost community.
     72
     73''Some reviews are managed more by the author, with the manager signing off on the results, and other reviews are managed more by the manager.  This depends on the personalities of author and manager. In some cases, the author can be trusted to synthesize requirements from the review, whereas in other cases, the manager must take a more active role.
     74
     75Hopefully someone will step forward to manage the review during the refining stage; if not, it may be appropriate to contact members of the community off-list to request their help.  However, please respect that managing a review is a significant amount of work and one should not ask another to undertake this without first being sure they have the motivation to complete the obligation.
     76
     77If there is any question that a review manager might not be approved (e.g. because they are new to the community), the author and volunteer manager should contact the review wizards off-list and seek approval.''
     78
     79
     80== Submission for review ==
     81> 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
     83> The submission file should contain material as if on the boost.org web site. The closer the submission file mirrors the final directory structure and format of the web site, the better.
     84
     85> Like a preliminary submission, make final submission .zip publicly available.
     86
     87(Pure cruft!  Remove section, move directory structure requirement to Formal Review step or Determine Interest step.)
     88
     89== Formal Review ==
     90> 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
     92(Remove: these requirements are covered earlier.)
     93
     94> Once a library author feels a submission has matured enough for formal review, the author sends a message requesting a formal review to the mailing list. Please use a subject in the form "Review Request: library" where library is replaced by the library name.
     95
     96Once a library author feels a submission has matured enough for the formal review, and has found someone to manage the review, the author sends a message requesting a formal review to the mailing list and the review wizards.  Please use a subject in the form "Review Request: library" where library is replaced by the library name.
     97
     98The review wizards will schedule the review at a date convenient for the author and review manager.
     99
     100At the time of submission, the directory structure of the library should mirror Boost's directory structure.
     101
     102> See Formal Review Process for details.
     103
     104> Formal Review schedules are posted on the web site.
     105
     106
     107
     108=== Boost Formal Review Process page ===
     109http://www.boost.org/community/reviews.html
     110
     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.
     113
     114... several steps ...
     115
     116== Introduction ==
     117> 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
     119> The final "accept" or "reject" decision is made by the Review Manager, based on the review comments received from boost mailing list members.
     120
     121> Boost mailing list members are encouraged to submit Formal Review comments:
     122
     123>       * Publicly on the mailing list.
     124
     125or on the Boost Library Incubator
     126
     127>       * Privately to the Review Manager.
     128> 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
     130What 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
     134Results
     135At 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
     137Notes for Review Managers
     138Before 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
     140The 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
     151Notes for Library Submitters
     152
     153(Unchanged.)
     154
     155
     156Library Maintainer's Rights and Responsibilities
     157By 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
     159You 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
     161You 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
     163If 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
     165Libraries which have been abandoned will be put in care of the Community Maintenance Team.
     166
     167Review Wizard
     168
     169(Responsibilities have changed considerably here.)
     170
     171
     172The Review Wizard coordinates the formal review schedule:
     173
     174(Ok)
     175
     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.
     177
     178(Nix.  There is no manager volunteer queue, because domain knowledge and interest are required.)
     179
     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?]
     185
     186* Suggest a schedule, after checking (via private email) availability of the volunteers
     187
     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.
     190
     191(Ok)
     192
     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.
     198The 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
     200(Still current.)
     201
     202Fast Track Reviews
     203To 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.
     209Procedure:
     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
     218(add section)
     219Mini-Reviews
     220
     221If 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(possibly add section)
     224[Abandoned Reviews
     225
     226If 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.]