Gyakran ismételt kérdések a GNU-licencekkel kapcsolatban

Ez az oldal a GNU-licencekkel kapcsolatban leggyakrabban feltett kérdések válaszait tartalmazza. A magyar fordítás alapjául szolgáló, eredeti angol nyelvű dokumentum: https://www.gnu.org/licenses/gpl-faq.html. A Novell kérésére Shirokuma fordította.

Tartalomjegyzék

Alapvető kérdések a GNU projekttel, a Free Software Foundationnel és licenceivel kapcsolatban.

A GNU licencek általános bemutatása

GNU licencek használata az Ön programjaihoz

GNU licenc alatt kiadott programok szétosztása

GNU licencek alatt kiadott programok felhasználása más programok írásánál

GNU licencek hatálya alatt kiadott kód beillesztése a munkába

GNU licencek sértéseivel kapcsolatos kérdések


Mit jelent a „GPL”?

A „GPL” a „General Public License” rövidítése. A legelterjedtebb ilyen licenc a GNU General Public License, vagy röviden a GNU GPL. Ez tovább rövidíthető „GPL”-nek, ha egyértelmű, hogy a GNU GPL-t értik alatta.

A szabad szoftver egyenlő a GPL használatával?

Egyáltalán nem – számos egyéb szabad szoftverlicenc létezik. A mi listánk nem teljes. Minden licenc, amely a felhasználó számára bizonyos mértékű szabadságot biztosít, szabad szoftverlicenc.

Miért használjam a GNU GPL-t más szabadszoftver-licenc helyett?

A GNU GPL használata megköveteli, hogy az összes kiadott továbbfejlesztett változat szabad szoftver legyen. Ez azt jelenti, hogy a GPL használatával elkerülheti annak a kockázatát, hogy a saját munkájának módosított, szabadalomvédett változatával kelljen versenyeznie. Bizonyos helyzetekben azonban érdemes lehet kevésbé korlátozó licencet használni.

Minden GNU szoftver a GNU GPL-t használja?

A legtöbb GNU szoftvercsomag a GNU GPL-t használja, de van néhány GNU program (és programrész), amely lazább licencet használ, mint például a Lesser GPL. Ennek stratégiai oka lehet.

Ha egy program a GPL-t használja, akkor ezáltal GNU-szoftver lesz?

Bárki kiadhat egy programot GNU GPL licenc alatt, de ez nem teszi a programot GNU csomaggá. Egy program GNU szoftvercsomaggá tétele azt jelenti, hogy a program explicit módon hozzájárul a GNU projekthez. Ez akkor lehetséges, ha a program fejlesztője és a GNU Project egyetért ebben. Ha szeretne a programjával hozzájárulni a GNU Projecthez, akkor írjon a <maintainers@gnu.org> címre.

Mit tegyek, ha a GPL esetleges megsértését észlelem?

Ezt jelentenie kell. Először is körültekintően ellenőrizze a tényeket, majd tájékoztassa erről az adott GPL-lel védett program kiadóját vagy szerzői jogának tulajdonosát. Ha ez a Free Software Foundation, akkor írjon a <license-violation@gnu.org> címre. Ellenkező esetben a program karbantartója lehet a szerzői jog tulajdonosa, vagy meg tudja mondani, hogyan léphet kapcsolatba a tulajdonossal, ezért jelentse ezt a karbantartónak.

Miért engedi a GPL, hogy a felhasználók az általuk módosított változatokat is közzétehessék?

A szabad szoftver lényeges jellemzője, hogy a felhasználók szabadon együttműködhetnek. Alapvető fontosságú, hogy a felhasználók, akik segíteni szeretnének egymásnak, hibajavításaikat és fejlesztéseiket megoszthassák egymással.

Javasoltak olyan alternatívákat a GPL-re, amelyben a módosított változatokat az eredeti szerzőnek el kell fogadnia. Amíg az eredeti szerző lépést tud tartani a karbantartási igényekkel, ez jól működhet a gyakorlatban. Azonban ha a szerző (többé vagy kevésbé) ezzel felhagy azért, hogy mással foglalkozhasson, vagy nem foglalkozik az összes felhasználói igénnyel, akkor ez az elképzelés nem tud működni. A gyakorlati problémákon túl ez a séma nem teszi lehetővé, hogy a felhasználók segítsenek egymásnak.

Bizonyos esetekben a módosított változatok szabályozása azért ajánlott, hogy megakadályozza a felhasználók által készített változatok közötti kavarodást. A mi tapasztalatunk szerint a kavarodás nem lényeges probléma. Az Emacs számos változata a GNU Projecten kívül készült, de a felhasználók meg tudták ezeket különböztetni. A GPL megköveteli, hogy a változat létrehozója megadja a nevét, hogy meg lehessen különbözteti az adott változatot a többitől, illetve hogy meg lehessen védeni mások hírnevét.

Megköveteli-e a GPL, hogy a módosított változatok forráskódja nyilvánosan elérhető legyen?

A GPL nem követeli meg a módosított változat, vagy a változat részeinek kiadását. Szabadon végezhet módosításokat és használhatja azokat privát módon anélkül, hogy valaha is kiadásra kerülnének. Ez a szervezetekre (vállalatokat is beleértve) is érvényes: a szervezet létrehozhat egy módosított változatot és használhatja azt belsőleg anélkül, hogy az valaha kikerülne a szervezeten kívülre.

De ha a módosított változatot bármilyen módon közzéteszi, akkor a GPL megköveteli a módosított forráskód GPL alatti elérhetővé tételét a program felhasználói számára.

Ily módon a GPL lehetővé teszi a módosított program bizonyos módokon történő kiadását, de másképp nem. Az azonban az Ön döntése, hogy kiadja-e a programot.

Használhatok-e egy GPL-lel védett, és egy tőle független, nem szabad szoftvert ugyanazon a számítógépen?

Igen.

Ha tudom, hogy valakinek a birtokában van egy GPL-lel licencelt szoftverpéldány, követelhetem-e, hogy adjon belőle egy másolatot?

Nem. A GPL lehetővé teszi a program lemásolását és továbbterjesztését, amennyiben a felhasználó ezt a lehetőséget választja. De joga van arra is, hogy ne terjessze a programot, amennyiben ezt a lehetőséget választja.

Mit jelent a GPLv2-ben szereplő „bármely külső személy számára érvényes írásos ajánlat” („written offer valid for any third party”)? Ez azt jelenti, hogy a világon bárki hozzájuthat bármilyen GPL-lel licencelt szoftver forráskódjához?

Ha a forrást írásos ajánlaton keresztül kívánja biztosítani, akkor mindenki, aki a forrást kéri, jogosult arra, hogy megkapja azt.

Ha a bináris állományokat forráskód nélkül terjeszti kereskedelmi forgalomban, akkor a GPL szerint biztosítania kell egy írásos ajánlatot a forráskód későbbi szétosztására vonatkozóan. Ha a felhasználók nem kereskedelmi forgalomban terjesztik tovább az Öntől kapott bináris állományokat, akkor az írásos ajánlatot is mellékelniük kell az állományokhoz. Ezt azt jelenti, hogy azok a felhasználók is megkaphatják a forráskód egy példányát, akik nem közvetlenül Öntől kapják meg a bináris állományokat, az írásos ajánlattal együtt.

Azért követeljük meg, hogy az ajánlat minden külső félre érvényes legyen, hogy azok a felhasználók is megrendelhessék a forráskódot, akik a bináris állományokat közvetett módon kapják meg.

A GPLv2 azt írja, hogy hamódosított verziókat adnak ki, akkor azok „licencének … minden harmadik személy számára rendelkezésre kell állnia”. Kik ezek a harmadik személyek?

A 2. szakasz azt írja, hogy a szétosztott módosított változatokat az összes külső fél számára GPL alatt kell licencelni. Az „összes külső fél” mindenkit jelent, de ez nem jelenti azt, hogy fizikailag bármit tennie kéne. Ez csak azt jelenti, hogy GPL alatt licencet kaptak Öntől az Ön változatához.

Szükséges szerzői jogot igényelnem a GPL alá tartozó szoftveren végzett módosításaimra?

Nem kell szerzői jogot igényelnie a módosításaira. A legtöbb országban azonban ez alapértelmezésben megtörténik, ezért a módosításait nyilvánossá kell tennie, ha nem kíván hozzájuk szerzői jogot. Függetlenül attól, hogy kér-e szerzői jogot a módosításokra, valahogyan ki kell adnia a módosított változatot egészként, GPL alatt. (már amennyiben kiadja a módosított változatokat)

Ha egy program nyilvánosan elérhető és GPL-es kódot egyaránt tartalmaz, akkor használhatom a nyilvános részt nyilvános kódként?

Megteheti, ha meg tudja adni, hogy melyik rész a nyilvános rész és azt el tudja különíteni a többitől. Ha a fejlesztő a kódot nyilvánossá tette, akkor az nyilvános, függetlenül attól, hogy előtte az volt-e.

Megengedi a GPL, hogy pénzért áruljam a szoftver példányait?

Igen, a GPL mindenki számára lehetővé teszi ezt. A példányok árusításának joga a szabad szoftver meghatározásának része. Nincs az árra vonatkozóan korlátozás, egyetlen speciális helyzet kivételével. (Az egyetlen kivétel a kötelező írásos ajánlat a forráskód biztosításához, amelynek szerepelnie kell a csak bináris kiadás mellett.)

Megengedi a GPL, hogy pénzt kérjek a program weboldalamról való letöltéséért?

Igen. Tetszőleges árat kérhet a program példányának terjesztéséért. Ha a bináris állományt letöltéssel terjeszti, akkor „megfelelő hozzáférést” kell biztosítania a forrás letöltéséhez is – ezért a forrás letöltésének díja nem lehet magasabb a bináris állomány letöltési díjánál.

Megengedi a GPL, hogy bárkitől, aki hozzájut a szoftverhez, díjat és/vagy értesítést követeljek?

Nem. Az ilyen követelmény hatására a program nem lenne a továbbiakban szabad program. Ha az embereknek fizetniük kell a program egy példányáért, vagy ha értesíteniük kell erről valakit, akkor a program nem szabad program. Lásd: szabad szoftver definíciója.

A GPL szabad szoftver licenc, és ezáltal lehetővé teszi, hogy az emberek használják és továbbterjesszék a szoftvert anélkül, hogy ezért fizetniük kellene.

Ha pénzért terjesztek GPL alatt kiadott szoftvert, köteles vagyok díjmentesen is elérhetővé tenni azt a nyilvánosság számára?

Nem. Azonban ha valaki fizet és kap egy példányt, akkor a GPL lehetővé teszi számukra a példány közzétételét a nyilvánosság számára akár díj ellenében, akár díjmentesen. Ha valaki például díjat fizet Önnek, akkor a példányát felteheti a webhelyre a nyilvánosság számára.

Megengedi a GPL, hogy titoktartási nyilatkozat mellett terjesszek példányokat?

Nem. A GPL azt írja, hogy mindenkinek, aki megkapja a példányt, jogában áll a példányok továbbterjesztése, módosítással vagy módosítás nélkül. Nagyobb korlátozás mellett nem terjeszthető a munka.

Ha valaki megkéri arra, hogy írjon alá egy NDA-t az FSF által szerzői joggal védett, GPL-es szoftver megszerzéséhez, akkor azonnal értesítsen minket erről a license-violation@fsf.org címen.

Ha a sértés GPL-lel védett kódra vonatkozik, amelyhez más szerzői jog tulajdonos tartozik, akkor értesítse erről a szerzői jog tulajdonosát, ugyanúgy, mint ahogy azt más GPL sértés esetén is tenné.

Megengedi a GPL, hogy titoktartási nyilatkozat mellett terjesszek módosított, vagy béta-változatot?

Nem. A GPL azt írja, hogy a módosított változatokat a GPL által leírt kötöttségek mellett kell biztosítani, szigorúbb kötöttség mellett nem terjeszthető. Ezért mindenkinek, aki megkapja az Ön változatának példányát, jogában áll a változat példányait továbbterjeszteni (akár módosítva, akár módosítás nélkül). Korlátozóbb módon azonban nem terjesztheti a munka semmilyen változatát.

Megengedi a GPL, hogy titoktartási nyilatkozat mellett fejlesszek módosított változatot?

Igen. Például elfogadhat egy szerződést, amely szerint fejleszthet módosításokat, de a módosításait addig nem adhatja ki, amíg az ügyfél nem ad rá engedélyt. Ez megengedett, mivel ebben az esetben nem kerül terjesztésre GPL-lel védett kód NDA alatt.

A módosításokat GPL alatt is kiadhatja az ügyfélnek, de megegyezhetnek abban is, hogy a módosítás az ügyfél beleegyezése nélkül nem adható ki másnak. Ebben az esetben sem kerül GPL-lel védett kód terjesztésre NDA alatt, vagy egyéb szigorúbb megszorítás mellett.

A GPL feljogosítja az ügyfelet a változat továbbterjesztésére. Ebben a példahelyzetben az ügyfél valószínűleg nem fogja gyakorolni ezt a jogát, de lenne rá lehetősége.

Szeretném, ha elismernék a munkámat. Szeretném, ha az emberek tudnák, hogy mit írtam. Megkapom az elismerést attól még, hogy GPL-t használok?

Természetesen megkaphatja a munkájáért járó elismerést. A program GPL alatti kiadásának részét képezi szerzői jogi nyilatkozat írása az Ön nevében (feltéve, hogy Ön a szerzői jog tulajdonosa). A GPL megköveteli, hogy az összes példány megfelelő szerzői jogi nyilatkozattal legyen ellátva.

Miért követeli meg a GPL, hogy a program minden példányához mellékelve legyen a GPL egy példánya is?

Fontos, hogy a licenc egy példánya mellékelve legyen a munka mellé, így mindenki, aki megkapja a program egy példányát, tudni fogja a jogait.

Kényelmes megoldásnak tűnhet a licencre mutató URL megadása magának a licencnek a megadása helyett. Azonban nem lehet biztos abban, hogy az URL 5-10 év múlva is élni fog. Elképzelhető, hogy az URL-ek a mai ismert formában húsz év múlva nem fognak létezni.

Az egyetlen biztos módja annak, hogy a program példányát megszerző felhasználók a hálózat jövőbeli módosításai ellenére is mindig láthassák a licencet, ha mellékeli a licenc egy példányát a programhoz.

Mi van, ha a munka alig hosszabb, mint maga a licenc?

Ha egy program ilyen rövid, akkor a GNU GPL helyett használhat egy egyszerű, mindent megengedő licencet.

Helytakarékosság érdekében kihagyhatom a GPL bevezetőjét, illetve az arra vonatkozó útmutatást, hogy hogyan kell azt a saját programokon alkalmazni?

A bevezető és az útmutatás fontos része a GNU GPL-nek és nem hagyható ki. A GPL szerzői joggal védett, és a licence csak a teljes GPL szó szerinti másolását engedélyezi. (Használhatja a jogi feltételeket másik licenc létrehozásához, de az nem lesz GNU GPL.)

A bevezető és az útmutatás együtt maximum 1000 szót tesz ki. Ez nem éri el a GPL teljes méretének 1/5-ét. Ez nem módosítja jelentősen a szoftvercsomag méretét, hacsak maga a csomag nem nagyon kicsi. Ebben az esetben GNU GPL helyett használhat egy mindent megengedő licencet.

Mit jelent, ha azt mondják, hogy két licenc „kompatibilis”?

Két program (vagy lényeges részeinek) nagyobb munkába történő egyesítéséhez jogosultnak kell lennie mindkét program ily módon történő használatára. Ha a két program licence ezt megengedi, akkor azok kompatibilisek. Ha nincs mód arra, hogy egyszerre mindkét licenc feltételei teljesüljenek, akkor a licencek inkompatibilisek.

