Mindenhol ott van, mégsem látni: a nyílt forráskódú szoftver
Mit jelent a nyílt forráskód?
A szoftvert, annak minőségétől vagy használhatóságától függetlenül, szerzői jogi védelem illeti meg. Ez a védelem törvényből ered, nem szükséges hozzá semmilyen nyilvántartásba vétel vagy eljárás, a szoftver létrehozásától fogva megilleti a szoftver alkotóját, a fejlesztőt. Ahhoz, hogy a fejlesztés eredményeként szoftver jöjjön létre, forráskód létrehozása is szükséges, amely egy adott programozási nyelv szerinti definíciók és utasítások sorozata – és amely egyben a szerzői jogi védelem tárgyát is képezi. Egyszerű megérteni tehát, hogy ha forráskód jön létre, amely egy szoftver alapját képezi és értékesíthető, akkor a fejlesztőknek nem áll érdekében, hogy ezt megosszák a nyilvánossággal, bárki láthassa és könnyedén, ingyen felhasználhassa a létrehozott megoldásokat.
A Richard Stallman nevével fémjelzett szabad szoftver mozgalom azonban nem ezt az elvet vallja és többek között ennek is köszönhetően, az informatika robbanásszerű fejlődésen ment át az elmúlt 40-50 évben. Az 1980-as években indult mozgalom alapgondolata, hogy minden szoftver korlátozások nélkül felhasználható, tanulmányozható, terjeszthető és ennek eredményeként bárki által fejleszthető és tökéletesíthető legyen. A folyamatos felhasználás és fejlesztés útján egyre jobb minőségű és komplex megoldást kínáló szoftverek hozhatók létre, amelyek hatékonyabban szolgálják a hozzájuk rendelt célokat. A rendszer ma már önkéntes online közösségeken (GitHub, GetApp) keresztül működik, ahová a fejlesztők feltölthetik az általuk létrehozott forráskódot, ezekhez bárki hozzáférhet, az adott forráskódhoz rendelt felhasználási engedély (licensz) feltételeinek elfogadásával.
Tévhitek és megoldások
Ha fejlesztőként valamilyen megoldáson gondolkodunk, mi sem tűnik tehát egyszerűbbnek, mint valamelyik felületen szörfözve kikeresni a megfelelő forráskódot és egyszerűen lemásolni (vagy ihletként használni) a fellelt megoldást. Ez persze egy nagyon leegyszerűsítő megközelítés, de jól mutatja, hogy a nyílt forráskódú szoftvereket jogi szempontból rengeteg tévhit övezi.
Ezek a szoftverek ugyanúgy szerzői jogi védelem alatt állnak, a felhasználási feltételeiket a hozzájuk kapcsolódó licensz rendelkezései határozzák meg. Ebből kifolyólag, noha könnyedén hozzáférhetők, felhasználásuk mégsem korlátlan, nem kockázat nélküli és nem is minden esetben ingyenes. A széles körű szabad felhasználás nem csak jogokat, de felelősséget is eredményez: a nyílt forráskódú szoftverek fejlesztői semmilyen felelősséget nem vállalnak az általuk létrehozott művek felhasználásából eredő károkért, ezeket a felhasználó viseli. Fontos hangsúlyozni, hogy a felhasználás nem csak kockázatokkal jár: a hiedelmekkel ellentétben nem amatőr fércmunkákról van szó, a nyílt forráskódú szoftvereket is profi szoftverfejlesztők hozzák létre, teljesen biztonságos megoldást jelentenek, felhasználásuk útján pedig – bár nem minden esetben – új, értékesíthető szoftverek hozhatók létre.
Mielőtt azonban belevágnánk, hogy egy nyílt forráskódú szoftvert vagy megoldást beépítsünk a saját gyártói szoftverünkbe, fontos tájékozódni a hozzá kapcsolódó licenszről. A licenszek az elmúlt évtizedek gyakorlata alapján kimunkált licensztípusokba sorolhatók és széles skálán mozognak a rendkívül megengedő és csak alapvető korlátozásokat tartalmazó licenszektől (pl. Apache, BSD, MIT licensz) kezdve a szigorú feltételeket támasztó és a felhasználásával létrehozott szoftverek jogi sorsát is befolyásoló licenszekig (pl. GPL 2.0 licensz).
Óvakodj a fertőző hatástól!
A nyílt forráskódú szoftverek felhasználásával a legtöbb fejlesztő egy-egy funkciót kíván lefedni, így az sem meglepő, hogy a legelterjedtebb licenszek lehetővé teszik a felhasználóik számára, hogy ingyenesen, a forráskód átdolgozásával vagy beépítésével új szoftvert hozzanak létre, amelyet később értékesítsenek. Ebben az esetben a felhasználási jog szinte korlátlan, gyakorlatilag egy másik személy által kidolgozott megoldás lemásolásával anyagi előnyre is szert tehet a felhasználó, ha betartja a licenszhez kapcsolódó alapvető korlátozásokat (pl. jogsértő célra nem használható fel). Vannak azonban olyan licenszek is, amelyek merevebben ragaszkodnak a szabad szoftver mozgalom eredeti célkitűzéséhez és a szabad felhasználáson túl, kötelezik is a felhasználót.
A legalapvetőbb kötelezettség, hogy az újonnan fejlesztett és értékesített szoftver felhasználóit tájékoztatni kell a nyílt forráskódú szoftver felhasználásának tényéről és a dokumentációhoz mellékelni az adott licenszt. Ennél agresszívabb megoldások is széles körben ismertek a piacon: több olyan nyílt forráskódú licensz létezik, amelynek a felhasználásával kifejlesztett szoftverre ugyanazokat a licenszfeltételeket kell alkalmazni – ezt közismertebb nevén „fertőző hatás”-ként emlegetik (ilyenek különösen a GPL és az LGPL típusú licenszek). Így a létrehozott szoftver forráskódját is szabadon hozzáférhetővé és átdolgozhatóvá kell tenni, vagyoni forgalomban pedig nem értékesíthető. Ez még nem jelenti automatikusan azt, hogy ha 1-1 elkülöníthető részfunkcióhoz használtunk GPL licensz alatti forráskódot, akkor a teljes szoftvert ingyenesen elérhetővé kell tenni, elegendő csak a „fertőzéssel érintett” részt – amelynek az elhatárolása viszont informatikai vizsgálat tárgyát képezi.
A fejlesztők számára a nyílt forráskódú szoftver felhasználása tehát egy igazi kétélű kard, amelynek az „előny éle” azért jóval hosszabb: a licenszek alapos átnézésével szinte korlátlan megoldási lehetőségeket kínál, minimális költségek mellett. A felhasználásban rejlő esetleges kockázatok pedig egy szoftver piacra lépését vagy értékesítését megelőzően is kiküszöbölhetők jogi tanácsadó bevonásával.