Mi a különbség a nyílt és a zárt forráskódú szoftverek között?

Ma már nemcsak az informatikai szakemberek ismerik azt a kifejezést, hogy forráskód, ami ugye a szoftverek egyik fontos tulajdonsága. Az alábbiakban kifejtjük, mi a különbség a nyílt és a zárt forráskódú szoftverek között, s hogy az előbbi nem egy terjesztési mód, hanem üzleti modell. Ezért a „nyíltság” messze nem azonos az amatőrséggel, az önkéntességgel, és pláne nem az ingyenességgel.

A nyílt forrás azt jelenti, hogy a szoftver forráskódját nyilvánosan elérhetővé kell tenni, és bárki, bármit hozzá- vagy belefejleszthet, amíg egyrészt feltünteti a forrásban, hogy ki írta azt, másrészt világosan megkülönbözteti, hogy ő mit és mikor tett hozzá. A forrásban. A működő szoftverben (általában) nem látni, hogy azt a részt ki csinálta.

De mi az a forráskód? Nos, a forráskód valamely programozási nyelv szabályai szerinti, olvasható szövegfájlok halmaza. Például:

print „Helló, világ!”

ez egy Basic nyelvű forráskód-sor, amelynek hatására az aktuálisan olvasható kimeneten megjelenik a „Helló, világ!” karaktersorozat. Annak egyébként külön történelme lehet, hogy miért ez a sorocska a mintaprogram őspéldája. Talán azért, mert az immár 10 éve elhunyt Dennis Ritchie a Brian Kernighannal együtt írt, kb. 1970-ben megjelent „A C nyelvű programozás” című tankönyvébe ezt tette bele. A könyv kultmű, biblia és mém az informatika világában.

A forráskód (elvileg) jól olvasható szövegfájl. Egy adott alkalmazás forráskódja több (sok) forrásfájlból áll, amelyekből egy szintén egyedi, szintén szövegfájl-forgatókönyv alapján a fordító szoftver a binárisra fordított futtatható programot összeállítja.

A történelem

Történelmileg úgy alakult, hogy az internettechnológiák nyílt forrásúak. Történelmileg (versenypiacilag) úgy alakult, hogy az internetet már legalább 25 éve gyökeresen másra és másképp használják a milliárdok, mint amire annak idején tervezték. (Tudományos és technikai dokumentációk létrehozására és megosztására…)

Ennek a két tényezőnek van néhány folyománya, például az SSL (a praktikusan mindenhol alkalmazott biztonságos kapcsolat) sérülékenységei.

Az alaptechnológiák nem rendeltetésszerű használata hibának minősülő jelenségeket mutat. Mintha motoros görkorcsolyákat használnának autóként, és egyrészt 60 km/óránál pokolian zajosak, másrészt iszonyatosan ráznak, harmadrészt túlmelegszenek, és balesetveszélyesek.

Mindez természetesen halálos botrány, s ennek alapján minden autót azonnal ki kellene cserélni, csakhogy ezt ki fizeti? Ki ellenőrzi, hogy mindenki kicserélte-e? Ki iktatja globális törvénybe? Mi az, hogy „globális törvény”?

Merthogy az internet mindenkié, azaz senkié. Nyílt forrású.

Az üzleti modell

Linuxos számítógép képernyőképe
Linuxos számítógép képernyőképe Forrás: Wikipedia

 A nyílt forrású szoftver abban a világban alakult ki, amelyben programozók írtak alkalmazásokat számítástechnikusoknak. Amikor a felhasználók értettek ahhoz, hogyan kell a forrásból a működő szoftvert elkészíteni. Ez a világ réges-régen (olyan 40 éve) elmúlt. De a modell fennmaradt, s alább kiderül, hogy miért.

Most a nyílt forrású szoftver futtatható formája ingyenesen letölthető és használható, ennél fogva alaphelyzetben semmilyen támogatás nem jár hozzá, például kézikönyv, vagy súgó sem. A nyílt forrású modell lényege ugyanis, hogy a puszta szoftveren kívül mindenért fizetni kell – ebből élnek meg a programozók, a szakmai és üzleti menedzsereik stb.