Néhány licenc esetén az egyesítés módja befolyásolhatja a kompatibilitást – elképzelhető például, hogy két licenc lehetővé teszi két modul linkelését, de a kódjuk egy modulba fésülését nem.

Ha két különálló programot kíván telepíteni ugyanabban a rendszerben, akkor a licenceknek nem kell kompatibilisnek lenniük, mivel a programok nem lettek egy nagyobb munkában egyesítve.

Mit jelent, ha azt mondják, hogy egy licenc „kompatibilis a GPL-lel?”

Ez azt jelenti, hogy a másik licenc és a GNU GPL kompatibilis. Ebben az esetben egyesítheti a másik licenc alatt kiadott kódot a GNU GPL alatt kiadott kóddal egy nagyobb programban.

Az összes GNU GPL változat lehetővé teszi az ilyen egyesítést privát módon. Az ilyen egyesítések terjesztését is lehetővé teszi, feltéve, hogy az egyesítés ugyanazon GNU GPL változat alatt kerül kiadásra. A másik licenc akkor kompatibilis a GPL-lel, ha az szintén megengedi ezt.

A GPLv3 több licenccel kompatibilis, mint a GPLv2: lehetővé teszi olyan kódok egyesítését, amelyek további olyan követelményeket írnak elő, amelyeket a GPLv3 maga nem tartalmaz. A 7. rész részletes információt ad erről, illetve a további megengedett követelmények listáját is tartalmazza.

Írhatok nem szabad függvénytárakat használó szabad szoftvert?
Ha ezt teszi, akkor a program nem lesz teljes mértékig használható szabad környezetben. Ha a program bizonyos feladatok elvégzéséhez nem szabad függvénytárakat használ, akkor ezek a feladatok nem végezhetők el a szabad szoftverek világában. Ha a program futása teljes egészében nem szabad függvénytárra épül, akkor az nem lehet olyan szabad operációs rendszer része, mint például a GNU. Ez túlmegy a szabad szoftverek világának korlátain.

Ezért gondolja át a következőket: elvégezhető a feladat a függvénytár használata nélkül? Meg tudja írni a függvénytár szabad helyettesítő függvénytárát?

Ha a program már meg lett írva a nem szabad függvénytár alkalmazásával, akkor elképzelhető, hogy túl késő a döntést megváltoztatni. Ebben az esetben kiadhatja a programot úgy, ahogy van, vagy választhatja azt, hogy hogy nem adja ki a programot egyáltalán. De a README fájlban említse meg azt a hátrányát, hogy nem szabad függvénytárra van szükség a programhoz, és javasolja a program módosítását, hogy ugyanazt a feladatot szabad függvénytárral el lehessen végezni. Írja be a javaslatba, hogy aki további munkát kíván végezni a programon, először szüntesse meg a nem szabad függvénytártól való függést.

Vegye figyelembe, hogy bizonyos nem szabad függvénytárak és GPL-lel védett szabad szoftver egyesítése során jogi problémák is felmerülhetnek. További információért tekintse meg a GPL-lel inkompatibilis függvénytárakkal rendelkező GPL szoftverrel kapcsolatos kérdések részt.

Milyen jogi problémák merülnek fel, ha GPL-lel inkompatibilis függvénytárakat használok a GPL szoftverrel?

A GPL mindkét változata biztosít kivételt a „copyleft” (a szerzői jog egy részét fenntartó, más részéről lemondó) licencre vonatkozóan, amelyet általánosan rendszer függvénytár kivételnek hívnak. Ha a használni kívánt GPL-lel inkompatibilis függvénytárak megfelelnek a rendszer függvénytár feltételének, akkor semmit sem kell tennie ezek használatához. A teljes program forráskódjának terjesztésére vonatkozó követelmény nem foglalja magában ezeket a függvénytárakat, még abban az esetben sem, ha ezeket a függvénytárakat tartalmazó linkelt végrehajtható állományokat terjeszt.

A GPL különböző változatai eltérő feltételeket adnak meg arra vonatkozóan, hogy mi számít „rendszer függvénytárnak”. A GPLv3 pontosan meghatározza a „Rendszer függvénytárat” az 1. szakaszban, és kihagyja azt a „Vonatkozó forrás” definíciójából. A GPLv2 a következőt írja a 3. szakasz végén:

Azonban, speciális kivételként, a terjesztett forráskódnak nem kell tartalmaznia a végrehajtható fájlt futtató operációs rendszer főbb összetevőivel (fordító, kernel stb.) általános esetben terjesztett elemeket, hacsak maga az összetevő nem kíséri a végrehajtható fájlt.

Ha a programot a rendszer függvénytár kivétel által nem lefedett függvénytárhoz kívánja linkelni, akkor ennek elvégzéséhez jogosultságot kell biztosítania. Ennek megadásához alább látható két példa licenc nyilatkozat. Az egyik a GPLv3, a másik pedig a GPLv2 változathoz. Mindkét esetben hozzá kell adnia ezt a szöveget minden fájlhoz, amelyhez a jogosultságot biztosítja.

Csak a program szerzői jogának tulajdonosa tudja legálisan kiadni a szoftverét ezen feltételek mellett. Ha a teljes programot Ön írta, és feltételezzük, hogy az Ön munkáltatója vagy iskolája nem követeli magának a szerzői jogot, akkor Ön a szerzői jog tulajdonosa – így jogosult a kivétel megadására. De ha más szerzők GPL-lel védett programjainak részeit kívánja felhasználni a kódban, akkor nem adhat engedélyt a kivételre. Ebben az esetben meg kell szereznie az adott programok szerzői jog tulajdonosainak a jóváhagyását.

Ha más módosítja a programot, akkor nem kell megadni ugyanezt a kivételt a kódhoz – ez a módosítást végző választása, hogy megteszik-e.

Ha a linkelni kívánt függvénytárak nem szabadok, akkor tekintse meg a Nem szabad függvénytárakat használó szabad szoftver írásával foglalkozó részt.

Ha GPLv3-at használ, akkor ezen cél eléréséhez további jogosultságot kell biztosítania a 7. szakaszban. A következő licencnyilatkozat megadja ezt a jogosultságot. A szögletes zárójelben lévő szöveget le kell cserélnie a programjának megfelelő szövegre. Ha nem mindenki oszthatja szét a forrást a linkelni kívánt függvénytárakhoz, akkor el kell távolítani a kapcsos zárójelben lévő szöveget. Ellenkező esetben távolítsa el magát a kapcsos zárójelet.

Copyright (C) [év] [szerzői jog tulajdonosának neve]

Ez a program szabad szoftver. Ez a GNU General Public License feltételei mellett terjeszthető tovább és/vagy módosítható, ahogy azt a Free Software Foundation közzéteszi (a licenc 3-as vagy (választható) újabb változata).

Ez a program annak reményében kerül terjesztésre, hogy hasznos, de MINDENFÉLE GARANCIAVÁLLALÁS NÉLKÜL biztosított, a FORGALOMBA HOZHATÓSÁGRA vagy ALKALMAZHATÓSÁGRA VONATKOZÓ beleértett garanciákat is ideértve. Részletekért lásd: GNU General Public License.

A programhoz mellékelten meg kellett kapnia a GNU General Public License egy példányát. Amennyiben ezt nem kapta meg, akkor tekintse meg a <https://www.gnu.org/licenses> hivatkozást.

További jogosultság a GNU GPLv3-as változat 7-es szakasza alatt

Ha módosítja az adott programot, vagy bármilyen lefedett munkát, annak [függvénytár neve] függvénytárhoz (vagy a függvénytár módosított változatához) való linkelésével vagy függvénytárral történő egyesítésével, amely a [könyvtár licencének neve] feltételei által lefedett részeket tartalmaz, akkor a licencelője további jogosultságot biztosít a keletkező munka továbbadására. {Az ilyen egyesítés nem forrás formájának vonatkozó forrása tartalmazza a használt [függvénytár neve] függvénytár részeinek, valamint a lefedett munka forráskódját.}

GPLv2 használata esetén saját kivételt adhat meg a licenc feltételeire vonatkozóan. A következő licencnyilatkozat megadja ezt a kivételt. A szögletes zárójelben lévő szöveget le kell cserélnie a programjának megfelelő szövegre. Ha nem mindenki oszthatja szét a forrást a linkelni kívánt függvénytárakhoz, akkor el kell távolítani a kapcsos zárójelben lévő szöveget. Ellenkező esetben távolítsa el magát a kapcsos zárójelet.

Copyright (C) [év] [szerzői jog tulajdonosának neve]

Ez a program szabad szoftver. Ez a GNU General Public License feltétele mellett terjeszthető tovább és/vagy módosítható, ahogy azt a Free Software Foundation közzéteszi (a licenc legalább 2-es változata (választható)).

Ez a program annak reményében kerül terjesztésre, hogy hasznos, de MINDENFÉLE GARANCIAVÁLLALÁS NÉLKÜL biztosított, a FORGALOMBA HOZHATÓSÁGRA vagy ALKALMAZHATÓSÁGRA VONATKOZÓ beleértett garanciákat is ideértve. Részletekért lásd: GNU General Public License.

A programhoz mellékelten meg kellett kapnia a GNU General Public License egy példányát. Amennyiben ezt nem kapta meg, akkor tekintse meg a <https://www.gnu.org/licenses> hivatkozást.

A(z) [program neve] program más modulokhoz történő statikus vagy dinamikus linkelése egyesített munkát hoz létre, amely a(z) [program neve] programra épül. Így a GNU General Public License feltételei és kikötései a teljes egyesítésre vonatkoznak.

Ezen felül, speciális kivételként a(z) [program neve] program szerzői jogának tulajdonosa jogosultságot ad a(z) [program neve] program egyesítésére GNU LGPL alatt kiadott programokkal és függvénytárakkal, valamint a(z) [függvénytár neve] szabványos kiadásában lévő kóddal a(z) [függvénytár licencének neve] licenc alatt (vagy az ilyen kód módosított változatával, változatlan licenccel). Az ilyen rendszert terjesztheti és másolhatja a(z) [program neve] programhoz tartozó GNU GPL, valamint az egyéb érintett kód licencei alapján {feltéve, hogy megadja az egyéb kód forráskódját, amennyiben és ahogy a GNU GPL megköveteli a forráskód terjesztését}.

Ne feledje el, hogy a(z) [ program neve] módosított változatát létrehozó személyeknek nem kell ezt a speciálist kivételt megadniuk a módosított változatukhoz. Rajtuk múlik, hogy ezt megteszik-e. A GNU General Public License jogosultságot ad a módosított változat kiadására ezen kivétel nélkül. Ez a kivétel olyan módosított változat kiadását is lehetővé teszi, amely továbbviszi a kivételt.

Hogyan szerezhetek szerzői jogot a programomhoz annak érdekében, hogy azt GPL alatt tudjam kiadni?

A Berni Uniós Egyezmény szerint minden írt anyagot automatikusan szerzői jog véd, amint rögzített formába kerül. Így nem kell semmit tenni ahhoz, hogy szerzői jogot „szerezzen” a saját maga által írt anyaghoz – , ameddig senki más nem követelheti magáénak az Ön munkáját.

Azonban az USA-ban érdemes bejegyezni a szerzői jogot. Ez nagyobb hatalmat ad a szabadalombitorlókkal szemben.

Abban az esetben követelheti más a szerzői jogot, ha Ön alkalmazott vagy tanuló. Ebben az esetben a munkaadó vagy az iskola állíthatja, hogy a munkát neki végezte, és a szerzői jog így az ő tulajdona. Az, hogy ez a követelés jogos-e, a körülményektől függ, például: a helyi törvények, a munkavállalói szerződés, valamint az elvégzett munka típusa. Kétségek esetén érdemes kapcsolatba lépni egy ügyvéddel.

Ha úgy gondolja, hogy a munkáltató vagy az iskola követelheti a szerzői jogot, akkor a probléma megoldása érdekében kérhet a vállalat vagy iskola megfelelő felhatalmazott alkalmazottja által aláírt jogkizárási nyilatkozatot. (A közvetlen főnök vagy a professzor általában NEM jogosult az ilyen jogkizárási nyilatkozat aláírására.)

Mi a teendő akkor, ha az iskolám be kívánja venni a programomat a saját szabadalomvédett szoftvertermékébe?

Manapság számos egyetem próbál anyagi alapot teremteni a náluk fejlesztett tudás és információk korlátozásával, ami lényegében alig különbözik a kereskedelmi vállalatoknál bevett szokástól. (A probléma általános leírását és hatásait az Atlantic Monthly 2000. márciusi számában megjelent „The Kept University” című cikk tartalmazza.)

Ha lát bármi esélyt arra, hogy az iskola visszautasítja a program szabad szoftverként történő kiadását, akkor érdemes a problémát a lehető legkorábbi fázisban felvetni. Minél közelebb van a program a hasznos működési állapothoz, annál nagyobb kísértést fog érezni a vezetőség arra, hogy azt elvegye Öntől és Ön nélkül fejezze be. Korábbi szakaszban nagyobb esélye van érdekeinek érvényesítésére.

Ezért ajánlatos a munkáltatót/iskolát még akkor megkeresni, amikor a program félkész állapotban van, és azt mondani: „Ha beleegyeznek a munka szabad szoftverként történő kiadásába, akkor befejezem.” Ahhoz, hogy ezt ne tekintsék blöffnek, elég bátornak kell lennie a következő kimondására: „A programom szabad program lesz, vagy nem fog elkészülni.”

Elérhető részletes útmutatás arra vonatkozóan, hogy a GPL hogyan alkalmazható a programomra?

Tekintse meg a GPL útmutatások oldalt.

Hallottam olyanról, hogy valaki egy GPL-lel licencelt program másolatát más licenc alatt kapta meg. Lehetséges ez?

A GNU GPL nem biztosít a felhasználók számára jogosultságot más licencek programhoz való csatolására. De a program szerzői jogának tulajdonosa kiadhatja a programot egyidejűleg több különböző licenc alatt. Ezek egyike lehet a GNU GPL.

Feltéve, hogy azt a szerzői jog tulajdonosa adta meg és a példányt törvényes módon kapta meg, a példányhoz biztosított licenc az a licenc, amely az adott példányra vonatkozik.

Az általam írt programot GNU GPL alatt szeretném kiadni, de ugyanazt a kódot nem szabad programokban is szeretném használni.

Nem szabad program kiadása etikailag mindig megkérdőjelezhető, de jogilag nincs akadálya. Ha Ön a kód szerzői jogának tulajdonosa, akkor azt különböző időpontokban, különböző nem kizárólagos licencek alatt is kiadhatja.

A GPL-lel védett program fejlesztőjét köti a GPL? A fejlesztő tevékenységei sérthetik valamilyen módon a GPL-t?

Tulajdonképpen a GPL a fejlesztő által a többiek számára a program használatára, szétosztására és módosítására vonatkozóan biztosított licenc. Ez a fejlesztőt magát nem köti, így nem érdekes, hogy a fejlesztő mit tesz, nem tudja „megsérteni” a GPL-t.

Azonban ha a fejlesztő olyat tesz, ami más felhasználó esetén GPL sértésnek számítana, akkor a fejlesztő kétségtelenül el fogja veszteni a közösség erkölcsi megbecsülését.

A program fejlesztője, aki a programot GPL licenc alatt terjesztette, kiadhat később kizárólagos licencet a programra vonatkozóan más számára?

Nem, mivel a nyilvánosságnak már használati joga van a programra GPL alatt, és ez a jog nem vonható vissza.

