I risultati della votazione sui sistemi di inizializzazione in Debian sono stati resi noti

Pubblicato i risultati votazione generale (GR, risoluzione generale) degli sviluppatori del progetto Debian, coinvolti nella manutenzione dei pacchetti e nel supporto dell'infrastruttura, effettuata in merito al supporto di diversi sistemi di init. Ha vinto il secondo punto («B») nell'elenco — si preferisce systemd, ma si lascia la possibilità di supportare sistemi di init alternativi. Il voto è stato effettuato con il metodo Condorcet, in cui ciascun elettore ordina tutte le opzioni secondo le proprie preferenze, e al momento di calcolare il risultato si tiene conto di quanti elettori preferiscono un'opzione rispetto a un'altra.

La variante vincente riconosce che le unità di servizio systemd sono il modo preferito per configurare l'avvio di demoni e servizi, ma ammette che esistono ambienti in cui sviluppatori e utenti possono creare e utilizzare sistemi di inizializzazione alternativi e soluzioni funzionali a sostegno delle capacità offerte da systemd. Gli sviluppatori di soluzioni alternative necessitano di risorse per portare avanti il loro lavoro e formattare i pacchetti. Soluzioni alternative come elogind, utilizzate per avviare applicazioni collegate ad interfacce specifiche di systemd, rimangono importanti per il progetto. Il supporto di queste iniziative richiede assistenza nei settori in cui le tecnologie alternative sviluppate si intersecano con il resto del progetto; ad esempio, non è ammissibile ritardare la revisione delle patch e la conduzione delle discussioni.

Nei pacchetti è possibile includere sia unit-file di systemd che script init per avviare i servizi. I pacchetti possono utilizzare qualsiasi funzionalità di systemd a discrezione del manutentore del pacchetto, a condizione che queste funzionalità siano conformi ai criteri delle regole Debian e non siano legate a funzionalità sperimentali o non supportate di Debian provenienti da altri pacchetti. Oltre a systemd, i pacchetti possono anche includere il supporto per sistemi di inizializzazione alternativi e fornire componenti per sostituire interfacce specifiche di systemd. Le decisioni sull'inclusione di patch vengono prese dai manutentori nell'ambito delle procedure standard. Debian si impegna a collaborare con distribuzioni derivate che scelgono sistemi di inizializzazione diversi, ma l'interazione avviene a livello di manutentori, che sono responsabili delle decisioni su quali funzionalità fornite da distribuzioni esterne accettare nel nucleo di Debian e quali lasciarsi in distribuzioni derivate.

Ricordiamo che nel 2014 il comitato tecnico ha approvato transizione della distribuzione predefinita a systemd, ma non ha elaborato soluzioni riguardanti il supporto di più sistemi di inizializzazione (il punto che indicava la mancanza di prontezza del comitato a fornire una decisione su questo tema ha vinto nel voto). Il leader del comitato ha suggerito ai manutentori dei pacchetti di mantenere il supporto di sysvinit come sistema di inizializzazione alternativo, ma ha sottolineato che non può imporre il proprio punto di vista e che in ogni caso la decisione deve essere presa autonomamente.

Successivamente, alcuni sviluppatori hanno intrapreso un tentativo di condurre una votazione generale, ma il voto preliminare ha mostrato che non c'era necessità di prendere una decisione riguardo all'uso di più sistemi di inizializzazione. Qualche mese fa, dopo di problemi l'inclusione del pacchetto elogind (necessario per far funzionare GNOME senza systemd) nel ramo testing a causa di un conflitto con libsystemd, la questione è stata nuovamente sollevata dal leader del progetto Debian, poiché gli sviluppatori non sono riusciti a mettersi d'accordo e la loro comunicazione è degenerata in uno scontro, bloccandosi.

Opzioni considerate:

  • L'attenzione si concentra su systemd. Fornire supporto per sistemi di init alternativi non è una priorità, ma i pacchetti possono opzionalmente includere script init per tali sistemi.
  • Rimaniamo con systemd come preferenza, ma lasciamo la possibilità di supporto per sistemi di init alternativi. Tecnologie come elogind, che consentono di eseguire applicazioni legate a systemd in ambienti alternativi, sono considerate importanti. È possibile includere file init per sistemi alternativi nei pacchetti.
  • Supporto per diversi sistemi di init e possibilità di avviare Debian con sistemi di init diversi da systemd.
    Per avviare i servizi, i pacchetti devono necessariamente includere script init; fornire solo file unit di systemd senza script init sysv non è accettabile.
  • Support for non-systemd systems without introducing changes that hinder development. Developers agree to support multiple init systems in the foreseeable future but also consider it essential to work on improving support for systemd. Development and maintenance of specific solutions should be handled by communities interested in those solutions, but other maintainers must actively assist and facilitate problem resolution when necessary. Ideally, packages should work with any init system, for which traditional init scripts can be provided or other mechanisms employed to operate without systemd. Inability to function without systemd is viewed as a defect, but not one that blocks a release, except in cases where a ready solution for operating without systemd exists but is not preserved (for example, when the issue arises from the deletion of a previously provided init script).
  • Support for portability, without introducing changes that hinder development. Debian continues to be seen as a link for integrating various software that provides equivalent or similar functionality. Portability across hardware platforms and software stacks is one of the important tasks, and the integration of alternative technologies is welcomed, even if the worldview of their creators diverges from the general consensus. The stance on systemd and other initialization systems fully aligns with point 4.
  • The transition of support for multiple initialization systems into mandatory status. Allowing Debian to run with initialization systems other than systemd remains significant for the project. Every package is required to work with pid1 handlers other than systemd, except in cases where the software included in the package is originally designed to work solely with systemd and lacks support for operation without systemd (the absence of init scripts does not imply an exclusive design for systemd).
  • Supporto per la portabilità e più implementazioni. I principi generali coincidono completamente con il punto 5, ma non ci sono requisiti specifici per systemd e i sistemi di init, né obblighi per gli sviluppatori. Si incoraggia gli sviluppatori a considerare gli interessi reciproci, a trovare compromessi e soluzioni comuni soddisfacenti per le diverse parti.
  • Continuazione della discussione. Questo punto può essere utilizzato per ridurre il rating delle opzioni inaccettabili.
  • Fonte: opennet.ru

    Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster