Add missing release date to the 4.0.0 upgrading-checklist entry
[debian-policy.git] / Process.md
blob53fca5af795c5d8b366ca33e2001a7c69a0985dc
1 Format: complete
2 Title: Debian Policy changes process
3 Author: Margarita Manterola, Clint Adams, Russ Allbery, and Manoj Srivastava
4 Email: debian-policy@packages.debian.org
5 Link Home: http://wiki.debian.org/Teams/Policy
6 Link Up: http://www.debian.org/
7 XHTML Header: <style type="text/css">h1 { text-align: center; }</style>
9 # Debian Policy changes process
11 To introduce a change in the current DebianPolicy, the change proposal
12 has to go through a certain process.
14 ## Change Goals
16 + The change should be technically correct, and consistent with the
17   rest of the policy document. This means no legislating the value of
18   π. This also means that the proposed solution be known to work;
19   iterative design processes do not belong in policy.
20 + The change should not be too disruptive; if very many packages
21   become instantly buggy, then instead there should be a transition
22   plan. Exceptions should be rare (only if the current state is really
23   untenable), and probably blessed by the TC.
24 + The change has to be reviewed in depth, in the open, where any one
25   may contribute; a publicly accessible, archived, open mailing list.
26 + Proposal should be addressed in a timely fashion.
27 + Any domain experts should be consulted, since not every policy
28   mailing list subscriber is an expert on everything, including policy
29   maintainers.
30 + The goal is rough consensus on the change, which should not be hard
31   if the matter is technical. Technical issues where there is no
32   agreement should be referred to the TC; non-technical issues should
33   be referred to the whole developer body, and perhaps general
34   resolutions lie down that path.
35 + Package maintainers whose packages may be impacted should have
36   access to policy change proposals, even if they do not subscribe to
37   policy mailing lists (policy gazette?).
39 ## Current Process
41 Each suggested change goes through different states. These states are
42 denoted through either usertags of the
43 [debian-policy@packages.debian.org](mailto:debian-policy@packages.debian.org)
44 user or, for patch, pending, and wontfix, regular tags.
46 [Current list of bugs](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done)
48 The Policy delegates are responsible for managing the tags on bugs and
49 will update tags as new bugs are submitted or as activity happens on
50 bugs. All Debian Developers should feel free to add the seconded tag
51 as described below. Other tags should be changed with the coordination
52 of the Policy Team.
54 ### State A: Issue raised
56 Detect need, like gaps/flaws in current policy, or a new rule should
57 be added. Any user or developer may start this step. There is a
58 decision point here; not all issues are in scope of policy.
59 [TAG: issue](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&tag=issue)
61 What needs to happen next: If this is in scope for Policy, discuss the
62 issue and possible solutions, moving to the discussion tag, or if the
63 matter is sufficiently clear, go directly to a proposal for how to
64 address it, moving to the proposal tag. If this is not in scope for
65 Policy, close the bug.
67 ### State B: Discussion
69 Discuss remedy. Alternate proposals. Discussion guided by
70 delegates. There should be a clear time limit to this stage, but as
71 yet we have not set one.
72 [TAG: discussion](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=discussion)
74 What needs to happen next: Reach a conclusion and consensus in the
75 discussion and make a final proposal for what should be changed (if
76 anything), moving to the proposal tag.
78 ### State C: Proposal
80 A final proposal has emerged from the discussion, and there is a rough
81 consensus on how to proceed to resolve the issue.
82 [TAG: proposal](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=proposal)
84 What needs to happen next: Provided that the rough consensus persists,
85 develop a patch against the current Policy document with specific
86 wording of the change. Often this is done in conjunction with the
87 proposal, in which case one may skip this step and move directly to
88 patch tag.
90 ### State D: Wording proposed
92 A patch against the Policy document reflecting the consensus has been
93 created and is waiting for formal seconds. The standard patch tag is
94 used for this state, since it's essentially equivalent to the standard
95 meaning of that tag.
96 [TAG: patch](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=patch)
98 What needs to happen next: The proposal needs to be reviewed and
99 seconded. Any Debian developer who agrees with the change and the
100 conclusion of rough consensus from the discussion should say so in the
101 bug log by seconding the proposal.
103 ### State E: Seconded
105 The proposal is signed off on by N Debian Developers. To start with,
106 we're going with N=3, meaning that if three Debian Developers agree,
107 not just with the proposal but with the conclusion that it reflects
108 consensus and addresses the original issue -- it is considered
109 eligible for inclusion in the next version of Policy. Since Policy is
110 partly a technical project governance method, one must be a Debian
111 Developer to formally second, although review and discussion is
112 welcome from anyone. Once this tag has been applied, the bug is
113 waiting for a Policy team member to apply the patch to the package
114 repository.
115 [TAG: seconded](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=seconded)
117 What needs to happen next: A Policy maintainer does the final review
118 and confirmation, and then applies the patch for the next Policy
119 release.
121 This tag is not used very much because normally a Policy maintainer
122 applies the patch and moves the proposal to the next state once enough
123 seconds are reached.
125 ### State F: Accepted
127 Change accepted, will be in next upload. The standard pending tag is
128 used for this state since it matches the regular meaning of
129 pending.
130 [TAG: pending](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=pending)
132 What needs to happen next: The bug is now in the waiting queue for the
133 next Policy release, and there's nothing left to do except for upload
134 a new version of Policy.
136 ### State G: Reject
138 Rejected proposals. The standard wontfix is used for this
139 state. Normally, bugs in this state will not remain open; instead, a
140 Policy team member will close them with an explanation. The submitter
141 may then appeal to the tech-ctte if they so desire. Alternately,
142 issues appealed to the tech-ctte may remain open with this tag while
143 that appeal proceeds.
144 [TAG: wontfix](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=rejected)
146 We may use one of the following tags here, but to date we have only
147 used dubious and ctte. It's not clear whether we need more tags for
148 this stage.
150 **dubious**
151 :   Not a policy matter
153 **ctte**
154 :   Referred to the Technical Committee (tech-ctte)
156 **devel**
157 :   Referred to the developer body
159 **delegate**
160 :   Rejected by a Policy delegate
162 **obsolete**
163 :   The proposal timed out without a conclusion
165 What needs to happen next: The bug should be closed once a final
166 resolution is reached, or retagged to an appropriate state if that
167 final resolution reverses the decision to reject the proposal.
169 ## Other Tags
171 All Policy bugs are additionally categorized by class of bug.
173 The normative tag is used for bugs that make normative changes to
174 Policy, meaning that the dictates of Policy will change in some
175 fashion as part of the resolution of the bug if the proposal is
176 accepted. The full process is followed for such bugs.
177 [TAG: normative](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=normative)
179 The informative tag is used for bugs about wording issues, typos,
180 informative footnotes, or other changes that do not affect the formal
181 dictates of Policy, just the presentation. The same tags are used for
182 these bugs for convenience, but the Policy maintainers may make
183 informative changes without following the full process. Informative
184 bugs fall under their discretion.
185 [TAG: informative](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=informative)
187 The packaging tag is used for bugs about the packaging and build
188 process of the debian-policy Debian package. These bugs do not follow
189 the normal process and will not have the other tags except for pending
190 and wontfix (used with their normal meanings).
191 [TAG: packaging](http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&pend-exc=done&tag=packaging)