Használhatok GPL-lel védett szerkesztőket – mint például a GNU Emacs – nem szabad programok írásához? Használhatok GPL-lel védett eszközöket – mint például a GCC – ezek lefordításához?

Igen, mivel a szerkesztők és eszközök szerzői joga nem vonatkozik a felhasználásukkal írt kódra. Ezek használata jogilag nem korlátozza a kódhoz használt licencet.

Néhány program technikai okokból kifolyólag lemásolja a kódjának egy részét a kimenetbe – a Bison például bemásol egy szabványos értelmező programot a kimeneti fájljába. Ilyen esetekben a kimenetben lévő lemásolt szövegre ugyanaz a licenc érvényes, mint a forráskódra. A program bemenetéből örökölt kimeneti rész örökli a bemenet szerzői jogi státuszát.

Történetesen a Bison is használható nem szabad programok fejlesztésére. Ennek az az oka, hogy úgy döntöttünk, hogy korlátozás nélkül, kifejezetten engedélyezzük a Bison szabványos értelmező program használatát a Bison kimeneti fájlokban. Azért hoztuk meg ezt a döntést, mivel voltak a Bisonhoz hasonló egyéb eszközök, amelyek már engedélyezték ezt.

Biztosítottak „szabad felhasználási” jogok a GPL-lel védett programok forráskódjának használatára vonatkozóan?

Igen. A „szabad felhasználás” külön engedély nélkül biztosított használati mód. Mivel ehhez nincs szükség a fejlesztők engedélyére, ezt megteheti függetlenül attól, hogy a fejlesztő mit mond erről – a licencben vagy bárhol másutt, függetlenül attól, hogy a licenc GNU GPL vagy más szabad szoftverlicenc.

Azonban ne feledje el, hogy a szabad használatra vonatkozóan nincs az egész világra kiterjedő alapelv. Országonként változik, hogy mi számít „szabad” használatnak.

Az USA kormányzata kiadhat programot GNU GPL alatt?

Ha a programot az USA szövetségi kormányának alkalmazottai írták alkalmazotti viszonyuk során, akkor az nyilvánosnak tekinthető, ami azt jelenti, hogy nem vonatkozik rá szerzői jog. Mivel a GNU GPL szerzői jogra épül, ilyen program nem adható ki GNU GPL alatt. (Ettől még lehet szabad szoftver, de a nyilvános program szabad.)

Azonban ha az USA szövetségi kormányzata vállalkozókkal fejlesztet szoftvert, akkor más a helyzet. A szerződés megkövetelheti, hogy a vállalkozó a programot GNU GPL alatt adja ki. (A GNU Ada fejlesztése így készült.) Illetve a szerződés a szerzői jogot a kormányzatra ruházhatja, és a kormányzat ezután kiadhatja a szoftvert GNU GPL alatt.

Az USA kormányzata kiadhat továbbfejlesztéseket GPL-lel védett programokhoz?

Igen. Ha a továbbfejlesztéseket az USA szövetségi kormányának alkalmazottai írják alkalmazotti viszonyuk során, akkor azok nyilvánosak. Azonban a továbbfejlesztett verzióra egészében továbbra is a GNU GPL vonatkozik. Ebben az helyzetben nincs probléma.

Ha az USA kormányzata vállalkozókat bíz meg ezzel a feladattal, akkor maguk a továbbfejlesztések lehetnek GPL-lel védettek.

Van arra lehetőség, hogy a felhasználók adatai alapján az általam írt programból kapott kimenetet GPL-lel védjem? Ha például a programomat hardvertervek fejlesztésére használják, akkor megkövetelhetem, hogy ez a terv szabad legyen?

Általánosságban ez jogilag lehetetlen. A szerzői jogi törvény nem mond semmit az Ön programjából a felhasználók adatai alapján kinyert kimenet használatára vonatkozóan. Ha a felhasználó az Ön programját a saját adatainak bevitelére vagy átalakítására használja, akkor a kimenet szerzői joga a felhasználóé, nem az Öné. Általánosabb megfogalmazásban: ha a program a kimenetet más formátumra fordítja le, akkor a kimenet a szerzői jogi státuszát a bemenettől örökli, amelyből előállításra került.

Ezért csak úgy lehet beleszólása a kimenet használatába, ha a kimenet számottevő része a program szövegéből kerül kimásolásra (többé vagy kevésbé). A Bison (lásd fent) kimenetére például akkor vonatkozna a GNU GPL, ha nem tettünk volna kivételt erre az adott esetre.

Létrehozhat mesterségesen egy programot, amely bizonyos szöveget bemásol a kimenetbe még akkor is, ha ezt technikai ok nem indokolja. De ha a lemásolt szövegnek nincs tényleges célja, akkor a felhasználó egyszerűen törölheti ezt a szöveget a kimenetből és használhatja csak a kimenet maradékát. Ezért a felhasználónak nem kell teljesítenie a másolt szöveg továbbterjesztésére vonatkozó feltételeket.

Milyen esetben vonatkozik a GPL-lel védett program kimenetére is GPL?

Csak akkor, ha a program a saját magának egy részét átmásolja a kimenetbe.

Ha hozzáadok egy modult egy GPL-lel védett programhoz, akkor a GPL licencet kell használnom a modulomhoz?

A GPL azt írja, hogy a teljes egyesített programot GPL alatt kell kiadni. Így a modult is GPL alatt kell kiadni.

De megadhat további engedélyt a kód használatára vonatkozóan. Kiadhatja a programot olyan licenc alatt, amely kompatibilis a GPL-lel, de lazább annál. A licenclista oldal a GPL-lel kompatibilis licencek részleges listáját tartalmazza.

Ha egy függvénytár GPL (nem LGPL) alatt lett kiadva, akkor az azt jelenti, hogy a függvénytárat használó programokat GPL vagy GPL-lel kompatibilis licenc alatt kell kiadni?

Igen, mivel a program tényleges futáskor tartalmazza a függvénytárat.

Ha egy programozási nyelv parancsértelmező GPL alatt került kiadásra, akkor az azt jelenti, hogy a parancsértelmező által értelmezendő programoknak GPL-lel kompatibilis licenc alá kell tartozniuk?

Amikor a parancsértelmező értelmez egy nyelvet, akkor a válasz nem. Az értelmezett program a parancsértelmező számára csak adat. A szabad szoftverlicenc, mint például a GPL, szerzői jogi törvényen alapul, és nem tudja korlátozni, hogy a parancsértelmező milyen adatokon kerül alkalmazásra. A parancsértelmező tetszőleges adaton (értelmezett program) futtatható, tetszőleges módon, és nincsenek megadva követelmények az adatok licencelésére vonatkozóan.

Azonban ha a parancsértelmező ki van terjesztve, hogy „összerendelést” biztosítson más szolgáltatásokhoz (gyakran, de nem feltétlenül függvénytárakhoz), akkor az értelmezett program ténylegesen linkelve van az összerendelések során használt szolgáltatásokhoz. Így ha ezek a szolgáltatások a GPL alatt kerültek kiadásra, akkor az ezeket a szolgáltatásokat használó értelmezett programot is GPL-lel kompatibilis módon kell kiadni. A JNI vagy Java Native Interface példa egy ilyen összerendelési mechanizmusra. Az ilyen módon elért függvénytárak dinamikusan linkelve vannak az őket meghívó Java programokhoz. Ezek a függvénytárak a parancsértelmezőhöz is linkelve vannak. Ha a parancsértelmező statikusan van linkelve ezekhez a függvénytárakhoz, vagy úgy van kialakítva, hogy dinamikusan legyen az adott függvénytárakhoz linkelve, akkor ezt szintén GPL-lel kompatibilis módon kell kiadni.

Másik hasonló és nagyon általános eset, ha olyan függvénytárakat biztosít a parancsértelmezőhöz, amelyek maguk is értelmezettek. A Perlt például számos Perl modullal együtt szállítják, a Java megvalósítás pedig számos Java osztályt tartalmaz. Ezek a függvénytárak, illetve az őket meghívó programok mindig dinamikusan vannak linkelve.

Ennek következménye, hogy ha GPL-lel védett Perl modulokat vagy Java osztályokat kíván a programban használni, akkor a programot GPL-lel kompatibilis módon kell kiadni az egyesített Perl vagy Java programot futtató Perl vagy Java parancsértelmezőben használt licenctől függetlenül.

Microsoft Visual C++ (vagy Visual Basic) rendszerben írok Windows alkalmazást és ezt GPL alatt adom ki. A program dinamikus linkelése a Visual C++ (vagy Visual Basic) futási függvénytárhoz GPL alatt engedélyezett?

A GPL ezt azért engedélyezi, mert ez a futási függvénytár normális esetben a használt fordítóhoz vagy parancsértelmezőhöz biztosított. A futási függvénytárak itt a GPLv3 meghatározása szerint „Rendszer függvénytárak”, ezért ezeket nem tekintik a Vonatkozó forrás részének. A GPLv2 hasonló kivételt ad meg a 3. szakaszban.

Ez nem jelenti azt, hogy érdemes olyan programot írni, amely csak Windows rendszeren fut. Ez olyan programot eredményez, amely szabad szoftver, de a Windows „bekorlátozza”.

Miért nem kompatibilis az eredeti BSD-licenc a GPL-lel?

Mivel olyan követelményt ír elő, amely a GPL-ben nem szerepel: ez a program hirdetésére vonatkozó követelmény. A GPLv2 6. szakasza a következőt írja:

Az itt biztosított jogok felhasználó általi gyakorlására további megszorítások nem adhatók meg.

A GPLv3 ehhez hasonlót ír a 10. szakaszban. A hirdetésre vonatkozó záradék további megszorítást ad meg, és ez inkompatibilis a GPL-lel.

A felülvizsgált BSD licenc nem rendelkezik hirdetési záradékkal, ami kiküszöböli a problémát.

Ha a GPL alatt kiadott program bővítményeket (plugin) használ, akkor milyen követelmények vonatkoznak a bővítmény licenceire?

Attól függ, hogy a program hogyan hívja meg a bővítményeket. Ha a program fork és exec utasítást használ a bővítmények meghívásához, akkor a bővítmények önálló programok, így a fő program licence nem támaszt ezekre vonatkozóan semmilyen követelményt.

Ha a program dinamikusan linkeli a bővítményeket, és azok függvényhívással érik el egymást és ugyanazokat az adatszerkezeteket használják, akkor ezek önálló programot alkotnak, amelyet a fő program és a bővítmények kiterjesztésének kell tekinteni. Ez azt jelenti, hogy a bővítményeket GPL vagy GPL-lel kompatibilis szabad szoftverlicenc alatt kell kiadni, és a GPL feltételeit kell követni ezen bővítmények szétosztásakor.

Ha a program dinamikusan linkel bővítményeket, de a közöttük végbemenő kommunikáció arra korlátozódik, hogy meghívásra kerül a bővítmény „fő” függvénye néhány paraméterrel és a rendszer várakozik a hívás visszatérésére, akkor ez határeset.

Alkalmazható a GPL nem szabad programhoz tartozó bővítmény írása esetén?

Ha a program fork és exec rendszerhívást használ a bővítmények meghívásához, akkor a bővítmények önálló programok, így a fő program licence nem támaszt ezekre vonatkozóan semmilyen követelményt. Így a GPL használható bővítményhez, és nincsenek speciális követelmények.

Ha a program dinamikusan linkeli a bővítményeket, és azok függvényhívással érik el egymást és ugyanazokat az adatszerkezeteket használják, akkor ezek önálló programot alkotnak, amelyet a fő program és a bővítmények kiterjesztésének kell tekinteni. Ez azt jelenti, hogy a GPL-lel védett bővítmény és a nem szabad fő program egyesítése sérti a GPL-t. Azonban ez a jogi probléma kiküszöbölhető azáltal, hogy kivételt ad a bővítmény licencéhez, amely engedélyt ad a nem szabad fő programmal történő linkelésre.

Lásd még: Nem szabad függvénytárat használó szabad szoftvert írok.

Kiadhatok olyan nem szabad programot, amely GPL-lel védett bővítmény betöltésére van kialakítva?

Attól függ, hogy a program hogyan hívja meg a bővítményeket. Ha például a program csak egyszerű fork és exec utasítást használ a bővítmények meghívására és a velük való kommunikációhoz, akkor a bővítmények különálló programok, így a bővítmény licence nem támaszt követelményeket a fő programmal kapcsolatban.

Ha a program dinamikusan linkeli a bővítményeket, és azok függvényhívással érik el egymást és ugyanazokat az adatszerkezeteket használják, akkor ezek önálló programot alkotnak, amelyet a fő program és a bővítmények kiterjesztésének kell tekinteni. A GPL-lel védett bővítmények használatához a fő programot GPL vagy GPL-lel kompatibilis szabad szoftverlicenc alatt kell kiadni, és a GPL feltételeit kell teljesíteni, amikor a fő programot ezen bővítményekkel történő használatra terjeszti.

Ha a program dinamikusan linkel bővítményeket, de a közöttük végbemenő kommunikáció arra korlátozódik, hogy meghívásra kerül a bővítmény „fő” függvénye néhány paraméterrel és a rendszer várakozik a hívás visszatérésére, akkor ez határeset.

Az összetett adatszerkezetekkel való kommunikációhoz használt osztott memória nagy részben megegyezik a dinamikus linkeléssel.

Lásd még: Nem szabad függvénytárat használó szabad szoftvert írok.

Egy másik felhasználónak van egy GPL-lel licencelt programja, amelyet a kódomhoz szeretnék linkelni szabadalomvédett program kialakítása érdekében. Az a tény, hogy a programomat a másik felhasználó programjához linkelem, azt jelenti, hogy a programot GPL-lel kell licencelnem?

Nem teljesen. Ez azt jelenti, hogy a programot a GPL-lel kompatibilis licenc alatt kell kiadni (pontosabban: a linkelt kombinációban lévő kód további részei által elfogadott legalább egy GPL verzióval kompatibilis). A kombináció maga ezután ezen GPL változatok alatt elérhető.

Ha igen, akkor van rá esély, hogy a másik felhasználó programjának licencét Lesser GPL alatt kapjam meg?

Megkérdezheti, de a legtöbb szerző nemet fog mondani. A GPL elképzelése az, hogyha hozzá kívánja adni a kódunkat a saját programjához, akkor az Ön programjának is szabad szoftvernek kell lennie. Ez némi nyomást gyakorol a felhasználóra, hogy úgy adja ki a programot, hogy az a közösségünk tulajdonának részévé váljon.

Mindig megvan a legális alternatíva, hogy ne használja a kódunkat.

Hogyan adhatom meg azt, hogy a szabadalomvédett modulok és GPL-lel védett függvénytárak linkelése csak vezérelt felület alatt legyen engedélyezett?

Adja hozzá a következő szöveget a csomagban lévő minden egyes fájl licencnyilatkozatának végéhez, amely arról ad tájékoztatást, hogy ez a fájl GNU GPL alatt terjesztett:

Ha az ABC-t statikusan vagy dinamikusan linkeli más modulokhoz, akkor az egyesített munka ABC alapú lesz. Így a GNU General Public License feltételei és kikötései a teljes egyesítésre vonatkoznak.

Ezen felül az ABC szerzői jogának tulajdonosa speciális kivételként engedélyt ad arra, hogy az ABC programot GNU LGPL alatt kiadott szabad szoftverprogramokkal vagy függvénytárakkal, illetve olyan független modulokkal egyesítse, amelyek az ABC-vel csak az ABCDEF felületen keresztül kommunikálnak. Az ilyen rendszert terjesztheti és másolhatja az ABC programhoz tartozó GNU GPL, valamint a többi érintett kód licencei alapján {feltéve, hogy megadja az egyéb kód forrását, amennyiben és ahogy a GNU GPL megköveteli a forráskód terjesztését}.

