Az első részben, amit itt olvashatsz, szó volt általánosságban a licencekről, azok csoportosításáról (zárt-szabad, közkincs, BSD-jellegű licencek, copyleft licencek), a négy szabadságról, valamint az OSI, az FSF és az Open Definition által elfogadott szabad licencekről.
A második cikkben az elterjedtebb szabad licenceket vizsgáltuk meg olyan szempontból, hogy melyik mit engedélyez és mit nem.
Sorozatunk záró részében a licencek kompatibilitásáról ejtünk szót.
Elöljáróban leszögezném, hogy a licenc kompatibilitási kérdések témaköre nagyon bonyolult. Attól függően, hogy milyen irányú kompatibilitásról van szó két licenc között és milyen felhasználási módról van szó.
Szabad szoftver licencek
Készítettem egy táblázatot a gyakoribb szabad szoftver licencek kompatibilitásának szemléltetésére. Mivel nem vagyok jogász, a legjobb igyekezetem ellenére is előfordulhatnak benne hibák, így az adatok csupán tájékoztató jellegűek, felelősséget nem tudok vállalni értük! Az esetleges pontatlanságokat hozzászólásban vagy a kapcsolatfelvételi űrlapon keresztül is jelezheted. Köszönöm!
Amennyiben felhasználnál a programodtól eltérő licencű kódot, és számodra nem egyértelmű, milyen feltételek mellett teheted ezt meg, javaslom mindkét licenc GYIK részének elolvasását. A GNU licencekhez például elég alapos licencelési útmutató és segítség található, ám nem feltétlenül érthetőek elsőre.
Sajnos a többi licenchez nem érhetőek el ilyen teljességű leírások. Vagy amennyiben mégis, azok főként a GPL/LPGL licencekkel való összeférhetőséget elemzik, a kevésbé népszerű szabad licencekre nem térnek ki mélyebben. Az adatgyűjtési folyamat során ezt tapasztaltam, és nem igazán értem az okát. Ahogy a GNU fel tudja sorolni a licenceivel kompatibilis egyéb licenceket, miért nem képes erre mondjuk a Mozilla?
A fentiekből adódóan, mivel nem minden licencnél van egyértelműen leírva, kimondva, mivel kompatibilis és mivel nem, maradt a licenc olvasás a logikázás. Éppen ezért sajnos hibák előfordulhatnak.
Fontos, hogy a GNU licencekre vonatkozó adatok helyesek, mivel az ő általuk közreadott adatokból dolgoztam, amelyek itt érhetőek el. Viszont a BSD, Apache és Mozilla licencek egymáshoz való viszonya némileg kétséges. Mivel ezek megengedő, illetve gyenge copyleft licencek, általános szabálynak elmondható, hogy használhatóak együtt, viszont minden felhasznált kód licencének meg kell felelni. Ha a fentiek közül valamely licenc alatt lévő kódot GPL licenc alatt szeretnénk felhasználni, nincs ilyen problémánk, mivel a táblázat alapján szükséges eljárnunk.
Íme a táblázat:
Miben | 2 pontos BSD / MIT | 3 pontos BSD | Apache 2.0 | MPLv2.0 | GPLv2 | GPLv2+ | GPLv3+ | LGPLv2.1 | LGPLv2.1+ | LGPLv3+ |
---|---|---|---|---|---|---|---|---|---|---|
Mit | ||||||||||
2 pontos BSD | OK | 3 pontos BSD alatt | Apache 2.0 alatt | MPLv2.0 alatt | GPLv2 alatt | GPLv3 alatt | GPLv3+ alatt | LGPLv2.1 alatt | LGPLv2.1+ alatt | LGPLv3+ alatt |
3 pontos BSD | Nem | OK | Apache 2.0 alatt | MPLv2.0 alatt | GPLv2 alatt | GPLv3 alatt | GPLv3+ alatt | LGPLv2.1 alatt | LGPLv2.1+ alatt | LGPLv3+ alatt |
Apache 2.0 | Nem | Nem | OK | OK | Nem | GPLv3 alatt | GPLv3 alatt | Nem | LGPLv3 alatt | LGPLv3+ alatt |
MPLv2.0 | Nem | Nem | OK | OK | kettős licenc alatt | kettős licenc alatt | kettős licenc alatt | kettős licenc alatt | kettős licenc alatt | kettős licenc alatt |
GPLv2 | Nem | Nem | Nem | Nem | OK | GPLv2 alatt | Nem | GPLv2 alatt | GPLv2 alatt | Nem |
GPLv2+ | Nem | Nem | Nem | Nem | GPLv2 alatt | OK | GPLv3 alatt | GPLv2+ alatt | GPLv2+ alatt | GPLv3 alatt |
GPLv3+ | Nem | Nem | Nem | Nem | Nem | GPLv3 alatt | OK | GPLv3 alatt | GPLv3 alatt | GPLv3 alatt |
LGPLv2.1 | Nem | Nem | Nem | Nem | GPLv2 alatt | GPLv2+ alatt | GPLv3 alatt | OK | OK | GPLv3 alatt |
LGPLv2.1+ | Nem | Nem | Nem | Nem | GPLv2 alatt | GPLv2+ alatt | GPLv3 alatt | LGPLv2.1 alatt | OK | LGPLv3+ alatt |
LGPLv3+ | Nem | Nem | Nem | Nem | Nem | GPLv3 alatt | GPLv3 alatt | GPLv3 alatt | LGPLv3 alatt | OK |
Ahogy látható, nem csak a kompatibilitás meglétét, illetve nemlétét tüntettem fel, hanem igyekeztem jelezni a feltételeket is. A feltételek legfontosabbika, hogy milyen licenc alatt egyesíthetőek az első oszlopban feltüntetett licencű kódok az első sorban feltüntetett licencű kódokkal.
Külön felhívnám a figyelmet az MPL-re, mivel a Mozilla licencének van egy olyan feltétele, hogy az eredetileg MPL alatt lévő kódnak MPL alatt is maradnia kell, ha nagyobb munkában összefűzésre kerül eltérő licencű kóddal (pl. GPL-lel). Ez nem azt jelenti, hogy az egész kódot kettős licenc alatt szükséges kiadni, csupán azt kell biztosítanunk, hogy az MPL alatti kódok megmaradjanak MPL-nek is.
Még egy megjegyzést tennék. A GPL licencek végén szereplő + jel azt jelzi, hogy adott és tetszőleges későbbi verzió. Tehát a GPLv2+ azt jelzi, hogy az adott kód GPLv2 és bármely annál újabb GPL licenc alatt kiadható. A táblázatban azért szerepelnek külön tételként, mert ahogy látható, jelentős eltéréseket mutat a kompatibilitásuk szempontjából.
Szabad licencek
A szoftver licenceken kívül szeretnék még kitérni az általános célú szabad licencekre is, ezért bemutatom a különböző Creative Commons licencek egymással való kompatibilitását is.
Fontos: A Creative Commons licencek általánosak, nem javasoltak szoftverek licencelésére. Valamint nem minden CC licenc szabad licenc! A Ne add el! (NC) és a Ne változtasd! (ND) feltételt tartalmazó licencek nem szabadok. Például: Creative Commons Nevezd meg! - Ne add el! - Ne változtasd! 4.0 Nemzetközi Licenc (CC BY-NC)
A GPLv3 kompatibilis az általunk is használt CC-BY-SA 4.0 licenccel, ám csak egy irányúan. Ez azt jelenti, hogy CC-BY-SA 4.0 alatt licencelt tartalmakat felhasználhatsz GPLv3 alatt, visszafelé ez nem működik.
Ezen kívül az alábbi táblázat mutatja, hogyan használhatóak fel a CC licencek egymásban.
Az első public domain jelzés a közkincset jelzi, a második pedig a CC Zero (CC0) licencet. Ezen kívül fontos, hogy a CC-BY-SA után szereplő licencek nem szabad licencek!
Az alábbi kép a Creative Commons oldaláról származik.
Összefoglalás
Három részes sorozatunk átnéztük a fontosabb szabad licenceket, azok jellemzőit, megkötéseit és egymással való kompatibilitásukat. Mindhárom részben igyekeztem a lehető legpontosabb eljárni, ám a licencek jogi sajátosságai miatt az adatok csupán tájékoztató jellegűek. Ennek ellenére remélem, hasznos volt a licencbemutató sorozatunk.