Memperbaiki pelanggaran GPL di perpustakaan mimemagic menyebabkan kerusakan pada Ruby on Rails

Penulis mimemagic perpustakaan Ruby yang populer, yang memiliki lebih dari 100 juta unduhan, terpaksa mengubah lisensinya dari MIT ke GPLv2 karena ditemukannya pelanggaran lisensi GPLv2 dalam proyek tersebut. RubyGems hanya mempertahankan versi 0.3.6 dan 0.4.0, yang dikirimkan di bawah GPL, dan menghapus semua rilis lama berlisensi MIT. Selain itu, pengembangan mimemagic dihentikan, dan repositori di GitHub dipindahkan ke status arsip.

Tindakan ini menghasilkan kemampuan untuk membangun proyek yang menggunakan mimemagic sebagai ketergantungan dan didistribusikan di bawah lisensi yang tidak kompatibel dengan GPLv2. Saat menggunakan mimemagic versi baru, pengembang proyek lain, termasuk proyek berpemilik (lisensi MIT mengizinkan penggunaan tersebut), diharuskan untuk melisensikan kembali kode mereka di bawah GPL. Masalah ini diperburuk oleh fakta bahwa versi lama di bawah lisensi MIT tidak lagi tersedia di RubyGems.org. Jika cache paket tidak diaktifkan di server build, upaya membangun proyek dengan versi mimemagic sebelumnya akan gagal.

Kerangka kerja Ruby on Rails, yang memuat mimemagic di antara dependensinya, juga terkena dampaknya. Ruby on Rails dilisensikan di bawah lisensi MIT dan tidak dapat menyertakan komponen GPL. Masalahnya menjadi global - jika perubahan secara langsung mempengaruhi 172 paket, maka dengan mempertimbangkan ketergantungan, lebih dari 577 ribu repositori terpengaruh.

Pelanggaran lisensi GPL dalam proyek mimemagic dikaitkan dengan pengiriman file freedesktop.org.xml dalam kode, yang merupakan salinan database tipe MIME dari perpustakaan shared-mime-info. File yang ditentukan didistribusikan di bawah lisensi GPLv2, dan perpustakaan shared-mime-info itu sendiri dilisensikan di bawah lisensi ISC, kompatibel dengan GPL. Kode sumber mimemagic didistribusikan di bawah lisensi MIT dan distribusi komponen di bawah lisensi GPLv2 memerlukan distribusi produk turunan di bawah lisensi yang sesuai dengan GPLv2. Pengelola shared-mime-info memperhatikan hal ini dan penulis mimemagic menyetujui persyaratan untuk mengubah lisensi.

Solusinya adalah dengan mengurai file XML dengan cepat, tanpa menyediakan freedesktop.org.xml sebagai bagian dari perpustakaan, tetapi pengelola mimemagic membekukan repositori proyek, sehingga orang lain harus segera melakukan pekerjaan ini. Ada kemungkinan bahwa jika penulis mimemagic tidak ingin mengembalikan proyeknya ke operasi (sejauh ini dia telah menolak), maka perlu membuat cabang mimemagic dan mengganti ketergantungan di semua proyek terkait. Transisi proyek berbasis mimemagic ke perpustakaan libmagic juga sedang dipertimbangkan sebagai sebuah pilihan.

Sumber: opennet.ru

Tambah komentar