GPL olmayan GPL yazılımını arayın


30

GPL kapsamında yayımlanan ve yazdığım GPL'ye saygı duymak zorunda olmadığım bir programdan (yasal olarak) kullanabilir miyim (yazdığım program için)?

Örneğin, bir programı (GPL altında olan) kullanan bir GUI'm var, GUI'deki kodu gizleyebilir ve hatta satabilir miyim?

Yanıtlar:


30

Sen edebilirsiniz kullanmak programınızı GPL etkilenmeden kendi programından bir GPL'li programı, ancak programın GPL'nin koşullara tabi olmadan kendi programa GPL'li kodunu bağlayamazsınız.

Mevcut bir komut satırı programının çevresine bir GUI sarmalayıcısı yazdığınız soruda verilen örnekte, GUI'niz, GPLed programını bir GPLed programını çalıştıran ayrı bir program olması koşuluyla GPL'nin şartlarına bağlı değildir. süreci ayırın ve onunla sadece varolan arayüz (ler) aracılığıyla iletişim kurar - örneğin komut satırı üzerinden ve / veya stdin / stdout üzerinden.

GPL SSS’den gelen bazı önemli bitler :

İki ayrı program ve iki bölümlü bir program arasındaki çizgi nerede? Bu, nihai olarak hakimlerin karar verecekleri yasal bir sorudur. Uygun bir kriterin hem iletişim mekanizmasına (exec, pipe, rpc, paylaşılan bir adres alanı içindeki fonksiyon çağrıları, vb.) Hem de iletişimin semantiğine (ne tür bilgilerin değiştirildiği) bağlı olduğuna inanıyoruz.

Modüller aynı çalıştırılabilir dosyaya dahilse, kesinlikle bir programda birleştirilirler. Modüller, paylaşılan bir adres alanında birbirine bağlı olarak çalışmak üzere tasarlanmışsa, bu neredeyse kesinlikle onları bir programda birleştirmek anlamına gelir.

Buna karşılık, borular, soketler ve komut satırı argümanları normalde iki ayrı program arasında kullanılan iletişim mekanizmalarıdır. Yani iletişim için kullanıldığında, modüller normalde ayrı programlardır. Ancak, iletişimin semantiği yeterince samimi ise, karmaşık iç veri yapılarının değiş tokuş edilmesi, bu iki parçanın daha büyük bir programda birleştirilmesi olarak değerlendirilmesinin temelini oluşturabilir.


GPL kaplı bir eklentiyi yüklemek için tasarlanmış ücretsiz bir programı serbest bırakabilir miyim?

Programın eklentilerini nasıl çağırdığına bağlı. Örneğin, program eklentileri çağırmak ve iletişim kurmak için yalnızca basit çatal kullanıyor ve çalıştırıyorsa, eklentiler ayrı programlardır, bu nedenle eklentinin lisansı ana program için herhangi bir gereksinim duymaz.

Program, eklentileri dinamik olarak birbirine bağlar ve işlev çağrıları yapar ve birbirlerine veri çağrıları yaparlarsa, ana programın ve eklentilerin bir uzantısı olarak ele alınması gereken tek bir program oluşturduklarına inanırız. GPL kaplı eklentileri kullanmak için, ana program GPL veya GPL uyumlu bir özgür yazılım lisansı altında yayınlanmalı ve ana program bu cihazlarla birlikte kullanılmak üzere dağıtıldığında GPL’nin şartlarına uyulmalıdır. eklentileri.

Program, eklentileri dinamik olarak birbirine bağlar, ancak aralarındaki iletişim, bazı seçeneklerle eklentinin 'ana' işlevini çağırmak ve geri gelmesini beklemekle sınırlandırılmışsa, bu sınırda bir durumdur.

GPL'nin her durumda, temeldeki komut satırı programına tam olarak uygulandığını unutmayın - dağıtırsanız (kullanıcıların başka bir kaynaktan edinmelerinin aksine), GPL'nin bir kopyasını kullanıcılara sağlamaktan, komut satırı programının GPL altında olduğunu (GUI sarıcısı olmasa bile) ve komut satırı programının kaynak kodunu istek üzerine kullanabilmelerini sağlayın. GPL SSS’sinden tekrar:

Eğer insanlar GPL-kaplı yazılımı, kullanıcıların kısmen özel olduğunu bildikleri bir sistemin “parçası” olarak adlandırıyorsa, kullanıcılar GPL-kaplı yazılımı ile ilgili haklarından emin olmayabilirler. Ancak, aldıklarının ücretsiz bir program ve yan yana başka bir program olduğunu biliyorlarsa, hakları açık olacaktır.

Standart uyarı: Ben değilim, ben bir avukat olsaydı bile, bir avukat değilim ve senin avukat. Kesin bir cevaba ihtiyacınız olursa, bulunduğunuz ülkede uygulama yapmak için lisanslı olan uygun bir hukuk uzmanına danışın.


1
FSF'nin bağlantı konusundaki tutumunun azınlık mevkii olduğu not edilmelidir. (Ve IMO, hiçbir anlamı yok. Otomatik bir işlem yeni bir iş yaratamaz.)
David Schwartz

