]> git.donarmstrong.com Git - debian/debian-policy.git/blob - Process.html
Perl: Recommend DESTDIR instead of PREFIX with Makefile.PL
[debian/debian-policy.git] / Process.html
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml"
5 lang="en" xml:lang="en">
6 <head>
7 <div style="text-align:right;font-size:70%;white-space:nowrap;">
8  <a accesskey="h" href="http://www.debian.org/"> UP </a>
9  |
10  <a accesskey="H" href="http://wiki.debian.org/Teams/Policy"> HOME </a>
11 </div>
12
13 <title>Debian Policy changes process</title>
14 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
15 <meta name="generator" content="Org-mode"/>
16 <meta name="generated" content="2009-09-13 16:13:52 CDT"/>
17 <meta name="author" content="Margarita Manterola, Clint Adams, Russ Allbery, and Manoj Srivastava"/>
18 <meta name="description" content=""/>
19 <meta name="keywords" content=""/>
20
21 <style type="text/css">
22   html { font-family: Times, serif; font-size: 12pt; }
23   .title  { text-align: center; }
24   p.verse { margin-left: 3% }
25   pre {
26         border: 1pt solid #AEBDCC;
27         color: #000000;
28         background-color: LightSlateGray;
29         padding: 5pt;
30         font-family: "Courier New", courier, monospace;
31         font-size: 90%;
32         overflow:auto;
33   }
34   dt { font-weight: bold; }
35   div.figure { padding: 0.5em; }
36   div.figure p { text-align: center; }
37   .linenr { font-size:smaller }
38   .code-highlighted {background-color:#ffff00;}
39   .org-info-js_info-navigation { border-style:none; }
40   #org-info-js_console-label { font-size:10px; font-weight:bold;
41                                white-space:nowrap; }
42   .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
43                                  font-weight:bold; }
44
45   body {
46    color: DarkSlateGrey;
47    background-color: gainsboro;
48    font-family: Palatino, "Palatino Linotype", "Hoefler Text", "Times New Roman", Times, Georgia, Utopia, serif;
49   }
50   .org-agenda-date          { color: #87cefa;    }
51   .org-agenda-structure     { color: #87cefa;    }
52   .org-scheduled            { color: #98fb98;    }
53   .org-scheduled-previously { color: #ff7f24;    }
54   .org-scheduled-today      { color: #98fb98;    }
55   .org-tag                  { font-weight: bold; }
56   .org-todo                 {
57     color: #ffc0cb;
58     font-weight: bold;
59   }
60  
61   a {
62     color: inherit;
63     background-color: inherit;
64     font: inherit;
65     text-decoration: inherit;
66   }
67   a:hover { text-decoration: underline; }
68   .todo  { font-weight:bold; }
69   .done { font-weight:bold; }
70   .TODO { color:red; }
71   .WAITING { color:orange; }
72   .DONE { color:green; }
73   .timestamp { color: grey }
74   .timestamp-kwd { color: CadetBlue }
75   .tag { background-color:lightblue; font-weight:normal }
76   .target { background-color: lavender; }
77 table {
78         border-collapse: collapse; /*separate; */
79         border: outset 3pt;
80         border-spacing: 0pt;
81         /* border-spacing: 5pt; */
82         }
83 table td             { vertical-align: top; border: 1px solid; }
84 table th             { vertical-align: top; border: 2px solid; }
85 </style>
86 <script ="text/javascript" language="JavaScript" src="/styles/org-info.js"></script>
87 <script type="text/javascript" language="JavaScript">
88 /* <![CDATA[ */
89 org_html_manager.set("LOCAL_TOC", 0);
90 org_html_manager.set("VIEW_BUTTONS", 1);
91 org_html_manager.set("VIEW", "info");
92 org_html_manager.set("TOC", 1);
93 org_html_manager.set("MOUSE_HINT", "underline"); // could be a background-color like #eeeeee
94 org_html_manager.setup ();
95 /* ]]> */
96 </script>
97
98 <script type="text/javascript">
99 <!--/*--><![CDATA[/*><!--*/
100  function CodeHighlightOn(elem, id)
101  {
102    var target = document.getElementById(id);
103    if(null != target) {
104      elem.cacheClassElem = elem.className;
105      elem.cacheClassTarget = target.className;
106      target.className = "code-highlighted";
107      elem.className   = "code-highlighted";
108    }
109  }
110  function CodeHighlightOff(elem, id)
111  {
112    var target = document.getElementById(id);
113    if(elem.cacheClassElem)
114      elem.className = elem.cacheClassElem;
115    if(elem.cacheClassTarget)
116      target.className = elem.cacheClassTarget;
117  }
118 /*]]>*///-->
119 </script>
120 </head>
121 <body>
122 <div id="content">
123 <h1 class="title">Debian Policy changes process</h1>
124
125
126 <div id="outline-container-1" class="outline-2">
127 <h2 id="sec-1">Change Goals </h2>
128 <div class="outline-text-2" id="text-1">
129
130
131 <ul>
132 <li>
133 The change should be technically correct, and consistent with the
134 rest of the policy document. This means no legislating the value of
135 π. This also means that the proposed solution be known to work;
136 iterative design processes do not belong in policy.
137 </li>
138 <li>
139 The change should not be too disruptive; if very many packages
140 become instantly buggy, then instead there should be a transition
141 plan. Exceptions should be rare (only if the current state is really
142 untenable), and probably blessed by the TC.
143 </li>
144 <li>
145 The change has to be reviewed in depth, in the open, where any one
146 may contribute; a publicly accessible, archived, open mailing list.
147 </li>
148 <li>
149 Proposal should be addressed in a timely fashion.
150 </li>
151 <li>
152 Any domain experts should be consulted, since not every policy
153 mailing list subscriber is an expert on everything, including policy
154 maintainers.
155 </li>
156 <li>
157 The goal is rough consensus on the change, which should not be hard
158 if the matter is technical. Technical issues where there is no
159 agreement should be referred to the TC; non-technical issues should
160 be referred to the whole developer body, and perhaps general
161 resolutions lie down that path.
162 </li>
163 <li>
164 Package maintainers whose packages may be impacted should have
165 access to policy change proposals, even if they do not subscribe to
166 policy mailing lists (policy gazette?).
167
168 </li>
169 </ul>
170 </div>
171
172 </div>
173
174 <div id="outline-container-2" class="outline-2">
175 <h2 id="sec-2">Current Process </h2>
176 <div class="outline-text-2" id="text-2">
177
178
179 <p>
180 Each suggested change goes through different states. These states are
181 denoted through either usertags of the
182 <a href="mailto:debian-policy@packages.debian.org">debian-policy@packages.debian.org</a> user or, for patch, pending, and
183 wontfix, regular tags.
184 </p>
185 <p>
186 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done">Current list of bugs</a>
187 </p>
188 <p>
189 The Policy delegates are responsible for managing the tags on bugs and
190 will update tags as new bugs are submitted or as activity happens on
191 bugs. All Debian Developers should feel free to add the seconded tag
192 as described below. Other tags should be changed with the coordination
193 of the Policy Team.
194 </p>
195
196 </div>
197
198 <div id="outline-container-2.1" class="outline-3">
199 <h3 id="sec-2.1">State A: Issue raised </h3>
200 <div class="outline-text-3" id="text-2.1">
201
202
203 <p>
204 Detect need, like gaps/flaws in current policy, or a new rule should
205 be added. Any user or developer may start this step. There is a
206 decision point here, not all issues are in scope of policy.
207 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;tag=issue">TAG: issue</a>
208 </p>
209 <p>
210 What needs to happen next: If this is in scope for Policy, discuss the
211 issue and possible solutions, moving to the discussion tag, or if the
212 matter is sufficiently clear, go directly to a proposal for how to
213 address it, moving to the proposal tag. If this is not in scope for
214 Policy, close the bug.
215 </p>
216 </div>
217
218 </div>
219
220 <div id="outline-container-2.2" class="outline-3">
221 <h3 id="sec-2.2">State B: Discussion </h3>
222 <div class="outline-text-3" id="text-2.2">
223
224
225 <p>
226 Discuss remedy. Alternate proposals. Discussion guided by
227 delegates. There should be a clear time limit to this stage, but as
228 yet we have not set one.
229 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=discussion">TAG: discussion</a>
230 </p>
231 <p>
232 What needs to happen next: Reach a conclusion and consensus in the
233 discussion and make a final proposal for what should be changed (if
234 anything), moving to the proposal tag.
235 </p>
236 </div>
237
238 </div>
239
240 <div id="outline-container-2.3" class="outline-3">
241 <h3 id="sec-2.3">State D: Proposal </h3>
242 <div class="outline-text-3" id="text-2.3">
243
244
245 <p>
246 A final proposal has emerged from the discussion, and there is a rough
247 consensus on how to proceed to resolve the issue. 
248 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=proposal">TAG: proposal</a>
249 </p>
250 <p>
251 What needs to happen next: Provided that the rough consensus persists,
252 develop a patch against the current Policy document with specific
253 wording of the change. Often this is done in conjunction with the
254 proposal, in which case one may skip this step and move directly to
255 patch tag.
256 </p>
257 </div>
258
259 </div>
260
261 <div id="outline-container-2.4" class="outline-3">
262 <h3 id="sec-2.4">State E: Wording proposed </h3>
263 <div class="outline-text-3" id="text-2.4">
264
265
266 <p>
267 A patch against the Policy document reflecting the consensus has been
268 created and is waiting for formal seconds. The standard patch tag is
269 used for this state, since it's essentially equivalent to the standard
270 meaning of that tag. 
271 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=patch">TAG: patch</a>
272 </p>
273 <p>
274 What needs to happen next: The proposal needs to be reviewed and
275 seconded. Any Debian developer who agrees with the change and the
276 conclusion of rough consensus from the discussion should say so in the
277 bug log by seconding the proposal.
278 </p>
279 </div>
280
281 </div>
282
283 <div id="outline-container-2.5" class="outline-3">
284 <h3 id="sec-2.5">State F: Seconded </h3>
285 <div class="outline-text-3" id="text-2.5">
286
287
288 <p>
289 The proposal is signed off on by N Debian Developers. To start with,
290 we're going with N=3, meaning that if three Debian Developers agree,
291 not just with the proposal but with the conclusion that it reflects
292 consensus and addresses the original issue &ndash; it is considered
293 eligible for inclusion in the next version of Policy. Since Policy is
294 partly a technical project governance method, one must be a Debian
295 Developer to formally second, although review and discussion is
296 welcome from anyone. Once this tag has been applied, the bug is
297 waiting for a Policy team member to apply the patch to the package
298 repository. 
299 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=seconded">TAG: seconded</a>
300 </p>
301 <p>
302 What needs to happen next: A Policy maintainer does the final review
303 and confirmation, and then applies the patch for the next Policy
304 release.
305 </p>
306 <p>
307 This tag is not used very much because normally a Policy maintainer
308 applies the patch and moves the proposal to the next state once enough
309 seconds are reached.
310 </p>
311 </div>
312
313 </div>
314
315 <div id="outline-container-2.6" class="outline-3">
316 <h3 id="sec-2.6">State G: Accepted </h3>
317 <div class="outline-text-3" id="text-2.6">
318
319
320 <p>
321 Change accepted, will be in next upload. The standard pending tag is
322 used for this state since it matches the regular meaning of
323 pending. 
324 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=pending">TAG: pending</a>
325 </p>
326 <p>
327 What needs to happen next: The bug is now in the waiting queue for the
328 next Policy release, and there's nothing left to do except for upload
329 a new version of Policy.
330 </p>
331 </div>
332
333 </div>
334
335 <div id="outline-container-2.7" class="outline-3">
336 <h3 id="sec-2.7">State H: Reject </h3>
337 <div class="outline-text-3" id="text-2.7">
338
339
340 <p>
341 Rejected proposals. The standard wontfix is used for this
342 state. Normally, bugs in this state will not remain open; instead, a
343 Policy team member will close them with an explanation. The submitter
344 may then appeal to the tech-ctte if they so desire. Alternately,
345 issues appealed to the tech-ctte may remain open with this tag while
346 that appeal proceeds.
347 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=rejected">TAG: wontfix</a>
348 </p>
349 <p>
350 We may use one of the following tags here, but to date we have only
351 used dubious and ctte. It's not clear whether we need more tags for
352 this tage.
353 </p>
354 <dl>
355 <dt><b>dubious</b></dt><dd>
356 Not a policy matter 
357 </dd>
358 <dt><b>ctte</b></dt><dd>
359 Referred to the Technical Committee (tech-ctte) 
360 </dd>
361 <dt><b>devel</b></dt><dd>
362 Referred to the developer body 
363 </dd>
364 <dt><b>delegate</b></dt><dd>
365 Rejected by a Policy delegate 
366 </dd>
367 <dt><b>obsolete</b></dt><dd>
368 The proposal timed out without a conclusion 
369
370 </dd>
371 </dl>
372
373 <p>What needs to happen next: The bug should be closed once a final
374 resolution is reached, or retagged to an appropriate state if that
375 final resolution reverses the decision to reject the proposal.
376 </p>
377 </div>
378 </div>
379
380 </div>
381
382 <div id="outline-container-3" class="outline-2">
383 <h2 id="sec-3">Other Tags </h2>
384 <div class="outline-text-2" id="text-3">
385
386
387 <p>
388 All Policy bugs are additionally categorized by class of bug.
389 </p>
390 <p>
391 The normative tag is used for bugs that make normative changes to
392 Policy, meaning that the dictates of Policy will change in some
393 fashion as part of the resolution of the bug if the proposal is
394 accepted. The full process is followed for such bugs. 
395 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=normative">TAG: normative</a>
396 </p>
397 <p>
398 The informative tag is used for bugs about wording issues, typos,
399 informative footnotes, or other changes that do not affect the formal
400 dictates of Policy, just the presentation. The same tags are used for
401 these bugs for convenience, but the Policy maintainers may make
402 informative changes without following the full process. Informative
403 bugs fall under their discretion. 
404 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=informative">TAG: informative</a>
405 </p>
406 <p>
407 The packaging tag is used for bugs about the packaging and build
408 process of the debian-policy Debian package. These bugs do not follow
409 the normal process and will not have the other tags except for pending
410 and wontfix (used with their normal meanings). 
411 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=debian-policy&amp;pend-exc=done&amp;tag=packaging">TAG: packaging</a>
412 </p></div>
413 </div>
414 <div id="postamble">
415 <p class="author"> Author: Margarita Manterola, Clint Adams, Russ Allbery, and Manoj Srivastava
416 <a href="mailto:srivasta@debian.org">&lt;srivasta@debian.org&gt;</a>
417 </p>
418 <p class="date"> Date: 2009-09-13 16:13:52 CDT</p>
419 <p class="creator">HTML generated by org-mode 6.30trans in emacs 23</p>
420 </div>
421 </div>
422 </body>
423 </html>