Kode Etik: Mengapa Pengembang Kernel Linux Diancam Menghapus Kode Mereka - Memahami Konflik

Pada bulan September, dewan direktur Linux Foundation mengadopsi kode etik baru untuk pengembang kernel Linux, Code of Conduct (CoC). Seperti yang dikandung oleh penulis, ia seharusnya menyelesaikan masalah yang terkait dengan diskriminasi dan meningkatkan lingkungan emosional di antara para pengembang.

Beberapa programmer menyebut ini sebagai upaya untuk mengatur secara berlebihan dan mulai mengancam untuk menghapus kode yang mereka tulis dari kernel Linux. Baca lebih lanjut tentang situasi di bawah ini.


/ foto Liam Quinn CC

Latar belakang


Pada pertengahan bulan lalu, Linus Torvalds mengumumkan bahwa dia akan mengambil istirahat dalam mengelola pengembangan Linux. Menurut Torvalds, ia perlu waktu untuk merenungkan caranya berkomunikasi dengan orang-orang (pencipta Linux dikenal dengan komentar keras tentang rekan kerja). Dalam buletin LKML, ia meminta maaf kepada semua orang yang meninggalkan komunitas karena kritiknya.

Selama "istirahat" Linus, kepemimpinan diasumsikan oleh Greg Kroah-Hartman, yang terlibat dalam mendukung versi kernel yang stabil. Dia mengusulkan adopsi kode etik baru - Kode Etik. Mereka memutuskan untuk mengimplementasikan dokumen untuk mengubah budaya komunikasi di masyarakat.

Code of Conduct didasarkan pada standar Covenant , yang juga digunakan oleh pengembang Ruby on Rails, Swift, Golang, dan JRuby. Dokumen tersebut menjelaskan aturan perilaku dengan programmer lain dan menekankan larangan diskriminasi.

Pengembang versus kode perilaku


Banyak pengembang tidak setuju dengan diperkenalkannya CoC: mereka takut bahwa aturan baru akan mengarah pada regulasi yang berlebihan. Beberapa bahkan mendesak semua yang tidak setuju tidak hanya meninggalkan komunitas, tetapi juga melarang penggunaan kode yang ditulis oleh mereka untuk kernel.

Semuanya dimulai dengan surat dari programmer Joey Pabalinas, di mana ia mengkritik dokumen tersebut. Menurutnya, kode tersebut tidak menyelesaikan masalah dengan budaya komunikasi, tetapi, sebaliknya, membuat suasana di masyarakat tidak bersahabat. Joey percaya bahwa CoC akan membagi peserta menjadi pengecualian komunitas yang "baik" dan "buruk" dan tidak layak.

Yang paling tidak disukai adalah prosedur CoC, yang menurutnya memungkinkan untuk melarang pengembang mana pun untuk melakukan kode mereka jika peserta memutuskan bahwa mereka tidak menyukai identitas penulis. Anggota masyarakat juga khawatir tentang kata-kata yang tidak jelas dalam kode, yang dapat diartikan dengan cara yang berbeda (misalnya, “komentar yang menghina”). Namun, dokumen tersebut tidak menjelaskan kerangka kerja yang jelas untuk menentukan hukuman bagi pelaku.

Akhirnya, alasan ketiga yang menimbulkan pertanyaan di antara pengembang adalah perbedaan budaya. Karena CoC menawarkan gaya komunikasi terpadu, orang-orang dari berbagai negara (termasuk yang bahasa Inggrisnya tidak dianggap resmi) mungkin mulai mengalami kesulitan dalam memilih "bahasa yang benar".

Apakah ada ancaman terhadap kernel Linux


"Legenda komunitas open source," Eric Raymond , menyarankan bahwa pengembang yang tidak puas benar-benar dapat mencegah kode mereka digunakan dalam kernel Linux.

Sistem operasi dirilis di bawah Lisensi Publik Umum GNUv2. Penentang Kode Etik mengutip fakta bahwa tidak mengandung klausul yang melarang penghentian perjanjian antara pembuat kode dan proyek open source (ada klausul seperti itu di GNUv3). Oleh karena itu, mereka yakin bahwa mereka memiliki hak untuk mewajibkan Yayasan Linux untuk menghapus kode dari kernel.


/ foto Matt Madd CC

Dan sudah ada preseden serupa di komunitas open source. Dua tahun lalu, programmer Azer Koçulu menerima surat dari pengacara kurir Kik yang meminta mereka untuk mengganti nama modul dengan nama yang sama (kik), yang diterbitkan dalam paket manager npm. Azer menolak, dan kemudian perwakilan Kik menulis ke administrasi npm. Mereka mendukung klaim dan mengubah pemilik kik tanpa izin dari penulis.

Sebagai tanggapan, Kochul mengingat semua modul npm yang ia tulis dan mengunggahnya ke GitHub . Tetapi di antara mereka ada satu modul pad kiri yang populer, yang terdiri dari sebelas baris kode. Ini diperlukan untuk pengoperasian Node.js, Babel dan sejumlah besar sistem lainnya.

Seperti inilah bentuk kode "modul perselisihan":

module.exports = leftpad;

function leftpad (str, len, ch) {
  str = String(str);

  var i = -1;

  if (!ch && ch !== 0) ch = ' ';

  len = len - str.length;

  while (++i < len) {
    str = ch + str;
  }

  return str;
}

.

GNU (Richard Stallman) , Linux . . GNU , , . .

Software Freedom Conservancy, GNU. , . , . .

, - , promissory estoppel. , . . Software Freedom Conservancy , .

, CoC , , , — . , . , , Linux .



P.S. IaaS — Telegram-:

Source: https://habr.com/ru/post/id426229/


All Articles