Yanıtlar:
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.
Ne demek istediğinizi kullanarak bağlı?
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.
Yasal feragatname: Ben avukat değilim.
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.
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.