MIT lisansı altında dağıtılan kodu değiştirebilir ve GPL lisansı altında yeniden dağıtabilir misiniz? [kapalı]


57

En son Temmuz 2008'de yayımlanan Chili eklentisinin kodunu değiştirmek mümkün müdür ve MIT lisansı altında lisanslıdır ve daha sonra GPL'ye lisans vermek mümkündür?

Görebildiğim kadarıyla, aynı lisans altında lisanslanan yeni kod hakkında herhangi bir kısıtlama yoktur. Gerçekten öyle mi, yoksa minimum sayıda değişiklik var mı?

Benim durumumda, jQuery eklentisini bir CMS'de yürütülen normal Javascript kodunda değiştirirdim. Bu, esasen, diğer şeylerin yanı sıra, şu anlama gelir:

  • Kod "ChiliBook" ad alanını kullanmayacak.
  • İşlev $($element).chili(), ancak GlobalObject.ChiliHighlighter.process($jquery_element)"GlobalObject" in CMS'den kullanılan bir JavaScript nesnesi olduğu gibi çağrılmaz .
  • Kod, diğer modüllerin GlobalObject.ChiliHighlighternesneyi, isteğe bağlı olarak GlobalObject.ChiliHighlighter.process()tanımlandıklarında çağrılan işlevler eklemesi için değiştirmesine olanak tanır .

Alternatif olarak, kullandığım havuz, kod artık tutulmadığında GPL 2 veya daha yüksek lisans altında lisanslanmayan bir kod eklememe izin verdiği için, eklenti, son sürümü üç yıl önce yayınlandığı için artık korunmadığı düşünülebilir mi?


