Licenc kompatibilitás - License compatibility

A licenckompatibilitás egy jogi keret, amely lehetővé teszi a különböző szoftverlicencekkel rendelkező szoftverek együttes terjesztését. Az ilyen keretrendszerre azért van szükség, mert a különböző licencek ellentmondó követelményeket tartalmazhatnak, ami lehetetlenné teszi a külön licencből származó szoftver forráskódjának legális kombinálását egy új program létrehozása és közzététele érdekében. A tulajdonosi licencek általában programspecifikusak és összeegyeztethetetlenek; a szerzőknek tárgyalniuk kell a kód egyesítéséről. A Copyleft licencek szándékosan összeegyeztethetetlenek a tulajdonosi licencekkel, hogy megakadályozzák a copyleft szoftverek újbóli engedélyezését saját licenc alapján, és saját szoftverré alakítsák azt. Számos copyleft licenc kifejezetten engedélyezi az újrafelhasználást más copyleft licencek alapján. Az engedélyek (kisebb kivételekkel) mindennel kompatibilisek, beleértve a tulajdonosi licenceket is; így nincs garancia arra, hogy minden származtatott mű engedélyezett licenc alatt marad.

Definíciók

A licenckompatibilitás a "kollektív/kombinált/összesített munka" és a " származékos munka " fogalmak körül határozható meg . Az első " kollektív mű " licenc-kompatibilitási definíció lehetővé teszi a különböző licencű művek kombinált kontextusban történő használatát:

két (vagy több) licenc jellemzője, amely szerint az ezen licencek alatt terjesztett kódok összeállíthatók egy nagyobb terjeszthető szoftver létrehozása érdekében . [kiemelés hozzáadva]

-  Philippe Laurent, A GPLv3 és kompatibilitási problémák, EOLE 2008

Az erősebb meghatározás magában foglalja a licenc megváltoztatásának lehetőségét. A legszembetűnőbb példa a copyleft licenc azon igénye, hogy a " licencből származó művet" a különböző licencek egészéből származó kódból kombinálva alkalmazzák a copyleft licencre.

Licenc -kompatibilitás: A licenc azon jellemzője, amely szerint az ezen licenc alapján terjesztett kód integrálható egy nagyobb szoftverbe, amelyet egy másik licenc alapján terjesztenek . [kiemelés hozzáadva]

-  Philippe Laurent, A GPLv3 és kompatibilitási problémák, EOLE 2008

A kombinált művek fajtái

Licenc kompatibilitás a fejlesztő saját kódjának és a külső fejlesztésű nyílt forráskódú licenc kódnak a származtatott művekhez és kombinált művekhez (kiigazítva Välimäki 2005-ből)

A kombinált munka több, különböző engedéllyel rendelkező részből áll (elkerülve az ismételt engedélyezést ). A copyleft által engedélyezett összetevőket tartalmazó kombinált munka eléréséhez (amelyek vírusos tulajdonságai potenciálisan származtatott munkához vezetnek ), megfelelő izolációt/elválasztást kell fenntartani.

Az egyedileg licencelt forráskód fájlokkal több, nem kölcsönös licenc (például megengedő licencek vagy saját tulajdonú kód) szétválasztható, míg az összevont program újra licencet adhat (de ez nem kötelező). Az ilyen forráskód-fájl-szétválasztás túl gyenge a copyleft/reciprocal licencek (például a GPL) számára, mivel ezek megkövetelik, hogy a teljes művet a kölcsönös licenc alapján újra engedélyezzék, mint származékot.

Kicsit erősebb megközelítés, ha a bináris objektumkóddal ( statikus linkelés ) a szétválasztás a linkelési szakaszban történik , ahol a kapott program minden összetevője ugyanazon folyamat és címtér része . Ez kielégíti a "gyenge copyleft/standard reciprocal" kombinált műveket (például az LGPL licencet), de nem az "erős copyleft/erős reciprocal" kombinált műveket. Bár általánosan elfogadott, hogy az összekapcsolás ( statikus és akár dinamikus összekapcsolás ) egy erős copyleft'd munka származéka, alternatív értelmezések léteznek.