Ne feledje el, hogy az ABC módosított változatát létrehozó személyeknek nem kell ezt a speciális kivételt megadniuk a módosított változatukhoz. Az ő választásuk, hogy megteszik-e. A GNU General Public License jogosultságot ad a módosított változat kiadására ezen kivétel nélkül. Ez a kivétel olyan módosított változat kiadását is lehetővé teszi, amely továbbviszi a kivételt.

Csak a program szerzői jogának tulajdonosa adhat legálisan felhatalmazást erre a kivételre. Ha a teljes programot Ön írta, és feltételezzük, hogy az Ön munkáltatója vagy iskolája nem követeli magának a szerzői jogot, akkor Ön a szerzői jog tulajdonosa – így jogosult a kivétel megadására. De ha más szerzők GPL-lel védett programjainak részeit kívánja felhasználni a kódban, akkor nem adhat engedélyt a kivételre. Ebben az esetben meg kell szereznie az adott programok szerzői jog tulajdonosainak a jóváhagyását.

Írtam egy alkalmazást, amely számos különböző licenccel rendelkező összetevőhöz van linkelve. Nagyon bizonytalan vagyok azzal kapcsolatban, hogy milyen licenckezelési követelmények érvényesek a programomra. Kérem, mondják meg, milyen licenceket használhatok!

Ahhoz, hogy a kérdésre válaszoljunk, látnunk kellene a program által használt összetevők listáját, az összetevő licencét, és egy rövid (néhány mondat mindegyikhez elegendő) leírást arról, hogy a könyvtár hogyan használja ezt az összetevőt. Két példa:

  • Ahhoz, hogy a szoftver működjön, az FOO könyvtárhoz kell linkelni, amely Lesser GPL alatt érhető el.
  • A szoftverem rendszerhívást (általam összeállított parancssorral) ad ki a BAR program futtatásához, amely „GPL alatt licencelt, speciális kivétellel, amely engedélyezi a QUUX-szel való linkelést”.
Mi a különbség az „összevont” és az egyéb „módosított verziók” között?

Az „összevont” verzió több önálló programot tartalmaz, amelyek együtt kerülnek terjesztésre ugyanazon a CD-ROM-on vagy más adathordozón. A GPL engedélyezi összevont verzió létrehozását és terjesztését, még abban az esetben is, ha más szoftver licence nem szabad vagy nem GPL-lel kompatibilis. Az egyetlen feltétel, hogy az összevont verzió nem adható ki olyan licenc alatt, amely tiltja a felhasználók végrehajtási jogait, amelyet az egyes programok egyedi licence biztosítana számukra.

Hol van a határ két önálló program, és egy két részből álló program között? Ez egy jogi kérdés, amelyet végül bírók döntenek el. Úgy gondoljuk, hogy a megfelelő feltétel a kommunikáció mechanizmusától (exec, adatcsatornák, rpc, függvényhívások osztott címtéren, stb.) és a kommunikáció szemantikájától (a cserélt információ típusa) is függ.

Ha a modulokat ugyanaz a végrehajtható fájl tartalmazza, akkor azok kétségtelenül egy programot alkotnak. Ha a modulok úgy vannak kialakítva, hogy linkelve legyenek egy osztott címtéren, akkor az majdnem biztosan azt jelenti, hogy egy programban vannak egyesítve.

Ezzel ellentétben az adatcsatornák, a socketek és a parancssori paraméterek normális esetben két különálló programban használt kommunikációs mechanizmusok. Így amikor a modulokat kommunikációhoz használja, akkor azok normális esetben önálló programok. Azonban ha a kommunikáció szemantikája elég közvetlen, és összetett adatszerkezetek kerülnek kicserélésre, akkor érdemes lehet a két részt egy nagyobb program egyesített részének tekinteni.

Miért igényli az FSF, hogy akik az FSF szerzői joga által védett programokhoz járulnak hozzá, a szerzői jogot átruházzák az FSF-re? Ha egy GPL-lel licencelt program szerzői jogának tulajdonosa vagyok, nekem is ezt kell tennem? Ha igen, hogyan?
Az ügyvédeink mondták, hogy ahhoz, hogy a legjobb pozícióban legyünk a GPL foganatosításához a bíróságon a szabályszegőkkel szemben, a program szerzői jogi státuszának a lehető legegyszerűbbnek kell lennie. Ez úgy történik, hogy minden közreműködőt megkérünk rá, hogy rendeljen szerzői jogot az FSF-hez hozzáadott kiegészítéseihez, vagy mondjon le a szerzői jogról, így a kiegészítés nyilvános lesz.

Arra is megkérjük a közreműködőket, hogy szerzői jogi kizárási nyilatkozatot kérjenek az alkalmazottaiktól (amennyiben van), így biztosak lehetünk abban, hogy az alkalmazottak nem fogják követelni saját kiegészítéseik tulajdonjogát.

Természetesen ha az összes közreműködő nyilvánossá teszi a kódját, akkor nincs szerzői jog, amellyel a GPL foganatosítható. Ezért arra buzdítjuk az embereket, hogy szerzői jogot rendeljenek a nagy kódkiegészítésekre, és csak a kis módosításokat tegyék nyilvánossá.

Ha erőfeszítést kíván tenni annak érdekében, hogy GPL védje a programját, akkor érdemes lehet hasonló irányelvet követni. További információért írjon a <licensing@gnu.org> címre.

Módosíthatok a GPL-en, és készíthetek belőle egy módosított licencet?
A GPL feltételeket (esetlegesen módosítva) használhatja más licencben, feltéve, hogy más nevet ad a licencnek és nem veszi bele a GPL bevezetőt, megfelelő mértékben módosítja a végén lévő használati utasításokat, hogy világosan különbözzön a szóhasználat és ne említse a GNU-t (a tényleges leírt eljárás lehet hasonló).

Ha a bevezetőt módosított licencben kívánja használni, akkor írjon a <licensing@gnu.org> címre engedély kérése érdekében. Ellenőrizni szeretnénk a tényleges licenckövetelményeket, hogy jóváhagyjuk-e azokat.

Nem fogunk jogi kifogást emelni az ellen, hogy ilyen módon hozzon létre módosított licencet, azonban reméljük, hogy kétszer átgondolja és nem csinál ilyet. Az ilyen módosított licenc majdnem biztosan inkompatibilis a GNU GPL-lel, és az inkompatibilitás tiltja a modulok használható egyesítését. A különböző szabadszoftver-licencek fajtáinak elszaporodása magában is terhet jelent.

Ha egy GNU GPL alatt megszerzett szoftvert használok, módosíthatom-e az eredeti szoftver kódját, és terjeszthetem, illetve árulhatom az új szoftvert pénzért?
A módosított program példányai kereskedelemben értékesíthetők, de csak a GNU GPL feltételei alatt. Ezért a forráskódot elérhetővé kell tenni a program felhasználói számára a GNU által leírt módon, és engedélyezni kell számukra a továbbterjesztést és a módosítást is a GPL által leírt módon.

Ezek a követelmények a feltételei a GPL-lel védett, kapott kód saját programban való használatának.

Használhatom a GPL-t szoftveren kívül másra is?

A GPL mindenféle munkára alkalmazható, amíg az tiszta, hogy mi alkotja a munka „forráskódját”. A GPL ezt a munka preferált formájaként adja meg annak módosításához.

Azonban kézikönyvek és tankönyvek esetén, illetve még általánosabban minden típusú munka esetén, amelynek a tanítás a célja, GPL helyett GFDL használatát javasoljuk.

Hogyan működik együtt az LGPL Javával?

Részletekért tekintse meg az angol nyelvű cikket. Ez a megtervezett és az elvárt módon működik.

Tételezzük fel a következő helyzetet: 1) X a projekt V1 változatát a GPL alatt adja ki. 2) Y a V2 fejlesztéséhez módosításokat és V1 változatra épülő új kódot ad hozzá. 3) X át kívánja alakítani a V2 változatot nem GPL licencre. Szüksége van X-nek Y engedélyére?

Igen. Y-nak a saját változatát GNU GPL alatt kellett kiadnia amiatt, hogy az X V1 változatára épül. Y-nak azonban más licencet nem kell elfogadni a kódjához. Ezért X-nek meg kell kapnia Y engedélyét ahhoz, hogy a kódot más licenc alatt adhassa ki.

GPL-lel védett szoftvert szeretnék beilleszteni a szabadalomvédett rendszerembe. Megtehetem ezt?
GPL-lel védett szoftver nem illeszthető szabadalomvédett rendszerbe. A GPL célja, hogy minden számára lehetővé tegye a program másolását, továbbterjesztését, megismerését és módosítását. Ha a GPL-lel védett szoftvert be lehetne illeszteni nem szabad rendszerbe, akkor ennek hatására a GPL-lel védett szoftver is nem szabad lenne.

A GPL-lel védett programot tartalmazó rendszer a program kiterjesztett változata. A GPL azt írja, hogy a program minden kiterjesztett változatát GPL alatt kell kiadni, amennyiben kiadásra kerül. Ennek két oka van: annak biztosítása, hogy a szoftvert megkapó felhasználók számára is biztosított legyen a GPL által nyújtott szabadság, illetve annak elősegítése, hogy az emberek saját fejlesztéseiket is biztosítsák a program szerzője számára.

Azonban számos esetben terjeszthető a GPL-lel védett szoftver a szabadalomvédett rendszerrel együtt. Ennek legális végrehajtása érdekében győződjön meg róla, hogy a szabad és nem szabad programok nem közvetlenül kommunikálnak, és nincsenek oly módon egyesítve, amely azokat egy programmá tenné.

Ennek és a GPL-lel védett szoftvernek az „egyesítése” csak részben anyagi, részben megjelenés. Az anyagi rész az, ha a két program egyesítve van, és valójában egyetlen program két részét alkotják, akkor nem kezelhetők különálló programokként. Így a GPL-nek a teljes programra vonatkoznia kell.

Ha a két program jól elkülöníthető marad, mint például a fordító és a kernel, vagy mint a szerkesztő és a parancsértelmező, akkor azok tekinthetők két különálló programnak – de ezt megfelelően kell végrehajtani. A probléma kizárólag formai jellegű: hogyan tudja leírni azt, amit csinál. Hogy miért foglalkozunk mi ezzel? Mert biztosítani szeretnénk, hogy a felhasználók egyértelműen lássák a GPL-lel védett szoftver szabad státuszát a gyűjteményben.

Ha a GPL-lel védett szoftvert terjesztők a szoftvert a rendszer „részének” mondják, és a felhasználók tudják, hogy az részben szabadalomvédett, akkor elképzelhető, hogy a felhasználók nem ismerik a GPL-lel védett szoftverrel kapcsolatos jogaikat. De ha tudják, hogy amit kaptak, az szabad program és egyik másik program egymás mellett, akkor a jogaik is egyértelműek lesznek.

GPL-lel védett szoftvert szeretnék beilleszteni a szabadalomvédett rendszerembe. Megtehetem ezt úgy, hogy „átalakító” modult veszek fel, GPL-lel kompatibilis laza, megengedő licenc alatt (mint például az X11 licenc) a GPL-lel védett rész és a szabadalomvédett rész közé?

Nem. Az X11 licenc kompatibilis a GPL-lel, így hozzáadhat egy modult a GPL-lel védett programhoz és azt X11 licenc alá helyezheti. De ha mindkettőt egy nagyobb programba egyesíti, és ez a program tartalmazza a GPL-lel védett részt, akkor azt egészként GNU GPL alatt kell licencelni.

Az a tény, hogy az „A” modul a GPL-lel védett „C” modullal csak a X11-gyel licencelt „B” modulon keresztül kommunikál, jogilag lényegtelen. Csak az számít, hogy a „C” modult a teljes program tartalmazza.

A libstdc++ kivétel engedélyezi a dinamikus linkelést?

Igen. A kivétel célja az, hogy lehetővé tegye az emberek számára a szabadalomvédett szoftver lefordítását gcc-vel.

Módosítani szeretnék GPL-lel védett programokat és ezeket a Money Guzzler Inc. hordozhatósági függvénytáraihoz szeretném linkelni. Nem tudom szétosztani ezen függvénytárak forráskódját, így azoknak a felhasználóknak, akik módosítani kívánják ezeket a változatokat, külön be kell szerezniük a függvénytárakat. Ezt a GPL miért nem engedélyezi?
Ennek két oka van.

Először az általános ok. Ha megengedtük az A cégnek, hogy szabadalomvédett fájlt hozzon létre, a B cégnek pedig azt, hogy GPL-lel védett szoftvert terjesszen ehhez a fájlhoz linkelve, akkor ennek eredményeképp a GPL-en elég nagy lyuk keletkezne ahhoz, hogy egy kamion átférjen rajta. Ez teljhatalmat biztosítana a forráskód visszatartásához a GPL-lel védett szoftver mindenféle módosítása és kiterjesztése esetén.

Az egyik fő célunk, hogy az összes felhasználó számára hozzáférést biztosítsunk a forráskódhoz, így ezt a fajta következményt határozottan el szeretnénk kerülni.

Konkrétabban a Money Guzzler könyvtárakhoz linkelt programok változata nem lenne igazán szabad szoftver a mi fogalmaink szerint – nem lenne biztosítva hozzájuk a teljes forráskód, amely lehetővé tenné a felhasználók számára a program módosítását és újrafordítását.

Ha a Q modul licence a GPL-lel inkompatibilis követelményeket támaszt, de a követelmény csak akkor érvényes, ha a Q magában terjesztett, akkor nem, ha nagyobb program része. Ebben az esetben a licenc GPL-lel kompatibilis? A Q modul linkelhető, illetve egyesíthető GPL-lel védett programmal?
Ha a P program GPL alatt került kiadásra, az azt jelenti, hogy minden része használható GPL alatt. Ha integrálja a Q modult, és kiadja az egyesített P+Q programot GPL alatt, akkor ez azt jelenti, hogy a P+Q minden része használható GPL alatt. A P+Q egyik része a Q. Így a P+Q GPL alatti kiadás azt jelenti, hogy a Q és annak minden része használható GPL alatt. Más szavakkal: a felhasználó, aki a P+Q programot GPL alatt megkapja, törölheti a P-t, így csak a Q marad meg, továbbra is GPL alatt.

Ha a Q modul licence lehetővé teszi ezt, akkor az GPL-lel kompatibilis. Ellenkező esetben nem kompatibilis a GPL-lel.

Ha a Q licence félreérthetetlen módon azt írja, hogy bizonyos dolgokat meg kell tenni (nem kompatibilis a GPL-lel) a Q magában történő továbbterjesztésekor, akkor az nem teszi lehetővé a Q GPL alatti terjesztését. Ezt az követi, hogy a P+Q nem adható ki GPL alatt. Így a P nem linkelhető a Q-hoz, és nem is egyesíthető vele.

Kiadhatom a GPL-lel védett program módosított változatát csak bináris formában?

Nem. A GPL lényege, hogy az összes módosított változatnak szabad szoftvernek kell lenni – ami azt jelenti, hogy a módosított változat forráskódja az összes felhasználó számára rendelkezésre áll.

Csak a bináris formátumot töltöttem le a hálózatról. Ha példányokat terjesztek, akkor be kell szereznem a forrást és azt is biztosítanom kell mellé?

Igen. Az általános szabály az, hogy ha bináris állományokat terjeszt, akkor a teljes megfelelő forráskódot is biztosítani kell. Kivételt képez az az eset, ahol írásos ajánlat van mellékelve a forráskód mellé, de ez ritka.

