GPL Projesi Oluşturmak: Yeni çatal konusunda tam haklara sahip miyim, yoksa asıl mal sahipleriyle bağımlılığım var mı?


34

GPLv2 lisanslı küçük bir projeye çatal yaratmayı düşünüyorum ve çeşitli sitelerdeki ve forumlardaki araştırmalarımda cevaplayamadığım bazı özel sorularım var.

Kodu doldurduğumda, yeni projeyi yapacağım aynı lisans altında (GPL) serbest bırakmak zorunda kalıyorum, ancak aynı zamanda iki tanesi lisanslı olarak piyasaya sürülmeye karar verebilir miyim?

Projeyi yaparken, her şeyin telif hakkını otomatik olarak alabilir miyim? Bu, örneğin lisansta gelecekteki bir değişikliğe karar verirken veya GPL lisansını bir üçüncü tarafa uygulayabiliyorsa geçerlidir.


10
Bu mümkün olsaydı, herkes basitçe bir GPL projesini uygulayabilir ve GPL ile ilgili sınırlamaları etkin bir şekilde kaldırarak yepyeni bir lisansla aynı yazılımı alabilir ve GPL lisansını tek bir hamle ile geçersiz kılabilir.
user2485710

GPL ticari kullanıma izin veriyor!
feklee

Yanıtlar:


75

Kısa cevap: Varolan projeyi çatal zaman, genellikle yok lisansı değiştirme izniniz ne de baştan kopyalanan kodu telif hakkını alırım.

Sen bunu yapmak herhangi (nontrivial) değişiklik veya eklemeler üzerinde telif hakkına sahip.


Uzun cevap:

Bir kod parçasına telif hakkı elde etmenin tek yolu, kendiniz yazarak veya sözleşmeden sonra size verilen telif hakkını almaktır. Bu, mevcut bir projenin çatallaştırılmasının orijinal projenin veya çatalın kodundaki telif haklarını değiştirmeyeceği anlamına gelir.

Telif hakkı lisansını değiştirebilen tek kişi o telif hakkına sahiptir. Bir projenin kodunda birden fazla telif hakkı sahibi varsa, tüm telif hakkı sahiplerinin telif hakkı lisansındaki bir değişikliği kabul etmesi gerekir. Bu, mevcut telif hakkı lisansı açıkça size kodu ekleme hakkını vermediği sürece, çatalınızın lisansını değiştirme izninizin olmadığı (çift lisanslı bile olsa) anlamına gelir.


2
Telif hakkı sorunlarının iyi bir açıklaması.
Rory Hunter

2
@ArtB, GPL -> AGPL hakkında emin değil, ancak LGPL özellikle değiştirilmiş bir sürümü GPL altında bırakmanıza izin veriyor ( bkz. Madde 2 ). Yapmanıza izin verilen şey aslında ilk lisansın ne olduğuna bağlıdır.
Bruno

3
@ 2rs2ts, söylediklerinizin doğru olduğundan emin değil (GPLv3'ün 13. bölümüne bakın ... tabii ki GPLv2 veya GPLv3'ü konuşmamıza bağlıdır). Ek olarak, değişiklikleriniz genellikle sizindir. GPL A projesine bir sihirbaz widget'ı eklerseniz, gerçekten GPL altındaki partiyi yeniden dağıtmanız gerekebilir, ancak aynı sihirbaz widget'ı BSD B projesine eklerseniz, eşyalarınızı yeniden lisanslayabilirsiniz (ve A projesinden şeyler değil) istediğiniz şekilde (B projesinin lisansıyla uyumlu). (Her zaman olduğu gibi, emin olmak istiyorsanız yasal tavsiye alın. Bu değil.)
Bruno

1
AFAIK’in (ama IANAL’ın) ne olduğuna bakmaksızın kodunuzun size ait olduğunu unutmayın, yani hedef projenin lisansından bağımsız olarak istediğiniz herhangi bir lisans altında bir yama yayınlayabilirsiniz.
'.

4
@Lohoris: İstediğiniz lisansla yazdığınız yamaları serbest bırakmakta haklısınız. Ancak bu lisansın dikkatsizce seçilmesi yamalı kodu dağıtılamaz hale getirebilirse, çünkü tüm lisans gereksinimlerini karşılamak imkansız olacaktır.
Bart van Ingen Schenau

24