2
Gerçekten yetkili bir cevap istiyorsanız, bir avukata danışmalısınız (ilgili yargı alanında, örneğin cevap İtalya'da ABD’den farklı olabilir)
MarkJ

Yanıtlar:


59

Teknik olarak yasal.

MIT (Expat) lisansı size birkaç kısıtlama getirir. Bunlar GPL lisansının bir alt kümesidir. Bu nedenle, kodu GPL'nin altına yerleştirirseniz ve MIT'i haberdar ederseniz, MIT lisansının şartlarını yerine getiriyorsanız ve kodu yasal olarak yeniden dağıtabilirsiniz.

Telif hakkı sahipliği talebinde bulunmayabileceğinizi unutmayın; orijinal telif hakkını onaylamanız gerekir.

[değiştir] Bazı insanlar F / OSS'nin telif hakkı ve lisans yasası ile birlikte nasıl çalıştığını anlayamıyor gibi görünüyor. Her şey telif hakkı ile başlar, çünkü yalnızca varsayılan budur. Telif hakkı doktrinine göre, yazar kaynak kodun kopyalarını alma hakkına sahiptir. MIT lisansı altında, bu hak bana ve ayrıca tekrar tekrar başkalarına verme hakkı verilir. MIT lisansının açıkça alt lisans verme hakkını içerdiğini unutmayın . Alıntı yapmak:"the rights to use, copy, modify, merge, publish,distribute, sublicense, and/or sell"

Lisans kodu verdiğim zaman, aslında sahip olmadığım hakları veremem. GPL durumunda, sadece bazı hakları alt lisans vermek kesinlikle yasaktır. Ancak ne yasada ne de MIT lisansında tüm hakları bir bütün olarak alt lisans verme yükümlülüğüm yok.

Bu nedenle, MIT lisansı bana münhasır haklar verme hakkını vermekte ve ne yasa ne de MIT lisansı yalnızca bazı hakları sübvanse etmemi yasaklamaktadır . Ayrıca, ikisi de benim yaptığım formu kısıtlamıyor. Bu nedenle, bu kod için bir GPL alt lisansı verme yadsınamaz hakkım var.


6
@vartec: Kodu aldığınız lisansı değiştirmiyorsunuz. Siz ve yeni alıcı arasında yeni bir lisans oluşturuyorsunuz ve istediğiniz şartlara sahip olabilir. (Yeni alıcı, orijinal lisans altında ek haklar alabilir, ancak bu yeni lisans üzerinde bir etkiye sahip değildir.) Norm, alt lisansın orijinal lisanstaki hakların bir kısmını vermesi içindir. Örneğin, bir alt lisans, orijinal lisansın bir alt lisans olması için içermesi gereken alt lisans hakkını nadiren içerir.
David Schwartz

3
@vartec: Esasen, bir şekilde alt lisans verme hakkını veren bir telif hakkı lisansının, alt lisans verme hakkını vermeyeceğini iddia ediyorsunuz. Yine de bu argümanı yaptığınıza emin değilim. İlgili herhangi bir yasal otoriteden bazı alıntılarınız var mı? Bir telif hakkı sahibinin başkalarına çalışmalarını lisanslama hakkını veremediğini mi söylüyorsunuz ? Yoksa MIT lisansının bir şekilde bunu yapmayı başaramadığını veya niyetinde olmadığını mı düşünüyorsunuz?
David Schwartz

1
@David: "alt kopyalamanın" ne anlama geldiğini anlamış görünmüyorsunuz.
vartec

1
@vartec: Bunu açıklayan bir kaynağa bağlantı harika olurdu, çünkü bunun ne anlama geldiğini anlamıyorsunuz.
David Schwartz

7
MIT lisansı bunun içinde şöyledir: "Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılımın tüm kopyalarına veya önemli bölümlerine eklenecektir." Bu, herhangi bir çatalın MIT lisansı altında bulunması gerektiği anlamına gelir. Değişiklikler GPL olarak listelenebilir. Çatal GPL + MIT olarak listelenebilir. Ancak çatal sadece GPL olarak listelenemez - bu MIT lisansının açık bir ihlalidir.
Jonathan Vanasco

26

Evet. Ancak, etki düşündüğünüz gibi olmayabilir.

MIT lisansı GPL'nin verdiği tüm hakları ve daha fazlasını içerir. Ve dağıtımınızı alan kişiler, eklediğiniz öğelere yalnızca bir GPL lisansı alırken, yine de yazarın bu lisans altında sunduğu eserde yer alan herhangi bir öğeye (sizden değil orijinal yazarlardan) bir MIT lisansı alırlar.

Bunu bilemeyebilirler ve bildiğim kadarıyla, hiçbir yasa size söylemenizi zorunlu kılmaz. Ancak, yazdığınız eserde bulunan (veya başkaları tarafından yalnızca GPL sürümüne katkıda bulunmayan) korunabilir ifadeyle ilgili olarak GPL lisansını "ihlal ediyorlarsa", lisansınızı veya telif hakkınızı ihlal etmemişlerdir. (Aslında, bu oldukça açık olmalıdır - yalnızca sizin yazdığınız ifadenin telif hakkına sahip olursunuz.)

Bu nedenle, telif hakkıyla korunan öğeleri MIT lisansından GPL lisansına dönüştürmediniz. Sadece GPL lisansı altında sunulan ve öğeleri karışık / birleştirilmiş bir çalışmada yayınlayanları eklediniz.


bu yüzden pratikte şunu yapardım: bir MIT projesi kopyalayın, MIT'nin her şeyini GPL ile değiştirin (bu nedenle MIT olan projeden hiçbir iz kalmaz) ve sonra da orijinal MIT projesine birkaç önemli yerle bağlantı kurun (her biri değil). kaynak dosya olsa da), temel projenin MIT kapsamında mevcut olduğunu belirtmektedir. Bu tamam / yasal olur mu (orijinal telif hakkı sahibi beyanlarını saklarsam)?
hoijui

1
@hoijui Tüm MIT lisans başlıklarını ve izin bildirimlerini eksiksiz bırakmalı ve yeni projenize eklemelisiniz. Amacınız aldatmadıkça, neden “MIT” den bahsettiğini anlamıyorum. Hiçbir şey değişmeyecek, aldığınız parçalar hala MIT lisanslı olacak. Sadece kendi GPL lisans başlığınızı altına ekleyin, kaynak kodunda yaptığınız tüm telif hakkıyla korunan değişiklikler (sadece değişkenleri yeniden adlandırmak değil) için geçerli olacaktır. BTW bu yüzden çoğu projede her dosyada bir telif hakkı başlığı vardır.
jmiserez

@jmiserez tamam. öyleyse projemdeki bir dosyaya bakalım: MIT başlığından ayrılıyorum, bazı değişiklikler yapıyorum ve bir GPL başlığını ekleyeceğim (değişikliklerimin yalnızca GPL altında kullanılabilmesini istediğim için). Şimdi dosyamdan çıkan üçüncü bir taraf hem MIT hem de GPL’i onurlandırmalı mıydı? iki lisans başlığına sahip bir dosya görmedim ve bence çoğu insan yasal olarak doğru yolun ne olduğunu bilmedikleri için sadece istedikleri lisansı seçerdi. Ayrıca, GPL’yi onurlandırarak, MIT’yi otomatik olarak onurlandırmak için neden MIT’i dahil etmek zorundayım?
hoijui

@hoijui MIT lisansı altında sahip olduğunuz tüm haklar, “Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılımın tüm kopyalarına veya önemli bölümlerine dahil edilecektir” sınırlamasıyla birlikte gelir. bildirimlerin veya yalnızca birinin, IANAL. Ancak bir yere bir ihbar eklemeniz gerektiğinden eminim. Bunu yapmazsanız, artık MIT lisansına uygun olmazsınız, bu da projenizdeki kodu kullanma haklarını kaybettiğiniz anlamına gelir. FYI, Linux çekirdeğinin birden fazla lisansı olan dosyaları vardır, SPDX başlıklarını kullanırlar: lwn.net/Articles/739183
jmiserez

1
Birisinin bir MIT lisansı üzerine kurulu olan GPL kodunu denemek istemesi ne kadar üzücü. MIT lisansının öngördüğü her şeye aykırı görünüyor.
Andrew T Finnell

8

Daha önce verilmiş olan cevaplardaki açıklamalara eklenecek bir şey yok, ancak kaynak dosya başlıklarınızı ( kaynak ) nasıl şekillendireceğinizle ilgili talimatlar :

2.2 İzin verilen lisanslı dosyalara GPL'd değişiklikleri ekleme

Bir geliştirici, geliştiricinin bir GPL'd programına dahil ettiği izin verilen lisanslı bir dosyada telif hakkıyla korunan değişiklikler yaptığında ortaya çıkar. Bu durumdaki geliştiriciler tipik olarak GPL'yi değişikliklerine uygular. (Ancak, geliştiricinin, değiştirilmemiş dosyayı yöneten izin verilen lisans gibi izin verilen koşullar altında yeni koda katkıda bulunmak mümkündür. Bu durumu § 2.3'te tartışırız.)

Dış projenin izin verilen lisansı, bu projeden kodun bir GPL'd projesine dahil edilmesi için yasal izin vermesine rağmen, GPL'd projesinin geliştiricisi, yine de izin verilen lisanstaki bildirim koruma şartına uymalıdır. Dosyaya göre dosya yöntemini kullanan bir projede, izin verilen lisanslı bir dosyada telif hakkıyla ilgili değişiklikler yapan bir geliştirici, mevcut bir belgenin üstüne yeni bir telif hakkı bildirimi ve izin bildirimi yerleştirmeli ve geliştiricinin dosyayı değiştirdiğini açıkça belirtmelidir. Dosyanın üstü şu şekilde görünecektir:

/*  
 * Copyright (c) 2007  GPL Project Developer Who Made Changes   
 *  
 *  This file is free software: you may copy, redistribute and/or modify it  
 *  under the terms of the GNU General Public License as published by the  
 *  Free Software Foundation, either version 2 of the License, or (at your  
 *  option) any later version.  
 *  
 *  This file is distributed in the hope that it will be useful, but  
 *  WITHOUT ANY WARRANTY; without even the implied warranty of  
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  
 *  General Public License for more details.  
 *  
 *  You should have received a copy of the GNU General Public License  
 *  along with this program.  If not, see .  
 *  
 * This file incorporates work covered by the following copyright and  
 * permission notice:  
 *  
 *     Copyright (c) YEARS_LIST, Permissive Contributor1   
 *     Copyright (c) YEARS_LIST, Permissive Contributor2   
 *  
 *     Permission to use, copy, modify, and/or distribute this software  
 *     for any purpose with or without fee is hereby granted, provided  
 *     that the above copyright notice and this permission notice appear  
 *     in all copies.  
 *  
 *     THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL  
 *     WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED  
 *     WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE  
 *     AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR  
 *     CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS  
 *     OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,  
 *     NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN  
 *     CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.  
 */

Geliştiricinin, izin verilen lisansın gerektirdiği şekilde tüm telif hakkı bildirimini, izin bildirimini ve garanti reddini orijinal kodda göründüğü gibi muhafaza etmesi çok önemlidir. Bazen izinli lisans bildirimleriyle karıştırılan GPL bildirimlerini görüyoruz - bildirimin içinde listelenen çeşitli telif hakkı sahipleri tarafından verilen hem kodun doğruluğunu hem de kesin izinleri gizleyen kafa karıştırıcı bir uygulama. Farklı telif hakkı sahiplerinin katkılarını farklı koşullar altında serbest bıraktıklarında, her birinin kendi özel katkılarına koyduğu terimler belirtilmelidir. Açık bir ayrım yapmanızı ve yukarıdaki örnekte olduğu gibi girintileri kullanmanızı öneririz.

Bildirimlerin dosyada düzenlenmesi, geliştiricilerin izin verilen koşullar altında mı yoksa GPL kapsamında mı katkıda bulunacaklarını seçmelerini kolaylaştırır. Katkılarını kabul edilebilir şartlar altında sağlamak istiyorlarsa, telif hakkı bildirimlerini alt gruba ekleyebilirler. GPL kapsamında katkıda bulunmak istiyorlarsa, telif hakkı bildirimlerini en üste ekleyebilirler. Bununla birlikte, tek bir kaynak dosyada, böyle bir dosyanın hangi bölümlerinin izin verilen terimlerle kapsandığını belirlemek genellikle çok zor ve çoğu zaman tamamen olanaksızdır. Eğer amaç sadece izin verilen şartlar altında ek kod sağlamaksa, § 2.3'te açıklanan yöntem kullanılmalıdı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.