Pengembang pustaka Ruby populer mimemagic, dengan lebih dari 100 juta unduhan, terpaksa mengubah lisensinya dari MIT menjadi GPLv2 setelah ditemukan pelanggaran GPLv2. Hanya versi 0.3.6 dan 0.4.0, yang didistribusikan di bawah GPL, yang dipertahankan di RubyGems, dan semua rilis lama berlisensi MIT dihapus. Selain itu, pengembangan mimemagic dihentikan, dan repositori GitHub diarsipkan.
Tindakan ini mengakibatkan ketidakmampuan untuk membangun proyek yang menggunakan mimemagic sebagai dependensi dan dilisensikan di bawah lisensi yang tidak kompatibel dengan GPLv2. Saat menggunakan versi mimemagic yang baru, pengembang proyek lain, termasuk proyek berpemilik (lisensi MIT mengizinkan penggunaan tersebut), diharuskan untuk melisensikan ulang kode mereka ke GPL. Masalah ini diperparah oleh fakta bahwa versi lama berlisensi MIT tidak lagi tersedia dari RubyGems.org. Jika pembangunan server Caching paket tidak diaktifkan, upaya untuk membangun proyek dengan versi mimemagic sebelumnya akan mengakibatkan kegagalan.
Framework Ruby on Rails, yang memuat mimemagic sebagai dependensi, juga terpengaruh. Ruby on Rails dilisensikan di bawah lisensi MIT dan tidak dapat menyertakan komponen berlisensi GPL. Masalah ini bersifat global: meskipun perubahan tersebut secara langsung memengaruhi 172 paket, termasuk dependensi, lebih dari 577 repositori terpengaruh.
Pelanggaran GPL pada proyek mimemagic berasal dari penyertaan file freedesktop.org.xml, yang merupakan salinan basis data tipe MIME dari pustaka shared-mime-info. File ini dilisensikan di bawah GPLv2, sedangkan pustaka shared-mime-info itu sendiri dilisensikan di bawah lisensi ISC yang kompatibel dengan GPL. Kode sumber mimemagic dilisensikan di bawah lisensi MIT, dan mendistribusikan komponen di bawah GPLv2 memerlukan distribusi karya turunan di bawah lisensi yang kompatibel dengan GPLv2. Pengelola shared-mime-info menyampaikan hal ini kepada penulis mimemagic, yang menyetujui perubahan lisensi tersebut.
Salah satu solusinya adalah mengurai file XML secara langsung, tanpa menyertakan freedesktop.org.xml sebagai bagian dari pustaka. Namun, pengelola mimemagic telah membekukan repositori proyek tersebut, sehingga pekerjaan ini harus segera dilakukan oleh orang lain. Mungkin, jika penulis mimemagic menolak untuk mengaktifkan kembali proyeknya (sejauh ini ia menolak), maka diperlukan fork dari mimemagic dan ketergantungan di semua proyek terkait perlu diganti. Opsi lain yang sedang dipertimbangkan adalah memindahkan proyek yang bergantung pada mimemagic ke pustaka libmagic.
Sumber: opennet.ru
