A Black Duck Software tudásbázisának adatait felhasználva folyamatosan hozzáférhetővé teszi a nyílt forráskódú szoftverlicencek népszerűségének rangsorát (a grafikonon a január 22-i adatok láthatók). Míg néhány évvel ezelőtt a GPL licenc egyértelműen vezette a listát, a jelenleg elérhető sorrend első helyezettje a megengedő MIT licenc. Különösen figyelemre méltó ez a tény azt figyelembe véve, hogy a lista harmadik és ötödik helyezettje is megengedő licenc (Apache License 2.0, BSD License 2.0), melyek így látványosan jelentős "részesedést" hasítanak ki a nyílt forráskódú licenceket alkalmazó szoftverfejlesztési projektek tortájából.
(Forrás: Black Duck Software)
Licencelési háttér röviden
Anélkül, hogy hosszasan értekeznék a szoftverek jogi védelmének szabályairól, illetve a nyílt forráskódú (szabad vagy FLOSS – FreeLibreOpenSourceSoftware) szoftverlicencelés sajátosságairól, jogászként mindig fontosnak tartok néhány alapvetést megemlíteni, mikor egy, a FLOSS licenceléssel összefüggő kérdés értékelésére kerül sor.
A szoftvert védi a jog (szerzői mű) – ezt mindenki tudja. A szabad szoftvert mindenki használhatja, ezért szabad – ezt mindenki így gondolja. Viszont az, hogy ha a szabad szoftver szabad, és mindenki használhatja, miért vannak mégis szerzői jogi perek, amelyek a szabad szoftver nem jogszerű felhasználását vizsgálják, nem biztos, hogy egyértelmű.
A szoftvert védi a szerzői jog – ez igaz. Mindenfajta szoftvert véd a szerzői jog, mely a védelem kritériumainak megfelel: így a szabad szoftvert is. Azaz a szerzői jog nem a szabad vagy a tulajdonosi szoftvert védi, hanem a szoftvert. Egy szoftver attól lesz szabad vagy tulajdonosi, hogy a felhasználását "szabad" vagy "tulajdonosi" licenccel engedélyezik. Nagyon leegyszerűsítve: a szerzőnek (a szoftver fejlesztőjének) joga, hogy művét maga felhasználja, vagy felhasználását más számára engedélyezze, azaz a szerzőn kívüli felhasználók az alapján lesznek jogszerű felhasználók, hogy a szerző engedélyt ad számukra a mű felhasználására. A szerző és a felhasználó között létrejövő szerződés a felhasználási szerződés, köznyelvben: licenc.
Mivel a szoftverlicencek gyakran általános szerződési feltételeket tartalmaznak, és bizonyos szerzők/jogosultak bizonyos fajta szoftvereket hasonló rendelkezések alapján engedélyeznek, a szoftveriparban létrejöttek tipikus licencek vagy licenctípusok. A kategóriák nem tökéletesen letisztultak, de a két fő halmaz a tulajdonosi (azaz "tulajdonosi licenccel" engedélyezett) szoftverek és a szabad (azaz "szabad licenccel" engedélyezett) szoftverek csoportja.
A tulajdonosi (vagy zárt forráskódú) szoftverek esetében a jogosult a licencben tipikusan nagy részletességgel meghatározza a szoftver felhasználásának módját és terjedelmét, kizárja a forráskód megismerésének és a szoftver átdolgozásának, továbbá – leggyakrabban – a szoftver terjesztésének lehetőségét.
A szabad (vagy nyílt forráskódú, összefoglalóan FLOSS) szoftverek esetében a jogosult a szerződésben engedélyezi a szoftver forráskódjának megismerését, szabad tanulmányozását, a szoftver szabad futtatását, másolását, terjesztését, átdolgozását. Ez alapján a szoftver teljesen "szabadnak" tűnik, mivel az előbbiek alapján az tulajdonképpen bárki számára hozzáférhetővé válik, kvázi közkincsbe kerül.
Itt érdemes viszont újra arra gondolni, amit mindenki tud: a szoftver szerzői mű, jogszerű felhasználása kizárólag a szerző engedélye alapján lehetséges. Így ha a szerzőnek az a szándéka, hogy a szoftvere szabad szoftver legyen, ezt a célt szolgáló licenccel kell a felhasználását engedélyeznie. Az nem megoldás, hogy publikálom a szoftveremet mindenféle tájékoztatás és licenc nélkül azt sugallva, hogy semmilyen korlátozást nem szeretnék alkalmazni: mivel a szoftver szerzői jogi oltalom alatt áll, minden felhasználó, aki az így közzétett szoftvert használni kezdi, engedély nélküli felhasználó lesz. Ha a fejlesztőnek az a célja, hogy szoftverét minél többen megismerjék, használják, olyan tartalmú felhasználási szerződést kell kötnie a felhasználóval, ami ennek a célnak megfelel.
A FLOSS licencek típusai
A szerző joga tehát, hogy saját műve vonatkozásában a felhasználó számára "szabadságot" garantáljon. Természetesen az is a szerző joga, hogy meghatározza e szabadság mértékét.
A tipikus rendelkezések alapján a FLOSS licencek is csoportokra bonthatóak, a csoportokon belül pedig több alcsoport és rengeteg FLOSS ÁSZF (általános szerződési feltételek) található – ahogy fent utaltam rá, a kategorizálás/elnevezések nem teljesen egységesek, de a főbb jellemzők egyértelműek.
Erős copyleft/GPL-típusú licencek: Az ún. GPL-típusú licencek, mint minden FLOSS licenc, lehetővé teszik a szoftver forráskódjának megismerését, szabad tanulmányozását, a szoftver szabad futtatását, másolását, terjesztését, átdolgozását. Ezek mellett tartalmaznak viszont egy alapvető kötelezettséget: a szoftver átdolgozásával létrehozott mű felhasználását az eredeti mű felhasználási feltételei szerint kell engedélyezni. Ez utóbbi az ún. copyleft klauzula, amely biztosítja, hogy a szabad szoftver módosítása útján előálló új mű ne lehessen tulajdonosi szoftver, azaz garantálja, hogy a szoftver "szabadsága" megmaradjon.
A kategória legismertebb licence a GNU General Public License, innen az elnevezése is.
Gyenge copyleft/non-copyleft/megengedő/BSD-típusú licencek: A BSD-típusú licencek az alapvető jogosultságok garantálásában megegyeznek a GPL-típusú licencekkel, azonban e felhasználási szerződések nem kötelezik az átdolgozás eredményeképp létrejövő származékos mű fejlesztőjét arra, hogy az új mű felhasználását az eredeti licenc feltételei szerint engedélyezze. Mivel ennek következtében nem követelik meg a származékos mű forráskódjának közzétételét, az felhasználható zárt forráskódú szoftverek fejlesztése során is. Tehát ezek a licencek lehetővé teszik, hogy a szabad szoftver átdolgozásával tulajdonosi szoftver készüljön.
A kategória a nevét a Berkley Software Distribution licencről kapta.
Copyleft vagy non-copyleft?
A fenti jellemzők alapján azt hiszem, egyértelműek a gyakorlati megfontolások.
Ha a fejlesztő/jogosult azt szeretné, hogy a szoftvere tényleges jogi/pénzügyi akadályok nélkül nagy tömegekhez jusson el, FLOSS licencet választ. Viszont fontos az is, hogy miután a szoftver eljut a tömegekhez, mi lesz a sorsa.
A GPL-típusú licencek óvják a szoftver státuszát: ami szabad volt, maradjon is az, senki se jusson vagyoni előnyhöz a közösségi aktivitást lefölözve. A megengedő licencek nem ilyen szigorúak: az átdolgozást végző fejlesztő szabadon dönthet az új szoftver jogi sorsáról.
Üzleti megfontolások, licenckonstrukciók változása: A szoftver jogi sorsához természeten komoly gazdasági érdekek fűződnek. Az, hogy hogyan érvényesülnek ezek az érdekek, és a hogyan állítható a szoftverlicencelés ezek szolgálatába, az időről időre változik (és részletes kifejtése természetesen külön írás témája lehetne).
Kezdetben úgy tűnt, hogy leginkább akkor aknázhatóak ki a szoftverben rejlő értékek, ha a jogosult minél inkább óvja azt, azaz jól körbebástyázza magát egy tulajdonosi szoftverlicenc rendelkezéseivel. Így a szoftver felhasználásáért díjat kérhet, később a frissítésekért, támogatásért cserébe követési-támogatási díjra jogosult. Az érem másik oldala, hogy mivel a kódot csak a jogosult ismeri, annak átdolgozása, azaz a szoftver továbbfejlesztése is az ő feladata, ennek költsége az ő költsége. Felhasználói szemmel az árnyoldal, hogy jogszerűen csak ahhoz jut el a szoftver, aki a jogosult által kért díjat megfizeti.
Ha van olyan lehetőség, hogy a drága tulajdonosi szoftverhez hasonló funkcionalitású szoftver olcsóbban vagy ingyen is elérhető, a felhasználó felkapja a fejét. Sőt felhasználói tömegek fordulhatnak ezek felé a programok felé, ha azok tényleg elég jók, és a tulajdonosi szoftver alternatívái lehetnek. A nyílt forráskódú modell alapgondolata tehát, hogy tömegek számára teszi hozzáférhetővé a kódot – tömegeket bevonva ezzel a fejlesztésbe.
A közösségi fejlesztés eredményeképp létrejövő szoftverek nagyszerűek lehetnek, de ahhoz hogy egy tulajdonosi termék stabil, megbízható alternatíváivá váljanak, szükség lehet kiegészítő fejlesztésekre, támogatásra. És itt érvényesíthetőek a gazdasági érdekek. A klasszikus licenc plusz követés modellben várható jogdíjfizetés helyett a stabilizálásért, szolgáltatásért, rendelkezésre állásért előfizetési, szolgáltatási díjat lehet kérni a FLOSS modellben.
A GPL úgy "vigyáz" a kódra, hogy mindenki számára hozzáférhetővé teszi azt, sőt a copyleft klauzulával kikényszeríti, hogy ezen ne is lehessen változtatni: a kód folyamatosan fejlődik, és ehhez folyamatosan értékesíthetőek az előfizetésben elérhető szoftverelemek, szolgáltatások, melyek a stabil működéshez szükségesek.
Másik kedvelt megoldás (amely szintén csak GPL típusú licenccel érhető el) a kettős licencelés: ugyanazon termék közösségi és üzleti változata is létezik. Az első változat GPL licenc alatt érhető el, díjfizetés nélkül, a második tulajdonosi licenccel, díjfizetés ellenében (így viszont a szoftver a copyleft fertőzés nélkül összekapcsolható a felhasználó saját szoftverével). Mivel ilyen termékek esetében a közösségi fejlesztésben részt vevő fejlesztők jogátruházási szerződéssel rendszeresen átruházzák a fejlesztéseikhez kötődő vagyoni jogaikat a "termék" eredet jogosultjára, ezért az eredeti jogosult a közösségi fejlesztésből profitálva megteheti, hogy "saját" szoftverének felhasználását tulajdonosi és FLOSS licenccel is engedélyezze.
Miért non-copyleft? A GPL modell fenti előnyei mellett mi lehet az oka a megengedő licencek térnyerésének?
(Forrás: OSS Watch team blog)
Elemzők szerint itt is a felhőalapú szolgáltatások, illetve a Software as a Service (SaaS) modell terjedése van a háttérben. Az utóbbi időben – nem csak FLOSS területen – a jogosultak igyekeznek a szolgáltatások felé billenteni a szoftverterjesztési konstrukciókat, ilyenformán háttérbe szorul a kód, illetve a szoftverpéldány maga. A hangsúly (a gazdasági is) a szolgáltatáson van, így a szoftverpéldánnyal kapcsolatban "megengedőbbé" válik a szoftverpiac.
Így már a GPL biztosította copyleft védelem sem olyan fontos, mint korábban: eszerint a szolgáltatásnyújtás kerül reflektorfénybe – vonatkozzanak is akármilyen licencfeltételek az ennek alapját képező szoftverre.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak