\documentclass[12pt,a4paper,titlepage]{article}
\sloppy

\usepackage{epsf}
\usepackage{hungarian}

\newenvironment{idezet}{\par\bigskip\begin{sl}}{\end{sl}\par\bigskip}

\begin{document}
\title{A Linux (eddigi) története\\(0.2 változat)}
\author{Szerző: Horváthné Harmati Szilvia\\
Szerkesztő: Horváth András}
\date{1997.\ július 19.}

\maketitle

\hun 

\tableofcontents

\clearpage



\section{Előszó}

Ez az irat az ELTE számítástechnika szakán házi dolgozatként készült el
eredetileg. Az eredeti dokumentumot az Interneten elérhetővé tettük, és
számos módosító javaslat után most kiadjuk a javított változatot. Remélem,
ebben már nincs komoly hiba. (Az eredetiben sem volt sok.)

Ezennel közreadjuk, azaz bárki számára engedélyezzük másolását, terjesztését,
ha az eredeti forrást megjelöli. Nem vállalunk felelősséget az esetleges
tévedésekért, pontatlanságokért, valamint azért, ha valakinek a dokumentum
megformázza a merevlemezét, vagy beteszi a macskáját a mikrosütőbe, bár
tudtommal ilyenre nem képes. (De ha valaki áttenné egy ``közkedvelt''
szövegszerkeszőbe, amely annyira ``fejlett'', hogy vírusokat is képes
terjeszteni, akkor még az sem kizárt. A \LaTeX-ről ilyet nem 
tudok \verb+;-)+ .)


Építő jellegű javaslatokat, kiegészítéseket szívesen fogadunk az alábbi címre:
\begin{verbatim}
  horvatha@rs1.szif.hu
\end{verbatim}

Remélem, ez a kis irat sokak számára érdekes lesz, vagy esetleg kedvet
csinál a Linux megismeréséhez. Annak meg méginkább örülnénk, ha sikerülne
jócskán kiegészíteni a vállakozó szellemű Linux-kedvelők által írt részekkel.
Azok, akik egy komplett fejezetet megírnak, bekerülnek a szerzők listájába,
kisebb korrekciók javaslói pedig a köszönetnyilvánításba. Nem túl nagy
dicsőség, de ez van. \verb+:-)+

\bigskip
\bigskip
\noindent Győr, 1997.\ július 19.

\hfill\shortstack{Horváth András\\szerkesztő\\[1ex]Horváthné Harmati
Szilvia\\szerző}

\clearpage

\section{Bevezetés}

Dolgozatom témaválasztása kissé szokatlan lehet, mivel a Linux nem tekint
vissza hosszú múltra: a rendszer első változatát 1991.\ augusztusának végén
egy finn egyetemista, Linus Torvalds írta, mert jobban meg szerette volna
ismerni az Intel 80386-os processzorát. Azóta a rendszer hihetetlenül
sikeresnek bizonyult: mára Intel, M680x0, DEC AXP, MIPS, Sun Sparc gépeken
is fut Linux, Magyarország WWW-szolgáltatóinak 9\%-a Linuxot használ, és a
világ minden pontján találunk Linux-felhasználókat.

Mindezt különösen érdekessé teszi, hogy a Linux szabadterjesztésű szoftver,
tehát bárki ingyen másolhatja, továbbadhatja, módosíthatja, ha ezért nem kér
pénzt. (Ez egy kissé bonyolultabb, de pecíz megfogalmazásban olvasható a 
\ref{sec:masjog}
fejezetben.) Ebből adódóan a Linux mögött nincs egy világcég, amely
reklámmal, piackutatással, megvesztegetéssel egyengetné a rendszer útját.
Ezzel szemben több száz fejlesztő dolgozik a tökéletesítésén,
\footnote{A majdem legújabb 2.0.27-es rendszermag ``CREDITS'' fájlja 197
programozó nevét tartalmazza. Tehát ezek csak azok, akik a Linux
``lelkének'' fejlesztésében részt vettek. A Linux alá integrált felhasználói
programok szerzőinek száma felmérhetetlen, de biztosan több ezer.} 
és Linus
Torvalds mostanára nemcsak fejleszti Linux-ot, 
hanem ezt a fejlesztést koordinálja. 
Ezek a
fejlesztők többnyire nem ismerik egymást, csak az Interneten keresztül
tartják a kapcsolatot. Ez a szétszórt fejlesztés mégis olyan hatékonysággal
történik, hogy a Linux megbízhatóság, sebesség tekintetében bátran felveheti
a versenyt bármely ``pénzes'' operációs rendszerrel. (Az árban meg egyenesen
verhetetlen.)

A Linux történetébe való bepillantás tehát egy olyan világba vezet minket,
ahol a programozók ``dicsőségért'' programoznak, mindenki szabadon átadja
ismereteit a többieknek, és az egész vállalkozást a lelkesedés viszi
előre, mégis a szoftvernagyhatalmakkal összevethető eredményességgel
dolgozik. 

