Hasil pemungutan suara pada sistem init Debian telah dirangkum

Diterbitkan Temuan pemungutan suara umum (GR, resolusi umum) dari pengembang proyek Debian yang terlibat dalam pemeliharaan paket dan pemeliharaan infrastruktur, dilakukan pada masalah dukungan beberapa sistem init. Item kedua (β€œB”) dalam daftar menang - systemd tetap lebih disukai, namun kemungkinan mempertahankan sistem inisialisasi alternatif tetap ada. Pemungutan suara dilakukan dengan menggunakan metode Condorcet, di mana setiap pemilih mengurutkan semua opsi berdasarkan preferensinya, dan ketika menghitung hasilnya, diperhitungkan berapa banyak pemilih yang lebih memilih satu opsi dibandingkan opsi lainnya.

Proposal pemenang mengakui bahwa unit layanan systemd adalah cara yang lebih disukai untuk mengkonfigurasi daemon dan layanan agar dapat berjalan, namun mengakui bahwa ada lingkungan di mana pengembang dan pengguna dapat membuat dan menggunakan sistem init alternatif dan alternatif fungsional terhadap kemampuan systemd. Pengembang solusi alternatif memerlukan sumber daya untuk melaksanakan pekerjaan mereka dan memformat paket mereka. Solusi alternatif seperti elogind untuk menjalankan aplikasi yang terikat pada antarmuka khusus sistemd tetap penting bagi proyek ini. Mendukung inisiatif-inisiatif tersebut memerlukan bantuan di bidang-bidang di mana pengembangan teknologi alternatif bersinggungan dengan proyek lainnya, seperti menunda tinjauan dan diskusi patch.

Paket dapat mencakup file unit systemd dan skrip init untuk memulai layanan. Paket boleh menggunakan fitur systemd apa pun yang diinginkan pengelola paket, selama fitur tersebut mematuhi aturan Debian dan tidak terikat dengan fitur eksperimental atau fitur Debian yang tidak didukung di paket lain. Selain systemd, paket juga dapat menyertakan dukungan untuk sistem init alternatif dan menyediakan komponen untuk menggantikan antarmuka khusus systemd. Keputusan mengenai penyertaan patch dibuat oleh pengelola sebagai bagian dari prosedur standar. Debian berkomitmen untuk bekerja dengan distribusi turunan yang memilih untuk menggunakan sistem init lain, namun interaksinya dibangun di tingkat pengelola, yang mengambil keputusan tentang fitur mana yang disiapkan oleh distribusi pihak ketiga yang diterima ke dalam komposisi utama Debian dan mana yang tersisa. dalam distribusi derivatif.

Mari kita ingat kembali hal itu pada tahun 2014 panitia teknis disetujui transisi distribusi default pada systemd, tetapi tidak berhasil keputusan mengenai dukungan untuk berbagai sistem penyediaan (item yang menunjukkan keengganan komite untuk mengambil keputusan mengenai masalah ini memenangkan pemungutan suara). Ketua komite merekomendasikan pengelola paket untuk tetap mendukung sysvinit sebagai sistem init alternatif, namun menyatakan bahwa dia tidak dapat memaksakan sudut pandangnya dan bahwa keputusan harus dibuat secara independen dalam setiap kasus.

Setelah ini, beberapa pengembang mencoba upaya untuk melaksanakan pemungutan suara umum, tetapi pemungutan suara awal menunjukkan bahwa tidak perlu membuat keputusan mengenai masalah penggunaan sistem inisialisasi ganda. Beberapa bulan yang lalu, setelahnya masalah dengan dimasukkannya paket elogind (diperlukan untuk menjalankan GNOME tanpa systemd) di cabang pengujian karena konflik dengan libsystemd, masalah ini kembali diangkat oleh pemimpin proyek Debian, karena pengembang tidak setuju, dan komunikasi mereka berubah menjadi a konfrontasi dan menemui jalan buntu.

