cvs: peardoc /en/chapters rfcs-entities.xml rfcs.xml /en/chapters/rfcs qa-team.xml

[email protected] ("Christian Weiske")
Newsgroups php.pear.doc
Message-ID <cvscweiske1241371471@cvsserver>
cweiske		Sun May  3 17:24:31 2009 UTC

  Added files:                 
    /peardoc/en/chapters/rfcs	qa-team.xml 

  Modified files:              
    /peardoc/en/chapters	rfcs-entities.xml rfcs.xml 
  Log:
  And another RFC in peardoc (bug #11198)
cweiske-20090503172431.txt (text/plain, 15.5 KB)
http://cvs.php.net/viewvc.cgi/peardoc/en/chapters/rfcs-entities.xml?r1=1.3&r2=1.4&diff_format=u
Index: peardoc/en/chapters/rfcs-entities.xml
diff -u peardoc/en/chapters/rfcs-entities.xml:1.3 peardoc/en/chapters/rfcs-entities.xml:1.4
--- peardoc/en/chapters/rfcs-entities.xml:1.3	Sun May  3 16:56:43 2009
+++ peardoc/en/chapters/rfcs-entities.xml	Sun May  3 17:24:31 2009
@@ -1,3 +1,4 @@
 &chapters.rfcs.error-handling;
 &chapters.rfcs.header-comments;
+&chapters.rfcs.qa-team;
 &chapters.rfcs.version-naming;
http://cvs.php.net/viewvc.cgi/peardoc/en/chapters/rfcs.xml?r1=1.1&r2=1.2&diff_format=u
Index: peardoc/en/chapters/rfcs.xml
diff -u peardoc/en/chapters/rfcs.xml:1.1 peardoc/en/chapters/rfcs.xml:1.2
--- peardoc/en/chapters/rfcs.xml:1.1	Sun May  3 12:50:12 2009
+++ peardoc/en/chapters/rfcs.xml	Sun May  3 17:24:31 2009
@@ -9,9 +9,13 @@
   <partintro>
     <para>
       Request for comments are normative documents
-      about how PEAR works. RFCs get proposed through the PEAR's
+      about how PEAR works. RFCs get proposed through PEAR's
       <link xlink:href="&url.pear.pepr;">PEPr system</link>.
     </para>
+    <para>
+     All RFCs listed here have been accepted by the PEAR developers though
+     PEPr voting.
+    </para>
   </partintro>
  
 &chapters.rfcs-entities;

http://cvs.php.net/viewvc.cgi/peardoc/en/chapters/rfcs/qa-team.xml?view=markup&rev=1.1
Index: peardoc/en/chapters/rfcs/qa-team.xml
+++ peardoc/en/chapters/rfcs/qa-team.xml
<?xml version="1.0" encoding="UTF-8"?>
<chapter version="5.0" xml:id="chapters.rfcs.qa-team"
         xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
>
  <info>
    <title>QA Team</title>

    <abstract>
      <para>There has been talked about forming QA team, but no action yet
      taken. The following is proposal of how the QA team will work, what
      rights they have and so on.</para>
    </abstract>

    <date>2004-05-04</date>
  </info>

  <para>This RFC has been voted on in PEPr as <link
   xlink:href="&url.pear.pepr.proposal;60">proposal #60</link>.
  </para>

  <section xml:id="chapters.rfcs.qa-team.issues">
    <title>Current issues</title>

    <para>There is no official QA team for PEAR. There are only a few people
    who try to help with QA issues but they don't have any official status or
    rights to resolve issues themselves if needed. PEAR claims quality but
    that can't be met if there is no real QA team. PEAR group has been talking
    about fine tuning karma for all users so the current "user has access to
    everything under /pear in cvs" karma policy will be eliminated and thus QA
    needs special karma when that happens. More importantly, there is
    currently no formal process or entity to handle orphaned packages or
    urgent fixes to packages.</para>

    <para>To summarize the problem:</para>

    <orderedlist>
      <listitem>
        <para>No QA team = can't claim Quality</para>
      </listitem>

      <listitem>
        <para>Nobody has defined how the QA team is supposed to work, how it
        should be structured and what its rights (karma) are supposed to
        be.</para>
      </listitem>
    </orderedlist>
  </section>

  <section xml:id="chapters.rfcs.qa-team.membership">
    <title>QA team membership</title>

    <section>
      <title>How the initial members are chosen</title>

      <para>If there are more applicants than seats, there should be an open
      election, where everyone may cast as many votes as there are seats (only
      1 vote may be cast per candidate). Of course, if there are less people
      than seats, all may be accepted and the remaining seats can be filled by
      QA group vote. Once the core team is formed all further team members can
      be voted in as per the rules stated below.</para>

      <para>There will be a QA core team with a limited number (no more than
      7, with the pear group this should give a sufficient amount of people
      with enough karma that can react to bad releases) people with extended
      "core-QA-karma". In order for the QA core team to react quickly, the
      core QA team should be spread out across all time zones as good as
      possible. This rather small number should empower the QA team
      sufficiently to handle issues but doesn't trivialize access
      rights.</para>

      <note>
        <para>This issue needs more discussion since Klaus raised a <link
        xlink:href="http://news.php.net/article.php?group=php.pear.dev&amp;article=26756">good
        point in his post</link> but the problem is that it isn't wise to give
        many users so much karma.</para>
      </note>

      <para>All other people interested are free to join the QA team. However
      potential new members for the QA team (core and non core) must be voted
      in by a 2/3 majority of the existing members of the QA team (core and
      non core). This is to prevent that the addition of new members is done
      even though there is a considerable amount of opposition, as this could
      lead to internal quarrels which could result in reducing the QA teams
      ability to efficiently address QA issues. Removing a member from either
      group requires a 2/3 majority as well.</para>

      <para>For casual helpers the QA mailing list will of course remain
      open.</para>

      <para>All members of the QA team (core and non core) are eligible to
      participate in QA team votes.</para>

      <para>Any member that leaves the QA team loses all his special karma
      which he may have received due to his membership. If any member of the
      core QA team leaves and as a result a time zone gets under staffed, QA
      should actively try to find a replacement.</para>

      <note>
        <para>When voting for a new member voters must be sure that the person
        has been helping with bug fixes in the past or has the potentials to
        help with that.</para>
      </note>
    </section>
  </section>

  <section xml:id="chapters.rfcs.qa-team.voting">
    <title>Voting</title>

    <para>All votes (except membership related votes; see above) require a
    simple 50% majority. Any member of the QA team may call for a vote at any
    time. All voting is done on the QA mailinglist.</para>

    <para>The core team may overrule any decision (this includes votes on
    memberships) of the QA team and may decide to hold their own internal vote
    to make the ultimate decision on how to proceed. Furthermore, the core QA
    team may also hold votes without even consulting the QA team. However this
    should be only done in rare cases. All members of the core QA team may
    make decision on their own if a decision is time critical (like pulling a
    broken release). However the core QA team should be aware that making too
    many decisions on their own may lead to alienating the other members and
    therefore if possible it should always be attempted to at least consult
    other members of the team.</para>
  </section>

  <section xml:id="chapters.rfcs.qa-team.rights">
    <title>QA rights/responsibilities</title>

    <section xml:id="chapters.rfcs.qa-team.rights.fixrelease">
      <title>Fixing bugs/making releases</title>

      <para>If any QA related issues are found in a package that QA has not
      been granted permission to change without consulting the maintainer,the
      QA team will file a bug report. If the issue remains unresolved for 1
      month (2+1+1 weeks; see below), QA may fix it themselves.</para>

      <para>If the issue isn't fixed with in two weeks QA will email the
      maintainers about the issue (if the bug system won't have auto bug
      report notices every X week in the future) and if the problem isn't
      fixed within one week from that, QA will send yet another email to the
      maintainers and if no answer nor fix to the problem is provided within
      one week, all members of the core QA team will get the permission to
      modify any file needed to fix that QA issue as well as make a new
      release.</para>

      <para>If any <emphasis>major</emphasis> QA issues are found in any
      package and the QA team doesn't have permission to change that package
      without contacting the lead first then the QA team will file a bug
      report. Any major issues can stay open for 2 weeks (5+5+4 days; see
      below), QA may fix it themselves.</para>

      <para>If the issue isn't fixed within 5 days QA will email the
      maintainers about the issue (if the bug system won't have auto bug
      report notices every X week in the future) and if the problem isn't
      fixed with in 5 days, from that QA will send yet another email to the
      maintainers and if no answer nor fix to the problem is provided with in
      4 days, all members of the core QA team will have permission to modify
      any file needed to fix that QA issue as well as make a new
      release.</para>

      <para>The same time frames apply when the QA team want to make a release
      because of unreleased fixes/improvements which are only available via
      CVS, or when the QA team wants to determine if a package has been
      orphaned (using the time frames specified for non major issues).</para>

      <para>The QA team can decide what are major issues after discussion on
      the QA Mailing-list.</para>

      <para>The QA team will for this reason keep track of those QA issues in
      their pear web subsection. This would only be for having overview over
      which package maintainers need to be emailed for reminders and such
      things.</para>
    </section>

    <section xml:id="chapters.rfcs.qa-team.rights.orphan">
      <title>Orphaned Packages</title>

      <para>The QA team can use the above stated rules to determine if a
      package is orphaned. The core QA team gets lead rights on all orphaned
      packages until the original maintainer returns or a new maintainer is
      found.</para>
    </section>

    <section xml:id="chapters.rfcs.qa-team.rights.deleting">
      <title>Deleting Package releases</title>

      <para>The core QA team also has the permission to delete any release
      that might have any issues that have been found after the release, to
      reduce the effects of the problem. This right must be exercised with
      caution.</para>

      <para>Package maintainers can also grant QA the rights to make a
      releases for their packages.</para>
    </section>
  </section>

  <section xml:id="chapters.rfcs.qa-team.pearweb">
    <title>pearweb QA subsection</title>

    <para>It seems that there is a lack of QA material in the manual that
    people agree on and there is also need to make it move visible for people
    so they will actually follow those rules/guidelines. The QA team will
    therefore get its own QA subsection in the manual and will have control
    over it just like package maintainer controls package related docs in the
    manual.</para>

    <para>The QA team also gets its own subsection on pearweb so people can
    more easily access QA material which is too dynamic or just related to the
    QA team own internal documentation purposes. There the QA will, for
    example, publish their latest decisions.</para>

    <para>Furthermore here the QA team will be able to provide interfaces to
    QA team services. For example, here the QA team could offer an interface
    for maintainers to configure the access rights they want to grant the QA.
    Finally the core QA team can add QA related notes to each package homepage
    to communicate QA related information to the user base.</para>

    <section>
      <title>Approving first stable release</title>

      <para>The QA team needs to approve the first stable release of any major
      version.</para>

      <para>For this purpose maintainers upload the release to PEARweb and
      contact the QA team with a link to the release, then QA will decide if
      the release is ready or not. The core QA team will at this point approve
      the release through PEAR web and release it for the maintainer.</para>

      <note>
        <para>The QA team must always inform the current lead maintainers of
        any changes that are done to a given package using the currently
        configured email addresses on pear web.</para>
      </note>

      <note>
        <para>The core QA team may delegate tasks as much as possible to other
        QA team members. However no access rights will be assigned just for
        the sake of delegating a task (so members of the QA team may package a
        new release, but only members of the core QA team will have the
        necessary rights to upload the release).</para>
      </note>
    </section>
  </section>

  <section xml:id="chapters.rfcs.qa-team.summary">
    <title>Summary</title>

    <para>QA core group access rights:</para>

    <orderedlist>
      <listitem>
        <para>Max 7 core members that get the core-QA-karma</para>
      </listitem>

      <listitem>
        <para>The core QA team will get more permission to fix issues and make
        release of packages if reported problems are not fixed in a specific
        time frame</para>
      </listitem>

      <listitem>
        <para>The core QA team assumes lead over orphaned packages</para>
      </listitem>

      <listitem>
        <para>The core QA team gets the rights to delete releases of packages
        if it determines that the release has severe issues</para>
      </listitem>

      <listitem>
        <para>The QA team is allowed to add QA related notes to package
        homepages</para>
      </listitem>

      <listitem>
        <para>QA team needs to approve an first stable release for a given
        major version number (done by votes)</para>
      </listitem>

      <listitem>
        <para>The entire QA team will identify QA problems, will help writing
        QA related documents, will help people resolve their QA problems and
        such things</para>
      </listitem>

      <listitem>
        <para>More focus is needed on writing QA related things in the manual
        and make then more visible</para>
      </listitem>

      <listitem>
        <para>Make a little QA corner at pear.php.net so QA is more visible
        for people and package devs are more aware of the QA team and how it
        works.</para>
      </listitem>

      <listitem>
        <para>Keep track of what QA does regarding packages that QA doesn't
        have permission to edit through a wiki of some sort</para>
      </listitem>
    </orderedlist>
  </section>

  <section xml:id="chapters.rfcs.qa-team.actions">
    <title>Actions Required if accepted</title>

    <orderedlist>
      <listitem>
        <para>Forming of the QA team, electing the persons who should for the
        core of the QA team.</para>
      </listitem>

      <listitem>
        <para>Giving the core dudes full CVS karma on the pear CVS module, as
        well as full access rights to package management part of pear
        web</para>
      </listitem>

      <listitem>
        <para>Make that little QA pear page</para>
      </listitem>

      <listitem>
        <para>Improve the QA manual pages</para>
      </listitem>

      <listitem>
        <para>Discovering which packages' lead(s) allow QA to help keeping
        their package QA approved</para>
      </listitem>

      <listitem>
        <para>Better coordination of the work which is done, who is going to
        do what. Know in advance who is going to write some more entries to
        the manual and so on.</para>
      </listitem>

      <listitem>
        <para>Make a wiki page of some sort for the info tracking regarding QA
        editing package that QA doesn't have permission to edit.</para>
      </listitem>
    </orderedlist>
  </section>
</chapter>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.