Egyre többen egyre több célra használnak számítógépet. A reklámok időről
időre elkápráztatnak azzal, hogy még nagyobb teljesítményű, még több
memóriával és háttértárral rendelkező gépeket kínálnak. Manapság egészen
közönséges dolog, hogy nagyobb számítógépes teljesítményt képvisel egy
középiskolás diák asztala, mint néhány évvel ezelőtt egy akadémiai
kutatóintézet gépterme, amit kutatók tucatjai használtak.
A gépekkel együtt többnyire szoftvereket is kínálnak az eladók, általában
nagy gyártók termékeit, és többnyire egy-egy célra csak egyet. Sok vásárló
nem is tudja, hogy lehetősége van választani: operációs rendszert,
alkalmazói programokat, irodai szoftvereket stb. A munkahelyeken egy-egy
felelős munkatárs, vezető vagy informatikus választja ki, hogy mit
telepít, milyen szoftvereket bocsát munkatársai rendelkezésére. Itt
elsősorban az ilyen munkatársnak érdemes alaposan megfontolni azokat a
szempontokat, amiket itt sorra veszek. Az egyes ,,mezei'' munkatársaknak
is van/lenne lehetőségük arra, hogy befolyásolják a döntést, sőt, a
legtöbb esetben arra is, hogy maguk válasszák meg, hogy milyen szoftvert
használnak. Vannak ,,szögletes'' munkahelyek például katonaság vagy
bankok, ahol szigorúan szabályozzák, hogy mit és mire lehet használni, de
egy iskolában vagy kutatóhelyen nyilvánvalóan a munkatársak szabadságához
a szoftverválasztás lehetősége is hozzátartozik.
Fontos szempont lehet, hogy a szoftvert szabadon lehessen használni. Mit
is jelent ez? Szabad-e a szoftvert több gépen is használni? Hozzáférhető-e
ténylegesen és jogszerűn az egyszer beszerzett szoftver újabb változata?
Sok program van, aminek próbaváltozata pl. valamilyen korlátozott ideig
ingyen rendelkezésre áll CD-ken és az interneten. Más programok minden
változatban és akármeddig ingyenesek. A ,,free software'' (free angolul
szabadot és ingyenest is jelent) azonban nem csak azt jelenti, hogy magát
a programot ingyenesen, szabadon használhatjuk: az ilyen programot
szabadon lehet forráskódban is terjeszteni, módosítani és
továbbfejleszteni is. Az internet javarészt ilyen - tágabb értelemben is -
szabad szoftvereken alapul: kizárólag ilyenen alapulnak a DNS szerverek,
news szerverek, túlnyomó részben a levelező szerverek és web szerverek.
A szabadság másik fontos eleme, a kiszolgáltatottságtól való
mentesség. Ha valaki egy nagy gyártó programját kezdi használni, akkor sok
esetben rákényszerül, hogy a következő változatot is megvásárolja, vagy azért
vásároljon egy másik rendszerelemet ugyanettől a gyártótól, mert csak
azzal lehet valamilyen szükséges funkcióval kiegészíteni a meglevő
rendszert.
A szabad szoftverek óriási lehetőséget jelentenek nem csak technikai hanem
társadalmi szempontból is: akár egy középiskolás korú fiatal - szegény,
vagy elmaradott országban élő is - bekapcsolódhat a fejlesztésbe. Nem egy
program van, amit például egy fiatal amerikai kutató (az MX VMS alatt),
vagy egy horvát egyetemista (wget) talált ki, kezdett fejleszteni, mert
meglátott egy igényt, egy megoldatlan problémát és segíteni akart. A
programot szerte a világon használni kezdték. Megjegyzendő, hogy túlnyomó
többségük számára az önzetlenség hosszú - nem is olyan hosszú távon -,
anyagilag is gyümölcsözővé vált.
A legtöbb szabad program írója szívesen fogadja a használat közben
felmerült javítási, módosítási javaslatokat, sőt a forráskódba történő
fejlesztéseket is. Sok esetben egy-egy ilyen felhasználók által történt
módosítás bekerül a program következő hivatalos változatába.
Egy-egy szabad szoftver használatával és fejlesztésével kapcsolatban news
csoportok, levelezőlisták működnek, ahol fel lehet tenni a programmal
kapcsolatos kérdéseket, be lehet küldeni a módosítási javaslatokat,
stb. Mielőtt bekapcsolódunk, érdemes böngészni ezeknek a hálózati
fórumoknak az archívumait. Amit látunk, az nem csak technikai szempontból
tanulságos: elbámulhatunk azon a szolidaritáson, önzetlen segítőkészségen
amit itt tapasztalunk: sok ilyen fórumon van néhány nagy tudású, odaadó
szakértő.
Nem csak akkor gyakoroljuk a szolidariást, ha egy hálózati fórumon
segítséget nyújtunk felhasználótársunknak, hanem akkor is ha egyáltalán
használunk egy-egy ilyen programot. Hiszen bekapcsolódunk egy közösségbe
és már ezzel kifejezzük szolidaritásunkat a fejlesztőkkel és
felhasználótársainkkal. A harmadik világ országaiban nem csak
magánembereknek, hanem intézményeknek is a szabad programok jelentik azt
az esélyt, hogy ingyen, és legálisan juthassanak programokhoz. Ezért is
támogatja a szabad programokat sok nemzetközi szervezet, például az UNESCO
és az ENSZ.
Manapság egy írógépnek használt asztali PC paramétereiben felülmúlja a
néhány évvel ezelőtt használt vállalati szervereket, ami önmagában nem
baj, de igenis baj, hogy az egészen jól használható régebbi gépeket is le
kell cserélni, mert a sok nagy gyártó - nem is titkolt módon -, úgy
készíti el egy-egy programjának újabb és újabb változatát, hogy a
felhasználók kénytelenek legyenek újabbra cserélni, bővíteni a
hardverüket. A legtöbb szabad program nagyságrendekkel jobban használja a
gépi erőforrásokat, mint pénzért kapható társai. Vannak akár szerver
funkciók, amiket egy 10 éves közönséges PC is megfelelően ellát szabad
szoftverekkel.
Az internet kialakulásának egyik oka volt, hogy a tervezői elégedetlenek
voltak azzal, hogy a működő hálózatok csak egy-egy gyártó saját termékeit
kötötték össze, a nagy szabványosító szervezeteknél pedig rengeteg papír
és tanulmány született, de kevés konkrét eredmény, Olyan hálózatot
akartak, ami különböző cégek számítógépeit a gyártóktól független
szabványos módon köti össze. Ezt valósították meg, és ez a
gyártófüggetlenség lett az internet áttörésének egyik fő oka.
Nem csak a hálózati programoknak kell azonban gyártófüggetlennek lennie:
fájl formátumok, karakterkészlet kódolások, adatszerkezetek, parancs és
programozási nyelvek, programok felülete: mind-mind akkor használhatók
jól, ha nem kötődnek semmilyen gyártóhoz.
A szabad szoftverek többnyire eleve gyártófüggetlenek: úgy készülnek, hogy
többféle hardveren, operációs rendszer alatt működjenek. Káprázatos ilyen
szempontból a gcc C fordító: nem csak olyan módon támogatja hardverek és
operációs rendszerek tucatjait, hogy azokon fut, hanem képes tucatnyi
hardverre keresztfordítást végezni.
Az internet áttörésének másik fő oka a szabványosság. Nem csak a hálózati
alkalmazásoknál van azonban ennek jelentősége: fontos pl. a szövegfájlok,
táblázatok, vagy adatbázisok használatánál. Vannak gyártók, akik
szándékosan eltérnek a nemzetközi szervezetek szabványaitól, és így teszik
kiszolgáltatottá a felhasználókat. Szabad szoftverek esetében ez
elképzelhetetlen. Az internet (IETF) szabványai mind megvalósulnak
forráskódban is elérhető programokként.
Érthető, ha egy-egy gyártó valamilyen új termékében saját szabványt
alkalmaz. Van példa arra, hogy ezeket a szabványokat nyílttá teszik, más
gyártókat is bevonnak a fejlesztésbe, létrehoznak egy konzorciumot és
ilyen módon a szabvány mindenki által hozzáférhető, implementálható lesz,
sokan és hatékonyan javíthatják a hibáit, fejleszthetik. Sajnos azonban
sokszor az ellenkezője történik: a gyártó nem publikálja a működést, a
formátumot. Ilyenkor kényszerülnek arra más gyártók, vagy szabad
szoftverek alkotói, hogy visszafejtsék, utólag az implementációból
állapítsák meg az elvet és szerkezetet, és így alkossanak együttműködő
szoftvert. A dolog természeréből adódóan az ilyen megoldás mindig
tökéletlen, és az illeszkedő mástól származó programok mindig bizonyos
késéssel reagálnak az önző gyártó szabványának módosulásaira. A
felhasználó mindenképpen veszít az ilyen gyártóhoz szorosan kötődő
szabványon, de gyanítható, hogy hosszú távon mindenki veszít.
Első pillantásra a szabad szoftverek ingyenesnek látszanak. Az ingyenesség
azonban csak arra vonatkozik, hogy a programot ingyenesen szabad
használni, másolni, telepíteni és módosítani. Lehetséges azonban, hogy
rögtön a telepítésnél, vagy a program konfigurálásánál segítségre
szorulunk. Ilyenkor választhatunk (szabadság!), hogy beleássuk magunkat a
problémába, megpróbáljunk hálózati fórumokon segítséget kapni, vagy
megkérünk valakit, aki szívességből, vagy pénzért segítsen. Vannak
vállalkozások, amik kifejezetten szabad szoftverek körül tevékenykednek:
vállalják a telepítést, tanfolyamot tartanak a használatról, segítséget
adnak, állandó felügyeletet, garanciát vagy továbbfejleszést
vállalnak. Valódi verseny alakulhat ki ilyen módon a vállalkozók között: a
felhasználó - a nyílt forrás, a mindenki által hozzáférhető segédletek
folytán - nincs kiszolgáltatva. Méltányosabb lehet az ár, és
tisztességesebb a verseny. Tény, hogy ugyanarra feladatra akár egy
nagyságrenddel kevesebbet kell költeni, ha szabad szoftvereket használunk.
Minden programban vannak hibák. A hibák egy része a felhasználó
biztonságát veszélyezteti. A nyílt forráskódú, szabad programoknál
potenciálisan bárki felülvizsgálhatja, javíthatja a kódot. Ez a legtöbb
esetben meg is történik. Manapság kifejezetten biztonsági szempontból
fésülnek át szabad programokat különböző egymástól független szakértők. A
javításokat pillanatok alatt érvérnye lehet juttatni. A gyártókhoz kötődő,
nem nyílt programok potenciálisan sokkal sérülékenyebbek ilyen
szempontból.
Biztonsági kockázatot vállal minden zárt forráskódú program használója
azzal is, hogy nem tudja milyen szándékos hátsó ajtót, biztonsági rést
hagyott a készítő benne. Lehet ez olyan, hogy a rendszerbe való behatolást
teszi lehetővé - néhány évvel ezelőtt egy ilyen rés nyilvánosságra
kerülésekor a cég egy munkatársát vádolta, akinek állítólag
magánkezdeményezése volt a hátsó ajtó. Egy másik lehetőség a biztonsági
programok olyan kialakítása, hogy pl. a titkosítottnak hitt kommunikáció a
gyártó - vagy megbízója - számára hozzáférhetővé váljon. Könnyű belátni,
hogy még a nyílt, gyártófüggetlen szabványok nem nyílt forráskódú
implementációja is igen könnyen lehet ilyen.
Mindannyian hozunk döntéseket napról napra. Ezekkel közvetve vagy
közvetlenül értékeket vagy érdekekeket szolgálunk. Érdemes átgondolnunk
többek közt, hogy milyen munkahelyet, hivatást választunk, hogyan töltjük a
szabadidőnket, milyenek vásárlási szokásaink, milyen eszközöket
használunk. Ez az írás amellett érvelt, hogy ha a szabadság, kreativitás,
szolidaritás, az erőforrások gazdaságos kihasználása, gyártófüggetlenség,
szabványosság, ár és biztonság szempontjait tekintjük, akkor ezek mind a
szabad szoftverek használata mellett és a gyártóspecifikus szoftverek
használata ellen szólnak. Mindannyian felelősek vagyunk az egész
világért, elsősorban a közvetlen környezetünkért. Legyünk azon, hogy
prioritást kapjatnak a valódi értékek.
2002. július 16.
Pásztor Miklós