This translation may not reflect the changes made since 2010-09-23 in the English original.

Please see the Translations README for information on maintaining translations of this article.

Линукс и систем ГНУ

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

Да бисте сазнали више о овој теми, можете прочитати и ЧПП ГНУ-а са Линуксом, као и Зашто ГНУ са Линуксом?

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

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

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

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

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

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

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

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

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

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

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

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

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

Данас постоје многе различите варијанте система ГНУ са Линуксом (које се често називају „дистрибуцијама“). Већина њих садржи неслободни софтвер. Њихови градитељи прате филозофију која се повезује са Линуксом, а не ГНУ-ову филозофију. Али, постоје и потпуно слободне дистрибуције ГНУ-а са Линуксом. ЗСС обезбеђује рачунарске ресурс gNewSense.

Прављење слободне дистрибуције ГНУ-а са Линуксом није само ствар елиминисања разних неслободних програма. Данас уобичајена верзија Линукса такође садржи неслободне програме. Ови програми су предвиђени за учитавање у У/И уређаје у време почетка извршавања система, а укључени су у „изворни код“ Линукса као низови бројева. Зато одржавање дистрибуције ГНУ-а са Линуксом сада укључује и одржавање слободне верзије Линукса.

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

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

Додатак

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

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

Фусноте:

  1. Ови незанимљиви али кључни делови укључују ГНУ-ов асемблер, ГАС и повезивач, GLD, а и један и други су делови пакета ГНУ-ових бинарних алата (GNU Binutils), ГНУ-овог архивара tar, и других.
  2. На пример, Бурнова љуска Баш (The Bourne Again SHell — BASH), интерпретатор ПостСкрипта Гостскрипт (Ghostscript), и ГНУ-ова библиотека за Це нису програмерски алати, као што то нису ни програми ГНУКеш (GNUCash), Гном и ГНУ-ов шах.
  3. На пример, ГНУ-ова библиотека за Це.
  4. Од када је ово написано, изграђује се скоро-слободни виндовсолики систем, али технички он уопште није попут ГНУ-а или Уникса, па не утиче на овај проблем. Велики део језгра Солариса је ослобођен, али уколико бисте желели да на основу њега направите слободни систем, морали бисте, поред замене недостајућих делова језгра, да га ставите у ГНУ или БСД.
  5. Са друге стране, у годинама које су уследиле после писања овог чланка, ГНУ-ова библиотека за Це је пренесена и на језгро БСД-а, што је омогућило да се систем ГНУ комбинује са тим језгром. Као што је то случај и са ГНУ-ом са Линуксом, и ово су заиста варијанте ГНУ-а, које се називају ГНУ-ом са јФриБСД-ом (GNU/kFreeBSD) и ГНУ-ом са јНетБСД-ом (GNU/kNetBSD), у зависности од тога које језгро систем користи. Обични корисници уобичајених кућних рачунара тешко могу да разликују ГНУ са Линуксом од ГНУ-а са *БСД-овима.
Примедбе преводиоца:
  1. У енглеском је истакнут одређени члан the, што, мишљења сам, у српском не може другачије да се представи него увођењем придева „прави“. [СР]