Преводи ове странице

Линукс и Пројекат ГНУ

Ричард Сталман*

 [слика бебе Гнуа]

Многи корисници рачунара свакодневно користе измењену верзију система ГНУ, а да тога нису ни свесни. Захваљујући чудном сплету околности, верзија ГНУ-а која је данас веома распрострањена се често назива „Линуксом“, а многи корисници нису ни свесни колика је њена веза са Пројектом ГНУ.

Линукс стварно постоји, и људи га користе, али се не ради о оперативном систему. Линукс је језгро: програм у систему који додељује ресурсе машине другим програмима које покрећете. Језгро је кључни део оперативног система, али је само за себе бескорисно; оно може да функционише само у склопу целог оперативног система. Линукс се обично користи у комбинацији са оперативним системом ГНУ: цео систем је у ствари ГНУ са Линуксом који игра улогу језгра.

Многи корисници нису сасвим свесни разлике између језгра, које представља Линукс, и целокупног система, који такође називају „Линуксом“. Али двосмислена употреба назива не побољшава разумевање ствари. Такви корисници обично мисле да је Линус Торвалдс развио цео оперативни систем 1991. уз незнатну помоћ других.

Програмери углавном знају да је Линукс језгро. Али, пошто су чули да се систем у већини случајева назива „Линуксом“, они често конструишу измишљени историјски ток догађаја који би оправдао такво именовање целог система по језгру. На пример, многи верују да су чим је Линус Торвалдс завршио писање Линукса, језгра, његови корисници тражили други слободни софтвер да то језгро допуни, и открили да је (без икаквог конкретног повода) већина ствари које су неопходне униксоликом систему већ била доступна.

То што су открили није било случајно — то је био систем ГНУ. Доступан слободни софтвер је допунио систем, јер је у оквиру Пројекта ГНУ од 1984. развијан такав, потпун систем. Манифестом ГНУ-а је зацртан циљ — развој слободног униксоликог система, који се зове ГНУ. Првобитна објава Пројекта ГНУ такође илуструје неке од првобитних планова за систем ГНУ. Цео систем је био скоро готов до времена када је написан Линукс.

Већина пројеката слободног софтвера имају за циљ развој одређеног програма за обављање одређеног посла. На пример, Линус Торвалдс је себи поставио задатак да напише униксолико језгро (Линукс); Доналд Кнут (Donald Knuth) је себи поставио задатак да напише програм за слагање текста (ТеХ); Боб Шајфлер (Bob Scheifler) је себи поставио задатак да развије прозорски систем (прозорски систем Икс). Природно је оцењивати величину доприноса који овакви пројекти доносе, појединачним програмима који су развијени у оквиру пројекта.

Шта бисмо закључили ако бисмо покушали да оценимо допринос пројекта ГНУ на овај начин? Један продавац CD-ROM-ова је открио да је у његовој „дистрибуцији Линукса“ удео ГНУ-овог софтвера највећи, око 28% од укупног изворног кода, а он укључује неке од најважнијих делова без којих систем не би могао да функционише. Линукс је имао удео од око 3%. Дакле, уколико ћете да бирате назив система на основу тога ко је написао програме који чине тај систем, најбоља варијанта, која би се ограничила на један извор, била би „ГНУ“.

Али ми не сматрамо да је ово исправан начин да се разматра ово питање. Пројекат ГНУ није био и није пројекат развоја одређених софтверских пакета. Он није пројекат развоја преводиоца за Це, иако смо у оквиру Пројекта ГНУ развили и преводилац за Це. Сврха пројекта ГНУ јесте да се развије потпун слободан униксолики систем: ГНУ.

Многи људи су значајно допринели слободном софтверу који чини систем, и сви они заслужују да им се ода признање. Али разлог због кога је ГНУ здружени систем, а не само скуп корисних програма, је што је Пројекат ГНУ основан са намером да такав систем направи. Сачинили смо списак програма који су неопходни да се направи потпун слободан систем, и систематски смо тражили, писали, или тражили људе који би писали, све са тог списка. Написали смо и кључне али незанимљиве (1) делове, јер систем не може да функционише без њих. Неки од делова нашег система, програмерски алати, су засебно постали популарни међу програмерима, али смо написали и многе делове који нису алати (2). Чак смо развили и игру шаха, ГНУ-ов шах, јер су за потпун систем неопходне и добре игре.

