Yarı tescilli yazılım Linux Çekirdeğine nasıl dayanabilir?


9

Eğer doğru anlarsam, Linux Çekirdeği GPL altında lisanslanır, yani herhangi biri üzerine bir şey dayanırsa, tüm türev çalışmayı GPL altında lisanslamak zorunda kalır ve böylece türev çalışmalarını değiştirebilir ve / veya yeniden dağıtabilir.

Örneğin, tüm Android sürümleri LK'ye dayanmaktadır. Bu, tüm sürümün ve tüm bileşenlerinin de GPL altında serbest bırakılması gerektiği anlamına gelmiyor mu?

Örneğin, çoğu Android sürümü tescilli bileşenlerle birlikte gönderilir. Bu GPL'yi ihlal etmiyor mu? Tüm türev çalışmanın GPL kapsamında yayınlanması gerekmiyor mu?

Örneğin Ubuntu ile kurulum sonrası MPEG kodeklerini indirmeniz gerekiyor. Bunun MPEG'in tescilli olması ve MPEG lisansının bu nedenle GPL ile uyumsuz olduğunu varsayıyorum, bu yüzden aynı sürüme dahil edilemezler mi?

Android sürümleri bu sorunu nasıl çözüyor?


2
Kısa versiyon, GPL'nin 'viral' kalitesinin sadece lisans altındaki kodun türev çalışmalarında etkili olabileceği ve çekirdeği çağıran bir kullanıcı, onu çekirdeğin türevsel bir işi haline getirmediğidir.
Tom Hunt

Görüyorum ki, çekirdeğin ve üstündeki diğer yazılımların ayrı lisansları var ve GPL buna izin veriyor.
Revetahw, Reinstate Monica'ya

Ayrıca şunu da eklemek isterim ki, benim görüşüme göre, GPL v2 ve GPL v3 arasında oldukça büyük bir fark var ve Linus, ikincisinden daha izin veren GPL v2'yi kullanmaya devam etti. İşte bu konuda biraz bilgi. İlk iki cevap oldukça iyi görünüyor.
KGIII

Yanıtlar:


9

İlk olarak, Google'ın Android kodunun ve Linux çekirdek kodunun ayrı olduğunu açıkça belirtmelisiniz. Android'in kendisi, izin verilen Apache Lisans 2.0 altında ve Wikipedia'nın sözleriyle lisanslanmıştır :

Apache Lisansı, aynı lisans kullanılarak dağıtılmak üzere yazılımın türevsel bir çalışmasını veya orijinalinde değişiklik yapılmasını gerektirmediği için izinlidir.

Bu nedenle, satıcılar tarafından yapılan Android değişikliklerinin hiçbiri normalde mevcut değildir.

İkincisi, Linux çekirdeği, GPLv2 altında lisanslanırsa, kod halka açıklanır, cihaz içinde bir yere gömülür (daha az olasıdır) veya satıcının web sitesinde açık kaynak kodlarına adanmış bazı belirsiz sayfalardan indirilebilir onların ürünleri.

Bununla birlikte, halka açık hale getirilen Linux çekirdek koduna büyük bir uyarı var - özel sürücüler ve benzer işlevselliğe sahip çekirdek modülleri. Linux çekirdeği, tescilli lisans altında dağıtılan ikili blobları yükleyebilir ve cihazınızı çalıştırmak için gereken bu tür blobların kaynak kodu doğal olarak dağıtılmaz. Sonuç olarak, ellerinizi cihazınıza özgü çekirdek kaynağına getirmeyi başarsanız bile, mutlaka kendi işleyen Linux tabanlı işletim sisteminizi derlemek için kullanamazsınız.


İzin verici, bağlamda

İzinli bir lisansla tam olarak ne demek istiyoruz ? Yorumlarınızdan, diğer izinli veya tescilli lisanslı yazılımları çalıştırma yeteneği anlamına geldiğini düşünüyorum. Ama bu yanlış.

Bu bağlamda izin vermek, kaynak koduyla istediğiniz gibi izin vermenin ne kadar izinli olduğu anlamına gelir.

GPL lisanslı bir kodda yaptığınız değişiklikleri yasal olarak duyurmak zorunda olduğunuz anlamında GPL'ye izin verilmez . Herkesin katkısını almanıza, üzerinde değişiklik yapmanıza (daha iyi veya daha kötü hale gelmesine bakılmaksızın) ve gizlemenize izin vermez. İkili dosyayı dağıtacaksanız, kaynak kodu da dağıtmanız gerekir. O gelmez yana değil özel değişiklikler yapmak için izin bu nedenle izin verici değildir .

Apache Lisansı ve BSD lisansları, izin verilen lisanslara örnektir. Kesinlikle izin vermeyen GPL'nin aksine, onların altında lisanslanan kodlarda herhangi bir değişiklik yapmanıza ve kendinize saklamanıza izin verir, başka bir deyişle, izin vericidir . Demek ki, Android kodunu alabilir, tanınmaz hale getirmek için yeterince değiştirseniz bile, kendiniz saklayabilirsiniz. Ve Android cihaz satıcılarının yaptığı da tam olarak bu.


1
Hayır. çünkü sadece bir çekirdek üzerinde çalışan (ve çekirdeğin sistem çağrılarını kullanan) programlar çekirdeğin türevleri değildir. Android kullanıcı alanı kodu yalnızca Linux çekirdeğinde çalışır.
cas

1
@Fiksdal Linux çekirdeği izin verilen bir lisans değil, GPL kapsamında lisanslanmıştır. Android ve diğer izinli yazılımları Linux üzerinde Nvidia'nın özel sürücüsünü normal PC'nizde kullanabileceğiniz gibi çalıştırabilirsiniz.
Oxwivi

1
@Fiksdal Veya daha iyi bir örnek olarak, Android, Linux'ta Steam ve Google Chrome'u çalıştırabildiği gibi özel ve izin verilen ikili dosyaları çalıştırır.
Oxwivi

1
@Fiksdal, evet, kelimenin tam anlamıyla ayrı. Şunu düşünün: Aynı çekirdek Ubuntu veya diğer düzenli Linux dağıtımlarını çalıştırabilir. Linux çekirdeği sadece bir çekirdek. Bunun üzerine her türlü programı çalıştırabilmektir.
Oxwivi

1
@Fiksdal Cevabı düzenledim, kontrol et.
Oxwivi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.