Ez a mentalitás nemcsak a Linuxot jellemzi, hisz már a `70-es
években jelentkeztek a UNIX-os világban az első szabad terjesztésű programok
(maga a UNIX is az volt eredetileg). Ezeket a szabad szoftvereket a 
``GNU project'', valamint a ``Free Software Foundation'' fogja össze,
melyeknek tevékenysége szélesesebb körű, mint a Linux rendszer. Ezen
munkákba is bepillantást szeretnénk adni ezen dolgozatban.




\section{Mi is az a Linux?}

Ma a Linux egy 32/64 bites, POSIX szabványt követő UNIX változat, amely
eredetileg csak IBM PC gépeken futott (80386 vagy jobb processzor esetén),
de mára nagyon sok hardverre adaptálták. Így létezik Linux DEC AXP, PowerPC,
M680x0, Sun Sparc alapú gépekre is. A különböző hardverekre a rendszer
kidolgozottsága eltérő fokú, de mindegyik esetén legalábbis összemérhető
hatékonyságú és megbízhatóságú az azon a gépen szokásos operációs
rendszerekkel, több esetben pedig sok szempontból jobb. 

Különösen igaz ez a 386/486/586/686 alapú IBM PC-k esetében: sebesség és
megbízhatóság tekintetében messze túlszárnyalja a leginkább elterjedt DOS,
Windows, Windows '95 rendszereket. Például teljesen megszokott, hogy egy
Linuxos szerver éjjel-nappali üzemben dolgozva, 2--6 felhasználó által
igénybe véve hónapokig megbízhatóan üzemel, míg a legelterjedtebb
rendszerekkel egy felhasználó sem tudja könnyen elérni, hogy naponta egyszer
ne kapjon ``Általános védelmi hiba'', vagy hasonló sokatmondó üzenetet. 

Egy másik példa erre az, hogy az Ultra Sparc processzoron futó 64 bites
Linux teljesen stabilnak tűnik, míg a Sun még nem tudott előállni stabil
64 bites operációs rendszerrel ugyanerre a processzorra..


A Linux {\em valóban} 32/64 bites és {\em valóban} többfelhasználós (multiuser)
és többfeladatos (multitasking) operációs rendszer. Ennek az az oka, hogy
írója nem egy korábbi rendszert kezdett el tökéletesítgetni, toldozgatni,
hanem ``az első bittől kezdve'' előről írta meg, felhasználva sok más
programozó tapasztalatát, később programrészleteit. 

A nagyon gondos programozás miatt ritka, hogy két program (pontosabban: két
process) zavarja egymást, így kitűnően alkalmas programfejlesztésre is.

A Linux rendelkezik a szokásos funkciókkal: virtuális memória, merevlemez
gyorsítótár, memórialemez, Internet hozzáférés, a leggyakoribb hardverelemek
(CD-olvasó/iró, nyomtató, IDE és SCSI lemezek, stb.) kezelése.

A rendszer kidolgozottsága olyan fokú, hogy egyre több helyen alkalmazzák
UNIXos munkaállomásként, vagy hálózati szerverként. Mindkét esetben hatalmas
előny a szokásos IBM PC-s programokkal szemben a nagyfokú megbízhatóság és
az alacsony ár, valamint az sem elhanyagolható, hogy nagyon nagy a
hasonlóság a Linux és a ``nagygépek'' operációs rendszerei közt, azaz pl.\
egy Linuxos program könnyen átvihető mondjuk egy Sun SPARC gépre, de gondos
programozás esetén akár egy CRAY szupergépre is. 

Joggal merülhet fel a kérdés: ha mindez így van, miért nem Linuxot használ
mindenki a világon. Erre a dolgozat hátralevő részében részletes
magyarázatot adunk, itt csak a főbb szempontokat említjük meg.

Mivel a Linux szabadterjesztésű, így a programozók számára nem biztosít
megélhetést (sőt, leginkább egy garast sem). Ezért senki nem vállal
felelősséget azért, hogy az általa írt rész működni fog. Ez sokakat
visszariaszt, és ki sem próbálják a rendszert. Továbbá, mivel nincs a Linux
mögött egy nagy cég, nincs biztosíték arra, hogy a rendszer fejlesztése nem
marad abba mondjuk jövőre. Ugyanezen ok miatt nincs reklámozva sem a termék,
tehát sokan meg sem ismerik.

Az, hogy ezek ellenére a Linux-felhasználók száma milliókban mérhető,  azt
jelzi, hogy érdemes erre a rendszerre odafigyelni, és a számítástechnika
történetének érdekes, és ma is élő színfoltját jelenti ez a program, és az a
mozgalom, ami körülötte kialakult.


\section{A Linux története napjainkig}


Nehéz egy ilyen szerteágazó rendszer történetét megírni. A több száz
fejlesztő miatt --- a kezdeteket leszámítva --- az események ugyanis több
szálon zajlottak. Ezek közül itt először, a rendszermag (kernel)
fejlődésével foglalkozunk. Később kitérünk a terjesztési csomagok
(disztribúciók) történetére is.



\subsection{A Linux születése, csecsemőkora (0.01--0.10)}

A Linux fejlesztésének kezdetén Linus Torvalds a 80386 processzor védett
módú (protected mode), feladat-váltó (task-switching) lehetőségeivel
szeretett volna megismerkedni. Ez kb.\ 1991 nyarának elején lehetett. 
A pontos dátumra maga a szerző sem emlékszik, de amikor egyszer
megkérdezték, mikor van a Linux születésnapja, azt mondta, hogy nem tudja
megmondani, de egy e-mail tanúsága szerint július 3-án már a POSIX
szabvány után érdeklődött, így akkor már biztos futott az alaprendszer.

\begin{figure}[htbp]
\centerline{\epsfysize=7cm\epsfbox{linus.eps}}
\caption{Linus Torvalds}
\label{fig:linus}
\end{figure}


A
program fejlesztése egy korábbi PC-s UNIX, a Minix alatt történt, eleinte
assembly-ben. Az első fázisban kialakuló 0.01-es változat még semmire sem volt
használható, csak egy lépcső volt a továbbfejlesztéshez. Linus Torvalds így
ír erről:

\begin{idezet}  
Két hónap telt el az alaprendszer felállításáig, de utána rövidesen lett egy
lemezmeghajtóm (amely súlyos programhibákkal volt tele, de az én gépemen
történetesen működött) és egy kis fájl-rendszerem.  Körülbelül ekkor [1991.\
augusztusának végén] tettem közzé a 0.01-es változatot: nem volt
kicsinosítva, nem volt floppi-meghajtója, és nem sok mindent tudott
csinálni. Azt hiszem, soha senki nem fordította le ezt a változatot. De
akkor már beindultam, és nem akartam addig megállni, amíg túl nem haladom a
Minixet.
\end{idezet}

Amikor Linus áttért a C nyelvre, a fejlesztés lényegesen gyorsabbá vált, és
olyan nagyratörő tervek fogalmazódtak meg, hogy valaha le lehessen fordítani
a GNU C fordítóját Linux alatt. (Ma már csak csodálkozni lehet azon, hogy
1991-ben ez volt a nagy álom, és azóta hol tart a rendszer.)

Ez a legelső változat még nem volt használható: csak Minix alatt lehetett
lefordítani, és semmi hasznos funkciója nem volt azon kívül, hogy írója
megismerkedett a processzorral.

1991.\ október 5-én hirdette meg Linus az első ``hivatalos'', 0.02-es
Linux-ot az Interneten. Ekkor már néhány alapprogram futott a rendszeren
(pl.\ a GNU ``gcc'' nevű C fordítója, valamint a ``bash'' burokprogram), így
már el lehetett kezdeni használni a rendszert. Ekkor nem is a rendszer
használhatóságának növelése volt a fő cél, hanem a rendszermag fejlesztése.
Ezért ekkor nem készültek dokumentációk, installációs csomagok, stb. A
Linux ekkor még csak a megszállott hackereknek készült.

Linus ekkor elhatározta, hogy az Interneten keresztül bevonja a fejlesztésbe
a szabad kapacitással rendelkező programozókat, és a következő hirdetményt
tette közzé a comp.os.minix hírcsoportban:

\begin{idezet}
Sóvárogsz a Minix-1.1 szép napjai után, amikor a férfiak igazi férfiak
voltak, és mindenki maga írta a saját eszközmeghajtóját? Egy szép project
nélkül vagy, és épp fened a fogad egy operációs rendszerre, amit igényeidnek
megfelelően alakíthatsz? Frusztrálónak találod, ha minden működik Minix
alatt? \ldots Akkor ez a
levél lehet hogy pont neked szól.

Ahogy egy hónapja említettem, egy szabad Minix-szerűségen dolgozom AT-386
számítógépre. Végülis elérkeztem egy olyan állapotra, amikor ez egyátalán
használható (bár ez függhet attól, mit akarsz), és a program forráskódját
szélesebb körben tervezem szétosztani. Ez még csak a 0.02-es változat, de
sikeresen futtattam a bash, gcc, gnu-make, gnu-sed, compress, stb.
programokat alatta.
\end{idezet}

Megjegyzendő, hogy ekkor, és még egy darabig a Linux erősen kapcsolódott a
Minix-hez: önállóan nem is létezett, csak alatta lehetett lefordítani,
futtatni, továbbá az Interneten is a Minix hírcsoportjában folyt a Linux-ról
szóló tárgyalás.

A 0.03-as verzió két--három hét alatt megszületett, majd 1991.\
decemberében Linus kibocsátotta a 0.10-eset is. Ez az ugrás a számozásban
azt tükrözte, hogy jelentősen megnőtt a Linux alatt futtatható
alkalmazások száma, de a Linux még mindig nem volt önálló,
szerzője szerint is ``egy hacker által hackereknek írt'' rendszerről van
szó, így a rendszernek csak fejlesztői vannak, felhaszálói nem.







\subsection{A Linux gyermekkora (0.11--0.99)}

1991.\ december 19-től, a 0.11-es változat kibocsátásától 
számíthatjuk a Linux gyerekkorát. Ez volt az első önálló rendszer, tehát
nem kellett Minix a használatához. Sok olyan tulajdonsággal rendelkezett,
amely jelezte, hogy itt valami komoly készül. Ezeket Linus felsorolásában
adjuk közre:
\begin{idezet}
  A 0.11-nek a következő újdonságai vannak:
\begin{itemize}
\item demand loading   
\item kód és adatmegosztás nem kapcsolódó processzek közt 
\item sokkal jobb floppi-vezérlők (most már többnyire működnek)
\item hibajavítások
\item Hercules/MDA/CGA/EGA/VGA támogatás
\item a konzol hangot is ad (Óh! Fantasztikus rendszermag!)
\item mkfs/fsck/fdisk \textrm{(fájlrendszer karbantartó programok)}
\item amerikai/német/francia/finn billentyűzet
\item a com1/2 sebessége beállítható
\end{itemize}
\end{idezet}

A 0.12-es változat 1992.\ január 15-én látott napvilágot, néhány bővítéssel:
Már volt init/login szolgáltatás (nem root-ként kellett először
bejelentkezni, és inicializálni a rendszert), közeledett a POSIX
szabványhoz, virtuális memóriát is használt és kissebb korrekciókat
tartalmazott.

Ez egy elég stabil változat lett, ekkortól kezdődött el a Linux igazi
hódítása. A 0.12-es Linuxot ugyanis elkezdték használni ``egyszerű''
felhasználók is, nemcsak megszállottak. 

Szintén ehhez a változathoz kapcsolódik a Linux fejlesztésének
kiszélesedése: a 0.12-es már lényeges részeket tartalmazott, melyeket nem
Linus Torvalds írt. Pl.\ a ``job control''-t Theodore Ts'o, 
a virtuális
konzolokat Peter MacDonald programozta.

Az így előálló rendszer már több vonatkozásban jobb volt a Minix-nél, de
még mindig nem volt látható, hogy ebből akkora mozgalom lesz, mint ami
mára kialakult.

A sikeren felbuzdulva a verziószám hirtelen ugrott: a 0.95-ös 1992.\
márciusában, a 0.96 áprilisban lett kibocsátva. Ekkortól kezdve hihetetlen
ütemben gyarapodott a Linux-felhasználók és -programozók száma.

Ekkor a verziószám hirtelen ``befékezett''. 1993.\ decemberében a verziószám
0.99pl14 volt. (A pl14 a ``patch level 14'' rövidítése, azaz ez a 14.\
javított változat.) Bár a 0.95-ös verziótól kezdve a szolgáltatások száma, a
megbízhatóság, és sok egyéb szempontból jelentős javulás következett be, és
hihetetlenül sokan használták ezeket a rendszermagokat, az 1.0 verziószámot
csak akkor merték kiadni (1994.\ elején), amikor a POSIX szabvánnyal való
kompatibilitás kielégítővé vált.

A 0.95--0.99 rendszermagra épülő rendszereknek óriási népszerűségük volt.
Egyes egyetemeken, pontosabban azok bizonyos intézeteiben gyakorlatilag
likvidálták az összes nem Linux-os programot, és a PC-ken nem lehetett DOS-t
vagy Windows-t találni. (Legfeljebb a titkárságokon.) Ez főleg olyan
helyeken következett be, ahol a kutatók UNIX alatt dolgoztak, mert egy
Linux-os PC-n otthon is fejleszthették a programjukat, és ezeket egyszerű
volt az intézet nagykapacitású gépeire áttenni. (Egyik ismerősöm személyesen
tapasztalta ezt 1993-ban a Würzburgi Egyetem Csillagászati Tanszékén: szó
szerint senki sem használt DOS-t, még otthon sem, legfeljebb a kedvenc
játékprogram futtatására. Az otthoni Linux-os gépen kifejlesztett, tesztelt
programok gond nélkül áttehetők voltak az intézet CRAY gépére.)

Hazánkban ekkortájt (1993) kezdett igazán elterjedni a Linux, mert ekkorra
kötötték be a felsőoktatási intézmények nagy részét az Internetbe, így
sokaknak megnyílt a lehetősége a Linux beszerzésére.

Megjegyezzük, hogy a \ref{kernelido} fejezetben pontosan megadjuk a kernelek
megjelenési időpontjait.

A Linux és a Minix szétválását meggyorsította, hogy a Minix szerzője,
Andrew Tanenbaum nem nézte jó szemmel a Linux-ot. Alapvetően elhibázottnak
tartotta a Linux rendszermag típusát; Linus Torvalds ugyanis ún.\
``monolitikus kernelt'' írt, míg Andrew Tannenbaum (elméleti megfontolások
alapján) a ``mikrokernelt'' jobb választásnak tartotta. Sajnos, a vitába
személyes elemek is keveredtek, és a vita jórészt az Internet hírcsoportjaiban
zajlott, meglehetősen nagy nyilvánosság előtt. 
Így kissé ideges hangulatban zajlott le a Minix és a Linux szétválása.

Csak ízelítőül:

Andrew Tannenbaum:
\begin{idezet}
Továbbra is fenntartom azt, hogy 1991-ben monolitikus kernelt tervezni
alapvető hiba. Örülj, hogy nem vagy a tanítványom. Nem kapnál túl jó
minősítést egy ilyen tervezésre :-)
\end{idezet}

Linus Torvalds:
\begin{idezet}
Az Ön foglalkozása professzor és kutató: Ez egy pokolian jó mentség a Minix
némely agysérülésére.
\end{idezet}

Andrew Tannenbaum (1992-ben):
\begin{idezet}
A Linux elavult!
\end{idezet}


Mivel nem ismerem a Minixet, ezért nem tudok döntőbíró lenni a vitában, de
mára a Linux felhasználók száma, alkalmazások sokrétűsége, és egy csomó más
szempont szerint nagyságrendekkel veri a Minix-et. Talán elég azt
megjegyezni, hogy a Linux-szal kapcsolatos angol nyelvű hírcsoportok száma
több, mint 10, és magyarul is jópár (kb.\ 6) Linuxos hírcsoport működik, míg
a Minix-szel csak egy foglalkozik az egész világon, melynek forgalma össze
sem vethető a magyar Linux-listákéval sem.

Annyit azonban meg kell jegyezni, hogy a Minix azért sem terjedhetett
annyira, mint a Linux, mert nem szabadterjesztésű. Ennek ellenére az
valószínűsíthető, hogy Andrew Tanenbaumnak nem volt igaza abban, hogy a
Linux alapvető szervezése teljesen hibás, mert alapvető hibákkal nem lehetne
egy rendszer ennyire stabil, és nem is terjedt volna el. Talán személyes
ambícióit sértette, hogy egy egyetemista az övénél használhatóbb rendszert
hozott össze, mely mellett a Minix elhanyagolható szerepet játszik.
Mindenesetre sajnálatos, hogy ilyen veszekedésekre is sor kerülhet komoly
szakemberek között.



\subsection{A Linux fiatalkora (1.0.0--1.2.13)}

A POSIX szabványosítás megfelelő szintű elérésével 1994.\ márciusában
megjelent az 1.0.0 sorszámú kernel. Ekkortól kezdve egy speciális
sorszámozási eljárást vezettek be a fejlesztők: A verziószámot három,
ponttal elválasztott nemnegatív egész jelzi. Az első a fő verziószám, ami
csak a rendszermag lényegét érintő változásoknál vált eggyel nagyobbra. A
második szám elég speciális jelentésű: ha páros, akkor stabil, tesztelt
kernelről van szó, amit bárkinek ajánlanak használatra, míg a páratlan szám
tesztváltozatot jelöl, amit inkább azoknak javasolnak, akik tesztelni,
fejleszteni szeretnék a kernelt, és akiknek nem számít, ha a rendszer néha
``elszáll''. A harmadik szám pedig kisebb módosításokkor ugrik egyet.


\begin{figure}[htbp]
\centerline{\epsfxsize=5cm\epsfbox{peng.eps}}
\caption{A Linux "hivatalos" emblémája}
\label{fig:pingvin}
\end{figure}


Ennek megfelelően egyszerre két szálon fut a legújabb verziószám: pl.\ a
legfrissebb két kernel sorszáma 2.0.30 illetve 2.1.46. A stabil verziókba
csak olyan modulok kerülhetnek bele, amelyek a fejlesztői változatokban már
üzembiztosnak bizonyultak.

Ez a fura sorszámozás lehetővé teszi, hogy az egyszerű felhasználók csak a
valóban használható változatokat kapják meg, de közben az esetleg még
hibákat tartalmazó fejlesztői változatok is hozzáférhetőek legyenek.
A későbbiekben mi csak a stabil verziószámokkal foglalkozunk, mert ezek a
``hivatalos'' változatok.

Ezen változatok nem hoztak újabb hatalmas áttörést, mert az már korábban
bekövetkezett. A fejlesztés során a rendszermag egyre hatékonyabb lett,
beépítették a legújabb hardverek meghajtóit (CD-olvasók, PCI-buszok, újabb
SCSI-eszközök, stb.). Talán leginkább az 1.2.x-es kernelekkel bevezetett új
végrehajtható programformátum, az ELF megjelenését kell itt megemlíteni.

Ebben az időben a Linux alatti felhasználói programok száma nőtt meg
hihetetlenül. Míg korábban főleg már meglevő szoftvereket vittek át a Linux
alá, addig ekkor már megjelennek azok a programok, melyeket Linux alatt
fejlesztenek, és innét viszik át a többi rendszerre. Ekkor már nagy
szoftvercégek is elkészítik programjaik Linux-os változatát (pl.\ Maple V,
Motif 2.0).
Ezek természetesen nem szabadterjeszésűek, és az, hogy megéri Linux-ra is
adaptálni őket, egyértelműen jelzi, hogy a Linux-felhasználók tábora
világméretekben is piacot jelent.

Ekkortájt egyre több Linux-disztribúció kezd megjelenni, azaz több cég olyan
programcsomagot állít elő, amelyekkel a Linux telepítése, karbantartása
sokkal könnyebb, mintha mindenki egyenként gyűjtené be a rendszer részeit.
Ezekről egy későbbi fejezetben külön szólunk.







\subsection{Napjaink Linux-a (2.0.0--2.0.30)}

1996.\ augusztusában jelent meg a 2.0.0 sorszámú rendszermag. Ennek fő
újítása a modulok megjelenése volt: a kernel bizonyos részei modulként is
elkészíthetők, és ezek a modulok akár automatikusan, akár kézzel betölthetők
a memóriába, ahonnét a rendszer kipakolja őket, ha régóta nem használjuk.

\begin{figure}[htbp]
\centerline{\epsfxsize=8cm\epsfbox{powpeng.eps}}
\caption{A Linux 2.0 logója}
\label{fig:powpingvin}
\end{figure}

Például a nyomtató, floppi-vezérlő, nem Linux-os fájlrendszereket kezelő
részeket célszerű modulba tenni, mert ekkor ezek csak addig foglalják a
memóriát, amíg éppen használjuk őket, és ez többnyire a munkaidő
jelentéktelen része. 

Ezzel az az érdekes helyzet állt elő, hogy a rendszermag memóriaigénye {\em
kisebb} lett, míg hatékonysága és megbízhatósága megnőtt. (Erről a
tendenciáról példát vehetnének a piacot uraló szoftverhatalmak is. Csakhogy
azok nem hatékonyabb, hanem nagyobb anyagi hasznot hozó rendszer írásában
érdekeltek, és a hardvergyártókkal való összefonódás miatt sokszor a nagyobb
memóriaigény kifejezetten előny a cég számára.)





\subsection{A Linux jövője}


Nehéz, és veszélyes dolog jóslásokba bocsátkozni, de néhány alapvető
dologban biztosak lehetünk.

A Linuxnak akkora tábora van, hogy még Linus Torvalds és a többi vezető
programozó kilépése esetén is tovább fog folytatódni a munka. Különösen igaz
ez azért, mert mára nemcsak IBM PC-ken, hanem a legerterjedtebb
munkaállomásokon is fut Linux. 

A mai napig folyamatosan növekszik a Linuxos szoftverek, a felhasználók
száma, és az alkalmazások sokrétűsége. Hogy csak egy példát említsek:
megépítettek egy ``LOKI'' nevű Linux-os szupergépet, amely 16db,
hálózatban összekapcsolt 200\,MHz-es PC-ből áll, és ezt a Los Alamos
National Laboratory-ban
komoly kutatási feladatokra használják, mert számítási kapacitása
egy kisebb CRAY számítógépével egyenértékű, az ára pedig annak töredéke.
(A rendszer főbb paraméterei: 16~db Pentium Pro processzor, 2~gigabájt RAM,
50~gigabájt winchester, 1.2~gigaflop. Az ára: 63\,000\$.)


Úgy néz ki tehát, hogy lendületben van a rendszer, és több évig tartó biztos
dinamikus fejlődés előtt áll. 

Véleményem szerint az egyetemi és kutatási helyeken méltó vetélytársa
bármelyik operációs rendszernek, és itt a jelenleginél sokkal nagyobb
elterjedésre számíthatunk a közeljövőben. (Különösen, ha figyelembe vesszük
a magyar felsőoktatási intézmények anyagi helyeztét.)

Ugyanez nem mondható el az irodai
alkalmazásokról, mert hiányzanak az ide szükséges szoftverek, de leginkább a
közérthető, több nyelven elérhető dokumentációk. Igaz ugyan, hogy az utóbbi
időben ez is változni látszik: pl.\ a Staroffice rendszer, amelynek
jelenleg nemrég jelent meg az első stabil változata,
kifejezetten irodai célokra
készül, és állítólag teljesen kompatibilis módon fut Linux, 
Windows~`95, Windows~NT, SunOS, és a legelterjedtebb operációs rendszerek
alatt. 