Az "erős copyleft" modulokkal végzett kombinált munkákhoz erősebb szigetelésre van szükség. Ezt úgy érhetjük el, hogy a programokat saját folyamattal szétválasztjuk, és csak bináris ABI -k vagy más közvetett eszközök segítségével engedélyezzük a kommunikációt . Példák Android „s kernel space -to- felhasználói tér útján való elkülönítése Bionic , vagy Linux disztribúciók amelyek szabadalmazott bináris festékfoltok tartalmazza annak ellenére, hogy egy erős copyleft kernel .

Míg egyes tartományok esetében létezik megállapodás, ha az elkülönítés megfelelő, vannak olyan területek, amelyek vitatottak, és mindeddig nem voltak tesztelve a bíróságon. Például 2015 -ben az SFC beperelte a VMware -t egy folyamatban lévő vitában azzal kapcsolatban, hogy a betölthető kernelmodulok (LKM -ek) a GPL Linux kernelének származtatott alkotásai -e vagy sem.

FOSS licencek kompatibilitása

Licenszkompatibilitás a közös FOSS szoftverlicencek között David A. Wheeler (2007) szerint: a nyilak egy irányú kompatibilitást jelölnek, tehát jobb kompatibilitást a bal oldalon, mint a jobb oldalon.

Az ingyenes és nyílt forráskódú szoftverek (FOSS) közös licencei nem feltétlenül kompatibilisek egymással, és ez jogilag lehetetlenné teheti a nyílt forráskód keverését (vagy linkelését ), ha az összetevők eltérő licenccel rendelkeznek. Például az a szoftver, amely a Mozilla Public License (MPL) 1.1 verziója alatt kiadott kódot a GNU General Public License (GPL) szerinti kóddal kombinálta, nem terjeszthető a licencek egyik feltételének megsértése nélkül; ez annak ellenére, hogy mindkét licencet mind a nyílt forráskódú kezdeményezés, mind a Free Software Foundation jóváhagyta .

A copyleft licenc és egy másik licenc közötti licenckompatibilitás gyakran csak egyirányú, ezért a copyleft licenc (GPL és a legtöbb más copyleft licenc) nem kompatibilis a szabadalmazott kereskedelmi licencekkel, valamint számos nem szabadalmazott licenccel. Ezt az "egyirányú kompatibilitási" tulajdonságot bírálta az Apache Foundation , amely a megengedőbb Apache licenc alapján licenceli , mivel az ilyen nem copyleft licencek gyakran kevésbé bonyolultak, és jobb licenckompatibilitást tesznek lehetővé.

A más FOSS licencekkel kiválóan kompatibilis licencre példa az Artistic License 2.0, az újbóli engedélyezési záradéka miatt, amely lehetővé teszi a forráskód bármely más FOSS licenc szerinti újraelosztását.

Forrásként terjesztheti a módosított verziót (ingyenesen vagy forgalmazói díj ellenében, a módosított verzió összeállított űrlapjával vagy anélkül) [...], feltéve, hogy az alábbiak közül legalább egyet megtesz: […]

(c) lehetővé teszi, hogy bárki, aki megkapja a módosított verzió egy példányát, hozzáférhetővé tegye a módosított verzió forráslapját másoknak

(i) az eredeti engedély vagy

(ii) olyan licenc, amely lehetővé teszi az engedélyes számára, hogy szabadon másolja, módosítsa és terjessze a módosított verziót, ugyanazokkal a licencfeltételekkel, amelyek a licencvevő által kapott példányra vonatkoznak, és megköveteli, hogy a módosított verzió és minden származékos mű Forrás formája legyen szabadon hozzáférhetővé kell tenni, amennyiben a licencdíjak tilosak, de a Forgalmazói díjak megengedettek. [kiemelés hozzáadva]

