<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
    <meta name="generator" content=
    "Microsoft FrontPage 5.0">
    <meta http-equiv="Content-Type" content=
    "text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">

    <title>Boost Formal Review Process</title>
  </head>

  <body bgcolor="#FFFFFF" text="#000000">
    <table border="1" bgcolor="#007F7F" cellpadding="2">
      <tr>
        <td bgcolor="#FFFFFF"><img src="../boost.png" alt=
        "boost.png (6897 bytes)" width="277" height="86"></td>

        <td><a href="../index.htm"><font face="Arial" color=
        "#FFFFFF"><big>Home</big></font></a></td>

        <td><a href="../libs/libraries.htm"><font face="Arial" color=
        "#FFFFFF"><big>Libraries</big></font></a></td>

        <td><a href="../people/people.htm"><font face="Arial" color=
        "#FFFFFF"><big>People</big></font></a></td>

        <td><a href="faq.htm"><font face="Arial" color=
        "#FFFFFF"><big>FAQ</big></font></a></td>

        <td><a href="index.htm"><font face="Arial" color=
        "#FFFFFF"><big>More</big></font></a></td>
      </tr>
    </table>

    <h1>Boost Formal Review Process</h1>

    <p><a href="#Introduction">Introduction</a><br>
     <a href="#Comments">What to include in Review Comments</a><br>
     <a href="#Results">Results</a><br>
     <a href="#Review_Manager">Notes for Review Managers</a><br>
     <a href="#Submitters">Notes for Library Submitters</a><br>
     <a href="#Wizard">Review Wizard</a><br>
    <a href="#Fast-Track">Fast Track Reviews</a></p>

    <h2><a name="Introduction">Introduction</a></h2>

    <p>Proposed libraries are accepted into Boost only after undergoing a
    formal review, where Boost mailing list members comment on their
    evaluation of the library.</p>

    <p>The final "accept" or "reject" decision is made by the <a href=
    "#Review_Manager">Review Manager</a>, based on the review comments
    received from boost mailing list members.</p>

    <p>Boost mailing list members are encouraged to submit Formal Review
    comments:</p>

    <blockquote>
      <ul>
        <li>Publicly on the mailing list.</li>

        <li>Privately to the Review Manager.</li>
      </ul>
    </blockquote>

    <p>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.</p>

    <h2>What to include in Review <a name="Comments">Comments</a></h2>

    <p>Your comments may be brief or lengthy, but basically the Review
    Manager needs your evaluation of the library.&nbsp; If you identify
    problems along the way, please note if they are minor, serious, or
    showstoppers.</p>

    <p>The goal of a Boost library review is to improve the library through 
    constructive criticism, and at the end a decision must be made: is the 
    library good enough at this point to accept into Boost? If not, we hope to 
    have provided enough constructive criticism for it to be improved and 
    accepted at a later time. The Serialization library is a good example of how 
    constructive criticism resulted in revisions resulting in an excellent 
    library that was accepted in its second review.</p>

    <p>Here are some questions you might want to answer in your review:</p>

    <ul>
      <li>What is your evaluation of the design?<br>
      </li>

      <li>What is your evaluation of the implementation?<br>
      </li>

      <li>What is your evaluation of the documentation?<br>
      </li>

      <li>What is your evaluation of the potential usefulness of the
      library?<br>
      </li>

      <li>Did you try to use the library?&nbsp; With what compiler?&nbsp; Did
      you have any problems?<br>
      </li>

      <li>How much effort did you put into your evaluation? A glance? A quick
      reading? In-depth study?<br>
      </li>

      <li>Are you knowledgeable about the problem domain?</li>
    </ul>

    <p>And finally, every review should answer this question:<br>
    </p>

    <ul>
      <li>Do you think the library should be accepted as a Boost
      library?&nbsp; Be sure to say this explicitly so that your other
      comments don't obscure your overall opinion.</li>
    </ul>

    <p>Many reviews include questions for library authors. Authors are 
    interested in defending their library against your criticisms; otherwise 
    they would not have brought their library up for review. If you don't get a 
    response to your question quickly, be patient; if it takes too long or you 
    don't get an answer you feel is sufficient, ask again or try to rephrase the 
    question. Do remember that English is not the native language for many 
    Boosters, and that can cause misunderstandings.<br>
    <br>
    E-mail is a poor communication medium, and even if messages rarely get lost 
    in transmission, they often get drowned in the deluge of other messages. 
    Don't assume that an unanswered message means you're being ignored. Given 
    constructively, criticism will be taken better and have more positive 
    effects, and you'll get the answers you want.</p>

    <h2><a name="Results">Results</a></h2>

    <p>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.&nbsp; 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.</p>

    <h2>Notes for <a name="Review_Manager">Review Manager</a>s</h2>

    <p>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.</p>

    <p>The Review Manager:</p>

    <ul>
      <li>Checks the submission to make sure it really is complete enough to
      warrant formal review.&nbsp; See the <a href="lib_guide.htm">Boost
      Library Requirements and Guidelines</a>.&nbsp; If necessary, work with
      the submitter to verify the code compiles and runs correctly on several
      compilers and platforms.</li>

      <li>Finalizes the schedule with the <a href="#Wizard">Review Wizard</a>
      and the submitter .</li>

      <li>
        Posts a notice of the review schedule on the
        regular <b><a href= "mailto:boost@lists.boost.org">boost</a></b>
        mailing list,
        the <b><a href="mailto:boost-users@lists.boost.org">boost-users</a></b>
        mailing list, and the
        <b><a href="mailto:boost-announce@lists.boost.org">boost-announce</a></b>
        mailing list. 

        <ul>
          <li>The notice should include a brief description of the library
          and what it does, to let readers know if the library is one they
          are interested in reviewing.</li>

          <li>If the library is known to fail with certain compilers, please
          mention them in the review notice so reviewers with those compilers
          won't waste time diagnosing known problems.</li>
        </ul>
      </li>

      <li>Inspects the Boost <a href="../libs/libraries.htm">library
      catalogue</a> for libraries which may interact with the new submission.
      These potential interactions should be pointed out in the review
      announcement, and the author(s) of these libraries should be privately
      notified and urged to participate in the review.</li>

      <li>Urges people to do reviews if they aren't forthcoming.</li>

      <li>Follows review discussions regarding the library, moderating or
      answering questions as needed.</li>

      <li>Asks the <a href="#Wizard">review wizard</a> for permission
      to extend the review schedule if it appears that too few reviews will
      be submitted during the review period.</li> 

      <li>Decides if there is consensus to accept the library, and if there
      are any conditions attached.</li>

      <li>
        Posts a notice of the <a href="#Results">review results</a> on the
        regular <b><a href= "mailto:boost@lists.boost.org">boost</a></b>
        mailing list,
        the <b><a href="mailto:boost-users@lists.boost.org">boost-users</a></b>
        mailing list, and the
        <b><a href="mailto:boost-announce@lists.boost.org">boost-announce</a></b>
        mailing list. 
    </ul>

    <p>In other words, it is the Review Manager's responsibility to make sure
    the review process works smoothly.</p>

    <h2>Notes for Library <a name="Submitters">Submitters</a></h2>

    <p>See <a href="submission_process.htm">Submission Process</a> for a
    description of the steps a library developer goes through to get a
    library accepted by Boost.</p>

    <p>A proposed library should remain stable during the review period; it
    will just confuse and irritate reviewers if there are numerous
    changes.&nbsp; It is, however, useful to upload fixes for serious bugs
    right away, particularly those which prevent reviewers from fully
    evaluating the library.&nbsp; Post a notice of such fixes on the mailing
    list.</p>

    <p>Library improvements suggested by reviewers should normally be held
    until after the completion of review period.&nbsp; If the suggested
    changes might affect reviewer's judgments,&nbsp;post a notice of the
    pending change on the mailing list.</p>

    <h2>Review <a name="Wizard">Wizard</a></h2>

    <p>The Review Wizard coordinates the formal review schedule:</p>

    <ul>
      <li>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.</li>

      <li>When a formal review is requested for a library:</li>

      <li style="list-style: none">
        &nbsp;<ul>
          <li>Assign a review manager and suggests a schedule, after checking
          (via private email) availability of the volunteers at the top of
          review manager queue.</li>

          <li>Finalize the schedule, once the review manager verifies the
          library is actually ready for review.</li>

          <li>Resolve schedule slips or other issues with review managers and
          submitters.</li>
        </ul>
      </li>

      <li>Maintains a schedule of both past and pending reviews, in the form
      of the <a href="formal_review_schedule.html">Review Schedule</a> web
      page.</li>

      <li>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 ...?"</li>

      <li>Monitors the general review process, and makes minor adjustments as
      needed, or queries the list about possible major adjustments.</li>
    </ul>
    The role of Boost Review Wizard is currently played by <a href=
    "mailto:reportbase@yahoo.com">Tom Brinkman</a> and Ronald Garcia
    (garcia at cs dot indiana dot edu).


    <h2><a name="Fast-Track">Fast Track Reviews</a></h2>
    <p>To qualify for fast track review:</p>
    <ul>
      <li>The component must be small.</li>
      <li>The technique must be already in use in Boost libraries and the new 
      component provides a common implementation.</li>
      <li>A full Boost-conformant implementation is available in the sandbox.</li>
      <li>The Review Wizard determines that the proposal qualifies for fast 
      track review.</li>
    </ul>
    <p>Procedure:</p>
    <ul>
      <li>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.</li>
      <li>After the review period ends, the submitter will post a review summary 
      containing proposed changes to the reviewed implementation.</li>
      <li>The Review Wizard will accept or reject the proposed library and 
      proposed changes.</li>
      <li>After applying the proposed changes, the component is checked into CVS 
      like any other library.<br>
&nbsp;</li>
    </ul>
    <hr>

    <p>Revised 
    <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->10 October, 2006<!--webbot bot="Timestamp" endspan i-checksum="38930" --></p>

    <p>� Copyright Beman Dawes 2000</p>
    <p>
	  Distributed under the Boost Software License, Version 1.0. (See
      accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
      at <a href=
      "http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)
    </p>
  </body>
</html>