Ezen kívül is egyre több irodai csomag kezd megjelenni Linux alá, melyek
közül talán az Applixware rendszert illetve a Wordperfect szövegszerkesztő
programot kell leginkább
megemlíteni.

Az biztos, hogy Linus Torvalds nem lesz a fejlődés gátja. Egy helyen ugyanis
ezt írja:

\begin{idezet}
Azon a napon, amikor a Linuxot valaki más jobban tudja szolgálni (az FSF egy
természetes alternatíva), félreállok. Nem gondolom, hogy emiatt valakinek
aggódni kellene, és nem is gondolom, hogy ez a közeljövőben bekövetkezik.
Szeretek a Linuxszal foglalkozni, még ha ez egy kis munkával jár is, és még
senkitől sem kaptam panaszt. (Csak néhány, majdhogynem szégyenlős
emlékeztetőt arról, hogy egy foltot elfelejtettem, vagy nem vettem
figyelembe, de eddig semmi negatívot.)

Ne vegyétek úgy a fentieket, hogy azon a napon, amikor valaki ellenkezik,
abbahagyom: elég keményfejű vagyok (Lasu, aki ezt a vállam felett olvassa,
megjegyezte, hogy ``a FAfejű közelebb van az igazsághoz'') egy kis
mocskolódáshoz. Ha nem lennék az, abbahagytam volna a Linux fejlesztését,
amikor a comp.os.minix-en nevetségessé tettek. Csak arra gondoltam, hogy bár a
Linux eddig az én gyermekem volt, nem akarok útban lenni, ha az emberek
jobbat szeretnének csinálni (*).