A Közös Fejlesztési és Terjesztési Licenc (CDDL) -gyenge copyleft licensz a GPL licenc és a BSD / MIT engedélyező licencek között-megpróbálja kezelni a licenc kompatibilitási problémákat azáltal, hogy újbóli engedélyezés nélkül engedélyezi a CDDL-licencű forráskód keverését. forráskód fájlokkal rendelkező fájlokat más licencek alapján, azzal a feltétellel, hogy a kapott bináris fájl más licenccel is licencelhető és értékesíthető, amennyiben a forráskód még elérhető CDDL alatt.

GPL kompatibilitás

A FOSS ökoszisztéma licenceinek elterjedésének és összeférhetetlenségének minimalizálása érdekében egyes szervezetek (például a Szabad Szoftver Alapítvány) és személyek (David A. Wheeler) azzal érvelnek, hogy a kompatibilitás a széles körben használt GPL -lel a szoftverlicencek fontos jellemzője. Számos leggyakoribb ingyenes szoftverlicenc, különösen a megengedő licencek , mint például az eredeti MIT/X licenc , BSD licencek (három és két záradékos formában, bár nem az eredeti négymondatos formában), MPL 2.0 és az LGPL , GPL-kompatibilisek . Vagyis a kódjuk konfliktus nélkül kombinálható a GPL szerinti programmal, és az új kombináció a GPL -t az egészre alkalmazza (de a másik licenc nem vonatkozik erre).

Copyleft licencek és GPL

A Copyleft szoftverlicencei eredendően nem GPL-kompatibilisek; még a GPLv2 licenc sem kompatibilis a GPLv3 vagy LGPLv3 szoftverrel. Ha a későbbi GPL licencek bármelyikében kiadott kódot a GPLv2 kóddal szeretné kombinálni, megsérti a GPLv2 6. szakaszát, az összeférhetetlenség forrását. A későbbi licencek kódja azonban kombinálható a GPL 2. vagy újabb verziója szerint licencelt kóddal. A GPLv2 alatt kiadott szoftverek többsége lehetővé teszi a GPL későbbi verzióinak feltételeinek használatát is, és vannak olyan kivételi záradékok, amelyek lehetővé teszik azok kombinálását olyan szoftverekkel, amelyek különböző licencek vagy licencverziók alatt állnak. A Linux kernel figyelemre méltó kivétel, amelyet kizárólag a GPLv2 feltételei alapján terjesztenek.

GFDL és GPL

A Free Software Foundation által ajánlott GNU Free Documentation License nem kompatibilis a GPL licenccel, és a GFDL alapján licencelt szöveget nem lehet beépíteni a GPL szoftverbe. Ezért a Debian projekt 2006 -os határozatában úgy döntött, hogy engedélyezi a dokumentációt a GPL alapján. A FLOSS Manuals alapítvány 2007-ben követte a Debian-t. 2009-ben a Wikimedia Foundation a GFDL-ről a Creative Commons CC-BY-SA licencre váltott, mint projektjeik fő licence.

CDDL és GPL

Egy másik eset, ahol a GPL -kompatibilitás problémás, a CDDL licencű ZFS fájlrendszer a GPLv2 licencű Linux -kernellel . Annak ellenére, hogy mindkettő ingyenes szoftver copyleft licenc alapján, a ZFS nem kerül forgalomba a legtöbb linuxos disztribúcióval, mint például a Debian (de a FreeBSD -vel ), mivel a CDDL -t a Free Software Foundation és egyes felek összeegyeztethetetlennek tartják a GPL Linux kerneljével kapcsolatai az FSF -fel. A jogi értelmezés - ha és ha ez a kombináció a GPLed -kernel kombinált munkája vagy származtatott munkája - kétértelmű és ellentmondásos. 2015 -ben a CDDL -GPL kompatibilitási kérdés újra felmerült, amikor az Ubuntu linuxos disztribúció bejelentette, hogy alapértelmezés szerint tartalmazza az OpenZFS -t . 2016 -ban az Ubuntu bejelentette, hogy egy jogi felülvizsgálat azt a következtetést vonta le, hogy jogilag biztonságos a ZFS bináris kernelmodulként való használata Linux alatt. Mások elfogadták az Ubuntu következtetését; James EJ Bottomley ügyvéd például azzal érvelt, hogy "a kár meggyőző elmélete" nem alakítható ki, ami lehetetlenné teszi az ügy bíróság elé állítását. Eben Moglen , a GPLv3 társszerzője és az SFLC alapítója azzal érvelt, hogy bár a GPL betűit megsérthetik, mindkét licenc szellemét betartják, ami a bíróságon releváns kérdés lenne. Másrészt Bradley M. Kuhn és Karen M. Sandler , a Software Freedom Conservancy munkatársai azzal érveltek, hogy az Ubuntu megsérti mindkét licencet, mivel a bináris ZFS modul a Linux kernel származékos munkája lenne, és bejelentették szándékukat. egyértelműség ebben a kérdésben, akár a bírósághoz fordulva.

