Szabad szoftver és Linux

Meghatározás

A Wikipedia meghatározása szerint a számítógépes szoftver (vagy röviden szoftver) a számítógépnek azon része, mely kódolt adatokból (vagy a számítógépnek szóló utasításokból) áll. A szoftver kifejezést gyakran használják a számítógépes programok meghatározásaként, s ez fordítva is igaz. A szoftver állhat egyetlen önálló számítógépes programból is, mivel napjaink számítógépes világában az elérhető processzorteljesítmény és a viszonlyag olcsó memória kapacitás lehetővé teszi nagymérető programok futtatását is. Általánosságban a szoftver egy vagy több részből álló programból és a működéséhez szükséges adatokból áll. A programok különböző formát ölthetnek: lehetnek futtatható binárisok, függvénykönyvtárak ("dll" Windows alatt, illetve "so" GNU/Linux alatt), vagy forrás-fájlok egy értelmező számára (pl. Perl vagy PHP szkriptek). Az adatok szintén többféle alakban érkezhetnek: hagyományos fájlok, adatbázisok (relációs, hierarchikus, stb.), illetve egyes adatok, képek, főleg ikonok, gyakran a futtatható fájlok részét képezik.

A "szoftver" általános meghatározása

A szoftver utasításokat tartalmaz, melyeket egy számítógép hajt végre, ennek ellenpárja a fizikai eszköz, amelyen működik, ez pedig a hardware. Egy "program" utasítások listája, melyet egy programozó ír valamilyen programozási nyelven (pl. C nyelv, C++ nyelv, Java nyelv, Python nyelv). Gyakran egy egyszerű fáljban tárolják őket. Így azt mondhatjuk, hogy a szoftver utasítások készlete, melyek különféle programokból állnak. Egy megfelelő tudás birtokában levő személy képes olvasni a programot; ezt hívjuk "forráskódnak" ami tulajdonképpen a program receptje. A zárt forrású (closed-source) szoftverek esetén a programozók igen őrzik ezeket a titkokat; csakis a nyílt forrású (open-source) szoftverek esetén tekintheti azt meg a nagyközönség. A szoftverek jellemzői egyértelműen le vannak írva a forráskódban (bináris 0 és 1 számokra fordítva az utasításokat csak a számítógép képes azokat megérteni). Fordítóprogramok (compiler) segítségével lehet a forráskódot a gép nyelvére lefordítani. A fordítás eredményeképp kapjuk azt a formátumot, amit binárisnak nevezünk, s amit a számítógép megért. Ezen túlmenően e binárisokat még hozzá kell igazítanunk a rendszerszoftverhez (MS Windows, Mac OS, GNU/Linux, BSD, stb.) is, hogy működőképesek legyenek. Amint ez az igazítás megtörtént, a szoftver készen áll a telepítésre és a futtatásra.

A szoftvereket a következők szerint osztályozhatjuk:

A szabad szoftver

A szabad szoftver eredete

A történet a nyolcvanas évek elején kezdődöt, mikor Richard Stallman az MIT (Massachusetts Institute of Technology, U.S.A.) kutatójaként egy etikai dilemmával szembesült. Számítástechnikai kutató-részlegét bezárták, ahol éveken át megosztotta kutatási eredményeit kollégáival. Most hogyan tovább: eladja tudását a legjobb ajánlatot tevőnek, vagy ragadja meg a lehetőséget és ossza meg tudását a világgal? Lelkiismerete megnyugtatása érdekében megalkotta a "szabad szoftver kiáltványát". Ez az elmélet a következő négy fogalmat, alapelvet határozza meg:

  1. Szabadon futtathatod a programot, a felhasználás bármiféle korlátozása nélkül.
  2. Szabadon tanulmányozhatod egy program belső működését és saját igényeidhez igazíthatod. Ehhez előkövetelmény a forráskódhoz való szabad hozzáférés.
  3. Szabadon terjesztheted a program másolatait.
  4. Szabadon továbbfejlesztheted a programot, közzéteheted a fejlesztéseidet, hogy az egész közösség előnyére váljék. Ehhez szintén előkövetelmény a forráskódhoz való szabad hozzáférés.

A GNU projekt

