Home | History | Annotate | Download | only in source
      1 page.title=Life of a Bug
      2 @jd:body
      3 
      4 <!--
      5     Copyright 2010 The Android Open Source Project
      6 
      7     Licensed under the Apache License, Version 2.0 (the "License");
      8     you may not use this file except in compliance with the License.
      9     You may obtain a copy of the License at
     10 
     11         http://www.apache.org/licenses/LICENSE-2.0
     12 
     13     Unless required by applicable law or agreed to in writing, software
     14     distributed under the License is distributed on an "AS IS" BASIS,
     15     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     16     See the License for the specific language governing permissions and
     17     limitations under the License.
     18 -->
     19 <div id="qv-wrapper">
     20   <div id="qv">
     21     <h2>In this document</h2>
     22     <ol id="auto-toc">
     23     </ol>
     24   </div>
     25 </div>
     26 <p>The Android Open Source project maintains a public issue tracker where you
     27 can report bugs and request features for the Android software stack. (For
     28 details on this issue tracker, please see the <a href="report-bugs.html">Reporting Bugs</a> page).
     29 Reporting bugs is great (thank you!), but what happens to a bug report once
     30 you file it? This page describes the Life of a Bug.</p>
     31 <p>*Please note: the Android Open Source Project (AOSP) issue tracker is
     32 intended only for bugs and feature requests related to the Android software
     33 stack. Because many users find their way here looking for the Google apps for
     34 Android (such as Gmail and so on), we have components set up for their
     35 convenience. However, these apps are not part of Android, and any issues
     36 reported on these components are not guaranteed to to receive attention.
     37 Most notably, to report issues related to Google Play, you should visit the
     38 <a href="https://support.google.com/googleplay/">Google Play Support Forum</a>.</p>
     39 <p>Here's the life of a bug, in a nutshell:</p>
     40 <ol>
     41 <li>
     42 <p>A bug is filed, and has the state "New".</p>
     43 </li>
     44 <li>
     45 <p>An AOSP contributor periodically reviews and triages bugs. Bugs are
     46 triaged into one of four "buckets": New, Open, No-Action, or Resolved.</p>
     47 </li>
     48 <li>
     49 <p>Each bucket includes a number of states that provide more detail on the
     50 fate of the issue.</p>
     51 </li>
     52 <li>
     53 <p>Bugs in the "Resolved" bucket will eventually be included in a future
     54 release of the Android software.</p>
     55 </li>
     56 </ol>
     57 <h1 id="bucket-details">Bucket Details</h1>
     58 <p>Here is some additional information on each bucket, what it means, and how
     59 it's handled.</p>
     60 <h2 id="new-issues">New Issues</h2>
     61 <p>New issues include bug reports that are not yet being acted upon. The two
     62 states are:</p>
     63 <ul>
     64 <li>
     65 <p><em>New:</em>
     66     The bug report has not yet been triaged (that is, reviewed by an AOSP contributor.)</p>
     67 </li>
     68 <li>
     69 <p><em>NeedsInfo:</em>
     70     The bug report has insufficient information to act
     71 upon. The person who reported the bug needs to provide additional detail
     72 before it can be triaged. If enough time passes and no new information is
     73 provided, the bug may be closed by default, as one of the No-Action
     74 states.</p>
     75 </li>
     76 </ul>
     77 <h2 id="open-issues">Open Issues</h2>
     78 <p>This bucket contains bugs that need action, but which are still
     79 unresolved, pending a change to the source code.</p>
     80 <ul>
     81 <li>
     82 <p><em>Unassigned:</em>
     83     The bug report has been recognized as an adequately
     84 detailed report of a legitimate issue, but has not yet been assigned to an
     85 AOSP contributor to be fixed. Typically, bugs in this state are considered low
     86 priority, at least insofar that if they were high priority, they'd be assigned
     87 to a contributor.</p>
     88 </li>
     89 <li>
     90 <p><em>Reviewed:</em>
     91     Like <em>Unassigned</em>, but the issue
     92 represented is being tracked in a separate bug database. For example, the bug
     93 might have been reported via an internal bug-tracking system,
     94 which is considered the "master" copy. (For instance, Google maintains one
     95 such private issue tracker, intended primarily for bugs which contain
     96 sensitive information which can't be revealed publicly.)</p>
     97 </li>
     98 <li>
     99 <p><em>Assigned:</em>
    100     Like <em>Unassigned</em>, but the bug has been
    101 actually assigned to a specific contributor to fix.</p>
    102 </li>
    103 </ul>
    104 <p>Typically, a given bug will start in <em>Unassigned</em>, where it
    105 will remain until it is associated with a specific upcoming release, at which
    106 point it will enter <em>Reviewed</em> or <em>Assigned</em>. However,
    107 note that this isn't a guarantee, and it's not uncommon for bugs to go from
    108 <em>Unassigned</em> to one of the Resolved states.</p>
    109 <p>In general, if a bug is in one of these Open states, the AOSP team has
    110 recognized it as a legitimate issue and will fix it according to the product
    111 priorities and milestones. However, it's impossible to guarantee a fix in time 
    112 for any particular release.</p>
    113 <h2 id="no-action-issues">No-Action Issues</h2>
    114 <p>This bucket contains bugs that have for one reason or another been
    115 determined to not require any action.</p>
    116 <ul>
    117 <li>
    118 <p><em>Spam:</em> 
    119     A kind soul sent us some delicious pork products, that we,
    120 regrettably, do not want.</p>
    121 </li>
    122 <li>
    123 <p><em>Question:</em>
    124     Someone mistook the issue tracker for a help forum.
    125 (This is not as uncommon as you might think: many users whose native language
    126 isn't English misunderstand the site and make this mistake.)</p>
    127 </li>
    128 <li>
    129 <p><em>Unreproducible:</em>
    130     An AOSP contributor attempted to reproduce the
    131 behavior described, and was unable to do so. This sometimes means that the bug
    132 is legitimate but simply rare or difficult to reproduce, and sometimes means
    133 that the bug was fixed in a later release.</p>
    134 </li>
    135 <li>
    136 <p><em>WorkingAsIntended:</em>
    137     An AOSP contributor has determined that the
    138 behavior described isn't a bug, but is the intended behavior. This state is
    139 also commonly referred to as "WAI".</p>
    140 </li>
    141 <li>
    142 <p><em>Declined:</em>
    143     This is like <em>WorkingAsIntended</em>, except
    144 typically used for feature requests instead of bugs.  That is, an AOSP
    145 contributor has determined that the request is not going to be implemented in
    146 Android.</p>
    147 </li>
    148 </ul>
    149 <h2 id="resolved-issues">Resolved Issues</h2>
    150 <p>This bucket contains bugs that have had action taken, and are now
    151 considered resolved.</p>
    152 <ul>
    153 <li>
    154 <p><em>FutureRelease:</em>
    155     This bug has been fixed (or feature implemented) in
    156 a source tree, but has not yet been included in a formal Android
    157 platform release. (Note that this may also include fixes that exist in a
    158 private source tree that has not yet been contributed to a public
    159 tree.)</p>
    160 </li>
    161 <li>
    162 <p><em>Released:</em>
    163     This bug has been fixed, and is included in a formal
    164 Android platform release. When this state is set, we try to also set a
    165 property indicating which release it was fixed in.</p>
    166 </li>
    167 <li>
    168 <p><em>Duplicate:</em>
    169     This bug is a duplicate of another, existing bug report.</p>
    170 </li>
    171 </ul>
    172 <h1 id="other-stuff">Other Stuff</h1>
    173 <p>The states and lifecycle above are how we generally try to track software.
    174 However, Android contains a lot of software and gets a correspondingly large
    175 number of bugs. As a result, sometimes bugs don't make it through all the
    176 states in a formal progression. We do try to keep the system up to date, but
    177 we tend to do so in periodic "bug sweeps" where we review the database and
    178 make updates.</p>
    179 <p>Since the AOSP is essentially constantly evolving, we do make tweaks to
    180 the list of bug states and the lifecycle described above.  When we do this,
    181 however, we'll be sure to update this page as well.</p>
    182 <p>Finally, you should be aware that for a variety of reasons, there are
    183 actually multiple issue trackers for Android-related issues. The 
    184 <a href="https://code.google.com/p/android/issues/list">Google Code Project Hosting Issue Tracker</a>
    185 is the <em>only</em> official public issue tracker; however,
    186 Google also maintains a private issue tracker, own, as do most OEMs. We try to
    187 keep the public issue tracker in sync with private issue trackers
    188 wherever possible, but in cases where confidential information and security
    189 issues are involved, this isn't always possible.</p>