Mimemagic kütüphanesindeki bir GPL ihlalini düzeltmek Ruby on Rails'de çökmeye neden oluyor

100 milyondan fazla indirmeye sahip olan popüler Ruby kütüphanesi mimemagic'in yazarı, projede GPLv2 lisansının ihlal edildiğinin tespit edilmesi nedeniyle lisansını MIT'den GPLv2'ye değiştirmek zorunda kaldı. RubyGems yalnızca GPL kapsamında gönderilen 0.3.6 ve 0.4.0 sürümlerini korudu ve tüm eski MIT lisanslı sürümleri kaldırdı. Ayrıca mimemagic'in gelişimi durduruldu ve GitHub'daki depo arşivlenmiş duruma aktarıldı.

Bu eylemler, mimemagic'i bağımlılık olarak kullanan ve GPLv2 ile uyumlu olmayan lisanslar altında dağıtılan projeler oluşturma yeteneğiyle sonuçlandı. Mimemagic'in yeni sürümünü kullanırken, tescilli projeler de dahil olmak üzere diğer projelerin geliştiricilerinin (MIT lisansı bu tür kullanıma izin verir), kodlarını GPL kapsamında yeniden lisanslamaları gerekmektedir. Sorun, MIT lisansı altındaki eski sürümlerin artık RubyGems.org'da bulunmaması nedeniyle daha da kötüleşti. Derleme sunucusunda paket önbelleğe alma etkin değilse, mimemagic'in önceki sürümleriyle projeler oluşturmaya çalışmak başarısız olur.

Bağımlılıkları arasında taklit büyüsü yükleyen Ruby on Rails çerçevesi de darbe aldı. Ruby on Rails, MIT lisansı kapsamında lisanslanmıştır ve GPL'li bileşenleri içeremez. Sorun küresel hale geldi - eğer değişiklik doğrudan 172 paketi etkilediyse, bağımlılıklar dikkate alındığında 577 binden fazla depo etkilendi.

Mimemagic projesinde GPL lisansının ihlali, paylaşılan-mime-info kitaplığından MIME türü veritabanının bir kopyası olan freedesktop.org.xml dosyasının kodda teslim edilmesiyle ilişkilidir. Belirtilen dosya GPLv2 lisansı altında dağıtılır ve paylaşılan-mime-info kitaplığının kendisi de GPL ile uyumlu ISC lisansı altında lisanslanır. mimemagic'in kaynak kodu MIT lisansı altında dağıtılmaktadır ve bileşenlerin GPLv2 lisansı altında dağıtımı, türev ürünün GPLv2 uyumlu bir lisans altında dağıtılmasını gerektirir. Shared-mime-info'nun sağlayıcısı bunu fark etti ve mimemagic'in yazarı lisansı değiştirme gerekliliğini kabul etti.

Çözüm, kütüphanenin bir parçası olarak freedesktop.org.xml'yi sağlamadan XML dosyasını anında ayrıştırmak olacaktır, ancak mimemsihirli bakımcı proje deposunu dondurdu, bu nedenle bu işi hızlı bir şekilde başka birinin yapması gerekecekti. Mimemagic'in yazarı projesini tekrar faaliyete geçirmek istemezse (şu ana kadar reddetti), bir mimemagic çatalı oluşturmak ve ilgili tüm projelerdeki bağımlılığı değiştirmek gerekebilecektir. Mimemagic tabanlı projelerin libmagic kütüphanesine aktarılması da bir seçenek olarak değerlendiriliyor.

Kaynak: opennet.ru

Yorum ekle