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