1
Ancak, FSF GPL'yi yazdı. Bu onların görüşünü çok daha alakalı hale getirir. “X derken, {...} demek istiyoruz genellikle mahkemede kabul edilir. “X derken, {...} demek istedin, öyle değil.
MSalters

"Sadece basit çatal kullanır ve çağırmak için yürütür" derken ne demek istiyor - birisi bunu açıklığa kavuşturabilir mi?
Krunal

Öyleyse GPL, GPL kodunu ayrı bir işlemde çalıştırmak için bir boru sargısı yazarak kolayca atlanabilir? Bu GPL'yi ilgisiz ve zorla imkansız kılıyor gibi görünüyor. Kendi kütüphanemi yazıp GPLed kütüphanesi ile birlikte bağlarsam. Ayrı bağımsız kütüphanem de GPL'lere mi dönüşüyor? GPLed kodunu kullanırken başkasının kütüphanesine bağlanırsam ne olur? Kütüphaneleri GPL'lere dönüşüyor mu? Bu sorulardan herhangi birine hayır cevabı verirseniz, GPL'yi kolayca atlamak için büyük bir boşluk açar. Evet cevabı verirseniz, telif hakkı yasasını ihlal ediyorsunuzdur.
Cerin

@Cerin - GPL yalnızca gerçekten dağıttığınız kod için geçerlidir. Eğer olurken Yani, yazma hangi GPL'li ve non-GPL uyumlu lisanslar hem bağlantılar bir program, daha sonra olamaz dağıtmak aynı süreçte GPL'li ve non-GPL uyumlu kod çalıştırmasına gibi, üçüncü kişilere o programı. ("Yeniden dağıtım olmadan kullanım" çoğu kişi tarafından GPL'de bir boşluk olarak görülür, çünkü web hizmetleri ve benzerleri GPL'yi tamamen kaldırabilir, çünkü yazılımı çalıştırmalarını kullanıcılara vermek yerine kendileri çalıştırırlar. GNU AGPL bir bu konuyu ele almaya çalışın.)
Dave Sherohman,

0

Ne demek istediğinizi kullanarak bağlı?

  • kodunuzda derleyin
  • paylaşılan bir kütüphane kullan
  • çalıştırılabilir çalıştırmak

Ayrıca, diğer kodun altında olduğu GPL'nin tam olarak hangi sürümünün / varyantının olduğuna da bağlıdır.

  • GPL
  • LGPL
  • AGPL
  • Muhtemelen diğerleri

Yasal feragatname: Ben avukat değilim.


-2

Bu, programınızın GPL programını "nasıl" kullandığına bağlıdır. GPL SSS'nin oldukça uzun bir açıklaması var , ancak yine de yoruma çok açık bırakıyor:

GPL kaplı yazılımı tescilli bir sisteme dahil edemezsiniz. (...) Bununla birlikte, çoğu durumda GPL kaplı yazılımı kendi sisteminizle birlikte dağıtabilirsiniz. Bunu geçerli bir şekilde yapmak için, özgür ve özgür olmayan programların silah boyu iletişim kurduğundan, onları etkin bir şekilde tek bir program yapacak şekilde birleştirilmediğinden emin olmalısınız. (...) iki program bir araya getirilip etkin bir şekilde programın iki parçası haline getirilirse, bunları iki ayrı program olarak ele alamazsınız. Bu yüzden GPL her şeyi kapsamalıdır.İki program birbirinden iyi ayrılırsa, derleyici ve çekirdek gibi veya bir düzenleyici ve kabuk gibi, o zaman bunları iki ayrı program olarak ele alabilirsiniz - ancak uygun şekilde yapmanız gerekir. Sorun sadece formlardan biridir: Ne yaptığınızı nasıl tarif edersiniz. Bunu neden umursuyoruz? Çünkü, kullanıcıların GPL kaplı yazılımın koleksiyondaki serbest durumunu açıkça anlamalarını sağlamak istiyoruz.

Genelde komut satırı GPL programını çağırmak için varolan bir GUI örneğinizde, ikisi açıkça tek bir program oluşturur, bu nedenle kodunuzu GPL'ye yazmanız gerekir.


Hayır, "açıkça tek bir program oluşturmuyorlar". Altta yatan komut satırı programı, GUI bindirmesinin yokluğunda çalışmaya devam edebileceği sürece, bunlar "salt toplama" ile birleştirilir ve "etkili bir şekilde tek bir program" değildir. Alıntı yaptığınız metindeki örnekleri not edin - bir derleyici çekirdeğin üstüne oturur ve onsuz çalışmayacaktır, ancak çekirdek derleyicinin yokluğunda mutlu bir şekilde çalışacaktır.
Dave Sherohman

1
@Dave: Komut satırı programının GUI kaplamasının yokluğunda çalışmaya devam edip etmeyeceği, komut satırı programının lisans durumu söz konusu olduğunda ilgili olabilir - ama soru GUI ile ilgili olup, tamamen kullanışsız olan GUI ile ilgilidir. komut satırı programı ve bu nedenle tek bir program oluşturdukları şüphesinin gölgesinde doğrudur.
Michael Borgwardt