(*) Hé, lehet, hogy kérhetném a szenttéavatásomat a Pápától! Tudja valaki az
e-mail címét? 
\end{idezet}






\section{A Linux-terjesztések (disztribúciók)}

A Linuxot kezdetben pusztán az Internetről lehetett beszerezni, és az
installálás nem volt túl könnyű. Ekkor a rendszert még csak a
számítógéphez nagyon értők használták.
A népszerűség növekedtével azonban igény mutatkozott olyan
programcsomag-rendszerre, amely a kevésbé szakértő számára is lehetővé teszi
a telepítést. Ez volt az oka a Linux-terjesztések (disztribúciók)
megjelenésének.

Általános tendenciaként azt említhetjük, hogy az egyre későbbi disztribúciók
egyre jobban megkönnyítik a felhasználó dolgát. Igaz, ennek ára van:
egyrészt a legautomatikusabb változatok pénzbe kerülnek, másrészt egy
automatikus telepítés sohasem olyan gazdaságos, mint egy kézi vezérlésű.
Tehát egy automatikus telepítéskor felkerülhetnek felesleges programok is,
vagy a konfiguráció nem a legjobban illeszkedik a rendszerhez, viszont a
telepítés elkezdése és a rendszer használatba vétele közt sokkal kevesebb
idő telik el, és az új programváltozatok is könnyen telepíthetők lesznek.

Történetileg az első, világméretekben elterjedt disztribúció a ``Slackware''
volt. Ez megkönnyítette a rendszer telepítését, így nemcsak
számítógép-specialisták tudták feltenni a Linuxot a gépükre. Ez azonban nem
azt jelenti, hogy a telepítés könnyű lenne: elég sok dokumentációt kell
elolvasni annak, aki Slackware-t akart telepíteni. Ez a disztribúció magán
viseli a múlt nyomait: még mindig 1.4~megabájtonként, azaz floppira tehető
módon vannak rendezve a programcsomagok, bár ma már kevesen telepítik a
Linuxot floppiról. (Talán CD-ről történik a legtöbb installáció, de sokszor
a az Interneten keresztül, valamilyen közeli szerverről történik a
telepítés.)

Megemlítendő azonban, hogy a kezdeti időkben sem volt egyeduralkodó a
Slackware: léteztek más disztribúciók is. Ilyenek voltak pl.\ az SLS,
Transameritech illetve MCC terjesztések, melyekről pontosabb információval
nem rendelkezek.

A Slackware rendelkezik programcsomagok installálására, letörlésére,
karbantartására írt programmal, de ez viszonylag kezdetleges a későbbi
disztribúciókhoz képest. (Igaz, a legújabb, 3.2-es Slackware-ben ezt
állítólag javították, de még nem szereztem megbítható értesüléseket erről.)

Mostanában egyre nagyobb tért hódít a ``Red Hat'' disztribúció. Ez különösen
a könnyű telepíthetőségével, fejlett csomagkezelésével, és a programcsomagok
nagy választékával nyújt a Slackware-nél több kényelmet. Igaz, ennek ára
van: 8~megabájt RAM alatt nem telepíthető, míg a Slackware ennek felével is
megelégszik. A RedHat legfrisseb verziószáma a 4.2-es.

A Red Hat-hez hasonló szolgáltatásokat nyújt a ``Debian'' is, de erről nem
tudtam pontos információkat begyűjteni.

Az eddig említett disztribúciókkal ellentétben a ``Caldera Open Linux''
teljes változata nem szabadterjesztésű: nemcsak az információhordozót és a
másolási költséget kell megfizetnie annak, aki ilyenhez szeretne jutni. Az
ára (kb.~15--20\,000\,Ft) azonban még így is kedvező a hasonló célú
``operációs'' rendszerekkel összevetve, különösen azért, mert egy teljes
Caldera Open Linux csomag kereskedelmi (pénzes) szoftvereket is tartalmaz,
mint pl.\ Netscape, Staroffice.





\section{A szabad szoftverek (freeware) és a GNU project}

A Linux szabad szoftverként terjed. Első pillanatra ez furcsa
lehet, azonban ha a számítástechnika történetét megnézzük, rájöhetünk, hogy
ez nem mai találmány.

Az mai értelemben vett számítástechnika az 50-es években indult. Ekkor a
gépek építési és karbantartási (hardver) műveletek nagyságrendekkel több
emberi munkát igényeltek, mint a programok (szoftver) készítése. Ennek egyik
oka abban keresendő, hogy igen drága volt az elektronikai berendezések
előállítása, másrészről a programok --- mai szemmel --- meglehetősen kis
méretűek voltak. (Nem is lehettek nagyok az akkori gépeken.) Ez azt
eredményezte, hogy a szoftvereket szabadon, baráti alapon terjesztették
íróik, illetve az operációs rendszerek a számítógép tartozékainak
számítottak. Még az 1969-ben született UNIX forráskódjának egy változata
is szabadterjesztésű
volt eredetileg. Később egyes intézmények, cégek is megírták a saját
UNIX-változatukat, és ezek némelyikét már komoly összegekért árulták,
mindenféle módon védekezve a szabad másolás ellen. (Hasonló jelenség volt
megfigyelhető más operációs rendszerek esetén is.) 
Úgy tűnik, az MS-DOS is sok ötletet szedett a UNIX-tól, ha nem is
közvetlenül, de a CP/M-en keresztül. (Pl.\ faszerkezetű künyvtárstruktúra,
standard input-output átirányítás.)


A 70-es évek végén és a 80-as évek elején több programozó nem vette szívesen
a nem másolható programok, és az üzleti gondolkodás térhódítását.
Szabadságukat korlátozó tényezőnek látták a terjesztésre és a módosításra
kirótt korlátokat, amelyek a egyesek meggazdagodását szolgálják csak,
miközben jó esetben közepes szintű programok születnek ilyen körülmények
között.

Ezért ezek a programozók saját programjaikat továbbra is szabadon
közreadták, várták mások módosító javaslatait, esetleg programrészeit, ezek
közül a jobbakat beépítették az új verziókba, és így tökéletesítették
programjukat. Ez többnyire jobb minőségű szoftverekhez vezetett, mint a nagy
cégek korlátozott programozói gárdáinak termékei, amelyek erősen üzleti
megfontolások szerint készülnek. 


A sok különálló elszánt programozót szerette volna Richard M.\ Stallman
összefogni a 80-as évek első felében azzal, hogy megalapította a ``Free
Softvare Foundation''-t (FSF, Szabad Szoftver Alapítvány), és elindította a
``GNU project''-et. Előbbinek elsődleges célja, hogy alapítványként
adományokat fogadhat el, amelyekből gépparkot tarthat fenn és fizethet a
programozóknak, utóbbi magát a programozási munkát hivatott koordinálni. A
GNU project alapvető célja, hogy egy teljesen szabadterjesztésű
programokbóll álló, UNIX-szerű rendszert hozzon össze. 

