MIT - BSD - Çift Lisans


87

Benim anlayışım şudur:

  • MIT lisanslı projeler BSD lisanslı projelerde kullanılabilir / yeniden dağıtılabilir .
  • BSD lisanslı projeler MIT lisanslı projelerde kullanılabilir / yeniden dağıtılabilir.
  • MIT ve BSD 2 yan tümce lisansları temelde aynıdır .
  • BSD 3 cümlesi = BSD 2 cümlesi + "ciro yok" cümlesi
  • İkili lisans verilmesi, kullanıcıların bu lisanslardan seçim yapmasına olanak tanır;

Yukarıdakilerin tümü doğruysa, çift MIT / BSD lisansı kullanmanın amacı nedir? BSD 3-fıkra versiyonuna atıfta bulunsa bile, bir kullanıcı yasal olarak sadece MIT lisansına uymayı seçemez mi?

Görünen o ki, eğer gerçekten "onaylama yok" cümlesinin uygulanmasını istiyorsanız, sadece BSD (ikili değil) olarak lisanslamanız gerekiyor. "Onay yok" maddesine aldırış etmiyorsanız, yalnız MIT yeterlidir ve MIT / BSD gereksizdir.

Benzer şekilde, MIT ve BSD lisanslarının her ikisi de " GPL uyumlu " olduğundan ve GPL lisanslı projelerde yeniden dağıtılabildiğinden , çift lisans MIT / GPL de gereksiz görünüyor.


1
Bir MIT + BSD lisans örneği verebilir misiniz? İki benzer lisansa izin verilen iki lisans altında ikili lisans verilmesi genellikle gereksizdir, ancak ikili lisansın kötüye kullanılmasının, bu kodun lisansların her biri altında yeniden dağıtılabileceğini açıkça belirtmenin bir yolu olduğunu gördüm.
yannis

@Yannis Yea İnsanların tanımadıkları insanlar için daha açık olması için çift lisanslı olup olmadıklarını merak ettim. Ama bence onlar için daha kafa karıştırıcı.
ryanve



1
Deneyimlerime göre insanlar uyumsuz lisanslar için çoğunlukla çift lisans kullanıyorlar. örneğin, MPL + (L) GPL veya (A) GPL ile birlikte herhangi bir kopukluğu olmayan ücretli bir lisans.
CodesInChaos

Yanıtlar:


60

Benim anlayışım şudur:

  1. MIT lisanslı projeler BSD lisanslı projelerde kullanılabilir / yeniden dağıtılabilir.
    DOĞRU (ancak değişiklikler olmadığı sürece, kullanıcılar orijinal kaynaklardan da alabilirler.

  2. BSD lisanslı projeler MIT lisanslı projelerde kullanılabilir / yeniden dağıtılabilir.
    YANLIŞ MIT lisansı, katkı kredisi olmadan dağıtıma izin verir; BSD değil.

  3. MIT ve BSD 2 yan tümce lisansları temelde aynıdır.
    YANLIŞ Yukarıya bakınız.

  4. BSD 3 cümlesi = BSD 2 cümlesi + "ciro yok" cümlesi
    TRUE

  5. İkili lisans vermek, kullanıcıların bu lisanslardan seçim yapmasına olanak tanır - ikisine de bağlı değildir.
    TRUE (Sanırım öyle!)

Benzer şekilde, MIT ve BSD lisanslarının her ikisi de "GPL uyumlu" olduğundan ve GPL lisanslı projelerde yeniden dağıtılabildiğinden, çift lisans MIT / GPL de gereksiz görünüyor.

NO . İşte büyük bir fark. MIT lisansı ve Apache Lisansı yalnızca orijinal telif hakkı sahiplerine kredi vermenizi gerektirir. Eğer seçerseniz, can kaynağı yeniden dağıtmak; ancak isterseniz size yeni türetilmiş ürünü tutabilir olmadan kod açma. Bu nedenle, MIT ve Apache altında geliştirilen kodları ticari lisans altında kullanmak mümkündür.

Kodu GPL tabanlı lisansla kullanırsanız ve değiştirirseniz , değiştirilmiş kodunuzu GPL altında da dağıtmanız gerekir . Başka bir deyişle, bir proje altında herhangi bir GPL kod tabanı kullanıldığında ve bunu bir ürün olarak yayınlamak istiyorsanız, kaynak kodla birlikte yayınlanması ve GPL altında yayınlanması gerekir. Hiçbir zaman ticari lisans veya kapalı kaynak olamaz ve GPL'den daha katı olan başka bir lisans olamaz.

Örneğin GPL altında değiştirilmiş ve dağıtılmış MIT, Apache veya BSD lisans kodunu almak mümkündür. Bir kod tabanı GPL olarak dağıtıldığında, türetilmiş sürümleri MIT, Apache veya BSD lisansı altında dağıtılamaz, ancak yalnızca GPL olmalıdır.

Düzenleme:
İkili lisans örneği: Nice Office'in ikili lisans altında yayımlandığını varsayalım - MIT ve GPL. İki olasılık var. Bazı insanlar ticari ve satış yapabilen NicePro Ofisi oluşturabilirler. Oysa başka bir açık kaynak topluluğu da bir çatal NiceOpen Ofisi yaratıyor. Bu durumda, GPL dağıtımını (orijinal Nice Office'in yanı sıra NiceOpen Office sürümünün) dağıtımını da uygulayabilir, bu nedenle NiceOpen Office ile başlarsanız, MIT lisansına değil yalnızca GPL'ye uymanız gerekir.