До раних деведесетих саставили смо цео систем, искључујући језгро (на коме смо такође радили, ГНУ-ово Крдо, које се извршава преко Маха). Развој овог језгра је био доста тежи од очекиваног; ГНУ-ово Крдо је постало стабилно тек 2001. Сада почињемо са припремама стварног издања система ГНУ, које ће садржати ГНУ-ово Крдо.

На срећу, не морате да чекате Крдо, јер је доступан Линукс. Написавши Линукс, Линус Торвалдс је попунио значајну празнину. Људи су могли да споје Линукс са системом ГНУ и тиме добију потпун слободан систем: систем ГНУ заснован на језгру Линукс, или, краће, систем ГНУ са Линуксом.

Спајање звучи једноставно, али то није био лак посао. Неке делове ГНУ-а (3) је било потребно коренито мењати да би могли да раде са Линуксом. Велики посао је представљало и здруживање потпуног система у виду дистрибуције која би радила „одмах по распакивању“. Оно је захтевало решавање проблема са инсталацијом и покретањем система — тај проблем тада нисмо начињали, јер дотле тада нисмо стигли. Људи који су градили разне дистрибуције система су нам веома помогли.

Пројекат ГНУ подржава систем ГНУ са Линуксом исто као и потпун систем ГНУ, чак и финансијски. Финансирали смо поновно писање проширења ГНУ-ове библиотеке за Це, која су у вези са Линуксом, тако да су сад она добро здружена, а најновији системи ГНУ са Линуксом без измена користе најновија издања те библиотеке. Такође смо финансирали ране фазе развоја Дебијановог ГНУ-а са Линуксом.

Данас ми користимо системе ГНУ са језгром Линукс за већину наших послова, а надамо се да их и ви користите. Али молимо вас да не збуњујете јавност двосмислено употребљавајући назив „Линукс“. Линукс је језгро, један од најважнијих делова система. Систем као целина је мање или више систем ГНУ, са додатком језгра Линукс. Када причате о овој комбинацији, молимо вас да је називате „ГНУ-ом са Линуксом“.

Уколико негде желите да поменете везу (у смислу веб странице) ка „ГНУ-у са Линуксом“, добри избори су ова страница и страница http://www.gnu.org/gnu/the-gnu-project.html. Уколико помињете само језгро Линукс, и желите да поменете везу за даље информације, добар УРЛ је http://www.kernel.org/.

Додатак: Поред ГНУ-а, још један пројекат је независно произвео слободан униксолики оперативни систем. Овај систем је познат под називом БСД, а развијен је на Универзитету Беркли. Осамдесетих је био неслободан, али је постао слободан раних деведесетих. Уколико данас чујете да неко помиње слободан оперативни систем, скоро сигурно мисли или на варијанту система ГНУ, или система БСД.

Људи нас понекад питају да ли је и БСД верзија ГНУ-а, као што је то ГНУ са Линуксом. Пример Пројекта ГНУ је инспирисао градитеље БСД-а да њихов код учине слободним софтвером, а експлицитне молбе ГНУ-ових активиста су им у томе помогле, али сам код нема скоро ничег заједничког са ГНУ-ом. Системи БСД данас користе неке ГНУ-ове програме, а систем ГНУ и његове варијанте користе неке БСД-ове програме, али, у целини, они представљају два разна система који су се развијали упоредо. Градитељи БСД-а нису написали језгро и додали га систему ГНУ, па стога називи као што је ГНУ са БСД-ом не би били одговарајући.

[Уколико желите да о овој ствари сазнате више, можете прочитати и ПИО (питања и одговоре) о ГНУ-у са Линуксом.]

Фусноте:

  1. Ови незанимљиви али кључни делови укључују ГНУ-ов асемблер, ГАС и повезивач, GLD, а и један и други су делови пакета ГНУ-ових бинарних алата (GNU Binutils), ГНУ-овог архивара tar, и других.
  2. На пример, Бурнова љуска Баш (The Bourne Again SHell — BASH), интерпретатор ПостСкрипта Гостскрипт (Ghostscript), и ГНУ-ова библиотека за Це нису програмерски алати, као што то нису ни програми ГНУКеш (GNUCash), Гном и ГНУ-ов шах.
  3. На пример, ГНУ-ова библиотека за Це.

Преводи ове странице:
[ Català | 简体中文 | 繁體中文 | Česky | Deutsch | English | Español | Français | Italiano | 日本語 | 한국어 | Polski | Português | Românã | Русский | Slovensko | Српски ]