3. Taler engedélyezési információk#

Ez a fájl áttekintést ad a Taler összes komponensének licenceléséről és futásidejű függőségeiről. A „komponens” ebben a kontextusban forrásfájlok halmazaként értelmezendő, amelyek egyetlen Git-tárból szerezhetők be. Ha a komponensek különböző licencrendszerek alá tartozó forrásokból állnak, például azért, mert lehetővé kívánjuk tenni, hogy harmadik féltől származó fejlesztések könnyen integrálhatók legyenek a Talerrel, akkor ezek is le vannak írva.

Minden komponens általában Lesser GPL, GPL vagy Affero GPL alatt kerül kiadásra. A fő stratégia szerint a harmadik fél által a Talerrel integrálandó könyvtárak LGPL alatt, az önálló bináris programok és tesztalkalmazások GPL alatt, a webszolgáltatásokat és REST API-kat megvalósító webkiszolgálók pedig AGPL alatt állnak. A triviális kódot (például a build logikát) alkalmanként egyszerűen közkinccsé teszik. Azoknak a jogszabályoknak, amelyeknek nincs nyilvános tartományuk, ezt a kódot LGPL alatt állónak kell tekinteniük.

A projekt kezdetben a GNUnet e.V. és az INRIA kódja és dokumentációja alapján indult, és a GNUnet közösség és a Taler Systems SA folytatja a fejlesztést. Az INRIA és a GNUnet e.V. egyaránt átruházta vagy megosztotta szerzői jogait a Taler Systems SA-val. Így általánosságban azt kell mondani, hogy a kód a Taler Systems SA szerzői joga.

Szorosan együttműködünk a GNU Anastasis csomaggal is. Itt ugyanaz a szerzői jogmegosztás van érvényben a BFH eredeti fejlesztői és a GNUnet e.V. között, azzal a különbséggel, hogy a szerzői jogokat az Anastasis SARL-ra ruházták vagy megosztották. Olyan megállapodások vannak érvényben, amelyek lehetővé teszik, hogy a fejlesztők szabadon mozgathatják a kódot a GNU Anastasis, a GNUnet és a GNU Taler között, ha ez technikailag indokolt (megjegyzendő, hogy minden fejlesztőnek alá kell írnia a GNUnet e.V. szerzői jogi hozzájárulási megállapodását).

Vegye figyelembe, hogy ez a fájl lehet elavult. Kétség esetén kérjük, forduljon az érintett GNU karbantartókhoz (jelenleg Florian Dold, Christian Grothoff és Martin Schanzenbach), mivel általában nekik van felelősségük és joguk meghatározni az egyes komponensek megfelelő licencét. (Ezt a jogot technikailag az egyes közreműködők által aláírt szerzői jogi megállapodások biztosítják és korlátozzák, és esetleg az Anastasis SARL, a GNUnet e.V. és a Taler Systems SA döntéshozatali folyamatainak függvénye. A gyakorlatban azonban ez eddig soha nem jelentett problémát, mivel eddig mindenki egyetértett a licencelési stratégiával, és a karbantartók csak kisebb módosításokat hajtanak végre a stratégia következetes végrehajtása érdekében, ha problémák merülnek fel, például ha a kód LGPL, GPL és AGPL licencű komponensek között mozog, vagy ha a fejlesztők véletlenül rossz licencet használnak egy fejlécben.)

3.1. Az AGPL-t követve#

Az AGPL fő célja, hogy a szolgáltatótól megkövetelje, hogy a szolgáltatás forráskódját könnyen hozzáférhetővé tegye a szolgáltatás minden felhasználója számára.

A GNUnet, GNU Taler és GNU Anastasis esetében ezt a követelményt egy /agpl/ végpont implementálásával valósítjuk meg, amely az API felhasználóit a komponens és függőségei forráskódjához (vagy egy TGZ vagy egy átirányítás a Git tárolóhoz) irányítja (úgy gondoljuk, hogy elfogadható, ha nem tartalmazunk olyan változatlan függőségeket, amelyek már máshol könnyen elérhetőek és megtalálhatók). A forráskódnak (a GPL meghatározása szerint) ezután ingyenesen és hozzáférés-ellenőrzés nélkül letölthetőnek kell lennie erről a címről, fejlesztésre alkalmas formában (azaz a build-rendszerrel és az utasításokkal együtt). A kód GPL alatt történő terjesztésére vonatkozó összes szokásos korlátozás is érvényes.

Ha olyan forrásokat telepítesz, amelyek a GNU által kiadott upstream verziókhoz képest módosultak, akkor kell frissítened a /agpl/ végpontot, hogy a módosított forráskódra mutasson. Vegye figyelembe, hogy mindig kell elérhetővé tennie a ténylegesen telepített verzió kódját, amely tartalmazza a testreszabásokat, bővítéseket, integrációkat vagy biztonsági javításokat vagy hibajavításokat.

3.2. A GPL-t követve#

A GPL megköveteli, hogy az adott program forráskódját minden olyan felhasználó számára hozzáférhetővé tegye, aki a programot futtatja. Ez ismét magában foglalja az Ön által elvégzett testreszabásokat (márkaépítés, tematizálás, bővítések, integrációk, biztonsági fejlesztések vagy hibajavítások). A módosított program forráskódját ismét a GPL alatt kell közzétenni, és a program minden felhasználója számára ésszerűen könnyen és ingyenesen hozzáférhetővé kell tenni.

A GNU kiadások módosítatlan verzióinak bináris változatainak szállítása esetén ez teljesül, mivel a GNU a forrásokat a projekt Git tárolóin és a GNU projekt FTP-tükrén keresztül is elérhetővé teszi. A binárisok létrehozásához írt csomagolási logikát továbbra is elérhetővé kell tennie mások számára.

3.3. Az LGPL-t követve#

Az LGPL betartása érdekében alapvetően mindent megteszel, amit a GPL alatt kell tenned, ha a rendelkezésedre bocsátott forrásokról van szó.

Az LGPL alatt rendelkezésre bocsátott kódot azonban integrálhatja más, nem az LGPLv3+ alatt álló kóddal. Mindazonáltal a meglévő kódunk módosításainak az LGPLv3+ alatt kell maradniuk, és erősen ösztönözzük, hogy a teljes kódot megfelelő FLOSS licenc alatt adják ki.

3.4. Oktatóanyagok (git://git.taler.net/tutorials)#

A specifikációt eredetileg az INRIA és a „GNUnet e.V.” nevű jogi személy fejlesztette ki. Minden egyes forrásfájl esetében a fejléc jelzi, hogy kié a szerzői jog, mivel egyes részek „szó szerint” a GNUnet e.V. alapítványtól származnak, míg más részeket az INRIA vagy a Taler Systems SA „ex novo” fejlesztett ki.

Általában a GNU GPLv3 licencet használják rájuk; lásd COPYING.GPL.