Miután megírta kiáltványát, Stallman létrehozta a Szabad Szoftver Alapítványt. Az alapítvány célja, hogy fejlessze és hirdesse a szabad szoftvereket. Stallman nekilátott, hogy alkalmazásokat készítsen az alapítvány számára. Végső célja egy teljes egészében szabad rendszer létrehozása. Hogy megvédje a GNU szoftvereket a kereskedelmi vállalatoktól, egy licenszt is alkotott, ez lett a GNU Public License (GPL). A licensz stabil jogi háttérrel egyesíti a fentebb említett négy alapelvet. A GPL első valós próbája 2004-ben, egy németországi per során történt, ahol is a bíróság megrendszabályozott egy céget, amely megsértette azt. A GNU, hasonlóan a *nix világ más betűszavaihoz, egy rövidítés: GNU's Not Unix (a GNU nem Unix), ahol a GNU szó egyáltalán nem jelent semmit. A '80-as években, amikor a Microsoft és a Windows még jelentéktelen dolgok voltak, a Unix volt az első számú kereskedelmi rendszer.

Az Open Source kezdeményezés

A múlt század '90-es éveiben egy másik mozgalom is létrejött. Az FSF-nél jóval rugalmasabbnak tartják magukat. Az új mozgalom 1998-ban öltötte fel mai formáját, mikor a Netscape szabad szoftverré vált - egy csoport ekkor határozta el a Netscape megmozdulásának támogatását. Követték Debian szabad szoftver koncepcióját. A szabad szoftverekkel szemben általuk felállított tíz kritérium itt olvasható: az OSI licensz eredeti változata (1.9 verzió).

A szabad szoftver értelmezése

Honnan jön a "szabad szoftver" ?

Az eslő szabad szoftvert maga Stallman fejlesztette. Egy operációs rendszer elkészítéséhez először teljesen alapvető szoftverekre van szükség (pl. a GNU fordító (compiler) gyűjtemény). De miután az FSF elkészítette egy új operációs rendszer teljes alapját, valami még mindig hiányzott: egy kernel (rendszermag). Stallmannak egy különösen ambíciózus elképzelése volt az új kernellel kapcsolatban: mikro-kernelnek kellene lennie (a Windows makro-kernelt használ, a Linux ezzel ellentétben mikro-kernelt). Mindazonáltal a kernel fejlesztése nem ment olyan zökkenőmentesen, mint ahogyan tervezték. Ennél a pontnál a rendszer (a neve GNU/Hurd) még nem igazán volt működőképes. Ennél a pontnál lépett színre Linus Torvalds. A finn diák az x386 jelű processzorok belső működését tanulmányozta, ehhez írt egy POSIX előírásoknak megfelelő programot, hogy megértse e processzorcsalád működését. Kedvtelésből, GNU szoftverek felhasználásával írt egy kernel programot. Végül, de nem utolsó sorban, GNU Public Lincense alatt közreadta ezt a kernelt. Az újonnan létrehozott GNU/linux párosítás tökéletes megoldásnak tűnt; hatására a fejlesztések hihetelen módon felgyorsultak, hála a hacker közösség közreműködésének. (A "hacker" kifejezés szenvedélyes számítógépes szakembert jelent, szemben a "cracker" kifejezéssel, ami olyan személyt jelöl, akinek mások rendszereinek tönkretétele, feltörése a célja. Mindemellett és sajnálatosan a közbeszédben széleskörűen elterjedt, hogy a "hacker" szót a "cracker" értelmében használják, ami sajnos negatív kicsengéssel ruházza fel.) A hivatalos bejelentés idején (az 1.0 verzió 1994. márcus 15-én született) a GNU/Linux rendszer máris igen szép megbecsülésnek örvendett. Annak ellnére, hogy még csak a hackerek tudták használni, nagyon ígéretesnek tűnt. Szép számmal követték az újabb kernelek. 1996-ban megjelent a 2.0, majd 1999-ben a 2.2. Míg a 2.2 változat kezdetben meglehetősen sok hibát tartalmazott a 2.2.13-as verzióval megtalálta az utat a vállalati világba, köszönhetően az IBM mainframe-javításainak. 2001-ben kijött a 2.4-es kernel. Ezt követte 2006 végén a 2.6-os. Habár a 2.6-os sorozat az aktívan fejlesztett ág, a 2.4-es még mindig kap biztonsági javításokat. A Linux fejlesztésének fókuszpontja az internet; ez az éltető közege a szabad szoftveres közösségnek. Egyik legnagyobb eredményük a GNU/Linux rendszer, mely sohasem került volna napvilágra a fejlesztők közötti információcsere és a nagyvilág felé való közvetítése nélkül. A szabad szoftverek sok magas minőségű alkalmazást kínálnak - ráadásul a web legnagyobb része Linux szervereken fut olyan szoftverek segítségével, mint az Apache és a PHP... Sok alkalmazás nem csak Linuxon érhető el, de portolták őket BSD-re, Windowsra, Mac OS X-re. Íme a néhány legismertebb program: