Membetulkan pelanggaran GPL dalam pustaka mimemagic menyebabkan ranap dalam Ruby on Rails

Pengarang mimemagic perpustakaan Ruby yang popular, yang mempunyai lebih 100 juta muat turun, terpaksa menukar lesennya daripada MIT kepada GPLv2 kerana penemuan pelanggaran lesen GPLv2 dalam projek itu. RubyGems hanya mengekalkan versi 0.3.6 dan 0.4.0, yang dihantar di bawah GPL dan mengalih keluar semua keluaran berlesen MIT yang lebih lama. Selain itu, pembangunan mimemagic telah dihentikan, dan repositori pada GitHub telah dipindahkan ke keadaan arkib.

Tindakan ini menghasilkan keupayaan untuk membina projek yang menggunakan mimemagic sebagai kebergantungan dan diedarkan di bawah lesen yang tidak serasi dengan GPLv2. Apabila menggunakan versi baharu mimemagic, pembangun projek lain, termasuk projek proprietari (lesen MIT membenarkan penggunaan sedemikian), dikehendaki melesenkan semula kod mereka di bawah GPL. Apa yang memburukkan masalah ialah versi berlesen MIT yang lebih lama tidak lagi tersedia daripada RubyGems.org. Jika cache pakej tidak didayakan pada pelayan binaan, percubaan untuk membina projek dengan versi mimemagic sebelumnya akan gagal.

Rangka kerja Ruby on Rails, yang memuatkan mimemagic antara kebergantungannya, turut terkena. Ruby on Rails dilesenkan di bawah lesen MIT dan tidak boleh memasukkan komponen GPLed. Masalahnya telah menjadi global - jika perubahan itu secara langsung menjejaskan 172 pakej, kemudian mengambil kira kebergantungan, lebih daripada 577 ribu repositori terjejas.

Pelanggaran lesen GPL dalam projek mimemagic dikaitkan dengan penghantaran fail freedesktop.org.xml dalam kod, yang merupakan salinan pangkalan data jenis MIME daripada pustaka shared-mime-info. Fail yang ditentukan diedarkan di bawah lesen GPLv2 dan pustaka info-mime-kongsi itu sendiri dilesenkan di bawah lesen ISC, serasi dengan GPL. kod sumber mimemagic diedarkan di bawah lesen MIT dan pengedaran komponen di bawah lesen GPLv2 memerlukan pengedaran produk derivatif di bawah lesen yang mematuhi GPLv2. Penyelenggara info-mime-kongsi menyedari perkara ini dan pengarang mimemagic bersetuju dengan keperluan untuk menukar lesen.

Penyelesaiannya adalah dengan menghuraikan fail XML dengan cepat, tanpa membekalkan freedesktop.org.xml sebagai sebahagian daripada perpustakaan, tetapi penyelenggara mimemagic membekukan repositori projek, jadi orang lain perlu melakukan kerja ini dengan cepat. Ada kemungkinan jika pengarang mimemagic tidak mahu mengembalikan projeknya kepada operasi (dia telah menolak setakat ini), adalah perlu untuk mencipta garpu mimemagic dan menggantikan kebergantungan dalam semua projek yang berkaitan. Peralihan projek berasaskan mimemagic kepada perpustakaan libmagic juga sedang dipertimbangkan sebagai pilihan.

Sumber: opennet.ru

Tambah komen