Alıntı yaptığınız bölümdeki örneklerden birini alalım ve bunun nasıl devam ettiğini görelim. “... ama asıl soru, çekirdek olmadan tamamen yararsız olan derleyici ile ilgili ve bu nedenle tek bir program oluşturdukları şüphesinin gölgesinde doğru.” Elbette, alıntı yaptığınız metnin açıkça “bunları iki ayrı program olarak kabul edebileceğinizi” belirtmesi dışında. Basitçe bir bağımlılık meselesi olsaydı, Linux'ta kapalı yazılımı asla çalıştıramazdınız, çünkü bu yazılım (GPLed) çekirdeği olmadan “tamamen işe yaramaz” olurdu.
Dave Sherohman

@Dave: Tabii ki, derleyiciler ve her türlü kapalı yazılımın Linux çekirdeği olmadan faydası yoktur, çünkü POSIX ve / veya C kütüphane standartlarını uygulayan her şeyde çalışabilirler ve kendileri için önemli işlevsellik sağlayabilirler. . Yalnızca belirli bir komut satırı programını yürütmek için varolan bir GUI paketleyiciden tamamen farklı bir konu.
Michael Borgwardt

3
Yine de GUI bölümünde yanılıyorsun. Aynı GUI sarmalayıcısı , diğer CLI programlarıyla, özellikle de orijinalin sonraki sürümleriyle çalışacaktır. Bu, bu bağlamla ilgilidir, çünkü temel programdaki orijinal GPL haklarının hala kullanılabileceği anlamına gelir. % 10 daha hızlı olması için yeniden derlersem, CLI beni engellemez.
MSalters

-3

Yok hayır.

GPL kodu yalnızca diğer GPL kodları tarafından kullanılabilir.

Wikipedia'nın GPL makalesinin ilk satırına atıfta bulunarak :

GPL, genel kullanım için ilk copyleft lisansıdır; bu, türetilen eserlerin yalnızca aynı lisans koşulları altında dağıtılabileceği anlamına gelir.

Buna ek olarak, GPL birkaç sayfa uzunluğundadır ve birkaç sürümde mevcuttur.


Uyarı, önceden kişisel rant!

Kişisel olarak, GPL lisansını çok kısıtlayıcı ve virüs benzeri niteliklerinden dolayı çok beğenmedim. Buna "ücretsiz" diyorlar, ancak bunun tam tersi, GPL kodu, diğer GPL kodu dışında hiçbir şey tarafından kullanılamaz. Bu nedenle, diğer projelerinizi GPL'ye zorlamak veya mevcut projeniz açık kaynak olsun veya olmasın, bütün kütüphaneleri yeniden yazmaya zorlamak. FreeBSD gibi yüzlerce satır linux kodunu yeniden yazmak zorunda kaldıkları için lisansları uyumsuz olduğu için büyük açık kaynaklı projeler vardı, açıkçası "ne istersen onu yap" anlamında çok "özgür" oldu. GPL ile uyumlu değil.

Eğer "ne istersen yap" anlamında gerçekten "özgür" bir lisans istiyorsan, BSD veya MIT lisansını öneririm ... aslında, diğer lisansların çoğu tamam. Bu sadece gerçekten sorunlu olan bir GPL'dir, çünkü ne kadar kısıtlayıcıdır ve başkalarını onun içine nasıl zorlar. Son olarak, aşırı karmaşık.

Ah, evet, aynı zamanda tek yönlü bir bilet. GPL, çoğu lisanstan lisanslanmış kod / kitaplıklar kullanabilir, ancak bu kitaplıklar / kodlar sırasıyla GPL kodunu kullanamaz.


"Türetilmiş eserler" yazıyor. Bu, dinamik olarak GPL koduna bağlanan yazılımı içeriyor mu?
sağa doğru

@WTP: kesinlikle evet - LGPL'nin asıl amacı, buna izin veren farklı bir lisansa sahip olmak.
Michael Borgwardt

3
Bir komut satırı programının etrafına sarılmış bir GUI kabuğu , telif hakkı amaçları için tanımlandığı gibi "türetilmiş bir çalışma" değildir .
Dave Sherohman 24:11

1
@Dave Sherohman - bu net görünmüyor. Bu sorunun kabul edilmiş cevabı şöyle diyor: “IMHO, ruhu itibariyle, yalnızca bir GPL programının işlevselliğini ortaya çıkaran saf bir ambalajlayıcı GPL olmalıdır.” Bu sadece iletişim kurma şeklinin teknik yönü değil, amacıdır. Örneğin, bir kitabı çevirmek türetilmiş bir eser yaratmaktır. Kindle formatına dönüştürmek türetilmiş bir çalışma olacaktır. Bir GUI eklemenin türetilmiş bir çalışma yarattığına karar veren bir yargıcı görebiliyordum. Dikkat.
Scott Whitlock
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.