A bináris állományokat fizikai adathordozón kívánom terjeszteni, a források nélkül. Biztosíthatom a forráskódot FTP-n?

A GPLv3-as változata lehetővé teszi ezt. Részleteket a 6(b). rész tartalmaz. A 2-es változatban a forrás biztosítható FTP-n keresztül, és a legtöbb felhasználó így jut hozzá. Azonban ha valamelyikük a forrást inkább fizikai adathordozót szeretné megkapni, postai úton, akkor Önnek ezt biztosítania kell.

Ha a bináris állományokat FTP-n keresztül terjeszti, akkor a forrást is FTP-n keresztül kell terjesztenie.

A barátom GPL-lel védett bináris állományt kapott a forrás biztosítására vonatkozó ajánlattal, és adott nekem egy másolatot erről. Használhatom én az ajánlatot a forrás beszerzéséhez?

Igen. Az ajánlatot mindenki számára biztosítani kell, aki a hozzá tartozó bináris állomány példányát birtokolja. Ezért írja elő a GPL, hogy a barátjának az ajánlat egy példányát is tovább kell adnia a bináris állománnyal együtt – így fel tudja ezt használni.

Lehetséges az, hogy a bináris állományokat a saját internetes kiszolgálómon, a forrást pedig másik internetes webhelyen helyezem el?

Igen. A GPLv3 6(d) rész lehetővé teszi ezt. Azonban egyértelmű útmutatást kell adni a forrás megszerzésére vonatkozóan, és biztosítani kell, hogy a forrás elérhető legyen az objektumkód terjesztése során.

Egy GPL-lel védett program kiterjesztett változatát szeretném terjeszteni bináris formában. Elegendő, ha az eredeti változat forrását adom tovább?

Nem, a bináris állománynak megfelelő forráskódot kell biztosítania. A megfelelő forrás azt a forrást jelenti, amelynek segítségével a felhasználók ugyanazt a bináris állományt újra összeállíthatják.

A szabad szoftver elképzelésének részét képezi, hogy a felhasználóknak hozzá kell tudniuk férni az *általuk használt programok* forrásához. Ezért ha az Ön változatát használják, akkor ennek a változatnak a forráskódjának elérhetőnek kell lennie számukra.

A GPL fő célja úgy kialakítani a Szabad szoftverek világát (Free World), hogy biztosítva legyen az, hogy a szabad program továbbfejlesztése is szabad lesz. Ha kiadja egy GPL-lel védett program továbbfejlesztett változatát, akkor a továbbfejlesztett forráskódot is GPL alatt kell kiadnia.

Terjeszteni szeretném a bináris állományokat, de a teljes forrás terjesztése problémás. Elegendő az, ha a bináris állományokhoz a felhasználók számára csak az „eredeti” változat módosított részét biztosítom?

Jó kérdés. De a forrás biztosításának ezen módja nem igazán teljesíti az elvárást.

Elképzelhető például, hogy a felhasználó, aki a forrást egy év múlva szeretné megkapni, nem tudja megszerezni a megfelelő változatot másik webhelyről. Elképzelhető, hogy a hivatalos terjesztő webhelyen megtalálható egy újabb változat, de ugyanaz a különbségfájl nem működik ezzel.

Ezért a teljes forrás biztosítani kell a bináris állományokhoz, nem csak a különbségfájlt.

Lehetséges az, hogy a bináris állományokat hálózati kiszolgálón teszem elérhetővé, de a forrást csak azoknak küldöm el, akik megrendelik azt?

Ha az objektumkód elérhető a hálózati kiszolgálón, akkor a Vonatkozó forrást szintén hálózati kiszolgálón kell biztosítani. Ennek legegyszerűbb módja, ha mindkettőt ugyanazon a kiszolgálón teszi közzé. De ha azt jobban szeretné, akkor megadhatja a forrás másik kiszolgálóról, vagy egy verziókövetési rendszerről történő letöltésére vonatkozó útmutatást is. Mindegy, hogy melyiket választja, a forrást ugyanolyan egyszerűen el kell tudni érni, mint az objektumkódot. Ez részletesen le van írva a GPLv3 6(d). részében.

A biztosított forrásoknak pontosan meg kell felelniük a bináris állományoknak. Biztosítania kell, hogy a bináris állományok ugyanahhoz a programverzióhoz tartozzanak – nem régebbi, és nem is újabb változathoz.

Hogyan győződhetek meg arról, hogy a felhasználók, akik letöltik a bináris állományokat, a forrást is megkapják?

Erről nem kell meggyőződnie. Amíg a forrás és a bináris állományok biztosítottak, azaz a felhasználók láthatják, hogy mi elérhető és megszerezhetik, amire szükségük van, addig Ön teljesíti az elvárásokat. Az már a felhasználón múlik, hogy letölti-e a forrást.

A mi követelményünk a továbbterjesztőkkel szemben az, hogy biztosítsák a felhasználók számára a forráskód elérhetőségét, nem az, hogy rákényszerítsék a felhasználókat a forráskód letöltésére még abban az esetben is, ha nincs rá szükségük.

A cég a GPL-lel védett program módosított változatát futtatja egy webhelyen. A GPL megköveteli, hogy a cég kiadja a módosított forrásokat?

A GPL mindenki számára lehetővé teszi, hogy módosított változatot készítsen és azt terjesztés nélkül használja. Az, amit az említett cég csinál, ennek speciális esete. Ezért a cégnek nem kell kiadnia a módosított forrásokat.

Alapvető fontosságú, hogy az emberek szabadon létrehozzanak módosításokat privát használatra, a módosítások közzétételének kötelezettsége nélkül. Ha azonban ha a program kiszolgálógépen kerül elhelyezésre a nyilvánosság számára, az nehezen nevezhető „privát” használatnak, így a forráskód kiadása ebben a speciális esetben szabályszerűen igényelhető. A fejlesztők, akik foglalkozni kívánnak ezzel, használhatnak GNU Affero GPL-t a hálózati kiszolgálón keresztüli használatra kialakított programokhoz.

Több példány létrehozása és használata a szervezeten vagy vállalaton belül „szétosztásnak” számít?

Nem, ebben az esetben a szervezet csak saját maga számára készít másolatokat. Ennek következményeképp a vállalat vagy a szervezet fejleszthet módosított változatot és telepítheti azt a saját eszközein, feltéve, hogy a munkatársak számára nem ad engedélyt arra, hogy a módosított verziót kívülállók számára kiadják.

Ha a szervezet más szervezetnek vagy egyénnek ad át példányt, akkor az már szétosztásnak számít. Az is szétosztásnak számít, ha a példányokat vállalkozók számára biztosítja telephelyen kívüli használatra.

Ha valaki ellop egy GPL-lel védett programot tartalmazó CD-t, akkor a GPL biztosítja számára a jogot a változat továbbterjesztésére?

Ha a változat máshol kiadásra került, akkor a tolvajnak valószínűleg joga van másolatot készíteni és továbbterjeszteni azt GPL alatt, azonban ha lecsukják őt a CD ellopásáért, akkor meg kell várnia a terjesztéssel, hogy kiengedjék.

Ha a kérdéses változat nincs közzétéve és egy cég üzleti titkának tekinthető, akkor a közzététel sértheti az üzleti titokra vonatkozó törvényt, más körülményektől függően. A GPL nem változtat ezen. Ha a vállalat megpróbálta kiadni a változatát, de azt továbbra is üzleti titokként kezeli, akkor az sérti a GPL-t, de ha a vállalat nem adta ki a változatot, akkor nem történt sértés.

Mi a teendő abban az esetben, ha egy cég egy példányt vállalati titokként terjeszt?

Ha egy cégtől kap egy példányt, amiről azt állítják, hogy üzleti titok, akkor a cég megsérti a GPL-t és abba kell hagynia a szétosztást. Vegye figyelembe, hogy ez különbözik a fenti rablásos esettől. A cég nem szándékosan terjeszti a példányt, ha a példányt ellopták, így ebben az esetben a cég nem sértette meg a GPL-t.

Miért van néhány GNU-függvénytár normál GPL és nem a Lesser GPL alatt kiadva?
A Lesser GPL használata adott könyvtár esetén visszalépést jelent a szabad szoftverhez képeset. Ez azt jelenti, hogy részlegesen feladjuk a felhasználó szabadságának megvédésére tett kísérletet, és a GPL-lel védett szoftverre épülő munkák megosztási követelményeinek egy részét. Ezek magukban rossz irányú változást jelentenek.

Bizonyos esetekben a korlátozott visszavonulás jó stratégia. Más esetekben azonban az LGPL alkalmazása függvénytárak esetén a függvénytárak szélesebb körű használatához vezet, ami több továbbfejlesztést, a szabad szoftver szélesebb körű támogatását, stb. eredményezi. Szabad szoftver esetén jó lehet, ha ez nagy kiterjedésben történik. De milyen kiterjedésben történik ez meg? Csak találgatni tudunk.

Jó lenne kipróbálni az LGPL-t minden függvénytáron egy ideig, és megnézni, hogy segít-e, majd visszaállni GPL-re, ha nem. De ez nem megvalósítható. Ha LGPL-t használunk egy adott függvénytárhoz, akkor a visszaállás GPL-re körülményes lehet.

Így egyenként kell eldönteni, hogy milyen licencet használunk a függvénytárakhoz. Itt Hosszú magyarázatot talál arról, hogy hogyan döntjük mi el ezt a kérdést.

Adott GNU program GPL alatti használata nem illeszthető bele a szabadalomvédett szoftver kialakítását célzó projektünkbe. Lehetőség van arra, hogy ezúttal kivételt tegyenek? Ez több felhasználót jelentene a programnak.
Sajnáljuk, nem tehetünk ilyen kivételt. Nem lenne helyes.

Nem célunk a felhasználók számának maximalizálása. Ehelyett próbáljuk a lehető legtöbb felhasználó számára biztosítani a szabadságot. Általánosságban a szabadalomvédett szoftverprojektek inkább akadályozzák, mint elősegítik a szabad szoftver kérdését.

Esetenként teszünk licenckivételeket olyan projekt elősegítése érdekében, amely szabad szoftvert állít elő GPL-től eltérő licenc alatt. Azonban megfelelő indokot kell adni arra, hogy ez miért segíti elő a szabad szoftver ügyét.

Bizonyos esetekben a csomag szétosztási feltételeit is módosítjuk, ha ez egyértelműen szolgálja a szabad szoftver ügyét. Nagyon körültekintően járunk el ezzel kapcsolatban, ezért nagyon meggyőző érveket kell felénk előterjeszteni.

Miért kell a programoknak tartalmazniuk a következőt: „GPL 3 vagy újabb változat”?

Időről-időre, többéves periódusonként módosítjuk a GPL-t – néha letisztázás miatt, máskor néhány korábban nem megengedett használati mód engedélyezéséhez, illetve a követelmények megszorítása érdekében. (Az utolsó két módosítás 2007-ben, illetve 1991-ben történt.) Azáltal, hogy ez az „indirekt mutató” minden programban megtalálható, GPL frissítésekor egyszerűbben tudjuk módosítani a szétosztási feltételeket a teljes GNU szoftvergyűjteményen.

Ha nem lenne benne az indirekt mutató minden programban, akkor a módosítást számos szerzői jog tulajdonossal meg kéne vitatnunk, ami lényegében lehetetlen. Gyakorlatilag nem lenne rá esély, hogy egységes GNU szoftverterjesztési feltételeket állítsunk fel.

Tételezzük fel, hogy a program tartalmazza a „GPLv3-as vagy újabb változat” részt, és a GPL új változata kerül kiadásra. Ha az új GPL változat további jogosultságot biztosít, akkor ez a jogosultság azonnal elérhető lesz a program összes felhasználója számára. Azonban ha az új GPL változatban szigorúbbak a követelmények, akkor az nem korlátozza a program aktuális változatának használatát, mivel az továbbra is használható GPLv3 alatt. Ha a program írja, hogy „GPLv3-as vagy újabb változat”, akkor a felhasználók számára mindig engedélyezett lesz a használat és a módosítás is a GPLv3-as változat feltételei szerint – még akkor is, ha a GPL újabb változatai is elérhetők.

Ha a GPL új változatának szigorúbb követelményeit a meglévő szoftverre nem kell alkalmazni, akkor ez miért hasznos? Ha a GPL 4-es változata elérhető lesz, akkor a legtöbb GPL-lel védett program fejlesztője kiadja a program következő változatát, amelyben már a „GPL 4-es vagy újabb változat” kitétel fog szerepelni. Ezután a felhasználóknak követniük kell a GPL 4-es változat szigorúbb követelményeit a program következő változatainál.

Azonban a fejlesztők nem kötelesek ezt megtenni. Engedélyezhetik továbbra is a GPL korábbi változatának használatát, amennyiben ez számukra előnyösebb.

Miért nem használják a GPL-t kézikönyvekhez?

A GPL használható kézikönyvhöz is, de a GNU Free Documentation License (GFDL) jobban megfelel erre a célra.

A GPL programokhoz lett kialakítva. Számos összetett záradékot tartalmaz, amely a programok esetén kritikus fontosságú, de könyvek és kézikönyvek esetén felesleges és szükségtelen. Például mindenkinek, aki papír alapú könyvet ad ki, a könyv gép által olvasható „forráskódját” is biztosítania kéne a nyomtatott példányokhoz, vagy írásos ajánlatot kellene biztosítani a „forráskód” későbbi elküldésére vonatkozóan.

A GFDL olyan záradékokkal rendelkezik, amelyek segítik a szabad kézikönyvek kiadóit abban, hogy profitot szerezzenek a példányok értékesítéséből – mint például a szövegek átdolgozása. A Jóváhagyások rész speciális szabályai lehetővé teszik a GFDL használatát hivatalos szabványokhoz. Ez engedélyezi a módosított változatokat, de azok nem kaphatnak „szabvány” címkét.

A GFDL használata engedélyezi a kézikönyv szövegének módosítását technikai témakörök esetén. A technikai részek módosításának lehetősége fontos, mivel a programot módosító személynek a dokumentációt is megfelelően módosítania kellene. Ennek lehetősége erkölcsi kényszerítő erő.

A kézikönyveink olyan részeket is tartalmaznak, amelyek a szabad szoftverrel kapcsolatos politikai nézeteinket taglalják. Ezeket „állandó” címkével láttuk el, így ezek nem módosíthatók és nem távolíthatók el. A GFDL óvintézkedéseket tesz ezekkel az „állandó részekkel” kapcsolatban.

Hogyan érvényes a GPL a betűtípusokra?

A betűtípus licenckezelése összetett probléma, amely kellő átgondolást igényel. A következő licenckivétel kísérleti, de általános használatra jóváhagyott. Várjuk a témával kapcsolatos javaslatokat – kérjük, tekintse meg ezt a magyarázó tanulmányt és írja meg észrevételeit a licensing@gnu.org címre.

A kivétel használata érdekében adja hozzá ezt a szöveget a csomagban lévő összes fájl (a lehető legnagyobb mértékben) licencnyilatkozatának végéhez, amely leírja, hogy a fájlt GNU GPL alatt terjesztett:

Speciális kivétel: ha olyan dokumentumot hoz létre, amely ezt a betűtípust használja, és beágyazza ezt a betűtípust vagy annak egy változatlan részét a dokumentumba, akkor ez maga nem eredményezi azt, hogy a dokumentumra GNU General Public License vonatkozik. Ez a kivétel azonban nem hatálytalanítja a többi okot, amitől a dokumentum GNU General Public License által védett lehet. Ha módosítja a betűtípust, akkor kiterjesztheti ezt a kivételt a saját betűtípus-változatára, de ez nem kötelező. Ha nem kívánja ezt megtenni, akkor törölje a kivétel bejegyzést a változatából.

