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