CC BY-SA és GPLv3

2015. október 8-án a Creative Commons arra a következtetésre jutott, hogy a CC BY-SA 4.0 bejövőben kompatibilis a GPLv3-mal.

Creative Commons licenc kompatibilitás

A Creative Commons licenceket széles körben használják a tartalomhoz, de a hét ajánlott és támogatott licenc nem minden kombinációja kompatibilis egymással. Ezenkívül ez gyakran csak egyirányú irányú kompatibilitás, amely megköveteli, hogy a teljes művet a szülőmunka legszigorúbb licencével licencbe vegyék.

Licenc kompatibilitási táblázat két CC licencelt mű kombinálására vagy keverésére
Nyilvános domain jel ikon
CC0 ikon
CC-BY ikon CC-BY-SA ikon CC-by-NC ikon
CC-BY-NC-SA ikon
CC-BY-NC-ND ikon
CC-BY-ND ikon
Nyilvános domain jel ikon
CC0 ikon
Igen Igen Igen Igen Nem
CC-BY ikon Igen Igen Igen Igen Nem
CC-BY-SA ikon Igen Igen Igen Nem Nem
CC-by-NC ikon
CC-BY-NC-SA ikon
Igen Igen Nem Igen Nem
CC-BY-NC-ND ikon
CC-BY-ND ikon
Nem Nem Nem Nem Nem

JSON licenc

A JSON fejlesztője, Douglas Crockford Bush akkori elnök szavaitól ihletve a JSON könyvtárak nyílt forráskódú, de a kényszeríteni ( troll ) vállalati jogászokat (vagy azokat, akik túlságosan pedánsak), hogy fizessenek az államtól kapott engedélyért. A szubjektív és erkölcsi licenc záradék licenc-inkompatibilitási problémákhoz vezetett más nyílt forráskódú licencekkel , és azt eredményezte, hogy a JSON licenc nem ingyenes és nyílt forráskódú licenc.

Új licenc a kompatibilitás érdekében

Néha a projektek összeegyeztethetetlen licencekkel zárulnak, és a megoldás egyetlen lehetséges módja az inkompatibilis alkatrészek újbóli engedélyezése. Az újbóli engedélyezést úgy érik el, hogy kapcsolatba lépnek az összes érintett fejlesztővel és más felekkel, és beleegyeznek a módosított licencbe. Míg az ingyenes és nyílt forráskódú tartományban gyakran lehetetlen elérni a 100% -os egyetértést, a sok közreműködő miatt a Mozilla újralicencelési projekt azt feltételezi, hogy a 95% elérése elegendő a teljes kódbázis újbóli engedélyezéséhez. Mások az FOSS tartományban, például Eric S. Raymond , más következtetésre jutottak a teljes kódbázis újbóli engedélyezésére vonatkozó követelmények tekintetében.

Példák az újbóli engedélyezésre