A „puszta szoftveren kívül minden” kifejezés szoros szinonimája az „informatikai szolgáltatás”. Abból, hogy manapság a legtöbb számítógépes cég informatikai szolgáltatásból él, sejthető, hogy a nyílt forrású modell nem valami cserkésztábor, hanem a ma mindenhol jelenlevő digitális infrastruktúra és életstílus alapvető, nem nélkülözhető tulajdonsága. Informatikai szolgáltatásokból él az IBM, a Microsoft, a HP, a Dell, az Amazon, számtalan viszonteladóik – és még sorolhatnám. Mindegyikük – még a Microsoft is! – dollármilliókkal támogat nyílt forrású szoftvereket fejlesztő szervezeteket, alapítványokat, éspedig nem jótékonyságból, hanem azért, hogy a fejlesztések eredményeként létrejövő szoftverek révén dollártízmilliós-százmilliós árbevételre tegyenek szert.

Nyílt forráskódú világban élünk

A mára a járvány miatt is világuralomra jutott felhőtechnológiák is jórészt nyílt forrásúak. Az internetböngészők jórészt nyílt forrásúak. Lehetne árnyalni a „jórészt” kifejezést: a különböző termékek azért különböző mértékben tartalmaznak nem nyílt forrású részfunkciókat is.

Az internet- és adatbázisszerverek – a felhőt alkotó adatközpontok – többsége szintén nyílt forrású szoftvereket futtat. A Google Android nyílt forrású.

Ha egy cég zárt forrású szoftvereket használ, akkor annak gyártójától, illetve forgalmazójától függ, amely jellemzően nála nagyobb, multinacionális cég és-vagy rendszerintegrátor, de mindenképpen egy nagy, megtalálható, számonkérhető gazdasági és jogi entitás. Ebből a körülményből származik a mondás:

Még senkit nem rúgtak ki azért, mert IBM számítógépet, Microsoft szoftvert, Oracle adatbázis-kezelőt, SAP vállalatirányítást (nem kívánt törlendő) vásárolt.

Ha egy kis cég nyílt forrású szoftvereket használ, akkor a vállalat informatikai rendszere attól az egy-két személytől függ, aki azokat telepítette, és (jó esetben) folyamatosan üzemelteti. Nyilván az az 1-2 üzemeltető már egy 10-20 fős cégnél is saját alkalmazott lehet, tehát az „üzletmenet-folytonosság” a cég saját felelőssége. Senkire nem tolhatja át a felelősséget probléma (kár) esetén. Ha egy nagyobb cég használ nyílt forrású szoftvereket, akkor azokat egy informatikai szolgáltató cég kezeli, felügyeli jól meghatározott követelmények és illő díjazás fejében a dolgozók kiképzésétől (lásd: súgó) a frissítéseken keresztül az egyedi igények szerinti ráfejlesztésekig.

A globális méretű informatikai szolgáltató cégek főállású alkalmazottak tömegét foglalkoztatják a számukra fontos nyílt forrású szoftverek fejlesztésében. Ezek a főállású alkalmazottak jellemzően a „vezető fejlesztők”, akik a valóban önkéntes és valóban ingyenesen dolgozó fejlesztőkből álló „közösség” munkáját irányítják. Vannak is problémáik, mert az önkéntes bedolgozók miatt a fejlesztések üteme és iránya nem jól tervezhető.

A közösség

A pingvin a Linux szimbólumállata
A pingvin a Linux szimbólumállata Forrás: Wikipedia

Hivatalos, professzionális támogatást nem lehet ingyen kapni a nyílt forrású szoftverek használatához, de fejlesztői és felhasználói közösségek nagy számban léteznek. Google a mi barátunk, az angol nyelv pedig az általános emberi műveltség része. A legtöbb esetben el tudunk boldogulni, főleg egy adott szoftver használatának elején. Számos fórumot, beszélgető listát, Facebook-csoportot találhatunk. Ezek pont olyanok, mint bármely közösségi média: leggyakrabban igen sokat kell kutakodnunk egy igen kicsi eredményért, nagy néha pedig előfordul, hogy életre szóló kincset találunk – csak azért, hogy ne veszítsük el a reményt.

