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