Re: GR: Selecting the default init system for Debian

2014-01-18 Thread Steve Langasek
Hi Guillem,

On Sun, Jan 19, 2014 at 01:01:44AM +0100, Guillem Jover wrote:
> Moreover, none of the proponents of alternative init system seem
> to have expended much energy in seeking wide deployment of their
> solutions within Debian (or, with the exception of upstart, even
> updating the policy manual) before this binding ruling was sought.

Setting aside the question of whether the TC should take this decision
(which there's no point in discussing, as it's clearly your right to bring a
GR if you disagree on this), can I ask how you arrived at the conclusion
that not much energy has been expended on upstart in Debian?

I've actually spent quite a lot of time and energy on getting upstart, and
other base system packages, into a state that users should be able to switch
from sysvinit to upstart without regressions.  That means getting the
ifupdown integration in place, making sure lvm and network filesystems work
at boot, ensuring transparent handling of startpar dependencies on scripts
that are shadowed by native upstart jobs, etc.  It does *not* mean doing
very much work on pushing native upstart jobs to maintainers of leaf
packages; that should be secondary to getting a complete and correct base
into Debian.  But we certainly are at the point today where such jobs can be
implemented more widely in packages.

If you have a different standard for "seeking wide deployment", I'm
interested to know what it is.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


signature.asc
Description: Digital signature


Re: GR: Selecting the default init system for Debian

2014-01-18 Thread Ben Hutchings
On Sun, 2014-01-19 at 01:01 +0100, Guillem Jover wrote:
> [ M-F-T set to debian-vote@l.d.o, not seeking sponsors yet see below. ]
> 
> Hi!
> 
> I think that forcing a decision through the TC at this time was very
> premature and inappropriate, because I don't think enough effort had
> been made to reach consensus (failing §6.3(6)),

What would you consider to be enough effort?

> because the TC seems to have been trying to do design work (failing
> §6.3(5)),

Did you also read the last sentence of that parargraph?

> and because even if they do have the power to decide on this (likely
> requiring a 3:1 majority in any case if they need to override the
> sysvinit maintainers, per §6.1(4)),

The main change required to sysvinit would, I assume, be to remove the
Essential flag.  I do not think that use of the Essential flag is at the
discretion of the package maintainer by default.

> I feel it's inappropriate for a small group
> of individuals to forcibly decide the global direction for the entire
> project.

Important as the init system is, it does not 'decide the global
direction for the entire project'.

> Such decisions, on issues that are as much technical as
> strategic, political or of a subjective design nature, can have huge
> implications for what contributors or other Debian-based projects
> might have to work on, or stop working on.

On the contrary, I think such decisions are precisely what the Technical
Committee is for.

[...]
> In general, I've been quite unhappy with the excessive invocation of
> the TC recently, with developers seeming to view this as a first,
> rather than absolute last, resort.
[...]

Constitutionally, a GR is the last resort in that it can overrule every
other decision.  A GR can settle a decision finally but does *not*
create consensus.  So if you honestly think that more time should be
allowed for a consensus to arise, perhaps you should propose a GR that
says this issue is not ripe for the TC to decide on and sets some
minimum delay before it can be brought to the TC again.

Ben,

-- 
Ben Hutchings
friends: People who know you well, but like you anyway.


signature.asc
Description: This is a digitally signed message part


GR: Selecting the default init system for Debian

2014-01-18 Thread Guillem Jover
[ M-F-T set to debian-vote@l.d.o, not seeking sponsors yet see below. ]

Hi!

I think that forcing a decision through the TC at this time was very
premature and inappropriate, because I don't think enough effort had
been made to reach consensus (failing §6.3(6)), because the TC seems
to have been trying to do design work (failing §6.3(5)), and because
even if they do have the power to decide on this (likely requiring a
3:1 majority in any case if they need to override the sysvinit
maintainers, per §6.1(4)), I feel it's inappropriate for a small group
of individuals to forcibly decide the global direction for the entire
project. Such decisions, on issues that are as much technical as
strategic, political or of a subjective design nature, can have huge
implications for what contributors or other Debian-based projects
might have to work on, or stop working on. I feel that such decisions
must belong to the project at large.

Moreover, none of the proponents of alternative init system seem
to have expended much energy in seeking wide deployment of their
solutions within Debian (or, with the exception of upstart, even
updating the policy manual) before this binding ruling was sought.
If they had done so, Debian could follow its usual organic and
decentralized process, allowing the best solution for the project
as a whole to emerge naturally through the consensus formed from the
experience of these deployments. Instead, we have seen giant flamewars
seemingly based largely on speculation, which have only made
the situation worse by increasing acrimony within the project,
with further polarization and antagonization between the different
factions. IMO, forcing this issue via a small committee will not
improve this in any way.


In general, I've been quite unhappy with the excessive invocation of
the TC recently, with developers seeming to view this as a first,
rather than absolute last, resort. I think it's pernicious for the
project to instill a regime of threats and force, that will almost
always alienate at least one side of a dispute. It clearly denotes
a dysfunctional project. It has even crossed my mind many times now, to
propose a GR for each issue concerning project direction (if not all)
escalated to the TC, or even propose a constitutional change to remove
the TC's powers of coercion; restricting its rulings to be strictly
advisory and non-binding, though I'm not sure this option would get
wide traction amongst developers, if at all.


I've been sitting back and trying to see the extent to which other
developers support the view that the TC should not be deciding on
issues of project direction; unfortunately, canvassing support from
mailing lists is difficult, and handling a GR is quite a large
undertaking, requiring a lot of time and energy, that others might
not want or be able to invest, but would gladly get behind.


So, with much reluctance and disappointment, I've finally caved and am
considering proposing the following GR draft. Unfortunately nothing has
changed up to this point; the TC is not backing off. I think the draft
text should cover most of the options people seem to have expressed
support for up to now.

Note that it's not entirely clear how a _pending_ resolution by the
TC would interact with a GR on the same, so I'd like input from the
secretary before seeking support from sponsors, although to be honest
I don't expect any problems here.


,--- DRAFT GR TEXT ---

A General Resolution to select the default init system for Debian.

Option A

* Reinforce sysvinit and sysv-rc as the default init system.
  - the level of support for other init systems would remain unchanged;
as with non-release architectures, they would be supported to the
extent that their backers would be willing to expend their energy.

Option B

* Changing the default init system is ultimately desirable, but
  premature at this point in time.
  - supporters of other init systems should continue their efforts
towards full adoption by Debian through guidance in the policy
manual, natural formation of consensus, and wider support through
Debian packages by persuading maintainers to accept patches to
add support.
  - if a broad consensus cannot be reached before jessie+1, another
GR could be held to determine the default init system.
  - the level of support for other init systems would remain unchanged;
as with non-release architectures, they would be supported to the
extent that their backers would be willing to expend their energy.

Option C

* Switch to sysvinit + OpenRC wherever available.
  - architectures where OpenRC is not currently available will switch
whenever OpenRC has been ported, retaining their current default
in the meantime.
  - a reimplementation of OpenRC, providing the same interfaces to
the wider system, would satisfy the criteria above.
  - the level of support for each init system would depend on the
release status of the architecture: lack of suppo