Webhely-karbantartó rendszert írok (amelyet „tartalomkezelő rendszernek” is hívnak), vagy egyéb alkalmazást, amely sablonból hoz létre weboldalakat. Milyen licencet kell használnom ezekhez a sablonokhoz?

A sablonok elég kicsik ahhoz, hogy ne érje meg „copyleft” (a szerzői jog egy részét fenntartó, más részéről lemondó) típusú licencet használni védelmükhöz. Normális esetben nem árt „copyleft” licencet használni a kisebb munkákon, de a sablonok speciális esetet képeznek, mivel azok egyesítésre kerülnek az alkalmazás felhasználói által biztosított adatokkal és ez az egyesített munka kerül szétosztásra. Ezért javasoltjuk, hogy a sablonokat csak egyszerű megengedő feltételek mellett licencelje.

Néhány sablon Javascript függvényeket hív meg. Mivel a Javascript gyakran nem triviális, érdemes rá „copyleft” típusú licencet alkalmazni. Mivel a sablonok egyesítésre kerülnek a felhasználói adatokkal, ezért elképzelhető, hogy a sablon+felhasználói adat+Javascript kombinációt a szerzői jogi törvény egyetlen munkának tekinti. Meg kell húzni a vonalat a Javascript („copyleft” által licencelt), és a felhasználói kód (általában inkompatibilis feltételek mellett biztosított) között.

A fenti tartalom diagramja

A következőkben egy Javascript kód kivétel látható, amely ezt csinálja:

A GPL speciális kivételeként minden HTML fájl, amely a kódhoz csak függvényhívást ad meg, és csak ebből a célból tartalmazza a kódot hivatkozásként, az szerzői jogi törvény esetén külön munkának tekinthető. Ezen felül a kód szerzői jogának tulajdonosai engedélyt adnak a kód GNU LGPL alatt kiadott szoftverfüggvénytárakkal történő egyesítésére. Az ilyen rendszer a kód GNU GPL-je és a könyvtárak LGPL-jének feltételei mellett terjeszthető. Ha módosítja ezt a kódot, akkor kiterjesztheti ezt a kivételt a saját kódváltozatára, de ez nem kötelező. Ha nem kívánja ezt megtenni, akkor törölje a kivétel bejegyzést a változatából.

Kiadhatok nem szabad eszközökkel fejlesztett programot GPL alatt?

Az, hogy milyen programot használ a forráskód szerkesztéséhez, fordításához, vizsgálatához és rögzítéséhez, a forráskód licenckezelési problémáit illetően általában lényegtelen.

Azonban ha nem szabad függvénytárakat linkel a forráskódhoz, az olyan probléma, amellyel foglalkozni kell. Ez nem zárja eleve ki a forrás GPL alatt történő kiadását, de ha a függvénytárak nem felelnek meg a „rendszer függvénytár” kivételnek, akkor be kell szúrnia egy explicit nyilatkozatot, amely jogosultságot biztosít a program függvénytárakhoz történő linkelésére. A GPL-lel nem kompatibilis függvénytárakkal kapcsolatos GYIK rész további részleteket ad erre vonatkozóan.

A GPL le van más nyelvekre is fordítva?

Hasznos lenne a GPL-t más nyelvekre is lefordítani. Voltak, akik készítettek fordításokat és elküldték nekünk. De nem mertük ezeket jóváhagyni hivatalosan érvényesként. Túl nagy a kockázat ahhoz, hogy el merjük fogadni.

A jogi dokumentum kicsit olyan, mint a program. Lefordítása olyan, mintha a programot lefordítanánk másik nyelvre és operációs rendszerre. Csak egy mindkét nyelvben járatos ügyvéd tudná ezt érdemben lefordítani – és még akkor is van kockázat.

Ha hivatalosan elfogadnánk a GPL fordítását, akkor mindenki számára engedélyt adnánk arra, amit a fordítás mond. Ha ez egy teljesen pontos fordítás, akkor nincs probléma. De ha hibás a fordítás, akkor az olyan katasztrófát eredményezhet, amelyet nem tudnánk kijavítani.

Ha egy program hibás, akkor ki tudunk adni egy új változatot, és végül a régi változat többé vagy kevésbé eltűnik. De ha engedélyeztük mindenki számára az adott fordítás szerinti eljárást, akkor ezt az engedélyt nem tudjuk visszavonni, amennyiben később észrevesszük, hogy az hibás.

Segítőkész emberek néha felajánlják számunkra, hogy elkészítik a fordítást. Ha csak az lenne a probléma, hogy valakit találjunk a feladatra, akkor ez megoldott lenne. A valódi probléma a hiba kockázata, és a munka elvégzésének felajánlása nem küszöböli ki ezt a kockázatot. Nem engedélyezhetünk egy nem ügyvéd által írt fordítást.

Ezért egyelőre nem fogadjuk el a GPL fordítását globálisan érvényesként és kötelezőként. Ehelyett a következőket tesszük:

  • Nem hivatalos fordításokhoz irányítjuk az embereket. Ez azt jelenti, hogy megengedjük az embereknek, hogy lefordítsák a GPL-t, de nem hagyjuk jóvá azokat jogilag érvényesként és jogerősként.

    A nem jóváhagyott fordításnak nincs jogi ereje, és ezt kifejezetten meg kell adni. A következőket fel kell benne tüntetni:

    A GPL ezen fordítása informális, és a Free Software Foundation nem fogadta el hivatalosan érvényesként. Ha teljesen biztos akar benne lenni, hogy mi megengedett, akkor tekintse meg az eredeti GPL-t (angolul).

    A nem jóváhagyott fordítás útmutatásként szolgálhat az angol GPL megértéséhez. Számos felhasználó számára ez elegendő.

    Azonban a vállalatoknak, akik GNU szoftvert használnak kereskedelmi tevékenység keretében, és az embereknek, akik nyilvános ftp terjesztést végeznek, ellenőrizniük kell, hogy az eredeti angol GPL mit engedélyez.

  • Csak egy országra érvényes fordítások közzététele.

    Megfontoljuk olyan fordítások közzétételének gondolatát, amelyek csak egy országra érvényesek. Ily módon az esetleges hiba egy országra lenne korlátozva, és a kár nem olyan nagymértékű.

    A fordítás elkészítéséhez továbbra is jelentős szaktudás és ráfordítás szükséges egy szimpatikus és tehetséges ügyvéd részéről, ezért nem tudjuk megígérni az ilyen fordításokat a közeljövőben.

Ha a programozási nyelv parancsértelmező licenc nem kompatibilis a GPL-lel, akkor futtathatok GPL-lel védett programot rajta?

Ha a parancsértelmező csak egy nyelvet értelmez, akkor a válasz igen. Az értelmezett program a parancsértelmező számára csak adat. A GPL nem korlátozza a program feldolgozási eszközeit.

Azonban ha a parancsértelmező ki van terjesztve, hogy „összerendelést” biztosítson más szolgáltatásokhoz (gyakran, de nem feltétlenül függvénytárakhoz), akkor az értelmezett program ténylegesen linkelve van az összerendeléseken keresztül az általa használt szolgáltatásokhoz. A JNI vagy Java Native Interface például ilyen szolgáltatás. Az ilyen módon elért könyvárak dinamikusan linkelve vannak az őket meghívó Java programokhoz.

Így ha ezek a szolgáltatások GPL-lel inkompatibilis licenc alatt kerültek kiadásra, akkor a helyzet hasonló, mintha más módon linkelne egy GPL-lel inkompatibilis függvénytárat. Ami maga után vonja a következőt:

  1. Ha kódot ír és azt kiadja GPL alatt, akkor kiadhat egy explicit kivételt, amely lehetővé teszi a kód linkelését GPL-lel inkompatibilis szolgáltatásokhoz.
  2. Ha a programot GPL alatt írta meg és adta ki, és azt kifejezetten ilyen szolgáltatásokkal való együttműködésre alakította ki, akkor az emberek ezt implicit kivételnek tekinthetik, amely lehetővé teszi számukra a program linkelését ilyen szolgáltatásokhoz. Amennyiben ez a szándéka, akkor jobb, ha ezt kifejezetten megadja.
  3. Más GPL-lel védett kódját azonban nem használhatja ily módon, és nem adhat meg hozzá ilyen kivételt. Csak a kód szerzői jogának tulajdonosa adhatja meg ezt a kivételt.
Kinek van hatalma betartatni a GPL-t?

Mivel a GPL szerzői jogi licenc, a szoftver szerzői jogának tulajdonosa foganatosíthatja a GPL-t. Ha GPL-sértést észlel, akkor értesítenie kell a kérdéses GPL-lel védett szoftver fejlesztőit. Ők a szerzői jog tulajdonosai, vagy kapcsolatban állnak velük. GPL sértések jelentésével kapcsolatos további információ

Ha objektumorientált nyelvekben – mint például a Java - GPL-lel licencelt osztályt használok módosítás nélkül, és továbbszármaztatom azt, akkor a GPL hogyan érinti a nagyobb programot?

A továbbszármaztatás származékos munkát hoz létre. Ezért a GPL feltételei a teljes programra vonatkoznak, amelyben GPL-lel védett osztály alosztályát hozza létre.

Ha a programomat átviszem GNU/Linux alá, az azt jelenti, hogy szabad szoftverként kell kiadni GPL vagy egyéb szabad szoftver licenc alatt?

Általánosságban a válasz nem – ez nem jogi követelmény. Kevésbé általánosan a válasz attól függ, hogy milyen függvénytárakat kíván használni és ezek milyen licencekkel rendelkeznek. A legtöbb rendszer függvénytár a GNU Lesser GPL licencet használja, vagy a GNU GPL licencet és egy kivételt, amely lehetővé teszi a függvénytár tetszőleges linkelését. Ezek a függvénytárak használhatók nem szabad programokban. De Lesser GPL esetén van néhány követelmény, amelyet követni kell.

Néhány függvénytár GNU GPL alatt lett kiadva. Ezekhez GPL-lel kompatibilis licencet kell használni. Ezek normális esetben speciálisabb függvénytárak, és más platformon nem lesznek hasonlók, így ezeket a függvénytárakat valószínűleg nem fogja egyszerű hordozhatóság érdekében használni.

Természetesen az Ön szoftvere nem része a mi közösségünknek, ha az nem szabad, és az emberek, akik értékelik a szabadságot, nem fogják használni. Csak azok az emberek fogják használni az Ön szoftverét, akik feladják a szabadságukat, ami azt jelenti valójában, hogy az emberek elveszítik a szabadságukat.

Ha azt szeretné, hogy amikor visszanéz a karrierjére azt érezze, hogy hozzájárult a jó és szabad társadalom fejlődéséhez, akkor szabadként kell kiadnia a szoftvert.

Felfedeztem, hogy egy cég egy GPL-lel licencelt program másolatáért pénzt kér. Nem sérti az a GPL-t, hogy nem teszi elérhetővé a programot az interneten?

Nem. A GPL nem követeli meg, hogy internetet használjon a szétosztáshoz. Azt sem követeli meg, hogy bárki továbbterjessze a programot. A GPL még abban az esetben sem szabja meg (speciális eseteket kivéve), hogy egy példányt kifejezetten Önnek vagy más személynek el kellene küldeni, ha valaki úgy dönt, hogy egyszer majd továbbterjeszti a programot.

A GPL csak azt követeli meg, hogy szabadon terjeszthesse a felhasználó a példányt, amennyiben ezt szeretné. Ha a szerzői jog tulajdonosa terjeszt egy programot valakinek, akkor ez a személy ezután tovább tudja terjeszteni a programot Önnek vagy másnak, ahogy azt jónak látja.

Kiadhatok programot olyan licenccel, amely előírja, hogy a program módosított változata terjeszthető GPL alatt, de maga az eredeti program nem?

Nem. Az ilyen licenc önmagával ellentmondó. Tekintsük meg ennek következményeit a felhasználó szemszögéből.

Tételezzük fel, hogy az eredeti verziót kezdem használni (hívjuk ezt A változatnak), és hozzáírok kódot (legyen ez mondjuk 1000 sor), és ezt a módosított verziót (hívjuk B változatnak) kiadom GPL alatt. A GPL szerint bárki módosíthatja újra a B változatot és kiadhatja azt GPL alatt. Így én (illetve bárki más) törölhetem ezt az 1000 sort. Létrejön a C változat, amelynek a kódja megegyezik az A változatával, de ez GPL alá tartozik.

Ha tiltani szeretné ezt azáltal, hogy explicit módon beírja a licencbe, hogy más nem hozhat létre az A változattal azonos dolgot a GPL alatt a megfelelő sorok B változatból történő törlésével, akkor a licenc szerint nem lehet használni a B változatot a GPL által engedélyezett összes módon. Más szavakkal a licenc nem engedélyezi a felhasználó számára, hogy módosított változatot adjon ki – mint például a B – GPL alatt.

A példány többségi tulajdonú, irányított leányvállalatnak történő átadása szétosztásnak számít?

Azt, hogy a példány leányvállalat és anyavállalat közötti átadása „szétosztásnak” számít-e, minden esetben a megfelelő joghatóság szerzői jogi törvényének megfelelően kell eldönteni. A GPL nem bírálja felül a helyi törvényeket, és nem is tudja ezt megtenni. Az USA szerzői jogi törvénye nem teljesen letisztult ebben a témában, de látszólag nem tekinti ezt szétosztásnak.

Ha ez néhány országban szétosztásnak tekinthető, és a leányvállalatnak meg kell kapnia a jogot a program további szétosztására, akkor ez nem jelenet gyakorlati különbséget. A leányvállalatot az anyavállalat irányítja. Jogoktól függetlenül a leányvállalat csak akkor végezhet további szétosztást, ha az anyavállalat úgy dönt, hogy ezt engedi.

A szoftvertelepítők felszólíthatják az embereket, hogy kattintsanak a GPL elfogadásához? Ha GPL alatt kapok szoftvert, akkor el kell fogadnom bármilyen megállapodást?

Néhány szoftvercsomag-rendszer tartalmaz egy részt, amelynél kattintani kell vagy másképp kell jelezni a GPL feltételeinek elfogadását. Ez nem kötelező és nem tiltott. Kattintással vagy kattintás nélkül, a GPL szabályai ugyanazok maradnak.

A GPL elfogadása még nem jelent semmilyen követelményt. Semmit nem kell elfogadnia ahhoz, hogy használhassa a GPL alatt licencelt szoftvert. Csak akkor vannak kötelezettségei, ha módosítja vagy terjeszti a szoftvert. Ha zavarja Önt, hogy kattintani kell a GPL elfogadásához, akkor semmi nem akadályozza meg abban, hogy módosítsa a GPL-lel védett szoftvert az adott rész kihagyása érdekében.

A GPL-lel védett szoftvert telepítési szoftverhez szeretném rendelni. A telepítőnek rendelkeznie kell GPL-lel kompatibilis licenccel?

Nem. A telepítő és az általa telepített fájlok különálló munkák. Ennek eredményeképp a GPL feltételei nem érvényesek a telepítő szoftverre.

Használhatok GPL-lel licencelt szoftvert olyan eszközön, amely abbahagyja a működést, ha az ügyfelek nem fizetik tovább az előfizetési díjat?

Nem. Ebben a példahelyzetben a díjfizetési kötelezettség korlátozza a felhasználót a program futtatásában. Ez a GPL-en felüli követelmény, és a licenc tiltja ezt.

Hogyan frissíthető az (L)GPLv2 (L)GPLv3 változatra?