Opsi yang dipertimbangkan:

  • Fokus utamanya adalah pada systemd. Memberikan dukungan untuk sistem init alternatif bukanlah suatu prioritas, namun pengelola dapat secara opsional menyertakan skrip init untuk sistem tersebut dalam paket.
  • systemd tetap lebih disukai, tetapi kemungkinan mempertahankan sistem inisialisasi alternatif tetap ada. Teknologi seperti elogind, yang memungkinkan aplikasi terikat systemd untuk berjalan di lingkungan alternatif, dipandang penting. Paket mungkin menyertakan file init untuk sistem alternatif.
  • Dukungan untuk berbagai sistem init dan kemampuan untuk mem-boot Debian dengan sistem init selain systemd.
    Untuk menjalankan layanan, paket harus menyertakan skrip init; hanya menyediakan file unit systemd tanpa skrip init sysv tidak dapat diterima.

  • Dukungan untuk sistem yang tidak menggunakan systemd, tetapi tanpa melakukan perubahan yang akan menghambat pengembangan. Pengembang setuju untuk mendukung beberapa sistem init di masa mendatang, tetapi juga percaya bahwa perlu untuk berupaya meningkatkan dukungan systemd. Pengembangan dan pemeliharaan solusi spesifik harus diserahkan kepada komunitas yang tertarik dengan solusi tersebut, namun pengelola lainnya harus secara aktif membantu dan berkontribusi terhadap pemecahan masalah ketika diperlukan. Idealnya, paket harus berfungsi menggunakan sistem init apa pun, yang dapat dicapai dengan menyediakan skrip init tradisional atau menggunakan mekanisme lain yang memungkinkannya bekerja tanpa systemd. Ketidakmampuan untuk bekerja tanpa systemd dianggap sebagai bug, tetapi bukan bug pemblokiran rilis, kecuali ada solusi siap pakai untuk bekerja tanpa systemd, tetapi ditolak untuk disimpan (misalnya, ketika masalah disebabkan oleh penghapusan skrip init yang disediakan sebelumnya).
  • Mendukung portabilitas tanpa memperkenalkan perubahan yang menghambat pengembangan. Debian terus dipandang sebagai jembatan untuk mengintegrasikan berbagai perangkat lunak yang menyediakan fungsionalitas yang setara atau serupa. Portabilitas antara platform perangkat keras dan tumpukan perangkat lunak merupakan tujuan penting, dan integrasi teknologi alternatif dianjurkan, meskipun pandangan dunia penciptanya berbeda dari konsensus umum. Posisi mengenai systemd dan sistem inisialisasi lainnya sepenuhnya sesuai dengan poin 4.
  • Membuat dukungan untuk beberapa sistem inisialisasi menjadi wajib. Menyediakan kemampuan untuk menjalankan Debian dengan sistem init selain systemd terus menjadi penting bagi proyek ini. Setiap paket harus bekerja dengan penangan pid1 selain systemd, kecuali perangkat lunak yang disertakan dalam paket pada awalnya dimaksudkan untuk bekerja hanya dengan systemd dan tidak mendukung berjalan tanpa systemd (tidak adanya skrip init tidak dihitung sebagai dimaksudkan hanya untuk bekerja dengan systemd) .
  • Mendukung portabilitas dan banyak implementasi. Prinsip umumnya sama persis dengan poin 5, tetapi tidak ada persyaratan khusus untuk sistem systemd dan init, dan tidak ada kewajiban yang dibebankan kepada pengembang. Pengembang didorong untuk mempertimbangkan kepentingan masing-masing, melakukan kompromi dan mencari solusi bersama yang memuaskan berbagai pihak.
  • Diskusi lanjutan. Item tersebut dapat digunakan untuk menurunkan versi opsi yang tidak dapat diterima.
  • Sumber: opennet.ru

    Tambah komentar