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 CCLatar 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 CCDan 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-: