Açık kaynaklı bir projeden kod istemek / yeniden kullanmak için doğru yol nedir?


22

Açık kaynak kodlu bir proje üzerinde çalışıyorum ve başka bir açık kaynak kodlu projeden (örneğin, bir dosya arama / değiştirme işlevi) önemsiz bir yardımcı işlev kullanmak istiyorum. İşlevi kopyalamak ve dosyanın üstüne küçük bir telif hakkı bildirimi yazmak yasal mı? İsimlerini tüm projenin telif hakkı sahipleri olarak lisansa dahil etmeli miyim?

Benzer şekilde, diyelim ki açık kaynaklı bir projeyi yapıyorum. Telif hakkının hem orijinal telif hakkı sahibiyle hem de kendimle paylaşılmasını nerede ve nasıl belirtirim?

Cevap açık kaynak lisansa göre biraz değişmeli ama sanırım olabildiğince genel bir cevap istiyorum.

Not: Çoğunlukla hukuki açıdan endişe duyuyorum, ancak etik bakış açınızı eklemekten çekinmeyin.


1
Söz konusu projenin ve yayınladığınız projenin lisansı nedir? Evet, kodu kullanabilirsiniz, ancak kullanılan lisans kapsamında gereksinimlerinizi daha iyi bildirebilmemiz için lütfen daha belirgin olun.
Tim Post

1
@Tim Post: Bu genellikle teorik bir sorudur, ancak her iki projenin de çok yaygın olduğu için bir GPL lisansı olduğunu varsayalım.
Olivier Lalonde

Yanıtlar:


25

Bu cevabı 'meta' olabildiğince uygulanabilir hale getirmeye çalışıyorum.

Diğer projelerden snippet'leri / bitleri kullanma

Kodu, orijinal yazarın telif hakkıyla açıkça işaretleyin. Tercih ettiğiniz lisansın, kullandığınız kodun lisansıyla tamamen uyumlu olduğundan emin olun. Kodu farklı bir lisansa taşımak için yazarın iznine ihtiyacınız olacak (özellikle, "GPL 2 veya sonraki bir sürüm" gibi bir şey yapmanıza izin vermedikçe)

Programınız, tüm katılımcıları ve diğer projelerden kullandığınız şeyleri listelediğiniz bir YAZAR dosyasına (veya benzerine) sahip olmalıdır.

Bir proje oluşturmak

Büyük ölçüde değiştirdiğiniz her modül için, telif hakkınızı orijinal yazarın altına ekleyin. Aynı şey lisanslama için de geçerli, siz onu çatalladığınızda geçerli olan lisansın şartlarına bağlı kalıyorsunuz. Eğer proje "sadece GPL2" diyorsa, buna saygı göstermelisin, izinleri olmadan GPL3'e gidemezsin.

Bu, eldeki lisansa bağlı olarak büyük ölçüde değişir. QPL, değişiklikleri yalnızca yama biçiminde dağıtabileceğinizi söylüyor; bu nedenle, yazılımın değiştirilmiş sürümlerini dağıtmanıza izin veren terimleri anladığınızdan emin olun.

Bunun ötesinde, her zaman telif haklarını korur. Var olana kendi telif hakkınızı ekliyorsanız, tam olarak iddia ettiğiniz şeyi açıkça işaretlediğinizden emin olun.


Bazen lisans ekleyebilirsiniz. Bir GPLed projesinde bir BSD işlevi kullanmak istediğinizi varsayalım: BSD lisansını kaldıramazsınız, ancak GPL ile uyumludur, böylece tüm projeyi GPL altında düzenleyebilir ve işlevin de BSD altında olduğunu not edebilirsiniz. lisans. BSD lisanslı kodunda BSD altında yaptığınız herhangi bir değişikliği serbest bırakmak kibarlık olacaktır.
David Thornley,

@David - OP genel bir cevap istedi (dolayısıyla lisansları araştırmaya çağırdım). Sen oldukça haklısın. Bununla birlikte, BSD kodunda yaptığınız değişiklikleri çift lisanslamak 'güzel' olur, böylece orijinal yazarlar isterlerse gerçekten kullanabilirler.
Tim Post

1
Ana lisans dosyasında hangi noktada telif hakkı bildiriminiz orijinal yazarların üstünde olmalıdır? SLOC'larınız orijinal proje SLOC'lerinin% 200'ünü aştığında? 300%? Eğer bahsettiğin proje, projenin içindeki birçok kütüphaneden veya modülden biriyse?
Ocaklar

@ hobs imo, telif hakkı bildiriminin sırası, katkının büyüklüğünün bir göstergesi değil, kronolojik olarak kökenleri ayrıntılarıyla belirtir.

@TechnikEmpire Kronolojik sipariş anlamlıdır, ancak telif hakkı bildirimi yerine katkıda bulunanlar listesi için? Telif hakkı bildirimlerinin, uyguladıkları kod bölümlerine ve paketteki bu bölümlerin değerine / miktarına göre daha iyi düzenlenebileceğini düşündüm. Lisansla ilgili bir şeyi değiştirmek istiyorsanız, öncelik sırasına göre irtibat kurmanız gereken kişilerin bir listesini olması yararlıdır. Bu yüzden, ilk birkaçtan izin alırsanız, ancak sonuncusundan izin almazsanız, değişikliği yapmaya kararlıysanız, yeniden oluşturmak için daha az miktarda kodunuz olur. Acaba Linus ne yapar?
ocak
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.