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