A Linux egy operációs rendszer, a szabad szoftverek és a nyílt forráskódú programok egyik legismertebb példája. A „Linux” elnevezés szigorú értelemben véve a Linux-rendszermagot jelenti, amelyet Linus Torvalds kezdett el fejleszteni 1991-ben.[3][4] A köznyelvben mégis gyakran a teljes Unix-szerű operációs rendszerre utalnak vele, amely a Linux-rendszermagra és az 1983-ban, Richard Matthew Stallman vezetésével indult GNU projekt keretében született alapprogramokra épül. A Linux pontosabb neve ebben az értelemben GNU/Linux.[5][6][7][8] A „Linux” kifejezést használják Linux-disztribúciókra (terjesztések) is, ám ilyenkor általában a disztribúció nevét is hozzáteszik. Egy-egy disztribúció olyan összeállítás, amely az alaprendszeren túl bizonyos szempontok alapján összeválogatott és testre szabott programokat tartalmaz.[9] A Linux a szerverek és személyi számítógépek mellett – elsősorban nyíltságának köszönhetően – megtalálható sok összetett elektronikus eszközben, így hálózati eszközökben (például routerek), hordozható eszközökben (például mobiltelefonok, okostelefonok, PDA-k, hordozható hanglejátszók), háztartási gépekben, szórakoztató elektronikai berendezésekben (például asztali DVD-lejátszók, videójáték-konzolok, set-top-boxok) is. Bizonyos területeken (például webszerverek, szuperszámítógépek esetében) a legmeghatározóbb operációs rendszernek számít, ám az utóbbi években személyi számítógépekre (asztali gépek, hordozható gépek) is egyre szélesebb körben telepítenek valamilyen Linux disztribúciót.[10] [11] [12] [13] [14] Az egyre szélesebb elterjedtség köszönhető részben az Ubuntunak,[15] részben pedig a netbookok elterjedésének. A Linux születése: 1991-ben Linus a Helsinki Egyetem számítástechnikai tudományok karának másodéves hallgatója volt. Linus autodidakta hacker volt, saját operációs rendszert szeretett volna írni, mivel a GNU/Hurd-re várhatóan néhány évet várni kellett volna. A 21 éves egyetemista a Intel 80386-os processzor védett módú (protected mode), feladat-váltó (task-switching) lehetőségeit szerette volna felfedezni. Ez körülbelül 1991 nyarának elején lehetett, a pontos dátumra maga Linus sem emlékszik. Egy biztos: egy e-mail tanúsága szerint 1991. július 3-án már a POSIX szabvány után érdeklődött az interneten, így ekkor már futhatott nála egy kezdetleges rendszer. A program fejlesztése a Tanenbaum-féle Minix alatt történt, eleinte Assembly nyelven. 1991. augusztus 25-én Linus egy mostanra már legendássá vált levelet küldött a MINIX hírcsoportba. A levél magyar nyelvű fordítása: „Üdv minden Minix-felhasználónak odaát! Egy (ingyenes) operációs rendszert csinálok (csak hobbiból, nem lesz olyan nagy és profi, mint a gnu) a 386-os (486-os) AT-klónokhoz. Április óta érlelem, és lassan elkészül. Szeretnék visszajelzéseket arról, hogy mi tetszik és mi nem tetszik a Minixben az embereknek, mivel az én operációs rendszerem némileg hasonlít rá (többek között (gyakorlati okokból) azonos a fájlrendszer fizikai kiosztása). A bash (1.08) és a gcc (1.40) programokat már átültettem, és úgy tűnik, működik a dolog. Ez azt jelenti, hogy pár hónapon belül valami hasznosat fogok kapni, és kíváncsi lennék, milyen funkciókat szeretnének legtöbben. Minden javaslatot szívesen veszek, azt viszont nem ígérem, hogy meg is valósítom őket :-) - Linus (torvalds@kruuna.helsinki.fi) Ui.: Igen! Nincs benne Minix-kód és többszálú fs-sel rendelkezik. Nem hordozható (a 386 feladatváltást használja stb.), és lehet, hogy soha nem is fog az AT-merevlemezeken kívül bármi mást támogatni, minthogy nekem csak ez van :-(.” Így kezdődött a Linux története. Linus levele számos programozót inspirált. Andrew S. Tanenbaum – a MINIX operációs rendszer atyja – Hollandiában élő egyetemi tanár, operációsrendszer-kutató, egyik későbbi levelében azt írta, hogy a Linux elavult, mert monolitikus, ezért a professzor nem jósolt neki nagy jövőt. A levélből óriási vita lett.[22] Ennek ellenére a Linux az elmúlt 17 évben hihetetlen fejlődésen ment keresztül, és még mindig monolitikus, pontosabban hibrid (távol áll a mikrokerneltől, de betölthető-eltávolítható modulokra osztható a funkciók többsége). „GNU/Linux”: A „Linux” valójában csupán a kernel (rendszermag) neve. A Linux kernelen alapuló rendszerek szinte minden esetben a GNU projekt által fejlesztett alapprogramokat használják (mint például az operációs rendszer alapkönyvtára, a „libc”,[23] vagy az alapvető Unix/Linux programok, mint például a „echo” vagy az „ls”). A Linux operációs rendszer tehát leggyakrabban a Linux kernelből valamint a GNU rendszerkönyvtárakból és rendszerprogramokból áll. Stallman szerint ezért az operációs rendszer helyes elnevezése „GNU/Linux operációs rendszer”. Bár ennek jogosságával kevesen vitáznak, a köznyelvben elterjedt a (pontatlan) Linux elnevezés. Fejlesztés: A legfontosabb különbség a Linux és más népszerű operációs rendszerek között az, hogy a Linux kernel és a komponensek ingyenesek és nyílt forrásúak. A Linux nem az egyetlen ilyen operációs rendszer, de a legismertebb és legszélesebb körben használt. Számos szabad- és nyílt forrású szoftver licencelése a copyleft licencen alapul, melynek lényege, hogy a jog adta eszközöket nem az adott szellemi termék terjesztésének gátlására, hanem a megkötések kiküszöbölésére használják fel, így garantálva a felhasználás szabadságát a módosított változatokra nézve is. A legismertebb szabad szoftver licenc a GNU GPL, amely egy copyleft licenc. A Linux kernel és a legtöbb GNU projektből származó szoftver ezt a licencet használja. Linux disztribúciók: Egy disztribúció adott készítőtől vagy gyártótól származó összeállítás, amely egy GNU/Linux alaprendszert, és ahhoz tartozó, bizonyos szempontok szerint válogatott és testre szabott programokat (és gyakran egyéni kernelt) tartalmaz. Ilyen szempont lehet például a célközönség, a felhasználás célja, a célgép hardverkonfigurációja, kezelhetőség, biztonság stb. A disztribúciók sokfélesége kompatibilitási problémákhoz vezet, azaz nem biztos, hogy ha egy program működik az egyiken, akkor működni fog a másikon is. Ennek az az oka, hogy a különböző disztribúciók részben különböző bináris formátumokat, indexelést, … használnak. Különböző standardokkal (Linux Standard Base és Filesystem Hierarchy Standard) igyekeznek segíteni ezen. Használata: Vannak általános célokat kielégítő Linux disztribúciók, de vannak, amelyek bizonyos speciális területekre összpontosítanak, például: különböző számítógépes architektúrák támogatása, stabilitás, biztonság, lokalizáció egy adott régióhoz és nyelvhez, különböző felhasználói csoportok segítése, valós idejű alkalmazások támogatása, vagy egy bizonyos asztali környezet iránti elkötelezettség. Továbbá vannak disztribúciók, melyek elkötelezték magukat arra, hogy kizárólag szabad szoftvereket használnak. Jelenleg több mint háromszáz disztribúció fejlesztése folyik aktívan, ezek közül körülbelül egy tucat disztribúció lett híres, mint általános-célokra kifejlesztett rendszer.[42] A Linux egy széles körben portolt kernel. A Linux kernel a legkülönfélébb számítógépes architektúrán működik: a kézi ARM-alapú iPAQ-tól a nagygépes IBM z9 rendszeren át, a mobiltelefonoktól a szuperszámítógépekig.[43] Léteznek speciális disztribúciók, melyek kisebb gépigényeknek is megfelelnek. Az ELKS kernel (származtatott Linux kernel) képes Intel 8086 vagy Intel 80286 16-bit mikroprocesszorokon futni, az µClinux kernel pedig képes MMU nélkül futni. A kernel olyan architektúrákon is képes futni, amelyekre sosem terveztek más rendszert, például a Macintosh gépek (PowerPC és Intel processzorokon egyaránt), PDA-k, videójáték konzolok, hordozható zenelejátszók és mobil telefonok. Asztali felhasználás: Habár sok Microsoft Windowsra és Mac OS X-re írott program nincs még Linuxra portolva (azaz átírva), így például az asztali kiadványszerkesztés[44] és a professzionális hangszerkesztés[45][46][47] területén lemaradása van a Linuxnak, ám a hétköznapi felhasználó igényeit kielégítő programokban nincs hiány.[48] A legtöbb Linux-disztribúció tartalmaz egy olyan programot (csomagkezelőt), amellyel több ezer olyan szabad szoftver között válogathat a felhasználó, melyet már leellenőriztek, teszteltek és az adott disztribúcióhoz optimalizáltak. Ezek a programok két kattintással letölthetők és telepíthetők. Digitális aláírás garantálja azt, hogy a programhoz senki sem adott hozzá vírust vagy kémprogramot. A KDE 4.2 grafikus felület A két fő grafikus felület a GNOME és a KDE. Ez a két projekt a GTK+ és Qt eszközkészlettel íródott. Mindkét felület széles nyelvi támogatással rendelkezik.[49][50] Számos Windowson elérhető szabad szoftver elérhető Linuxra is (sőt általában Linuxra írják meg először), így például a népszerű Pidgin, Mozilla Firefox, OpenOffice.org és GIMP elérhetőek Linux rendszerre is.[51] Ezek közül sok alapértelmezetten benne van sok disztribúcióban (például az Ubuntu Linux az előbb felsorolt programok mindegyikét alapértelmezetten tartalmazza).[52] Egyre több jogvédett, kereskedelmi szoftver is elérhető.[53] Animációk és vizuális effektek tekintetében az olyan magas szintű szoftverek, mint a AutoDesk Maya, Softimage XSI és Apple Shake egyaránt elérhetők Windows-ra Mac-re és Linuxra. A CrossOver egy Wine-on alapuló kereskedelmi szoftver, amellyel Windows-os alkalmazásokat futtathat a felhasználó. Segítségével a Microsoft Office, Intuit, Quicken és QuickBooks, Adobe Photoshop (CS2-ig), és számos népszerű játék, mint például a World of Warcraft és a Team Fortress 2 futtatható. Több képernyőfelolvasó is elérhető, például az Orca és a Blinux.[54](Kifejezetten vakok számára fejlesztett magyar Linux is létezik BeLin néven).[55][56] A GNOME-hoz és KDE-hez képest kisebb hardverigényű Xfce asztali környezet A Windows-emuláló szoftverek mellett a legtöbb disztribúció támogatja a dual-boot és az x86 virtualizációs megoldásokat, így egy gépen futhat Linux és Windows. A Wine fejlesztők szerint „a Wine még fejlesztés alatt áll, és még nem elégíti ki az általános igényeket”.[57] A szabad szoftveres közösség együttműködésének köszönhetően egyes disztribúciók olyan nyelven is megjelennek, amilyenen a kereskedelmi szoftverek nem, mivel nem éri meg nekik lefordítani. Például a Knoppix disztribúció már jóval azelőtt elérhető volt szingaléz nyelven, mielőtt a Windows XP-t lefordították volna. Ebben az esetben a lankai Linux Felhasználók fontos szerepet játszottak abban, hogy egyetemi professzorok, nyelvészek és helyi fejlesztők segítségével a rendszer anyanyelvükön megjelenjen. A Linux-alapú operációs rendszerek asztali teljesítménye vitatott kérdés. Con Kolivas például azzal vádolta a Linux közösséget, hogy túl nagy hangsúlyt fektetnek a Linux-alapú szerverek teljesítményére az asztali Linuxok kárára. Éppen ezért el is hagyta a Linux kernel fejlesztői csapatot, és egy interjúban fejtette ki véleményét. Biztonság: A Linux biztonsága függ a felhasználási területtől, így asztali rendszerként szigorúbban osztja ki az egyes taskoknak a hozzáférést, mint más elterjedt rendszerek. Ez többek között ahhoz vezet, hogy sok elterjedt vírus és féreg nem képes arra, hogy megtámadja a Linuxot. Eddig csak két vírus, a Staog és a Bliss lépett fel Linux alatt. A Linux először egy nagyon technikai és a biztonságot kiemelten kezelő körben terjedt el, így fejlesztése egy biztonságra nagymértékben ügyelő közönség előtt zajlott le. Nagygépes rendszerekben a biztonság főként attól függ, hogy a rendszergazdák mennyire tudják kiismerni a rendszert. Itt a Linux szabad forrásával tűnik ki, ugyanis így többletköltségek nélkül lehet tesztelni és átvizsgálni. Speciálisan biztonságközpontú disztribúciók egész sora áll rendelkezésre. A Linuxot nem egy architektúrára tervezték, ezért a vírusok és a férgek csak azokon az architektúrákon tudnak elterjedni, amikre tervezték őket. A Linux forráskódja nyílt, tehát sokan tudják tanulmányozni, vizsgálni és a saját eszközeikhez, ízlésükhöz igazítani. Ez ahhoz is vezet, hogy sokan vizsgálják és fejlesztik biztonsági szempontból is.