A nyíltság és az ingyenesség következménye, hogy sajnos elég hamar szembetalálhatjuk magunkat olyan problémával, amellyel vagy még nem foglalkozott senki, vagy ingyen nem fogja megoldani senki. Eszünkbe juthat, hogy hátha írt valaki könyvet a szoftverünkről: igen, minél népesebb felhasználótáború az adott szoftver, annál nagyobb a fizetőképes kereslet a róla szóló könyvre. Végül is, egy megvásárolható a könyv a nem ingyenes terméktámogatás része.

Viszont, csak a megvásárlása után derül ki, hogy a mi problémánk megoldása benne van-e, vagy legalább valami irányt mutat. Gyakori, hogy nem.

Ekkor az ember vesz egy nagy lélegzetet, kiképezi magát, és megoldja a problémát. Most jön a vízválasztó: közzéteszi-e vagy nem? Nem teljesen a saját erejéből oldotta meg a problémát, és persze pénzért: az ingyenes szoftvert is használta a megbízója javára. A becsület azt kívánja, hogy tegye közzé tapasztalatait, erről szól a nyílt forráskód etikája.

Így működnek a nyílt forrású közösségek. Akkor számíthatsz segítségre, ha te is segítettél valakinek. Persze, itt is százszor annyian vannak az igénybe vevők, mint a segítők…

A példák

Felsorolunk néhány klasszikus, nyílt forrású, végfelhasználói szoftvert, amelyek évtizedek óta léteznek, tízmilliók használják, tehát egyrészt jogosan nevezhetők a digitális kultúra részeinek, másrészt érettek, kiforrottak, szakmai képességeikben egyenértékűek a hozzájuk hasonló, zárt forrású, fizetős szoftvertermékekkel. Fontos a „végfelhasználói” jelző, mert az infrastruktúra jellegű alapszoftverek – operációs rendszerek (Linux, Android, stb.), szoftverfejlesztő környezetek (Java, PHP, Python stb.) – nyíltságáról már volt szó. A „szakmai képességek” kitétel is fontos, mert a kezelőfelület-tervezés, a felhasználói élmény terén van hova fejlődni a nyílt forráskódú termékeknek. (Vannak azért kivételek.)

A lista:

LibreOffice irodai alkalmazáscsomag (szövegszerkesztő, számolótábla, prezentációkészítő, vektoros rajzoló; zárt forrású megfelelője: Microsoft Office)

GIMP pixeles képszerkesztő, fotóretusáló) szoftver (zárt forrású megfelelője: Adobe Photoshop)

– Inkscape vektoros rajzolóprogram (zárt forrású megfelelője: Adobe Illustrator)

– Krita pixeles festőprogram (zárt forrású megfelelője: Corel Painter)

– Scribus kiadványszerkesztő (zárt forrású megfelelője: Adobe InDesign)

– Blender 3D-animációs alkalmazás (zárt forrású megfelelői: Autodesk 3D Studio Max, Rhino, Maxon Cinema 4D)

Ezek azért is klasszikusak, mert fejlesztő közösségeik (létszámban) túlnyomórészt önkéntesekből állnak, meg azért is, mert önálló termékként is felfoghatók. De például a minden böngészőben működő, magyar eredetű, nemcsak a magyar nyelvvel használható Hunspell helyesírás-ellenőrző, vagy a tartalomkezelő rendszerekben milliók által nap mint nap használt TinyMCE online szövegszerkesztő modul is nyílt forrású. Tipikus, hogy a nagyobb, termékként és/vagy szolgáltatásként értékesített rendszereket alkotó modulok nyílt forrásúak.

Az eddig említett internetes és végfelhasználói szoftverek darabszáma mintegy ezres nagyságrendű. Sok százezer, külön néven nyilvántartott nyílt forrású szoftver létezik. (Az előbb említett modulszerkezet tipikussága miatt a darabszám értelmezése problémás lehet…)  Erre az ökoszisztémára is igaz, hogy az erőforrások túlnyomó részét a szoftverhalmaz darabszámban kicsiny részére fordítják.

Nyitókép Forrás: flickr

További hírek