Először vegye fel a licenc új változatát a csomagba. Ha LGPLv3-at használ a projektben, akkor a GPLv3 és az LGPLv3 példányát is egyaránt meg kell adni, mivel az LGPLv3 a GPLv3-on felül további jogosultságokat tartalmaz.

Második lépésként cserélje le az összes meglévő v2 licencnyilatkozatot (általában az egyes fájlok tetején) az új javasolt szövegre, amelyet a GNU licenc howto tartalmaz. Ez jövőállóbb, mivel már nem tartalmazza az FSF levelezési címét.

Természetesen a csomag licencének leíró jellegű szövegét (mint például a README) is megfelelően frissíteni kell.

Hogyan teszi egyszerűbbé a GPLv3 a BitTorrent szétosztást?

Mivel a GPLv2 az előtt íródott, hogy a szoftver egyenrangú (peer-to-peer) kapcsolaton keresztüli terjesztése általánosan elterjedt volt, nehéz teljesíteni annak követelményeit a kód ily módon történő terjesztése esetén. A GPLv2 objektumkód BitTorrenten keresztüli terjesztése esetén a legjobb módszer a feltételek teljesítésének biztosítására, ha az összes megfelelő forrást megadja ugyanabban a torrentfájlban, amely megfizethetetlenül drága.

A GPLv3 kétféleképp oldja meg ezt a problémát. Első megoldás: a felhasználónak, aki letölti a torrentfájlt és elküldi az adatokat másoknak a folyamat részeként, semmit sem kell tennie. Ennek oka, hogy a 9. szakasz a következőt írja: „Lefedett munka mellékes terjesztése, amely pusztán annak a következménye, hogy peer-to-peer átvitelt használ a példány megszerzéséhez, nem igényli a(z) [licenc] elfogadását.”

A második az, hogy a GPLv3 6(e). része a szétosztó – a torrentfájlokat kezdetben megosztó személy – számára világos és egyértelmű módszert ad a forrás biztosítására azáltal, hogy előírja, hogy a szétosztónak meg kell adnia a felhasználók számára a forrás elérhetőségének helyét egy nyilvános hálózati kiszolgálón. Ez biztosítja, hogy mindenki megkaphassa a forrást, aki akarja, és ez a szétosztó számára szinte egyáltalán ne jelentsen problémát.

Mi a „tivoization”? A GPLv3 hogyan akadályozza ezt meg?

Néhány eszköz szabad szoftvert használ, amely frissíthető, de úgy van kialakítva, hogy a felhasználók a szoftver forrását ne módosíthassák. Erre több lehetőség van. Bizonyos esetekben például a hardver ellenőrző összeget rendel a telepített szoftverhez, és leáll, ha az nem felel meg a várt aláírásnak. A gyártó megfelel a GPLv2-nek, mert biztosítja a forráskódot, de a felhasználó számára nem biztosított a használt szoftver módosíthatóságának szabadsága. Ezt gyakorlati tivoizationnek hívjuk.

GPLv3 változattal védett szoftvert tartalmazó felhasználói termékek terjesztése esetén a 6. szakasz előírja, hogy a terjesztőnek biztosítania kell a szoftver módosításához szükséges információkat. A felhasználói termék a licencben speciálisan megadott kifejezés. Felhasználói termék például: hordozható zenelejátszók, digitális videofelvevők és otthonbiztonsági rendszerek.

A GPLv3 megakadályozza a DRM-et?

Nem. A GPLv3 alatt kiadott kód segítségével tetszőleges DRM technológia fejleszthető. Azonban ha ezt teszi, akkor a 3. szakasz azt mondja, hogy a rendszer nem számít hatékony technológiai „védelmi” intézkedésnek. Ez azt jelenti, hogy ha valaki feltöri a DRM-et, akkor a saját szoftverét is szabadon terjesztheti, ebben nem akadályozzák a DMCA és hasonló jogszabályok.

A GNU GPL nem korlátozza, hogy mit lehet megtenni egy szoftverben, csak mások korlátozását tiltja meg.

Használhatom a GPL-t hardver licencelésére?

Minden anyag, amelyhez rendelhető szerzői jog, licencelhető GPL alatt. A GPLv3 segítségével más szerzői joghoz hasonló törvénnyel védett agyagok is licencelhetők, mint például a félvezető maszkok. Így például kiadhatja egy hardver tervrajzát GPL alatt. Azonban ha valaki ezt az információt használja fizikai hardver létrehozásához, akkor nincs licenckötelezettség az eszköz terjesztésére és értékesítésére vonatkozóan: ez a szerzői jog hatókörén kívül esik, így a GPL-én is.

Nyilvános kulcsú titkosítást használok a kód aláírásához a hitelesség biztosítása érdekében. A GPLv3 valóban megköveteli tőlem a privát aláíró kulcsok kiadását?

Nem. Az aláíró kulcsokat csak akkor kell kiadni, ha továbbad egy GPL-lel védett szoftvert egy felhasználói terméken belül, és annak hardvere ellenőrzi a szoftver érvényes kriptográfiai aláírását a működtetéshez. Ebben az esetben igény esetén biztosítania kell a kulcsot mindenki számára, aki az eszközt birtokolja, a módosított szoftver aláírásához és az eszközön történő telepítéséhez. Ha az eszköz minden példánya különböző kulcsot használ, akkor minden birtokos számára a példányához tartozó kulcsot kell biztosítania.

A GPLv3 megköveteli, hogy a szavazók módosítani tudják a szavazógépen futó szoftvert?

Nem. A GPLv3 alatt licencelt szoftvert tartalmazó eszközöket terjesztő vállalatoknak biztosítaniuk kell a forrást és a telepítési információkat a szoftverhez az objektumkód példányát birtoklók számára. A szavazógépet használó szavazó még ideiglenesen sem lesz a gép birtokosa, így a szavazó nem lesz a benne lévő bináris szoftver birtokosa sem.

Azonban a szavazás nagyon speciális eset. Magában az, hogy a számítógépben lévő szoftver szabad, nem jelenti azt, hogy a számítógép szavazás esetén megbízható. Úgy gondoljuk, hogy ezek a számítógépek nem megbízhatók szavazás esetében. A szavazást papíron kell lebonyolítani.

A GPLv3 rendelkezik „szabadalomsértési retorzió záradékkal”?

Tulajdonképpen igen. A 10. szakasz megtiltja, hogy a szoftvert továbbadó személy szabadalomvédelmi követelést indítson más licencelők ellen. Ha ezt valaki mégis megteszi, akkor a 8. szakasz elmagyarázza, hogy hogyan veszti el a licencet, illetve az azt kísérő szabadalmi licenceket.

Használhatom egy GPL-lel védett forráskód részleteit egy GPL-lel inkompatibilis licenc alatt licencelt dokumentációban?

Ha a kódrészletek elég kicsik ahhoz, hogy szabad használat vagy hasonló törvény alatt egyesítse azokat, akkor a válasz igen. Ellenkező esetben nem.

A GPLv3 6. szakasz eleje azt írja, hogy továbbadhatok lefedett munkát az objektumkódban „a 4. és 5. szakasz feltételei mellett”, feltéve, hogy a 6. szakasz feltételeit is teljesítem. Ez mit jelent?

Ez azt jelenti, hogy a forráskód továbbadására vonatkozó összes engedély és feltétel az objektumkód továbbadására is érvényes: kérhet érte díjat, érintetlenül kell tartani a szerzői jogi nyilatkozatot, és így tovább.

A vállalatom számos szabadalommal rendelkezik. Az évek során „GPL 2 vagy újabb változat” alatt írtunk kódot a projektekhez, és a projekt maga ugyanezen feltételek mellett került szétosztásra. Ha egy felhasználó úgy dönt, hogy a projekt kódját (a kiegészítéseim egyesítésével) GPLv3 alatt veszi át, az nem jelenti azt, hogy automatikusan biztosítom a GPLv3 explicit szabadalomvédett licencét a felhasználó számára?

Nem. GPL-lel védett szoftver továbbadása esetén a licenc egy adott változatának a feltételeit és kikötéseit kell követni. Ha ezt teszi, akkor ez a változat határozza meg a kötelezettségeit. Ha a felhasználók megválaszthatnák, hogy a GPL újabb változatát használják, az csak egy további jogosultság lenne – nem írja elő, hogy Önnek a GPL későbbi változatának a feltételeit is teljesítenie kell.

Ne értse úgy, hogy a szabadalmaival veszélyeztetheti a közösséget. Néhány országban a szoftver GPLv2 alatti terjesztése a felhasználók számára implicit szabadalmi licencet biztosít a jogaik GPL alatti érvényesítéséhez. De még ha ez nem is biztosított, bárki, aki a szabadalmait agresszívan próbálja meg kikényszeríteni, a közösség ellensége, és mi meg fogjuk védeni magunkat az ilyen támadásokkal szemben.

Ha olyan szabadalomvédett programot terjesztek, amelyhez LGPLv3-mal védett függvénytár kapcsolódik, és én ezt a függvénytárat módosítottam, akkor mi a „közreműködő változat” az explicit szabadalmi licenc biztosítás hatókörének meghatározása esetén – csak a függvénytár, vagy a teljes kombináció?

A „közreműködő változat” csak a függvénytár Ön által létrehozott változata.

A GPLv3 kompatibilis a GPLv2 változattal?

Nem. A GPLv3 néhány követelményét, mint például a telepítési információk megadásának követelménye, a GPLv2 nem tartalmazza. Ennek eredményeképp a licencek nem kompatibilisek: ha mindkét licenc alatt kiadott kódot próbálna meg egyesíteni, az megsértené a GPLv2 6. szakaszát.

Azonban ha a kód GPL „2-es vagy újabb változat” alatt került kiadásra, akkor ez kompatibilis a GPLv3-mal, mivel ez az általa megengedett lehetőségek egyike.

Mit jelent a GPLv3 megsértésének „orvosolása”?

A licencsértés orvosolása azt jelenti, hogy a licencet megsértő úgy alakítja át vagy módosítja a hozzáállását, illetve viselkedését, hogy a licenc követelményeinek ezentúl megfeleljen.

GPLv3 garanciális és kötelezettségi jogkizárási nyilatkozata az USA törvényeire vonatkozik. Megadhatok saját jogkizárási nyilatkozatot a saját kódomhoz?

Igen. A 7. szakasz jogosultságot ad saját jogkizárási nyilatkozat megadására, (pontosabban a 7(a). szakasz) .

A programomhoz interaktív felhasználói felület tartozik, amely nem grafikus. Hogyan teljesíthetem a GPLv3 megfelelő jogi nyilatkozatok által támasztott követelményt?

Kizárólag azt kell biztosítania, hogy a megfelelő jogi nyilatkozatok rendelkezésre álljanak a felhasználó számára a felületén. Ha például audio felületet írt, akkor megadhat egy parancsot, amely felolvassa a nyilatkozatokat.

Ha egy GPLv3-mal védett program példányát a vállalat egyik munkatársának átadom, akkor a példányt „továbbadom” neki?

Ha mindketten a vállalatnál használják a szoftvert (nem személyes dolgok írásához), akkor a válasz nem. A példányok a vállalathoz tartoznak, nem a munkatársakhoz. Ez a másolás terjesztés, nem továbbadás, mivel a vállalat nem készít példányokat mások számára.

Ha GPLv3-mal védett programot terjesztek, akkor biztosíthatok olyan garanciát, amely érvénytelen, ha a felhasználó módosítja a programot?

Igen. Az eszközökhöz hasonlóan (ahol nem kell garanciát vállalnia, ha a felhasználók módosítják a szoftvert), itt sem kell olyan garanciát vállalnia, amely a GPLv3-mal védett szoftverrel végzett összes lehetséges tevékenységet lefedi.

Miért határoztak úgy, hogy a GNU Affero GPLv3-at külön licencként írják meg?

A GPLv3 korai vázlatai engedélyezték a licenctulajdonosok számára Affero-hoz hasonló követelmény megadását a forrás közzétételéhez a 7. szakaszban. Azonban néhány vállalat, amely szabad szoftvert fejleszt vagy használ alapként, ezt a követelményt túl terhesnek érezheti. Ezek a vállalatok el kívánják kerülni az ilyen követelményeket támasztó kódot, és hangot adnak a további követelmény miatt felmerülő kódellenőrzés adminisztrációs költségével kapcsolatos aggodalmuknak. Azáltal, hogy a GNU Affero GPLv3 külön licencként kerül közzétételre, a benne lévő óvintézkedésekkel, illetve azáltal, hogy a GPLv3 engedélyezi ezen licencek alatt kiadott kódok linkelését, elérjük az összes eredeti célunkat, mindemellett egyszerűbbé válik annak megállapítása, hogy mely kód rendelkezik forráskiadási követelménnyel.

Miért vezették be az új „terjesztés” és „továbbadás” kifejezést a GPLv3-ban?

A GPLv2-ben használt „szétosztás” kifejezést az Egyesült Államok szerzői jogi törvényéből kölcsönözték. Az évek során megtanultuk, hogy néhány joghatóság ugyanezt a szót használja a szerzői jogi törvényeiben, de más jelentéssel. Ezért bevezettünk új kifejezéseket, hogy a licenc értelmezési helyétől függetlenül a lehető legvilágosabb legyen a szándékunk. Ezeket egy szerzői jogi törtvény sem használja a világon, és a meghatározásuk közvetlenül meg van adva a licencben.

Szeretném GPL-lel licencelni a szoftveremet, de szeretném kikötni, hogy nem használható hadi és/vagy üzleti célokra. Megtehetem ezt?

Nem, mivel ez a két cél ellentmond egymásnak. A GNU GPL-t úgy alakították ki, hogy megakadályozza további korlátozások megadását. A GPLv3 nagyon korlátozott megszorítások megadását lehetővé teszi a 7. szakaszban, de minden más hozzáadott megszorítást a felhasználó eltávolíthat.

A GPLv3 „továbbadás” kifejezése megegyezik a GPLv2 „szétosztás” kifejezésével?

Többé-kevésbé igen. A GPLv2 hatályba léptetése során megtanultuk azt, hogy néhány joghatóság a „szétosztás” szót a saját szerzői jogi törvényében más értelemben használja. Ezért bevezettünk egy új kifejezést a szándékunk tisztázása, illetve a különbségekből eredő problémák elkerülése érdekében.

A GPLv3 a „közzététel” kifejezést adja meg a terjesztésre példaként. Ez mit jelent? A közzététel a továbbadás egyik formája?

„Közzététel” például a szoftver elérhetővé tétele nyilvános webhelyen vagy FTP kiszolgálón keresztül. A közzététel után eltarthat egy ideig, mire valaki ténylegesen megszerzi a szoftvert – de mivel ez azonnal megtörténhetne, a GPL kötelezettségeit is azonnal teljesítenie kell. Ezért bevezettük a továbbadás kifejezést, amely magában foglalja ezt a tevékenységet.

Mivel a szétosztás és a közzététel egyaránt a terjesztés formája, amely a GPLv3-ban továbbadásként szerepel, milyen terjesztési példák vannak, amelyek nem tartoznak bele a továbbadásba?

A terjesztés legelterjedtebb formája, amely nem számít továbbadásnak az, amikor Önmaga számára készít másolatokat. Ezt történhet azért, hogy a szoftvert több gépen lehessen telepíteni vagy biztonsági mentések készítése érdekében.

Egy GPL alá eső bináris állomány teljesítményoptimalizálás céljából történő előszerkesztése egy rendszer különböző függvénytáraiban módosításnak számít?

Nem. Ez az előszerkesztés a fordítási folyamat része. Nem vezet be licenckövetelményeket a fordítás többi szempontján felül. Ha a linkelés engedélyezett, akkor az előszerkesztés is. Ha előzetesen szerkesztett objektumkódot terjeszt, akkor a 6. szakasz feltételeit kell követnie.

