\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}