Çatallı projeniz, orijinal projenin kodunun bir türevidir. Başka bir deyişle, projeniz orijinal projeyi kullanıyor ve bu nedenle lisansı size bağlı. Bu doğru olmasaydı, bir lisansın hiçbir anlamı olmazdı.

Yani, hayır, izin vermeyen bir koddan türetilmişse, özel bir lisans altında kodu serbest bırakamazsınız.


Bart'ın cevabı, çatal kodun lisans gereklilikleri konusunda sizinkinden daha katı koşullar anlamına gelir - hangisi genel durumda doğru?
Thomas

Cevabınız bir çatallı proje türetilmiş çalışma yapar, bu da orijinal kodun türetilmiş çalışmalara izin veren bir lisans altında olup olmadığını öğrenmeyi mümkün kılar. Bart'ın cevabı , orijinal lisansın ne dediği önemli değil, telif hakkı edinmediğiniz sürece, hiçbir zaman çatal kodları çözemeyeceğinizi söylüyor. Bunlar eşdeğer mi?
Thomas

4
@Thomas Dan's doğru, eğer orijinal lisans izinsizleştirmeye izin veriyorsa, yeni projeyi yenileyebilirsiniz. Bart'ın cevabının neye yorum yaptığını ifade ettiğine ikna olmadım. OP, GPL altında lisanslanan kod hakkında konuşuyor, bu yüzden ikisi bu durumda aynı.
Taemyr

5
@Tomas, orada bir çatışma olduğunu sanmıyorum. Her iki cevabımızın da amacı, aldığınız kodun lisansı ile sınırlandırılmaya devam etmenizdir . Ancak, bu kodun lisansı yapmanıza izin verdiği her şeyi yapabilirsiniz. Bart, orijinal eserin lisansı size izin verirse, çalışmanızı başka bir lisans altında verebileceğinizi belirtir.

@Taemyr Evet, sanırım Bart'ın cevabının tüm lisanslara (yazının önerdiği gibi) veya sadece GPL'ye (bu sorunun önerdiği gibi) uygulanıp uygulanmadığı konusunda kafam karıştı.
Thomas

17

Bir an için GPL'yi unutun ve telif hakkına bakın. Bir projeyi doldurduğunuzda, orijinal projede bulunan tüm kodların, orijinal projede bu kodu yazanların telif hakkı vardır. Daha sonra yazdığınız tüm kodlar telif hakkınızdır. Bu yüzden, orijinal projedeki tüm kodu tekrar yazmazsanız, bu kod size ait değildir ve yasal haklarınız yoktur.

Daha sonra GPL lisansına bakın ve telif hakkı kanununun ötesinde size hangi hakları verdiğini kontrol edin. Tüm çatal ticaretini yasal hale getiren türev çalışmalar yaratmanıza olanak tanır - düz telif hakkı yasası ile türev çalışmalar yaratmanıza izin verilmez. Daha sonra, kodu dağıtmadığınız sürece kullanmanıza olanak tanır. GPL başkalarının ellerini çatal koduna koyamadıkları sürece, GPL istediğinizi yapmanıza izin verir.

Ancak, başka birinin telif hakkı kodu dahil olmak üzere, çatal kodunu dağıtırsanız, yalnızca kurallarını izlerseniz telif hakkı sahibinin iznine sahip olursunuz. Kurallardan biri, kodun tamamını GPL kapsamında lisanslamanız gerektiğidir (kendi kodunuz dahil). Diğer bir kural, kaynak kodunu başkalarına vermeniz gerektiğidir; ayrıntılar için GPL'yi kontrol edin.

Lisansın değiştirilmesi, orijinal kodların herhangi biri hala orada olduğu sürece zor olacaktır. Kodunuzu, bir sonraki adamın kodu GPL'nin izin verdiği şekilde kullanmasını engelleyecek şekilde lisanslayamazsınız, ayrıca GPL'nin izin vermediği kodla bir şeyler yapmalarına izin veremezsiniz.


1
Genel olarak cevabınıza katılıyorum, ancak bu cümleyi yeniden ifade etmek isteyebileceğinizi düşünüyorum: "Telif hakkı yasasıyla türev bir çalışma yapmanıza izin verilmeyecek." Genel bir kural olarak, bunun doğru olduğunu iddia etmek muhtemelen yeterlidir, ancak istisnalar da vardır. (Telif hakkı, parodi, vb.)
Patrick M
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.