Ha valaki GPL-lel licencelt szoftvert telepít a laptopján, majd kölcsönadja ezt a laptopot egy barátjának a szoftver forráskódjának biztosítása nélkül, az megsérti a GPL-t?

Nem. Azokon a joghatósági területeken, ahol ezt a problémát megvizsgáltuk, ez a fajta kölcsönadás nem számít továbbadásnak. A laptop tulajdonosával szemben nem támaszt követelményeket a GPL.

Tételezzük fel, hogy két vállalat megpróbálja megkerülni a Telepítési információk biztosításának követelményét azáltal, hogy az egyik vállalat aláírt szoftvert ad ki, a másik pedig kiad egy felhasználói terméket, amely csak az első vállalattól származó aláírt szoftvert futtat. Ez sérti a GPLv3-at?

Igen. Ha két fél együttműködve megpróbálja megkerülni a GPL követelményeit, akkor mindkettő perelhető a szerzői jog megsértéséért. Ez különösen igaz, mivel a továbbadás meghatározása kifejezetten magában foglalja azokat a tevékenységeket, amelyek valakit felelőssé tesznek a másodlagos sértésért.

Teljesítem a GPLv3 követelményét, ha a bináris állományokat FTP kiszolgálón, a forrásokat pedig forráskódtár hivatkozás formájában biztosítom egy verziókövetési rendszeren, mint például a CVS vagy Subversion?

Ez elfogadható, ameddig a forrás letöltési/lekérési folyamata nem lesz nehézkes vagy egyéb módon korlátozó. Mindenkinek, aki az objektumkódot le tudja tölteni, a forrást is el kell tudnia érni a verziókövetési rendszerről, egy nyilvánosan elérhető szabad szoftverügyféllel. A felhasználók számára egyértelmű és megfelelő útmutatást kell adni a letöltött objektumkódhoz tartozó megfelelő forrás beszerzésére vonatkozóan – elképzelhető, hogy nem a legújabb fejlesztési kódra van szükségük.

Egy GPLv3-mal védett szoftvert Felhasználói termékben továbbadó személy használhat távoli tanúsítványt annak megakadályozása érdekében, hogy a felhasználó módosítsa a szoftvert?

Nem. A telepítési információk meghatározása – amelyet biztosítani kell a forráshoz a szoftver felhasználói terméken belül történő továbbadása esetén -, explicit módon megadja a következőt: „Elegendő információnak kell rendelkezésre állnia ahhoz, hogy a módosított objektumkód folyamatos működését semmi sem akadályozza meg és ne történjen ütközés pusztán a módosítás miatt.” Ha az eszköz távoli tanúsítványt használ, akkor a telepítési információknak lehetőséget kell biztosítania arra, hogy a módosított szoftver magát szabályszerűként tudja jelenteni.

Mit jelent a „hálózaton keresztüli kommunikáció szabályai és protokolljai” a GPLv3-ban?

Ez a hálózaton küldhető forgalommal kapcsolatos szabályokra utal. Ha például a kiszolgálóhoz naponta küldhető kérések száma, vagy a feltölthető fájl mérete korlátozott, akkor elképzelhető, hogy az erőforrások elérését a rendszer a korlátok átlépése esetén megtagadja.

Ezek a szabályok csak a hálózaton átvitt adatokhoz közvetlenül tartozó elemeket tartalmaznak. Ha például a hálózaton lévő kiszolgáló üzeneteket küldött az Ön eszközének felhasználói számára, akkor a hálózat elérése csak azért nem tagadható meg, mert a szoftver módosítva lett, és így nem tudja megjeleníti az üzeneteket.

A terjesztőknek, akik a telepítési információkat GPLv3 alatt biztosítják, nem kell „támogatási szolgáltatást” biztosítaniuk a termékhez. Milyen típusú „támogatási szolgáltatást” értenek ez alatt?

Ez magában foglalja számos eszközgyártó által a termék telepítésének, használatának és hibaelhárításának elősegítése érdekében biztosított szolgáltatását. Ha az eszköz megfelelő működése webszolgáltatások elérésére vagy hasonló technológiára épül, akkor ezeknek normális esetben elérhetőnek kell lennie a módosított változatokhoz, a hálózateléréssel kapcsolatos 6. szakasz feltételei alapján.

GPLv3 és AGPLv3 változatban mit jelent a következő kifejezés: „a licenc egyéb kitételei ellenére”?

Ez egyszerűen azt jelenti, hogy a következő feltételek előnyt élveznek a licenc esetlegesen ütköző feltételeivel szemben. Enélkül a szöveg nélkül például a felhasználók kijelenthetnék, hogy a GPLv3 alatt kiadott kód nem kombinálható AGPLv3 alatt kiadott kóddal, mivel az AGPL további követelményei „további megszorításokként” kerülnének osztályozásra a GPLv3 7. szakasza alatt. Ez a szöveg egyértelművé teszi az értelmezést, így elvégezhető az egyesítés.

Ez a szöveg csak a licenc különböző feltételei közötti ütközéseket oldja fel. Ha nincs ütközés a feltételek között, akkor mindkettőnek teljesülnie kell. Ezek a bekezdések nem adnak szabad kezet a licenc többi részének figyelmen kívül hagyásához – ehelyett nagyon korlátozott kivételeket tesznek lehetővé.

Ha az AGPLv3 13. szakasza alatt módosítom a programot, akkor milyen vonatkozó forrást kell biztosítani?

A „Vonatkozó forrást” a licenc 1. szakasza határozza meg, és az által megadottakat kell biztosítania. Ezért ha a módosított változat más licenc – mint például az Expat licenc vagy a GPLv3 – alatt kiadott függvénytárakra épül, akkor a Vonatkozó forrásnak tartalmaznia kell ezeket a függvénytárakat (hacsak azok nem rendszer függvénytárak). Ha módosította ezeket a függvénytárakat, akkor ezekhez biztosítani kell a módosított forráskódot.

A 13. szakasz első bekezdésének utolsó mondata csak azt hivatott megerősíteni, amit a legtöbben természetesnek feltételeznek: a Vonatkozó forrásnak akkor is tartalmaznia kell a programmal ily módon egyesített kódot, ha a GPLv3 alatt kiadott kód egyesítését a 13. szakasz speciális kivételével kezelik. Ez a mondat nem jelenti azt, hogy Önnek csak a GPLv3 alatt kiadott forrást kell biztosítania. Azt jelenti, hogy az ilyen kód nem kerül kihagyásra a Vonatkozó forrás meghatározásából.

Az AGPLv3-ban mit jelent az „együttműködés [a szoftverrel] távolról, számítógép-hálózaton keresztül?”

Ha a program kifejezetten úgy került kialakításra, hogy elfogadja a felhasználói kéréseket és a válaszokat hálózaton keresztül küldje, akkor az megfelel ezeknek a feltételeknek. Ebbe a kategóriába eső általános programpéldák: web- és levélkiszolgálók, interaktív webes alkalmazások, valamint az online játékok kiszolgálói.

Ha a programot nem kifejezetten úgy alakították ki, hogy a felhasználóval hálózaton keresztül működjön együtt, de olyan környezetben fog futni, ahol ez történik, akkor az nem esik ebbe a kategóriába. Egy alkalmazáshoz például nem kell biztosítania a kódot csak azért, mert a felhasználó SSH-n vagy távoli X munkameneten keresztül használja.

Hogyan hasonlítható össze a GPLv3 „Ön” fogalma az Apache License 2.0 „Jogi személy” meghatározásával?

Ezek lényegében azonosak. Az Apache License 2.0 változatban használt „Jogi személy” kifejezés általánosan használt a jogi szerződésekben – olyannyira, hogy nagyon meglepő lenne, ha a bíróság nem ezt használná explicit meghatározás hiánya esetén. Nagyon reméljük, hogy ugyanez történik, amikor a GPLv3-ra néznek, és megadják, hogy ki a licencelő.

GPLv3-ban a „ Program” kifejezés mire utal? A GPLv3 hatálya alatt kiadott összes programra?

A „Program” kifejezés egy adott munkát jelent, amely GPLv3 hatálya alatt került licencelésre és amelyet egy adott licencelő kapott egy felsőbb szintű licencadótól. A Program adott szoftvermunka, amelyet Ön a GPLv3 licencelés adott példányában kapott meg.

A „Program” nem jelentheti az „összes GPLv3 alatt licencelt munkát”. Ennek több szempontból sincs értelme. Közzétettünk egy „Program” kifejezés elemzése részt azok számára, akkor erről többet szeretnének megtudni.

Ha egy GPL alá eső programot lemásolok és futtatok, szétosztás és közvetítés nélkül, akkor milyen követelményt támaszt a licenc velem szemben?

Semmilyet. A GPL ehhez a tevékenységhez nem ad meg feltételeket.

Ha néhány hálózati ügyfél szoftver AGPLv3 alatt került kiadásra, akkor ezeknek tudniuk kell biztosítani a forrásukat a velük együttműködő kiszolgálók számára?

Ez jellemző kiszolgáló-ügyfél viszony esetén nem szükséges. Az AGPLv3 megköveteli, hogy a program biztosítsa a forráskódot a „vele számítógép-hálózaton keresztül, távolról együttműködő összes felhasználó” számára. A legtöbb kiszolgáló-ügyfél architektúrában egyszerűen nincs értelme kikötni, hogy a kiszolgálóoperátor az ügyféllel értelmes módon együttműködő „felhasználó”.

Tekintsük példának a HTTP-t. Az összes HTTP ügyfél azt várja a kiszolgálótól, hogy bizonyos funkciókat biztosítson: megadott válaszokat kell küldeniük a szabályosan formázott kérésekre. A fordítottja nem igaz, a kiszolgálók nem tételezhetik fel, hogy az ügyfél adott módon tesz valamit a kiszolgálók által küldött adatokkal. Az ügyfél lehet webböngésző, RSS olvasó, webrobot, hálózatmegfigyelő eszköz vagy egyéb speciális célú program. A kiszolgáló semmit sem tételezhet fel az ügyfél lépéseivel kapcsolatban – így nincs értelmes mód arra, hogy kiszolgálóoperátornak a szoftver felhasználóját tekintsük.

Hogyan kompatibilisek a GNU licencek egymással?

A különböző GNU licencek teljesen kompatibilisek egymással. Két különböző GNU licenc hatálya alá eső kód csak akkor nem egyesíthető, ha csak a licenc régi változata alá tartozó kódot kíván együtt használni egy újabb változatú licenc alá tartozó kóddal.

Az alábbiakban a GNU licencek különböző kombinációinak részletes kompatibilitási mátrixa látható, amely egyszerűen használható az adott eseteknél. Ez feltételezi, hogy egy másik fél ezen licencek egyikének hatálya alatt írt szoftvert, és Ön ebből a szoftverből származó kódot kíván egy saját kiadású projektbe átvenni. Keresse meg a saját munkájához tartozó licencet a táblázat tetején lévő oszlopokban, majd a másik kód licencét a bal oldalon lévő sorokban. Az oszlop és sor találkozásánál lévő cella megadja, hogy a kombináció megengedett-e.

„Másolt kódon” a következőt értjük: a kód egy részét - módosítással vagy módosítás nélkül – átveszi egy forrásból, és beilleszti a saját programjába, amely így a kód első részére épülő munkát ad. A „Függvénytár használata” azt jelenti, hogy nem másolja le közvetlenül a forrást, hanem hivatkozással, importálással, vagy egyéb jellemző módszerrel használja, amely a forrásokat a kód fordításakor és futtatásakor összerendeli.


A projektet a következő hatálya alatt kívánom kiadni:
csak GPLv2 GPLv2 vagy újabb GPLv3 vagy újabb csak LGPLv2.1 LGPLv2.1 vagy újabb LGPLv3 vagy újabb
A kódot a következő hatálya alatt kívánom lemásolni: csak GPLv2 OK OK [2] NEM OK, ha GPLv2 változatra tér át [7] OK, ha GPLv2 változatra tér át [7][2] NEM
GPLv2 vagy újabb OK [1] OK OK OK, ha GPL-re tér át [7] OK, ha GPL-re tér át [7] OK, ha GPLv3 változatra tér át [8]
GPLv3 NEM OK, GPLv3 változatra frissít [3] OK OK, ha GPLv3 változatra tér át [7] OK, ha GPLv3 változatra tér át [7][3] OK, ha GPLv3 változatra tér át [8]
csak LGPLv2.1 OK, ha GPLv2 változatra tér át [7] OK, ha GPL-re tér át [7][2] OK, ha GPLv3 változatra tér át [7] OK OK [6] OK, ha GPLv3 változatra tér át [7][8]
LGPLv2.1 vagy újabb OK, ha GPLv2 változatra tér át [7][1] OK, ha GPL-re tér át [7] OK, ha GPLv3 változatra tér át [7] OK [5] OK OK
LGPLv3 NEM OK, ha GPLv3 változatra frissít és tér át [8][3] OK, ha GPLv3 változatra tér át [8] OK, ha GPLv3 változatra tér át [8] OK, LGPLv3 változatra frissít [4] OK
A függvénytárat a következő alatt kívánom használni: csak GPLv2 OK OK [2] NEM OK, ha GPLv2 változatra tér át [7] OK, ha GPLv2 változatra tér át [7][2] NEM
GPLv2 vagy újabb OK [1] OK OK OK, ha GPL-re tér át [7][1] OK, ha GPL-re tér át [7] OK, ha GPLv3 változatra tér át [8]
GPLv3 NEM OK, GPLv3 változatra frissít [3] OK OK, ha GPLv3 változatra tér át [7] OK, ha GPLv3 változatra tér át [7][3] OK, ha GPLv3 változatra tér át [8]
csak LGPLv2.1 OK OK OK OK OK OK
LGPLv2.1 vagy újabb OK OK OK OK OK OK
LGPLv3 NEM OK OK OK OK OK

1: Ebben az esetben a kód beillesztésekor a GPLv2 feltételeit kell követnie. Nem használhatja ki a GPL későbbi változatainak feltételeit.

2: Ebben az esetben amíg a kód csak a GPLv2 hatálya alatt kiadott kódot tartalmaz, nem fogja tudni frissíteni a projekt licencét GPLv3 vagy újabb változatra.

3: Ha a projektet GPLv2 és újabb változat alatt is ki tudja adni, akkor választhat, hogy GPLv3 vagy újabb változat alatt adja ki – és miután ezt megtette, bele tud illeszteni GPLv3 alatt kiadott kódot.

4: Ha a projektet LGPLv2.1 és újabb változat alatt is ki tudja adni, akkor választhat, hogy LGPLv3 vagy újabb változat alatt adja ki – és miután ezt megtette, bele tud illeszteni LGPLv3 alatt kiadott kódot.

5: Ebben az esetben a kód beillesztésekor az LGPLv2.1 feltételeit kell követnie. Nem használhatja ki az LGPL későbbi változatainak feltételeit.

6: Ebben az esetben amíg a kód csak az LGPLv2.1 hatálya alatt kiadott kódot tartalmaz, nem fogja tudni frissíteni a projekt licencét LGPLv3 vagy újabb változatra.

7: Az LGPLv2.1 a GPLv2 óta engedélyezi a kód továbblicencelését a GPL bármely változata alatt. Ha az LGPL-lel védett kódot át tudja állítani a GPL megfelelő változatának (ahogy a táblázatban látható) használatára, akkor elvégezhető az egyesítés.

8: Az LGPLv3 engedélyezi a kód továbblicencelését GPLv3 alatt. Ezekben az esetekben a kód akkor egyesíthető, ha az LGPL-es kódot átalakítja GPLv3 változatra.