GNU operatsionnata sistema i dvizhenieto za otvoren kod (Free Software Movement) [CHast 2]
Prevod: Andryu Ivanov
Adres na originala: http://www.oreilly.com/catalog/opensources/book/stallman.html
Poddruzhka na svobodniia softuer
Filosofiiata na svobodniia softuer othvurlia opredeleni, shirokorazprostraneni
biznes-praktiki, no ne e sreshtu biznesa. Kogato biznesmenite uvazhavat svobodata
na potrebitelite, nie im pozhelavame uspeh.
Prodazhbata na kopiia na Emacs e primer za podoben biznes sus svoboden
softuer. Kogato, obache, FSF poe tozi biznes, az triabvashe da potursia drug
nachin da si izkarvam prehranata. Otkrih go v prodazhbata na uslugi svurzani
sus svobodniia softuer, koito biah razrabotil. Tova vklyuchvashe obuchenie po
temi, kato naprimer, kak da se programira GNU Emacs ili kak da se nastroi
GCC, a sushto i razrabotvane na softuer (glavno prenasiane na GCC na novi
platformi).
V dneshno vreme, vseki ot tezi varianti za pravene na biznes se praktikuva
ot mnozhestvo kompanii. Niakoi razprostraniavat kolektsii sus svoboden softuer
na CD-ta; drugi predlagat poddruzhka, kato uslugite varirat ot otgovariane
na vuprosi na potrebitelite, prez korektsii na greshki, do dobaviane na znachimi
novi funktsii. Veche dori ima kompanii osnovani vurhu razprostraniavaneto na
novi bezplatni softuerni produkti.
Vse pak vnimavaite -- niakoi kompanii, koito se okachestviavat s termina
"Open Source", vsushtnost osnovavat biznesa si vurhu ne-svoboden softuer,
koito raboti zaedno sus svoboden. Tova ne sa kompanii, koito se zanimavat
sus svoboden softuer. Te se zanimavat sus sobstvenicheski softuer, a produktite
im primamvat potrebitelite dalech ot svobodata. Tova sa "uslugi s dobavena
stoinost", koito otraziavat tsennostite, koito iskat da ni natrapiat: "udobstvoto
e nad svobdata". Ako naistina tsenim poveche svobodata, bi triabvalo da gi narecheme
uslugi "s otneta svoboda".
Tehnicheski tseli
Osnovnata tsel na GNU beshe da bude svoboden softuer. Dori ako GNU niamashe
tehnicheski preimushtestva pred Unix, toi shteshe da ima sotsialno preimushtestvo,
pozvoliavaiki kooperirane na potrebitelite, a i etichni predimstva, poradi
fakta, che uvazhava svobodata na potrebitelite.
No estestveno beshe da budat prilozheni poznatite standarti, otlichavashti
se s dobra prilozhimost v rabotata -- naprimer, dinamichno razpredeliane na
strukturite s danni za izbiagvane na proizvolnoto opredeliane na razmerite,
i rabotata s vsichki vuzmozhni 8 bitovi kodove, kudeto tova ima smisul.
V dopulnenie, othvurlihme fokusiraneto na Unix vurhu malkite obemi
pamet, reshavaiki da ne poddurzhame 16 bitovi mashini (beshe ochevidno, che
32 bitovite mashini shte stanat standart dokato zavurshim GNU sistemata),
a sushto taka reshihme i da ne se staraem da namalim polzvaneto na pamet,
osven ako ne nadvishi 1 megabait. Pri programi, za koito obsluzhvaneto
na golemi failove ne e kritichno, nie nasurchavahme programistite da izchetat
tseliiat vhodiasht fail v pametta, a sled tova da skanirat
sudurzhanieto mu bez da se trevozhat za I/O (vhodno-izhodni operatsii).
Vsichko tova pozvoli na mnogo GNU programi da nadminat tehnite suotvetstvashti
pod Unix po nadezhdnost i skorost.
Dareni kompyutri
S uvelichavaneto na reputatsiiata na proekta GNU, horata zapochnaha da predlagat
da dariat mashini raboteshti s Unix na proekta. Tezi mashini biaha mnogo polezni, zashtoto nai-lesniiat nachin da se razrabotiat komponentite na GNU beshe da
se raboti vurhu Unix sistema, chiito komponenti da budat zameniani edin po
edin. No tova povdigna edin etichen vupros: pravilno li beshe da pritezhavame
kopie na Unix.
Unix beshe (i si e) sobstvenicheski softuer, a filosofiiata na proekta GNU
kazvashe, che ne triabva da izpolzvame takuv softuer. No, prilagaiki sushtata
argumentatsiia, koiato opravdava izvurshenoto pri samozashtita, reshih, che e dopustimo
da se izpolzva sobstvenicheski softueren paket, kogato tova e ot osobena vazhnost
za razrabotvaneto na svobodna programa-zamestnik, koiato da pomogne na drugite
da ne izpolzvat sobstvenicheskiia paket.
No, vupreki opravdanieto, tova vse oshte si beshe pogreshno. Dnes veche ne
izpolzvame kopiia na Unix, ponezhe gi zamestihme sus svobodni operatsionni
sistemi. Ako se okazheshe nevuzmozhno da zamenim operatsionnata sistema na mashinata
sus svobodna, zameniahme mashinata.
Spisukut sus zadachi na GNU
S napredvaneto na proekta GNU, i uvelichavaneto na sistemniti komponenti,
koito suzdavahme i razrabotvahme, stana neobhodimo da napravime spisuk sus
ostavashtite "proluki". Izpolzvahme tozi spisuk, za da nabirame razrabotchitsi,
koito da napishat lipsvashtite "parcheta". Tozi spisuk stana izvesten kato Spisukut
sus zadachi na GNU. V dobavka kum lipsvashtite Unix komponenti, nie vklyuchvahme
i razlichni drugi polezni softuerni proekti i takiva po dokumentatsiiata, koito
smiatahme, che edna zavurshena sistema triabva da pritezhava.
Dnes, edva li mozhe da se kazhe, che vse oshte ima niakakvi Unix komponenti
v spisuka na GNU -- tezi zadachi sa veche priklyucheni, s izklyuchenie na niakolko
bez osobeno znachenie. No spisukut e pulen s proekti, koito niakoi mogat da
narekat "prilozheniia". Vsiaka programa, koiato se haresva na po-shirok krug potrebiteli,
bi bila polezno dopulnenie kum edna operatsionna sistema.
V spisuka sa vklyucheni dori igri i sa bili vklyucheni oshte ot samoto nachalo.
Unix vklyuchvashe igri, taka che GNU estestveno sushto triabvashe da gi vklyuchva.
No suvmestimostta ne beshe tsel pri igrite, taka che ne sledvahme striktno spisuka
s igrite, vklyucheni v Unix. Vmesto tova, nie vklyuchihme v spisuka nabor ot
razlichni vidove igri, koito potrebitelite biha haresali.
Library GPL na GNU
Tova ne e vupros na printsipi: Niama takuv printsip, koito da kazva, che
na sobstvenicheskite softuerni produkti e dadeno pravoto da vklyuchvat v sebe
si nash kod. (Zashto da doprinasiame za proekt, osnovavasht se na otkaza da se spodelia
s nas?) Izpolzvaneto na LGPL za Si-bibliotekata ili za koiato i da e biblioteka
e vupros na strategiia.
Si-bibliotekata ima nesushtestvena funktsiia; vsiaka sobstvenicheska sistema
ili kompilator idva sus Si-biblioteka. Eto zashto, ako napravim nashata Si-biblioteka
dostupna samo za svobodniia softuer, tova ne bi mu dalo nikakvo predimstvo.
Tova ne bi spomognalo za izpolzvaneto na nashata biblioteka.
Edna sistema, obache, e izklyuchenie: pri GNU (a tova vklyuchva i GNU/Linux),
Si-bibliotekata na GNU e edinstvenata takava. I taka, usloviiata za razprostranenie
na GNU C opredeliat dali e vuzmozhno da se kompilirat sobstvenicheski programi
za GNU sistemata. Niama etichna prichina da budat dopusnati sobstvenicheskite
programi do GNU, no strategicheski poglednato izglezhda, che ako ne budat
dopusnati, tova po-skoro bi sudeistvalo za neizpolzvaneto na GNU, otkolkoto
za suzdavaneto na poveche svoboden softuer.
Eto zashto, izpolzvaneto na Library GPL e dobra strategiia za Si-bibliotekata. Za drugi biblioteki, pri vseki konkreten sluchai triabva da bude vzemano
strategichesko reshenie. Kogato bibliotekata izpulniava spetsifichna funktsiia
i mozhe da pomogne pri napisvaneto na opredelen tip programi, litsenziraneto
i pod GPL, ogranichavaneto na upotrebata i samo do svobodni programi, e nachin
da se podpomogne svobodniiat softuer, kato mu budat dadeni predimstva pred
sobstvenicheskiia.
Pomislete za GNU Readline, biblioteka razrabotena da osiguri redaktirane
v komandniia red na BASH. Readline e litsenzirana pod GNU GPL a ne pod Library
GPL. Tova veroiatno ogranichava izpolzvaneto na Readline, no tova za nas
ne e goliama zaguba. Mezhduvremenno, pone edno polezno prilozhenie beshe prevurnato
v svoboden softuer, spetsialno, za da izpolzva Readline i tova e istinska
pridobivka za Obshtnostta.
Razrabotchitsite na sobstvenicheski softuer razpolagat s predimstvata
na parite; razrabotchitsite na svoboden softuer triabva da si osiguriavat vzaimno
predimstva. Nadiavam se, che edin den shte imame bogata kolektsiia ot 'GPL biblioteki',
koito niama da imat analog sred sobstvenicheskiia softuer i koito shte osiguriavat
polezni moduli, ot koito da se izgrazhda noviia svoboden softuer; koito
shte doprinasiat za preimushtestvoto na svobodniia softuer pri budeshtite razrabotki.
Zadovoliavane na lichni prishtevki?
Erik Reimund kazva, che "Vseki dobur softuer e zapochnat zaradi lichnite
prishtevki na niakoi programist". Mozhe bi tova stava poniakoga, no mnogo
ot vazhnite GNU programi biaha razraboteni, za da imame tsialostna svobodna
operatsionna sistema. Te proizhozhdat ot zamisul, ot plan, a ne ot niakakuv
impuls.
Taka naprimer, nie razrabotihme: bibliotekata GNU C, zashtoto edna Unix-podobna
sistema se nuzhdae ot Si-biblioteka; BASH - zashtoto edna Unix-podobna sistema
se nuzhdae ot obvivka (shell); i GNU tar - zashtoto
edna Unix-podobna sistema se nuzhdae ot podobna programa. Sushtoto mozhe
da se kazhe i za moite programi - kompilatorut GNU C, GNU Emacs, GDB i
GNU Make.
Niakoi GNU programi biaha razraboteni, za da se spraviat sus opredeleni
zaplahi za nashata svoboda. Taka naprimer, nie razrabotihme
gzip, za da zamenim programata Compress, koiato beshe zagubena za Obshtnostta
poradi LZW patentite. Namerihme hora da razrabotiat LessTif, a po-kusno
- GNOME i Harmony, zaradi problemite s opredeleni sobstvenicheski biblioteki
(vizh po-dolu). Razrabotvame GNU Privacy Guard, za da zamesti populiarnite,
no nesvobodni, programi za kriptirane, za da ne se nalaga potrebitelite
da izbirat mezhdu svobodata i lichnata neprikosnovenost.
Razbira se, horata pisheshti tezi programi se "zapaliha" po rabotata
i mnogo dopulnitelni funktsii biaha dobaveni ot razlichni hora, za zadovoliavane
na tehnite sobstveni nuzhdi i interesi. No ne zaradi tezi interesi sushtestvuvat
programite.
Neochakvani razrabotchitsi
V nachaloto na proekta GNU az si misleh, che shte razrabotim tsialata GNU
sistema i sled tova shte ia razprostranim kato tsialosten paket. Ne taka se
sluchi.
Tui kato vseki komponent ot sistemata GNU beshe realiziran na Unix
sistema, to vseki ot komponentite mozheshe da raboti na Unix sistemi, mnogo
predi tsialostna GNU sistema da sushtestvuva. Niakoi ot tezi programi stanaha
populiarni i potrebitelite zapochnaha da gi doobogatiavat i prenasiat kum vsiakakvi
nesuvmestimi pomezhdu si versii na Unix, a poniakoga dori i za drugi sistemi.
Tozi protses napravi tezi programi po-moshtni i privleche poveche sredstva
i razrabotchitsi za proekta GNU. No tova, veroiatno, sushto taka zabavi suzdavaneto
na purvata raboteshta sistema s niakolko godini, tui kato razrabotchitsite na
GNU otdeliaha poveche vreme na tezi preneseni versii i na novite funktsii
v sushtestvuvashtite komponenti, otkolkoto na vse oshte nenapisanite komponenti.
GNU HURD
Prez 1990 sistemata GNU beshe pochti gotova; edinstveniiat vazhen komponent,
koito lipsvashe, be iadroto. Biahme reshili da realizirame nasheto iadro kato
suvkupnost ot survur-protsesi, raboteshti vurhu Mach. Mach e mikroiadro, razraboteno
v Carnegie Mellon University, chiiato razrabotka e bila produlzhena v Universiteta
v YUta; GNU HURD e suvkupnost ot survuri (inache kazano "stado ot gnuta"), koito
rabotiat vurhu Mach i izpulniavat razlichnite zadachi na Unix iadroto. Nachaloto
na razrabotkata beshe zabaveno ot ochakvaneto Mach da bude "pusnat" kato svoboden
softuer, spored kakto ni beshe obeshtano.
Edna ot prichinite da izberem tozi dizain beshe zhelanieto da se izbegne
tova, koeto izglezhda be nai-trudnata chast ot rabotata: da se debugva iadroto
bez source-level debugger, s koito da se napravi tova. Tazi chast ot rabotata
beshe veche izvurshena v Mach i nie ochakvahme da mozhem da debugvame HURD survurite
kato obiknoveni potrebitelski programi s GNU debugger (GDB). No ni otne
mnogo vreme da realizirame tova, a mnogonishkovite survuri, izprashtashti suobshteniia
edin na drug, se okazaha mnogo trudni za debugvane. Da napravim HURD stabilen
- izpulnenieto na tazi zadacha se protochi v produlzhenie na mnogo godini.
Alix
Purvonachalno GNU iadroto ne beshe narecheno HURD. Purvonachalnoto mu
ime beshe Alix - po imeto na togavashnata mi priiatelka. Tia beshe Unix sistemen
administrator i beshe spomenala kak imeto i bi pasnalo na niakoia versiia
na Unix sistema. Vednuzh tia se posheguva s priiateli: "Niakoi triabva da krusti
iadro na moe ime." Ne kazah nishto, no reshih da ia iznenadam s iadro narecheno
Alix.
E, ne stana tochno taka. Michael Bushnell (sega Thomas), glavniiat razrabotchik
na iadroto, predpochete HURD kato ime i predefinira Alix, taka che da se otnasia
do chast ot iadroto - chastta, koiato shteshe da prihvashta sistemni izvikvaniia
i da gi obrabotva, t.e. da izprashta suobshteniia do HURD survurite.
V kraia na kraishtata, Alix i az skusahme i tia si smeni imeto. Zaedno s
tova, dizainut na HURD beshe promenen, taka che Si-bibliotekata da izprashta
suobshteniia direktno do survurite, a tova predizvika izchezvaneto na komponenta
Alix.
No predi vsichko tova da se sluchi, edin priiatel popadnal na imeto Alix
v sorsa na HURD i spomenal tova na Alix. Taka imeto izpulni prednaznachenieto
si.
Linux i GNU/Linux
GNU HURD ne e gotov za upotreba. Za shtastie drugo iadro e na razpolozhenie.
Prez 1991, Linus Torvalds razraboti Unix-suvmestimo iadro i go nareche Linux.
Okolo 1992, kombiniraiki Linux s ne-suvsem-gotovata sistema GNU poluchihme
tsialostna svobodna operatsionna sistema. (Kombiniraneto na tezi dva komponenta beshe
goliama zadacha, razbira se.) Blagodarenie na Linux dnes mozhem da izpolzvame
versii na GNU sistemata.
Tazi versiia na sistemata ia narichame GNU/Linux, za da oboznachim sustava
i - kombinatsiia ot GNU sistema s Linux iadro.
Krai na chast 2
CHast 1 mozhe da prochetete ot
tuk