Egy korai példa a projektre, amely licenc-inkompatibilitási okok miatt sikeresen újra licencelt, a Mozilla projekt és a Firefox böngészője . A forráskód a Netscape „s Communicator 4.0 böngésző eredetileg megjelent 1998-ban az Netscape Public License / Mozilla Public License , de bírálták a Free Software Foundation (FSF) és OSI amiért összeegyeztethetetlen a GNU General Public License (GPL). 2001 körül a Time Warner , a Netscape Public License alapján gyakorolt ​​jogait gyakorolva, és a Mozilla Foundation kérésére újra licenceli a Mozilla összes olyan kódját, amely a Netscape Public License alatt volt (beleértve a többi közreműködő kódját is) egy MPL 1.1/GPL-re 2.0/ LGPL 2.1 tri-licenc , így GPL-kompatibilitás érhető el.

A Vorbis könyvtárat eredetileg LGPL néven engedélyezték , de 2001 -ben Richard Stallman jóváhagyásával az engedélyt a kevésbé korlátozó BSD licencre változtatták , hogy felgyorsítsák a könyvtár elfogadását.

A VLC projekt bonyolult licenc előzményekkel rendelkezik a licencek inkompatibilitása miatt, és 2007 -ben a projekt úgy döntött a licenc kompatibilitás érdekében, hogy nem frissít a most megjelent GPLv3 -ra . 2011 októberében, miután a VLC-t 2011 elején eltávolították az Apple App Store-ból , a VLC-projekt a jobb kompatibilitás elérése érdekében újra engedélyezte a VLC könyvtárat, a GPLv2-ről az LGPLv2-re. 2013 júliusában, amikor a szoftver újra licencelt a Mozilla Public License alatt , a VLC alkalmazást ezután újra elküldik az iOS App Store-ba .

A Free Software Foundation GNU Free Documentation License 1.2 verziója nem kompatibilis a széles körben használt Creative Commons Attribution-ShareAlike licenccel, ami például a Wikipédia számára jelentett problémát . Ezért a Wikimedia Foundation kérésére az FSF a GFDL 1.3-as verziójához hozzáadott egy korlátozott időtartamú szakaszt, amely lehetővé tette, hogy a GFDL-t használó webhelyek bizonyos típusai a CC BY-SA licenc alapján is felajánlhassák munkájukat. Ezt követően 2009 júniusában a Wikimédia Alapítvány a korábban használt GFDL mellett kettős licenccel áttelepítette projektjeiket ( Wikipédia , stb.) A Creative Commons Attribution-ShareAlike-ra , a korábban használt GFDL mellett , hogy javítsa a licencekkel való kompatibilitást a nagyobb szabad tartalom ökoszisztéma.

Egy másik érdekes eset volt, a Google „s újra engedélyeztetése GPLv2 licenc alatt Linux kernel header fájlok a BSD licenc azok Android könyvtár Bionic . A Google azt állította, hogy a fejlécfájlok nem tartalmaznak semmilyen szerzői joggal védett művet, és nem szerzői joggal védett "tényekre" redukálják őket, és így nem tartoznak a GPL hatálya alá. Ezt az értelmezést Raymond Nimmer, a Houston Egyetem Jogi Központ jogi professzora vitatta . Az Android alkalmazásait és illesztőprogramjait, amelyek egyre több Android -funkciót biztosítanak, fokozatosan újra engedélyezték a megengedőből a saját tulajdonú licencekbe.

2014 -ben a FreeCAD projekt a GPLv3/GPLv2 inkompatibilitások miatt GPL -ről LGPLv2 -re változtatta licencét. Szintén 2014-ben a Gang Garrison 2 új licencet kapott a GPLv3-ról MPL-re a jobb könyvtári kompatibilitás érdekében.

A KaiOS mobil operációs rendszer a Firefox OS/Boot to Gecko operációs rendszerből származik, amelyet a megengedett MPL 2.0 alatt adtak ki . Nem terjeszti újra magát ugyanazon licenc alapján, így most feltehetően újra licencelt, és saját tulajdonú (de még mindig többnyire nyílt forráskódú). A KaiOS az Androidban is használt GPL Linux kernelt használja.

Lásd még

Hivatkozások