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