A következő fejezetben ennek 1985-ben megjelent kiáltványából szeretnénk
néhány érdekes részt idézni, mert ez érthetőbbé teszi a GNU project
alapfilozófiáját, amibe a Linux nagyon szépen beilleszkedik.




\subsection{Részletek a GNU project kiáltványából}

\begin{idezet}
\bigskip
\textbf{Mi a GNU? A GNU Nem UNIX!}
\medskip

    A GNU (jelent\'ese: a Gnu Nem UNIX) egy teljes, UNIX-kompatibilis
szoftverrendszer, melyet az\'ert \'{\i}rok, hogy b\'arkinek, aki haszn\'alni
tudja, ingyen odaadhassam. Sz\'amos \"onk\'entes seg\'{\i}t nekem.
Nagy sz\"uks\'eg\"unk lenne tov\'abbi t\'amogat\'asra
munk\'aban, p\'enzben, programokban \'es felszerel\'esben.

    Eddig elk\'esz\'{\i}tett\"unk egy Emacs sz\"ovegszerkeszt\H{o}t egy
editor-parancsok
\'{\i}r\'as\'ara alkalmas Lisp-pel, egy forr\'asszint\H{u}
debugger-t, egy yacc-kompatibilis \'ertelmez\H{o}t, egy linker-t, \'es m\'eg 
mintegy 35-f\'ele eszk\"ozt. M\'ar
egy shell (parancs-interpreter) is majdnem k\'eszen van.
Egy \'uj, hordozhat\'o, optimaliz\'al\'o C-ford\'{\i}t\'o m\'ar
leford\'{\i}totta \"onmag\'at, \'es val\'osz\'{\i}n\H{u}leg m\'eg az id\'en 
k\"ozreadjuk. Egy
kezdetleges kernel is m\H{u}k\"odik m\'ar, de m\'eg sok r\'eszlet hi\'anyzik 
bel\H{o}le a UNIX
emul\'aci\'ohoz. Ha a kernel \'es a ford\'{\i}t\'o k\'eszen lesz, lehet\H{o}v\'e v\'alik a GNU,
mint programfejleszt\'esre alkalmas rendszer terjeszt\'ese.
Sz\"ovegform\'az\'ok\'ent TeX-et fogunk haszn\'alni, de az nroff
fejleszt\'ese is folyik m\'ar. Az ingyenes \'es hordozhat\'o X-windows rendszert
is
haszn\'alni fogjuk. Ezek ut\'an k\'esz\'{\i}t\"unk majd egy hordozhat\'o Common
Lisp-et, egy Empire game-t, egy t\'abl\'azatkezel\H{o}t, \'es m\'eg 
sz\'az meg sz\'az
egy\'eb dolgot, bele\'ertve
az on-line dokument\'aci\'ot. Rem\'elj\"uk, hogy minden
hasznos dolgot, amit egy UNIX rendszer tartalmaz, biztos\'{\i}tani tudunk,
s\H{o}t, m\'eg ann\'al t\"obbet is.

\ldots \ldots 

\bigskip
\textbf{Ki vagyok \'en?}
\medskip

    Richard Stallman vagyok, a sokat ut\'anzott EMACS megalkot\'oja.
R\'egebben az MIT AI laborat\'orium\'a\-ban dolgoztam. Nagyr\'eszt
ford\'{\i}t\'okat, editorokat, debuggereket, parancs\'ertelmez\H{o}ket 
\'{\i}rtam, \'es az
Inkompatibilis Id\H{o}oszt\'asos Rendszer \'es a Lisp Machine oper\'aci\'os
rendszer fejleszt\'es\'eben vettem r\'eszt.

\ldots \ldots 

\bigskip
\textbf{Mi\'ert kell meg\'{\i}rnom a GNU-t?}
\medskip

Az aranyszab\'aly szerint, ha \'en kedvelek egy
programot, akkor azt m\'asokkal is meg kell osztanom.
A szoftver-keresked\H{o}k
egym\'as ellen akarj\'ak ford\'{\i}tani
a felhaszn\'al\'okat, majd
uralkodni akarnak f\"ol\"ott\"uk.
El akarj\'ak \'erni,
hogy a felhaszn\'al\'ok beleegyezzenek: nem osztj\'ak meg a
programokat m\'asokkal. Visszautas\'{\i}tom, hogy a t\"obbiekkel
val\'o szolidarit\'ast \'{\i}gy felr\'ugjam.
Nem tudok tiszta
lelkiismerettel al\'a\'{\i}rni egy titoktart\'asi
vagy szoftver forgalmaz\'asi szerz\H{o}d\'est.
Az AI laborban t\"olt\"ott \'evek alatt ellen\'alltam az
ilyen tendenci\'aknak \'es m\'as bar\'ats\'agtalan l\'ep\'eseknek,
de v\'eg\"ul t\'ul messzire mentek: nem maradhattam egy
olyan int\'ezm\'enyben, ahol ilyen dolgokat k\"ovettek el az \'en
nevemben,
az akaratom
ellen\'ere.

        Az\'ert, hogy a sz\'am\'{\i}t\'og\'epeket minden 
	sz\'egyenkez\'es n\'elk\"ul tov\'abb
haszn\'alhassam, elhat\'aroztam, hogy \"osszegy\H{u}jt\"ok egy olyan szabad
szoftvercsomagot, amely lehet\H{o}v\'e teszi sz\'amomra, hogy a 
nem szabad szoftver n\'elk\"ul
is boldoguljak.
Elmentem h\'at az AI laborat\'oriumt\'ol, hogy az MIT ne tudja
megakad\'alyozni, hogy a GNU-t k\"ozreadhassam.

\ldots \ldots 

\bigskip
\textbf{Mi\'ert akar sok programoz\'o seg\'{\i}teni?}
\medskip

Sok programoz\'ot tal\'altam, akit "l\'azba hozott"
a GNU, \'es seg\'{\i}teni akar.

    Sok programoz\'o nem \"or\"ul a rendszerprogramok el\"uzletiesed\'es\'enek. Ez
lehet\H{o}v\'e teszi, hogy t\"obb p\'enzt keressenek, de azt is megk\'{\i}v\'anja, hogy
a m\'as programoz\'okat riv\'alisnak \'es ne koll\'eg\'anak tekintsenek. A
prog\-ramoz\'ok k\"oz\"otti alapvet\H{o} bar\'ati t\'enyked\'es a programok
k\"olcs\"on\"os megoszt\'asa;
a jelenlegi piaci szerz\H{o}d\'esek rendszerint
megtiltj\'ak a programoz\'oknak,
hogy m\'asokat bar\'atnak tekintsenek. Aki szoftvert vesz, annak 
v\'alasztania kell
a bar\'ats\'ag \'es t\"orv\'eny betart\'asa k\"oz\"ott.
Term\'eszetesen sokan \'ugy
d\"ontenek, hogy a bar\'ats\'ag fontosabb. De azok, akik hisznek a
t\"orv\'enyben, kellemetlen helyzetbe ker\"ulnek, b\'armit is v\'alasztanak.
Cinikuss\'a v\'alnak, \'es azt gondolj\'ak, hogy a programoz\'as csup\'an a
p\'enzkeres\'es egyik m\'odja.

    Ha ink\'abb a GNU-n dolgozunk \'es ezt haszn\'aljuk
szerz\H{o}i joggal v\'edett programok helyett, 
bar\'atiak lehet\"unk mindenkivel, \'es a t\"orv\'enyt is tiszteletben
tartjuk. Tov\'abb\'a, a GNU p\'eldak\'ent szolg\'al \'es inspir\'al,
jelk\'ep lesz, amely
arra \"oszt\"ok\'el, hogy \'ujra egyek legy\"unk \'es megosszuk
egym\'assal, amink van.
Ez a harm\'onia
\'erzet\'et adja, ami lehetetlen, ha nem szabad szoftvert
haszn\'alunk. A programoz\'ok mintegy fel\'enek, akikkel 
id\H{o}nk\'ent besz\'elgetek, ez a boldogs\'ag
fontos, \'es p\'enzzel nem helyettes\'{\i}thet\H{o}.

\ldots \ldots 

\bigskip
\textbf{Mi\'ert lesz ez minden felhaszn\'al\'onak j\'o?}
\medskip

     Ha a GNU elk\'esz\"ul, mindenki ugyan\'ugy kaphat
majd j\'o rendszerszoftvert,
mint leveg\H{o}t.

    Ez sokkal t\"obbet jelent ann\'al, mint hogy mindenki megtakar\'{\i}tja
egy UNIX-enged\'ely \'ar\'at.
Ez azt jelenti, hogy a sok pazarl\'o rendszerprogramoz\'asi
er\H{o}fesz\'{\i}t\'es, mellyel hasonl\'o, de f\"uggetlen megold\'asok
k\'esz\"ultek, elker\"ulhet\H{o} lesz.
Ezek az er\H{o}fesz\'{\i}t\'esek a programoz\'asi m\'odszerek
fejleszt\'es\'ere szolg\'alnak majd.

    A rendszer \"osszes er\H{o}forr\'asai
mindenki sz\'am\'ara el\'erhet\H{o}k lesznek. Ennek
eredm\'enyek\'eppen, ha a felhaszn\'al\'onak v\'altoztat\'asokra van sz\"uks\'ege, azt
mindig szabadon megteheti saj\'at maga, vagy megfizet\-het m\'as "r\'a\'er\H{o}"
programoz\'ot vagy c\'eget, hogy elv\'egezze neki azokat.
A felhaszn\'al\'ok nem lesznek kit\'eve 
az er\H{o}forr\'asokat birtokl\'o 
\'es monopolhelyzetben l\'ev\H{o} 
programoz\'o vagy c\'eg
k\'eny\'enek-kedv\'enek.

    Az iskol\'ak egy sokkal ink\'abb nevel\H{o} hat\'as\'u k\"ornyezetet
biztos\'{\i}tanak majd,
arra b\'ator\'{\i}tva a di\'akokat, hogy tanulm\'anyozz\'ak \'es fejlessz\'ek a
rendszerprogramokat.
\end{idezet}


\subsection{Másolási jogok\label{sec:masjog}}

A szabad szoftverek világában külön probléma a másolási jogok kérdése.
Tegyük fel ugyanis, hogy valaki ír egy jó, használható programot, de nem éri
meg neki a hivatalos terjesztéssel járó adminisztrációs, dokumentálási,
tesztelési munkát elvégezni, ezért szabad szoftverként kibocsátja a
programot az Interneten keresztül. Amíg a felhasználók használják a
programot, esetleg tökéletesítik, és javaslatokat tesznek a szerzőnek, addig
minden rendben van. A szerzők azonban biztosan nem szeretnék, ha
programjaikra lecsapna egy szoftvercég, és beépítené saját termékei közé,
jelentős hasznot hajtva ezzel magának, amiből a szerző semmit se kap.

Ilyen, és hasonló problémák kiküszöbölésére született a 
``GNU General Public Licence'' (GPL) irat, amely magában foglalja a GNU cég
szoftverforgalmazási filozófiáját is. Maga a GPL jogi precízséggel van
megfogalmazva, így nem közölnénk itt le, hanem  Richard M.\ Stallman 
bevezetőjét adjuk közre magyar fordításban. 
Ennél jobban nem sikerülne elmagyarázni, mi is az a
szabad szoftver (freeware).

A fordítás alapjául a 2.0.27-es Linux kernel ``COPYRIGHT'' fájlja szolgált.

\subsubsection{Bevezető a GPL-hez}

\begin{sl}

Mindenkinek megengedett betű szerint másolni és terjeszteni ezt az
engedélyezési dokumentumot, de megváltoztatni tilos.


A legtöbb szoftver engedélyeit úgy tervezik, hogy elvegyék a terjesztési és
módosítási szabadságodat. Ezzel ellentétben, a GNU Általános Publikus
Engedély biztosítani szándékozik szabadságodat a szoftverek szabad
megosztásában és változtatásában, hogy biztosítsuk a szoftver szabadságát
minden felhasználója számára. Ez az Általános Publikus Engedély érvényes a
``Free Software Foundation'' (Szabad Szoftver Alapítvány) legtöbb
programjára, és azokra, amelyeknek szezője alkalmazni akarja. (Néhány más
``Free Softvare Foundation'' program a GNU Könytár Általános Publikus
Engedély hatálya alá esik.) Alkalmazhatod a saját programodra is.

Amikor szabad szoftverről beszélünk, a szabadságra hivatkozunk, nem az árra.
A mi  Általános Publikus
Engedélyeinket úgy terveztük, hogy biztosítva legyen szabadságod a szabad
szoftver másolatainak terjesztésére (és ezen szolgáltatásért járó
díjazásra), hogy megkapod a forráskódot, ha akarod, hogy megváltoztathatod a
szoftvert, vagy felhasználhatod részeit más szabad szoftverekben; és hogy
tudd, hogy ezt megteheted.

Azért, hogy megvédjük jogaidat, korlátozásokat kell bevezetnünk, amelyek
mindenki másnak megtiltják, hogy megtagadja tőled ezeket a jogokat, vagy
megkérjen ezen jogok feladására. Ezek a korlátozások bizonyos felelősséggel
járnak számodra, ha a szofver másolatait terjeszted, vagy módosítod.

Például ha egy ilyen program másolatait terjeszted, akár pénzért, akár
ingyen, ügyfeleidnek mindazokat a a jogokat meg kell adnod, amelyek neked
megvannak. Biztosnak kell lenned abban, hogy ők is megkapják, vagy meg
tudják szerezni a forráskódot. És ezeket közölnöd kell velük, hogy tudják
jogaikat.

Jogaidat két lépésben védjük: (1) copyright-ot adunk ki a szoftverre, 
és (2) felajánjluk neked ezt az engedélyt, amely valóban megengedi a
szoftver másolását, terjesztését és/vagy módosítását.

Minden szerző és a magunk védelmében meg szeretnénk bizonyosodni arról, hogy
mindenki megértette, hogy nincs garancia erre a szabad szoftverre. Ha a
szoftvert valaki más módosítja és továbbadja, minden ügyfelének tudni kell,
hogy amit kaptak, az nem az eredeti, így a mások által bevezetett problémák
nem hatnak vissza az eredeti szerző megítélésére.

Végül is, minden szabad program állandó fenyegetettségnek van kitéve a
szoftverszabadalmak részéről. Ettől a veszélytől szeretnénk védekezni, úgy,
hogy a szabad program terjesztői egyenként megkapják a szabadalmi
engedélyeket, hogy a program szabadalma működhessen. Hogy ezt megvédjük,
világossá tettük, hogy minden szabadalom vagy mindenki számára engedélyezett
legyen, vagy senki számára sem.
\end{sl}



\subsection{A Linux és a GNU kapcsolata}

Az előző fejezetekben  ízelítőt adtunk a szabadterjesztésű programok
világából. Maga ez a téma is megérne egy külön dolgozatot, de itt
hely hiányában csak az alapgondolatokat ismertettük. Ebbe az alapfilozófiába
illeszkedik bele a Linux rendszer is.

Egyrészt, a Linux rendszermag (az első néhány verzió kivételével) a GPL
hatálya alá esik, másrészt a Linux rendszerek alapprogramjai és a
felhasználói programok jelentős hányada a GNU project keretében  készült,
vagy írója a GPL-t alkalmazza.

Bizonyos szempontból a Linux kiegészíti a GNU projectet. Mint fent
olvashattuk, a GNU egy teljes rendszer szeretne lenni, de ezidáig még nem
írtak rá egy megbízható rendszermagot. (Jelenleg a GNU rendszermag a 0.2-es
verziónál tart, de ez még nem teljesen stabil változat.) Linus Torvalds és
társai viszont pont ezt tették meg, igaz, nem a GNU keretein belül.

Nem látható pontosan előre, hogy hogyan alakul a jövő. Az is lehet, hogy a GNU
rendszermag nem fog elkészülni, vagy legalábbis elterjedni, mert a Linuxot
nehéz lesz túlszárnyalni. De az sem kizárható, hogy Richard Stallman egyszer
csak mégis előáll a GNU kernellel, ami lesöpri a Linux-ot a színről. (Bár ezt
kevéssé tartom valószínűnek.)


\section{Humor a Linuxban}

A Linux köré egy nagy mozgalom alakult ki mára. Említettük a kb.\ 200
programozót, aki a rendszermagot írta, a több ezret, aki a felhasználói
programokat készítették vagy adaptálták más gépről, és a milliókat, akik
használják. Mivel a csatlakozás bármelyik szinthez önkéntes, nem
kapcsolódnak hozzá anyagi érdekek, amelyek ellentétesek a rendszer írói és
felhasználói közt, a Linux fejlesztése és terjesztése nagyon oldott
hangulatban zajlik. Ez sokszor a programok dokumentációjában, vagy a
hibaüzenetekben is jelentkezik, de még inkább a Linux-os levelezési listákon
és hírcsoportokban.

Pl.\ a régebbi kernelek egy része  a rendszer indulásakor megvizsgálta a
processzort, és ha olyan típusú volt, akkor kiírta:
\begin{verbatim}
   This processor honours the WP bit even in supervisor mode. 
   Good!
\end{verbatim}

Ami magyarul: ``Ez a processzor tiszteletben tartja a WP bitet supervisor
módban is. Jó!'' 

Egy ilyen üzenet nemigen fordulhatna elő egy ``komoly'' kereskedelmi
szoftverben.

Vagy pl.\ ha a \verb+tar+ programmal nem megfelelő formátumú fájlt akarunk
kicsomagolni, akkor is speciális a hibaüzenet eleje:
\begin{verbatim}
  tar: Hmm, this doesn't look like a tar archive.
\end{verbatim}

Azaz: ``Hmm, ez nem úgy néz ki, mint egy tar archívum.''

Maga Linus Torvalds is viccelődik programjával kapcsolatban. Egyszer
megkérdezték tőle:

\begin{idezet}
--- Azon kívül, hogy a Linux egy cool\footnote{A ``cool'' szó egy, a mai
számítástechnikai szlengben uralkodó szócska, annak kifejezésére, hogy ami
``cool'' az iszonyúan jó, tetszik a beszélőnek. Lehetetlen magyarra
fordítani, de kb.\ a ``tök jó'', ``király'', ``klafa'' kifejezések állnak
hozzá közel.} név, meg tudná mondani, miért használjunk Linuxot
BSD\footnote{Egy másik népszerű PC-s UNIX.} helyett?

--- Nem, pont ez az. A cool név, az a lényeg. Nagyon keményen dolgoztunk
egy olyan néven, ami vonzerőt gyakorol az emberek többségére, és biztosan
megérte: több ezer ember csak azért használ Linuxot, hogy az mondhassa:
``OS/2? Á! Nekem Linuxom van. Micsoda cool név!'' 

A 386BSD elkövette azt a hibát, hogy sok számot és hátborzongató rövidítést
tett bele a névbe, ami sok embert elriasztott, csak azért, mert túl
technikusan hangzik.
\end{idezet}

Vagy máskor:
\begin{idezet}
Ha körbe akarod utazni a világot, és szeretnéd, hogy meghívjanak egy csomó
helyre előadást tartanai: írj egy UNIX operációs rendszert.
\end{idezet}

Egy nemzetközi Linux konferencián pedig ezt mondta:
\begin{idezet}
Mindnyájan tudjuk, hogy a Linux hatalmas \ldots\ 5 másodperc alatt
végrehajtja a végtelen ciklusokat is.
\end{idezet}

Egy hibajelentésre válaszolva ezt írta:
\begin{idezet}
Idióta vagyok. Legalábbis ezen hiba megtalálása 5 percembe került.  
\end{idezet}


Természetesen mások is tréfálkoznak a rendszerrel kapcsolatban. 
\begin{idezet}
Mostanában azt kezdem hinni, hogy a Linux valóban a legjobb dolog a
szeletelt kenyér óta.
\end{idezet}

\begin{idezet}
  Linux felhasználónak lenni egy olyan életet jelent, mintha egy nagy, ácsokból
  és
építészekből álló családdal laknál együtt. Minden reggel, amikor felkelsz, a
ház egy kicsit megváltozott. Lehet, hogy egy új torony épült, vagy néhány
falat elmozdítottak. Vagy esetleg valaki ideiglenesen eltüntette a padlót az
ágyad alól.
\end{idezet}
\begin{idezet}
(a Linux) \ldots\ füstjeleken kívül mindennel képes kommunikálni.
\end{idezet}
\begin{idezet}
Épp most játszottam le a kernelt a hangkártyámon
és azt hittem, Isten szól hozzám.
\end{idezet}
\begin{idezet}
Egy hullámzó füstködön keresztül felnéztem, és elvakított egy fényes, fehér
fény. Ez Isten. Nem, nem Richard Stallman vagy Linus Torvalds, hanem Isten.
Zúgó hangon azt mondta: ``Ez egy jel. Haszálj Linuxot, a 386-ra írt szabad
UNIX rendszert.''
\end{idezet}
\begin{idezet}
A Linux igenis felhasználó-barát. Nem tudatlan-barát és nem idióta-barát.
\end{idezet}


A Linux hívei sokszor viccelődnek a nagy szoftvercégekkel, különösen a
Microsoft és Bill Gates a célpontjuk. Álljon itt néhány idézet erről a
témáról: (Némelyik idézet csak eredetiben élvezhető. Ezeket nem fordítom le.)
\begin{idezet}
Microsoft is not the answer.\\
Microsoft is the question.\\
NO (or Linux) is the answer.\\
\end{idezet}
\begin{idezet}
A legtöbb országban büntetik az ártalmas dolgok, mint pl.\ a kábítószer
árusítását. Akkor hogy lehet, hogy az emberek büntetlenül árulhatnak
Microsoft szoftvereket?
\end{idezet}
\begin{idezet}
DOS: Egy kicsi, bosszantó boot-vírus, amely véletlenszerű, spontán
rendszerleállásokat eredményez, rendszerint egy komoly munka elmentése
előtt. Könnyen kezelhető UNIX-szal. Lásd még MS-DOS, IBM-DOS, DR-DOS.
\end{idezet}

\begin{idezet}
  Avoid the Gates of Hell.  Use Linux
\end{idezet}
\begin{idezet}
  A Linuxot külföldi terroristák írták, hogy az USA vállalataitól, mint pl.\
a Microsoft, pénzt vegyenek el.
\end{idezet}
\begin{idezet}
Nem gondolom, hogy Bill Gates a Gonosz. Csak azt gyanítom, hogy ha a
Microsoft valaha találkozik a Gonosszal, nem lesz szükség tolmácsra.
\end{idezet}






\section{Összefoglalás}

Egy olyan rendszer sikertörténetét követhettük itt nyomon, amely az átlagos
számítógép-felhasználók számára (egyenlőre ?) ismeretlen. Egy
hobbiprogramból 6 év alatt világméretű mozgalom vált, és ez talán
egyedülálló a számítástechnika történetében. Mindez úgy történt, hogy a
Linux rendszerhez lényegében ingyen juthat mindenki hozzá, így még
hihetetlenebb a siker.

Megvizsgálva a szabad szoftverek és gyártóik történetét, ez az egész mégis
érthetővé válik. Több évtizede csiszolódtak a megszállott programozók
szoftverei, ötletei, amire a Linux elkezdődött. Ezekbe a programokba
mindenki azt adta bele, amihez a legjobban értett, nem pedig valami kívülről
ráeröltetett feladaton dolgozott. A programok tesztelése is igen széles körű
volt. Ezen kívül, a freeware-programok nem üzleti célból készültek, így
alkotóik nem a maximális anyagi hasznot keresték, hanem maguk számára
akartak használható rendszert összehozni, és villogni akartak a többiek
előtt tudásukkal. Ez a légkör sokkal jobban kedvezett a hatékony, stabil
programok kialakításának, mint a szoftverbirodalmak pénzorientált rendszere.

Természetesen a szabad szoftverek sok szempontból mindig is hátrányban
lesznek a ``gyári'' programokkal szemben. Ilyen szempontok pl.\ a
dokumentáltság, piackutatási adatok felhasználása, reklám, stb. 

Ezen jelenségek összességéből mégsem a szabad szoftverek kerülnek ki
vesztesként, hanem bizonyos területeken (pl.\ a tudományos kutatásban) egyre
nagyobb tért hódítanak.

A Linux esetében tehát egy jól eltalált rendszermag találkozott egy félig
meglevő freeware-rendszerrel, és ebből született az, amiről dolgozatom szól.  

Mindenképp érdemes volt tehát a számítástechnika történetének ezen fejezetét
megvizsgálni, mert --- bár a nagyközönség keveset tud róla ---
világméretekben sem elhanyagolható jelentőségű rendszerről és mozgalomról
van szó.


\clearpage
\section{Appendix}

\subsection{A Linux kernelek megjelenésének időpontjai\label{kernelido}}

Kiegészítő anyagként megadjuk a Linux kernelek megjelenési időpontjait. Ez
tulajdonképpen az \verb+linux.kernel.org+ szerveren talált, a rendszermagokat
tartalmazó könyvtár listája. 


\begin{minipage}[t]{4cm}
\scriptsize
\begin{verbatim}
Mar 13  1994 linux-1.0.tar.gz
Mar 16  1994 patch1.gz
Mar 18  1994 patch2.gz
Mar 21  1994 patch3.gz
Mar 22  1994 patch4.gz
Mar 28  1994 patch5.gz
Apr  3  1994 patch6.gz
Apr  6  1994 patch7.gz
Apr  7  1994 patch8.gz
Apr 16  1994 patch9.gz
. . . . . . . .

Mar  7  1995 linux-1.2.0
Mar 17  1995 linux-1.2.1
Mar 27  1995 linux-1.2.2
Apr  2  1995 linux-1.2.3
Apr  6  1995 linux-1.2.4
Apr 12  1995 linux-1.2.5
Apr 23  1995 linux-1.2.6
Apr 29  1995 linux-1.2.7
May  3  1995 linux-1.2.8
Jun  1  1995 linux-1.2.9
Jun 12  1995 linux-1.2.10
Jun 26  1995 linux-1.2.11
Jul 25  1995 linux-1.2.12
Aug  2  1995 linux-1.2.13
\end{verbatim}
\end{minipage}
\hspace{1.5cm}
\begin{minipage}[t]{4cm}
\scriptsize
\begin{verbatim}
Jun  9  1996 linux-2.0
Jul  3  1996 linux-2.0.1
Jul  5  1996 linux-2.0.2
Jul  6  1996 linux-2.0.3
Jul  8  1996 linux-2.0.4
Jul 10  1996 linux-2.0.5
Jul 12  1996 linux-2.0.6
Jul 15  1996 linux-2.0.7
Jul 25  1996 linux-2.0.8
Jul 26  1996 linux-2.0.9
Jul 27  1996 linux-2.0.10
Aug  5  1996 linux-2.0.11
Aug  9  1996 linux-2.0.12
Aug 16  1996 linux-2.0.13
Aug 20  1996 linux-2.0.14
Aug 25  1996 linux-2.0.15
Aug 31  1996 linux-2.0.16
Sep  2  1996 linux-2.0.17
Sep  5  1996 linux-2.0.18
Sep 11  1996 linux-2.0.19
Sep 13  1996 linux-2.0.20
Sep 20  1996 linux-2.0.21
Oct  8  1996 linux-2.0.22
Oct 18  1996 linux-2.0.23
Oct 30  1996 linux-2.0.24
Nov  8  1996 linux-2.0.25
Nov 22  1996 linux-2.0.26
Dec  1  1996 linux-2.0.27
Jan 14  1997 linux-2.0.28
Feb  7  1997 linux-2.0.29
Apr  8  1997 linux-2.0.30
\end{verbatim}
\end{minipage}
\hfill

Láthatjuk, hogy a fejlesztés időnként meggyorsul, majd esetleg hónapokat
kell várni az új kernelre. Ennek ellenére a fejlesztés állandóan folyik, és
remélhetőleg folytatódni fog.



\subsection{A Linux elterjedtsége}

A Linux annyira szabad terjesztésű, hogy a felhasználójának még
regisztráltatnia sem kell magát. Ez azt jelenti, hogy nem is lehet pontosan
felmérni a Linuxos gépek és felhasználóik számát. 

Azért, hogy mégis lehessen valamit mondani, az Interneten egy ``Linux
Registration Project''-et indítottak be, ahova önkéntesen mindenki beírhatja
Linux-os gépének, és saját magának adatait. 
A project honlapja megtalálható a \verb+http://counter.li.org:29659/+
Web-címen.

Az itt felhalmozott információkból szeretnénk közreadni néhány érdekeset.

Az összesítés:
\scriptsize
\begin{verbatim}
This is the Linux Counter summary as of Mon Jul 21 05:02:07 1997

There are 48446 persons registerd.
1909 users have been registered by friends.
There are 20423 machines registered.

I guesstimate that between 0.2% and 5% of all Linux users have
registered with the Linux Counter.
So the total number of Linux users is probably between
968,920 and 24,223,000 people.
\end{verbatim}
\normalsize

A lényeg tehát: 1997.\ július 21-én csaknem 50\,000 regisztrált
Linux-felhasználó és kb.\  20\,000 Linux-os gép van szerte a világban. A
Linux Counter gazdája a honlapon bővebben kifejtett indokok szerint a
regisztráltakat a tényleges felhasználók 0.2--5\%-ának gondolja, azaz a
tényleges Linux-felhasználók száma kb.\ egy- és huszonnégymillió közt lehet.

Látható tehát, hogy pontos számadat nem adható, de az biztos, hogy több
millió Linux-felhasználó van a világon.

Érdekes az országok szerinti eloszlás táblázata. (A rendezés az egymillió
lakosra jutó Linux felhasználók száma szerint történt.)

\scriptsize
\begin{verbatim}
 No    Country                       Pers  Fri Mach P/Mpop   Mpop
======================================================================
  1 FI Finland                       1453   34  594 284.6    5.1
  2 NO Norway                        1141   18  425 260.3    4.4
  3 IS Iceland                         70    3   33 259.0    0.3
  4 AQ Antarctica                       1    0    0 243.0    0.0
  5 SE Sweden                        1378   29  480 154.8    8.9
  6 SI Slovenia                       207    7   72 106.1    2.0
  7 NL Netherlands                   1544   30  597  99.2   15.6
  8 DK Denmark                        512    6  180  97.5    5.2
  9 CA Canada                        2349   64  942  81.5   28.8
 10 US USA                          20170  468 7273  75.7  266.5
 11 AU Australia                     1358   29  535  74.4   18.3
 12 AT Austria                        522   19  206  65.1    8.0
 13 NZ New Zealand                    195    2  108  55.0    3.5
 14 CH Switzerland                    368   10  155  51.1    7.2
 15 EE Estonia                         74    9   58  50.7    1.5
 16 BE Belgium                        510  518  221  50.1   10.2
 17 DE Germany                       4150  118 1627  49.7   83.5
 18 LU Luxembourg                      19    0    5  45.7    0.4
 19 IE Ireland                        158    4   68  44.3    3.6
 20 SG Singapore                      138    5   52  40.6    3.4
 21 IL Israel                         220   10   76  40.6    5.4
 22 GB Great Britain                 2334   61  906  39.9   58.5
 23 HU Hungary                        383   14  262  38.3   10.0
 24 GL Greenland                        2    0    0  34.4    0.1
 25 BM Bermuda                          2    0    2  32.2    0.1
 26 LI Liechtenstein                    1    0    0  32.1    0.0
 27 GU Guam                             5    0    0  31.9    0.2
 28 MC Monaco                           1    0    0  31.5    0.0
 29 FR France                        1831   71  555  31.4   58.3
 30 KY Cayman Islands                   1    0    2  28.9    0.0
\end{verbatim}
\normalsize

(A táblázat 130 országot tartalmaz, itt terjedelmi okokból csak az első
30-at közöltük.)

Magyarország az utóbbi időkben előretör: az év elején még nem voltunk benn
az első 30-ban, most meg már 23-dikak vagyunk. Véleményem szerint ebben a
CHIP-CD-ken megjelent RedHat Linuxnak fontos szerepe van.

A Linux-os gépek felhasználási helyei: (néhányan több helyek is megjelöltek)
\scriptsize
\begin{verbatim}
WHERE PEOPLE USE LINUX
Place      Users Percent
==============================
school      5793  12.20%
home       40513  85.29%
not used       8   0.02%
work       15489  32.61%
somewhere   2269   4.78%
==============================
\end{verbatim}
\normalsize


A Linuxos gépeken dolgozó felhasználók számáról készült az alábbi lista:
\scriptsize
\begin{verbatim}
accounts
========
18012 reported
18012 values
Average    36
Minimum     1
Maximum  3000
 3318  18.42% accounts:    1-1    
 2968  16.48% accounts:    2-2    
 6898  38.30% accounts:    3-9    
 2983  16.56% accounts:   10-29   
 1078   5.98% accounts:   30-99   
  435   2.42% accounts:  100-299  
  227   1.26% accounts:  300-999  
  105   0.58% accounts:Others
\end{verbatim}
\normalsize

Tehát elég sok Linuxos gépen 3--9 felhasználó dolgozik, de 100 user is
viszonylag sokszor előfordul.

A felhasznált disztribúciók eloszlását adja meg a következő táblázat: (az
áttekinthetőséget egy kicsit megjavítottam)
\scriptsize
\begin{verbatim}
distribution
============
19813 reported
19910 values
  848   4.28% distribution:DIY
 2084  10.52% distribution:Debian
 1740   8.78% distribution:Red Hat
  409   2.06% distribution:SLS
12805  64.63% distribution:Slackware
 2023  10.21% distribution:Others
\end{verbatim}
\normalsize

Itt még az ősi Slackware az uralkodó, de ez lehet, hogy változni fog.


A felhasználás célja is változatos: (természetesen itt is lehet egy gép több
célra is bejegyezve)
\scriptsize
\begin{verbatim}
purpose
=======
 4068 reported
 6426 values
   50   1.23% purpose:DNS
  433  10.64% purpose:FTPServer
   84   2.06% purpose:Mailserver
  307   7.55% purpose:Router
  694  17.06% purpose:Webserver
 2356  57.92% purpose:Workstation
 2430  59.73% purpose:Others
\end{verbatim}
\normalsize


\subsection{Források}

Dolgozatom anyagához az Internetről szereztem be a legtöbb forrást.

A fő vázat a Linus Torvalds által írt összefoglaló adta, ami megtalálható
pl.\ a következő címen:

\begin{verbatim}
    ftp://ftp.kfki.hu/docs/misc/linux-history
\end{verbatim}

Fontos dokumentum volt a 2.0.27-es kernel ``COPYRIGHT'' és ``CREDITS'' fájlja is.
Ezek valószínűleg minden kernel-forrásban megtalálhatók kisebb
változtatásokkal.

A ``GNU kiáltány'' szövegét a 
\begin{verbatim}
    ftp://ftp.vein.hu/ssa/forditasok/GNU_kialtvany.tex
\end{verbatim}
címről töltöttem le.

Kis részeket használtam Stefan Strobel, Tomas Uhl: Linux című könyvéből is.

A humoros mondások forrása:
\begin{verbatim}
     ftp://ftp.icce.rug.nl/pub/unix/linuxcookie.data
\end{verbatim}

Hasznosnak találtam még több, Internetről letöltött anyagot, amelyeknek
pontos helyét itt terjedelmi okokból nem adom meg. Szerzőiktől ezúton kérek
elnézést.



\section{Köszönetnyilvánítás}

Jelentősebb változások, korrekciók származnak az alábbi személyektől:
\begin{itemize}
\item Horváth András (\verb+horvatha@rs1.szif.hu+)  
\item Nemkin Róbert (\verb+buci@bucipc.math.klte.hu+)
\item Simon István (\verb+simo@ws6a17.gud.siemens.at+)   
\end{itemize}

Kösz! 

(Egyelőre ennyi a köszönetnyilvánítás. Ha valaki tud jobbat, az írja meg.
Természetesen egy jó köszönetnyilvánítási formuláért is járna egy 
köszönetnyilvánítás. \verb+:-)+ )

Elég sokan észrevették, hogy ``patch level'' helyett ``path level''
szerepelt a 0.1-es változatban. Nekik is köszi, de helyhiány miatt nem
sorolom fel őket. Remélem, nem haragszanak meg ezért. \verb+;-)+ 

\end{document}

