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

GR: Selecting the default init system for Debian



[ 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 support in a package
    for an init system shipped as the default on a release architecture
    would constitute a serious bug, taking into account the necessary
    transition period of at least one release.
  - 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 D

* Switch to Upstart wherever available.
  - architectures where Upstart is not currently available will switch
    whenever Upstart has been ported, retaining their current default
    in the meantime.
  - a reimplementation of Upstart, 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 support in a package
    for an init system shipped as the default on a release architecture
    would constitute a serious bug, taking into account the necessary
    transition period of at least one release.
  - 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 E

* Switch to Upstart exclusively by jessie+1.
  - no other init system should be supported, besides the current
    default during a transition period of at least one release.
  - architectures where Upstart is not currently suitable for use as
    default will switch whenever Upstart has been ported; if they
    cannot switch before the jessie+1 release, they will be dropped
    from the list of release architectures.
  - a reimplementation of Upstart, providing the same interfaces to
    the wider system, would satisfy the criteria above.

Option F

* Switch to systemd only on GNU/Linux architectures.
  - architectures where systemd is currently not available will switch
    whenever systemd has been ported, retaining their current default
    in the meantime.
  - a reimplementation of systemd, 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 support in a package
    for an init system shipped as the default on a release architecture
    would constitute a serious bug, taking into account the necessary
    transition period of at least one release.
  - 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 G

* Switch to systemd exclusively by jessie+1.
  - no other init system should be supported, besides the current
    default during a transition period of at least one release.
  - architectures where systemd is not currently suitable for use as
    default will switch whenever systemd has been ported; if they
    cannot switch before the jessie+1 release, they will be dropped
    from the list of release architectures.
  - a reimplementation of systemd, providing the same interfaces to
    the wider system, would satisfy the criteria above.

`---


Thanks,
Guillem

Attachment: signature.asc
Description: Digital signature


Reply to: