[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Updating Debian Policy



On 6 Mar 2000, Manoj Srivastava wrote:

> >>"Steve" == Steve Robbins <steve@nyongwa.montreal.qc.ca> writes:
> 
>  >> Umm, we like to keep things informal around here. So that
>  >> document kinda reflects the way things are done, without having the
>  >> weight of policy. 
> 
>  Steve> If so, I do humbly suggest it be written as a "best practices"
>  Steve> document, and not a "proposal" document.
>  
>         Please send me your changes, and I'll gladly modify the
>  document to suit.

Essentially, I suggest that the language be changed from the conditional
to the present tense, and all the `policy rationale' be dropped.  I attach
my quick attempt to do so.

However, I am constrained by ignorance, so I hope that some old-timers
will peruse this with an eye to answering the following questions:

* The proposal talks about putting the policy documents into a CVS
  repository with a team of 4-8 `maintainers'.  I have written this as
  implemented, but I'm not sure it is.  

* A status document is mentioned.  Does it exist?  Is it exported to the
  web as described?

* The document describes using the BTS for proposing amendments, and
  indeed I see there are bugs filed against policy.  I assume therefore
  that this is the 'current' practice, and left those bits in.  I don't 
  really know if all the bug titles ([PROPOSAL], [AMENDMENT], [ACCEPTED],
  etc are really in use.  I don't know if all the deadline, deadline
  extension, and dispute resolution stuff is really in use.

And finally, the controversial question:

* Who can file a policy bug, anyway?  I have heard from three people
  about this recently.  Two (one a developer) claiming that anyone can
  file a bug, and one developer claiming that only registered developers
  may file a bug.  The language in this document is left vague on this
  point.  It needs to be fixed up either way.


Now, from my own selfish point of view, I can't see the hurt caused by a
non-developer making a policy proposal.  To get adopted, a proposal needs
two seconds, and be non-controversial (i.e. rough consensus on
debian-policy).  Isn't that enough to weed out `silly' policy changes?

Or the bar could simply be raised higher for non-developer proposals. It
was suggested that a non-developer needs three developer seconds, whereas
a developer requires only two seconds.

At any rate, this `policy-update' document should be edited by someone in
the know, to reflect the current practices.

-Steve

<!doctype debiandoc public "-//DebianDoc//DTD DebianDoc//EN">
<debiandoc>
  <book>
    <titlepag>
      <title>Updating Debian Policy documents</title>
      <author>
	<name>Manoj Srivastava</name>
	<email>srivasta@debian.org</email>
      </author>
      <version>$Revision: 1.8 $</version>
      <copyright>
	<copyrightsummary>Copyright &#169; 1998 by Manoj Srivastava. 
	</copyrightsummary>
	<p>
	  You are given permission to redistribute this document
	  and/or modify it under the terms of the GNU General Public
	  License as published by the Free Software Foundation; either
	  version 2, or (at your option) any later version.</p>
	<p>
	  On Debian GNU/Linux systems, the complete text of the GNU
	  General Public License can be found in
	  `<var>/usr/share/common-licenses/GPL</var>'. </p>
      </copyright>
    </titlepag>
    <chapt>
      <heading>Introduction</heading>
      <p>
	This document describes the current practice followed in updating
	Debian Policy documents.
      </p>
      <p>
	<em>In the following, the term developer refers to registered
	  Debian developers.</em>
      </p>
      <p>A copy of this document should also be found at <url
      id="http://master.debian.org/%7Esrivasta/policy/";></p>
    </chapt>
    <chapt>
      <heading>Archives and Personnel</heading>
      <sect>
	<heading>The policy maintainers team</heading>
	<p>
	  The policy maintainers team is a small group of people who have
	  access to the CVS repository for the Policy documents.
	  The team should have at least 4-5 people on
	  the job, preferably closer to 8, so that policy does not
	  languish when any maintainer goes missing.
	</p>
	<p>
	  This team is not the authors or editors of the documents,
	  but simply the maintainers.  This group does not create
	  policy, nor does it exercise editorial control, Policy is
	  decided ``upstream''.  The group that decides on policy is
	  the group of developers on the Debian-policy mailing
	  lists.
	</p>
	<p>
	  Since the policy maintainers have no special
	  powers, they are free to participate in policy discussions on 
	  debian-policy.  The archives of the list can be used
	  as a record of the action decided upon even if all
	  maintainers are away at some time.
	</p>
      </sect>
      <sect>
	<heading>The CVS Repository</heading>
	<p>
	  The policy documents reside in a repository on
	  <tt>cvs.debian.org</tt>.  Only the 
	  policy maintainer team has write access to it. 
	</p>
	<p>
	  The repository contains all the packages under the
	  control of the team, as well as a status document, updated weekly.
	  This status document should be exported to the web and a
	  weekly posting to the
	  <tt>debian-policy</tt> and <tt>debian-devel</tt> mailing
	  lists.   It appears that this is not currently done.</p>
      </sect>
    </chapt>
    <chapt>
      <heading>Procedures and Processes</heading>
      <sect>
	<heading>Proposing amendments to the Policy</heading>
	<p>
	  Policy issues are to be raised in the policy group, or
	  by filing a wish-list bug against debian-policy.
 	  If the initial discussion warrants it, any developer,
	  with at least two seconds can formally propose a
	  policy amendment.  The proposing developer then
	  raises the severity to ``normal''.
	</p>
	<p>
	  The whole discussion process is meant to be light weight.  If
	  you wish the proposals to be amended, talk to the proposer,
	  and get the amendment in.  Or, post an alternative, and
	  let the  group decide which one is better.
	</p>
	<p>
	  If the process gets very contentious, and needs something
	  like votes on amendments and withdrawal of proposal, then
	  this is not the correct forum for this, and the procedures
	  outlined in the constitution should be followed. Note that
	  only non-technical issues can be resolved using the general
	  resolution protocol; technical issues would hopefully be
	  resolved in the group itself, or the technical committee can
	  be called upon to render a decision.
	</p>
	<sect1>
	  <heading>Notifications and Status Reports</heading>
	  <p>
	    Periodically, possibly weekly, a summary of current policy
	    topics can be posted to the Developers mailing list, as
	    well as to the policy mailing list. Since the BTS is used
	    for keeping track of policy amendments, the list of
	    current amendments shall always be on the web.</p>
	  <p>
	    Amendments to policy that have been accepted by the policy
	    group shall also be part of the notification.
	  </p>
	</sect1>
      </sect>
      <sect>
	<heading>Deadlines for Tabling Discussions</heading>
	<p>
	  It has been observed in the past that discussions on the
	  mailing list devolve into endless arguments. In order to get
	  away from the debating society aspect, at the time of the
	  formal proposal, a deadline can be set (probably by the
	  proposer, since they are likely to have an idea how
	  contentious the discussion is likely to be) for ending
	  discussion on the issue, which should rarely be less than 10
	  days, and typically two weeks or so.
	</p>
	<p>
	  If a consensus is reached by the policy group, then the
	  maintainers shall enter the amendment into the Policy
	  document, announce the inclusion in the periodic report, and
	  release a new version.</p>
	<sect1>
	  <heading>Extensions to Deadlines?</heading>
	  <p>
	    If a deadline is approaching, and the discussion is almost
	    concluded (in other words, it has not reached an impasse),
	    and the consensus on the policy group is that an extension
	    of a week would resolve the issues better, a one-time
	    extension could be granted. Care should be taken in
	    exercising this option, since abusing this would merely
	    postpone closures. Anything that is still not resolved is
	    too contentious not to be sent to the full set of
	    developers in a general resolution proposal.
	  </p>
	</sect1>
      </sect>
      <sect>
	<heading>Deadlock resolution</heading>
	<p>
	  If a consensus is not reached, (or if someone submits a
	  formal objection to the proposal) and the end of the
	  discussion period is near, then one is faced with a dilemma.
	</p>
	<sect1>
	  <heading>Impasse on Technical Issues</heading>
	  <p>
	    On technical issues, popularity is a bad way of arriving
	    at conclusions. Hopefully, the policy group would arrive
	    at a consensus on their own. If that fails to happen, or
	    if there is a formal objection raised on the issue, and
	    the issue is a technical one, then the technical committee
	    may be consulted. This should be a rare occurrence. </p>
	</sect1>
	<sect1>
	  <heading>Non Technical and Subjective Disagreements</heading>
	  <p>
	    However, if the issue is non-technical and subjective,
	    then a vote of the developers may be taken.
	    A super-majority of 75% is needed to carry the
	    amendment through. Failing the super-majority, the issue
	    should be shelved. It may be re-submitted as a a fresh
	    proposal after a suitable cooling off period (which should
	    be no less than a month, typically three months being
	    desirable, unless there are significant new
	    developments). If the proposal has been entered into the BTS,
	    the bug will be demoted.</p>
	  <p>
	    If the issue raised is especially contentious, or is
	    deemed to be suitable for review by the full set of
	    developers, then four or more developers can call for a
	    hold on the proposal, and move to send the proposal to the
	    larger developer body as a General
	    Resolution. <strong>Note:</strong> The constitution may
	    have additional requirements for submitting a General
	    Resolution, for example, a minimum number of seconders,
	    etc.
	  </p>
	</sect1>
      </sect>
      <sect>
	<heading>Using the Bug Tracking System</heading>
	<p>
	  The BTS serverities are used in the following manner.
	  <taglist>
	    <tag>Issue raised</tag>
	    <item>
	      <p>
		wishlist bug opened in BTS, with a subject of
		"[PROPOSED] ...". This is the pre discussion period,
		when the idea is kicked around, and polished. There is
		no preset time limit, but at some point, if it is
		stalled, the bug should be closed.
	      </p>
	    </item>
	    <tag>Amendment</tag>
	    <item>
	      <p>
		when a proposed issue becomes a formal amendment (when
		it has acquired the required number of seconds), the
		bug severity is raised to ``normal'' and the bug is
		retitled to "[AMENDMENT DD/MM/YYY] ...".  Actually it
		might be better to close the proposal and reopen so
		the bug date reflects when the clock starts ticking on
		the bug. 
	      </p>
	      <p>
		This sets up the table for a discussion period,
		normally 10 days to a month. At the end of the
		discussion period, a proposal is either accepted, or
		rejected. 
	    </item>
	    <tag>Accepted</tag>
	    <item>
	      <p>
		if the amendment is accepted, the bug is marked
		forwarded and retitled "[ACCEPTED DD/MM/YYY]...".
	      </p>
	    </item>
	    <tag>Rejected</tag>
	    <item>
	      <p>
		if the amendment is closed, it is retitled as
		"[REJECTED  DD/MM/YYY] ..." and closed
	      </p>
	    </item>
	    <tag>Incorporated</tag>
	    <item>
	      <p>
		When the proposal is actually integrated into Policy
		and uploaded and moved into the archive, the bug is
		closed. 
	      </p>
	    </item>
	  </taglist>
	</p>
	<p>
	  The Policy is critical enough for the project
	  that any real flaws in the policy be automatically be deemed
	  important bugs, unless they affect release management.</p>
      </sect>
    </chapt>
  </book>
</debiandoc>

Reply to: