Penyumbang Sumber Terbuka Meninggalkan Projek Kerana Kod Kelakuan yang Berat

Pasukan Komuniti BigGo
Penyumbang Sumber Terbuka Meninggalkan Projek Kerana Kod Kelakuan yang Berat

Semakin ramai penyumbang sumber terbuka menarik diri daripada projek kerana kebimbangan mengenai Kod Kelakuan (CoCs) yang terlalu kompleks. Apa yang bermula sebagai garis panduan ringkas untuk mengekalkan kerjasama yang sihat telah berkembang menjadi dokumen terperinci seperti undang-undang yang kini dilihat oleh ramai pembangun sebagai halangan dan bukannya jambatan kepada sumbangan.

Kesan Menakutkan Terhadap Penyumbang

Ramai pembangun berpengalaman melaporkan mereka mengelak projek dengan CoCs yang berat sepenuhnya. Ketakutan itu bukanlah tentang ingin melibatkan diri dalam tingkah laku buruk, tetapi lebih kepada risiko terperangkap dalam tafsiran subjektif peraturan yang samar-samar. Penyumbang menggambarkan perasaan seperti berjalan di atas telur, bimbang bahawa sebarang perselisihan teknikal boleh dibingkai semula sebagai pelanggaran CoC oleh seseorang yang mempunyai agenda.

Kebimbangan ini melangkaui penyumbang individu. Sesetengah pembangun yang sebelum ini mengekalkan projek sumber terbuka yang popular telah mengurangkan penglibatan mereka selepas menyaksikan bagaimana CoCs boleh dijadikan senjata dalam pertikaian yang tidak ada kaitan dengan gangguan sebenar atau merit teknikal.

Apabila Niat Baik Mencipta Masalah Baru

Tujuan asal CoCs adalah mudah: menghalang perbincangan teknikal daripada merosot menjadi serangan peribadi dan mencipta persekitaran yang mesra untuk kerjasama. Contoh awal seperti garis panduan ringkas Ubuntu membantu projek mengekalkan fokus dan produktiviti. Walau bagaimanapun, CoCs moden sering merangkumi prosedur penguatkuasaan yang terperinci, senarai kategori yang dilindungi yang luas, dan proses penyiasatan yang kompleks yang boleh menggunakan sumber projek yang ketara.

Peletakan jawatan pasukan moderasi bahasa pengaturcaraan Rust pada tahun 2021 menyerlahkan masalah struktur ini. Seluruh pasukan meletak jawatan, memetik ketidakupayaan mereka untuk menguatkuasakan CoC secara adil apabila pelanggaran yang berpotensi melibatkan ahli Pasukan Teras yang mempunyai kuasa ke atas moderator itu sendiri. Insiden ini mendedahkan bagaimana struktur tadbir urus yang kompleks di sekitar CoCs boleh mencipta ketidakseimbangan kuasa baru dan bukannya menyelesaikan yang sedia ada.

Peristiwa Bersejarah Utama dalam Evolusi CoC:

  • 2004: Ubuntu menggunakan CoC awal untuk menangani masalah kolaborasi Debian
  • 2011-2015: Ada Initiative mempromosikan dasar anti-gangguan untuk persidangan teknologi
  • 2013: Insiden "Dongle-gate" di PyCon menyerlahkan keperluan untuk dasar formal
  • 2014: Contributor Covenant dicipta sebagai templat CoC universal
  • 2019: Kernel Linux menggunakan Contributor Covenant , menggantikan Code of Conflict yang lebih ringkas
  • 2021: Seluruh pasukan moderasi Rust meletak jawatan kerana konflik tadbir urus

Masalah Persenjataan

Perbincangan komuniti mendedahkan corak di mana CoCs semakin digunakan sebagai alat untuk kawalan politik dan bukannya perlindungan komuniti yang tulen. Penyumbang melaporkan melihat CoCs dikuatkuasakan secara terpilih berdasarkan penjajaran politik mereka yang terlibat, dengan pelanggaran yang jelas diabaikan apabila dilakukan oleh ahli komuniti yang digemari manakala pelanggaran kecil oleh yang lain mengakibatkan akibat yang teruk.

Orang akan menunjuk kepada dokumen-dokumen ini untuk menyenyapkan dan menghalang orang yang mereka tidak suka dan pada masa yang sama bertolak ansur dengan tingkah laku buruk yang jelas melanggar kod kelakuan oleh orang yang mereka suka atau yang politik atau pendapat mereka kongsi.

Penguatkuasaan terpilih ini menjejaskan kepercayaan dan keadilan yang sepatutnya ditubuhkan oleh CoCs, mencipta persekitaran di mana penyumbang merasakan mereka mesti sejajar secara politik dengan moderator untuk mengelakkan sasaran yang berpotensi.

Pendekatan Alternatif

Sesetengah projek yang berjaya telah menggunakan pendekatan yang lebih ringan yang memfokuskan pada prinsip dan bukannya peraturan terperinci. CoC Ruby , yang dipuji oleh pengkritik alternatif yang lebih berat, terdiri daripada hanya empat prinsip mudah: toleransi terhadap pandangan yang bertentangan, mengelakkan serangan peribadi, menganggap niat baik, dan melarang gangguan. Pendekatan ini mempercayai ahli komuniti untuk bertindak sebagai orang dewasa yang munasabah sambil menyediakan sempadan yang jelas untuk tingkah laku yang tidak boleh diterima.

Projek yang menggunakan CoCs yang lebih ringkas melaporkan konflik tadbir urus yang lebih sedikit dan lebih fokus pada kerja teknikal. Perbezaan utama terletak pada bergantung kepada kepimpinan projek yang dipercayai dan konsensus komuniti dan bukannya proses birokrasi yang boleh dimainkan oleh pelakon jahat.

Prinsip CoC Mudah Ruby:

  • Peserta dijangka bertolak ansur terhadap pandangan yang bertentangan
  • Peserta mesti memastikan bahasa dan tindakan mereka bebas daripada serangan peribadi dan kenyataan yang merendahkan
  • Apabila mentafsir kata-kata dan tindakan orang lain, peserta harus sentiasa menganggap niat yang baik
  • Tingkah laku yang boleh dianggap sebagai gangguan secara munasabah tidak akan diterima
Meneroka Kod Kelakuan yang lebih ringkas yang menekankan prinsip berbanding kerumitan
Meneroka Kod Kelakuan yang lebih ringkas yang menekankan prinsip berbanding kerumitan

Jalan Ke Hadapan

Perdebatan itu bukan tentang sama ada komuniti memerlukan piawaian tingkah laku - kebanyakan bersetuju mereka memerlukannya. Persoalannya ialah sama ada piawaian tersebut sepatutnya prinsip mudah yang dikuatkuasakan oleh pemimpin yang dipercayai atau dokumen kompleks seperti undang-undang dengan prosedur penyiasatan formal. Memandangkan lebih ramai penyumbang mengundi dengan kaki mereka dengan mengelakkan projek dengan CoCs yang berat, penyelenggara mungkin perlu mempertimbangkan semula sama ada struktur tadbir urus mereka membantu atau menghalang matlamat teknikal mereka.

Kekuatan komuniti sumber terbuka sentiasa menjadi keupayaannya untuk menarik bakat teknikal yang pelbagai yang memfokuskan pada membina perisian yang hebat. Apabila tadbir urus menjadi lebih kompleks daripada kod itu sendiri, sesuatu yang asas mungkin hilang dalam proses itu.

Rujukan: Why Heavy Codes of Conduct are Unnecessary for most Open Source Projects