Mesele, ikili lisans olması durumunda, lisansı alan ilk kişinin bir seçeneği vardır. Her iki yolu da seçebilir - ancak ikinci kişinin, ilk kişinin yaptığı seçime uyması gerekir. Herhangi bir neslin orijinal haklarını geçersiz kılamaz ve herhangi bir şekilde uygulanabilir lisans yükümlülüğünü azaltamaz.

EDIT 2 İlginç bir okuma ekleme - GPL ve MPL Lisanslarının ciddi çatışmaları var. Oku bunu. http://www.tomhull.com/ocston/docs/mozgpl.html


4
Bir proje MİT / GPL lisanslı çift ise @Dipan, o zaman yapabilirsiniz kullanıcı c / sadece MIT takip seçebilirsiniz b tescilli projede kullanılacak. Bir proje yalnızca MIT lisansına sahipse, GPL dahil diğer lisanslar altında yeniden dağıtılabilir. Yedekli demek istediğim buydu.
ryanve

11
@DipanMehta # 2'deki "katkı kredisi" ile ne demek istiyorsunuz? FSF tarafından 3 ve 2-fıkralar gibi doğrulanmayan BSD 4-fıkra lisansına atıfta olduğunuza benziyor. 3 cümleden ve 2 cümleden bahsediyorum, bu durumda beş ifadenin de doğru olduğundan eminim .
ryanve

4
BSD lisanslı kodu, MIT lisanslı kodu ile birlikte kullanabilirsiniz; Projenin materyallerinde "BazApp BSD lisansı altında dağıtılan libfoobar'ı kullanıyor" ya da onun gibi bir şeyden bahsetmek zorundasınız. BSD ve MIT lisansları proje başına değil, dosya başına uygulanır.
mipadi

10
@Dipan_Mehta Ryanve'in size söylediği gibi, orijinal 4-fıkra BSD lisansından bahsediyorsunuz, OP revize edilmiş 3 ve 2-fıkra BSD lisanslarından bahsediyor. 2 fıkra BSD lisansı aslında MIT lisansına eşdeğerdir. OSI sayfası bile öyle belirtiyor.

17
Nokta # 2 (BSD kodu MIT koduna dahil edilemez), 3 ya da 2 ya da 2 ya da 2 ya da M ya da İKİ hakkında okuduğum her bilginin aksine çalışır. 2 no'lu nokta (eski ve unutulmuş) 4 maddeli BSD konusunda doğru olurdu, ancak OP bu sorunun 4 maddeli BSD ile ilgili olmadığını açıkça belirtti. Aksi takdirde çok iyi ve güvenilir bir cevapta böylesine derece yanıltıcı bir bilgi parçasına sahip olmak oldukça zararlı görünüyor.
apsillers

4

Beş puanın tamamen doğru .

Diğer cevap, eski, nadiren kullanılan 4 fıkra BSD lisansını da dahil ettiğiniz varsayılıyor gibi görünüyor .

Eğer "BSD lisanslarını" BSD lisansının daha sık kullanılan 3 ya da 2 ya da 2 yamalı varyantlarına atıfta bulunarak yorumlarsanız, sorudaki beş iddia da doğrudur.

Yukarıdakilerin tümü doğruysa, çift MIT / BSD lisansı kullanmanın amacı nedir?

Teknik olarak buna gerek kalmamalı. Her ikisi de aynı durumlarda kullanılabilir.

BSD 3-fıkra versiyonuna atıfta bulunsa bile, bir kullanıcı yasal olarak sadece MIT lisansına uymayı seçemez mi?

Kulağa doğru geliyor.

Görünen o ki, eğer gerçekten "onaylama yok" cümlesinin uygulanmasını istiyorsanız, sadece BSD (ikili değil) olarak lisanslamanız gerekiyor. "Onay yok" maddesine aldırış etmiyorsanız, yalnız MIT yeterlidir ve MIT / BSD gereksizdir.

Doğru. Bu özel maddeyi önemsiyorsanız, aynı işi bu madde olmadan lisans altında da lisanslamak mantıklı olmaz.

Benzer şekilde, MIT ve BSD lisanslarının her ikisi de "GPL uyumlu" olduğundan ve GPL lisanslı projelerde yeniden dağıtılabildiğinden, çift lisans MIT / GPL de gereksiz görünüyor.

Evet.

Yine de, bazen bir yazılım ürünü MIT ve GPL (veya bazı izin verilen lisans ve GPL) olarak iki lisanslı olduğunu iddia eder, ancak gerçekte yazılımın iki farklı sürümüne atıfta bulunurlar.

Örneğin, bazı yazılımlar BSD veya MIT gibi izin verilen bir lisansla derlenebilir ve dağıtılabilir, ancak bazı kitaplıkları ve dolayısıyla bazı işlevleri atlarsanız, GPL olarak dağıtılabilir. İhmal edilen kütüphaneler, genellikle GPL ile uyumlu olmayan ancak yine de dağıtılabilen üçüncü taraf kütüphaneleri olacaktır.

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.