blob: 1d58ae1d9a739b5fdc15318b8dcb4124e49533bf [file] [log] [blame]
Dan Morrill3cd199f2009-11-06 14:04:16 -08001page.title=Life of a Bug
2doc.type=source
3@jd:body
4<p>The Android Open Source project maintains a public issue tracker where you
5can report bugs and request features for the Android software stack. (For
6details on this issue tracker, please see <a
7href="{@docRoot}source/report-bugs.html">the Reporting Bugs page</a>.)
8Reporting bugs is great (thank you!), but what happens to a bug report once
9you 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
11intended only for bugs &amp; feature requests related to the Android software
12stack. Because many users find their way here looking for the Google apps for
13Android (such as Gmail and so on), we have components set up for their
14convenience. However, these apps are not part of Android, and any issues
15reported on these components are not guaranteed to to receive attention.
16Most 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
18Market 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
23triaged 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
25fate of the issue.</li>
26<li>Bugs in the "Resolved" bucket will eventually be included in a future
27release 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
31it's handled.</p>
32<h3>New Issues</h3>
33<p>New issues include bug reports that are not yet being acted upon. The two
34states are:</p>
35<ul>
36<li><b>New</b><p>The bug report has not yet been triaged (that is, reviewed by
37an AOSP contributor.)</p></li>
38<li><b>NeedsInfo</b><p>The bug report has insufficient information to act
39upon. The person who reported the bug needs to provide additional detail
40before it can be triaged. If enough time passes and no new information is
41provided, the bug may be closed by default, as one of the No-Action
42states.</p></li>
43</ul>
44
45<h3>Open Issues</h3>
46<p>This bucket contains bugs that need action, but which are still
47unresolved, 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
50detailed report of a legitimate issue, but has not yet been assigned to an
51AOSP contributor to be fixed. Typically, bugs in this state are considered low
52priority, at least insofar that if they were high priority, they'd be assigned
53to a contributor.</p></li>
54<li><b>Reviewed</b><p>Like <code>Unassigned</code>, but the issue
55represented is being tracked in a separate bug database. For example, the bug
Dan Morrill55de6812009-11-15 15:46:36 -080056might have been reported via an internal bug-tracking system,
57which is considered the "master" copy. (For instance, Google maintains one
58such private issue tracker, intended primarily for bugs which contain
59sensitive information which can't be revealed publicly.)</p></li>
Dan Morrill3cd199f2009-11-06 14:04:16 -080060<li><b>Assigned</b><li>Like <code>Unassigned</code>, but the bug has been
61actually 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
64will remain until it is associated with a specific upcoming release, at which
65point it will enter <code>Reviewed</code> or <code>Assigned</code>. However,
66note 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
69recognized it as a legitimate issue and will fix it according to the product
70priorities and milestones. However, it's impossible to guarantee a fix in time
71for 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
75determined 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,
78regrettably, 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
81isn't English can make this mistake.)</p></li>
82<li><b>Unreproducible</b><p>An AOSP contributor attempted to reproduce the
83behavior described, and was unable to do so. This sometimes means that the bug
84is legitimate but simply rare or difficult to reproduce, and sometimes means
85that the bug was fixed in a later release.</p></li>
86<li><b>WorkingAsIntended</b><p>An AOSP contributor has determined that the
87behavior described isn't a bug, but is the intended behavior. This state is
88also commonly referred to as "WAI".</b></li>
89<li><b>Declined</b><p>This is like <code>WorkingAsIntended</code>, except
90typically used for feature requests instead of bugs. That is, an AOSP
91contributor has determined that the request is not going to be implemented in
92Android.</b></li>
93</ul>
94
95<h3>Resolved Issues</h3>
96<p>This bucket contains bugs that have had action taken, and are now
97considered resolved.</p>
98<ul>
99<li><b>FutureRelease</b><p>This bug has been fixed (or feature implemented) in
100a source tree, but has not yet been included in a formal Android
101platform release. (Note that this may also include fixes that exist in a
102private source tree that has not yet been contributed to a public
103tree.)</p></li>
104<li><b>Released</b><p>This bug has been fixed, and is included in a formal
105Android platform release. When this state is set, we try to also set a
106property indicating which release it was fixed in.</p></li>
107<li><b>Duplicate</b><p>This bug is a duplicate of another, existing bug
108report.</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.
113However, Android contains a lot of software and gets a correspondingly large
114number of bugs. As a result, sometimes bugs don't make it through all the
115states in a formal progression. We do try to keep the system up to date, but
116we tend to do so in periodic "bug sweeps" where we review the database and
117make updates.</p>
118<p>Since the AOSP is essentially constantly evolving, we do make tweaks to
119the list of bug states and the lifecycle described above. When we do this,
120however, 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
122actually multiple issue trackers for Android-related issues. The <a
123href="http://code.google.com/p/android/issues/list">Google Code Project
124Hosting Issue Tracker</a> is the <b>only</b> official public issue tracker; however,
Dan Morrill55de6812009-11-15 15:46:36 -0800125Google also maintains a private issue tracker, own, as do most OEMs. We try to
126keep the public issue tracker in sync with private issue trackers
Dan Morrill3cd199f2009-11-06 14:04:16 -0800127wherever possible, but in cases where confidential information and security
128issues are involved, this isn't always possible.</p>