GNU
GNU је оперативни систем састављен искључиво од слободног софтвера. Његов назив је рекурзивна скраћеница за „GNU није јуникс“ (GNU's Not Unix). Ово је одабрано зато што је његов дизајн јуниксолик (Unix-like), али од Јуникса се разликује по томе што је слободан софтвер и не садржи његов код.[1] Развој GNU-а је покренуо Ричард Столман, и то је био првобитни циљ Задужбине за слободни софтвер (Free Software Foundation).
Развој GNU система је значио и писање многих програма, познатих као GNU програми или GNU пакети. Међу њима су и уређивач текста Емакс, GNU-ова збирка компилатора (GNU Compiler Collection), GNU-ов дебагер (испитивач) (GNU Debugger) и графичко окружење Гном.
GNU систем се обично користи у комбинацији са језгром линукс, које је развијено ван пројекта GNU. Ова комбинација чини потпуно функционалан оперативни систем, ГНУ са линуксом (GNU/Linux), који се међутим често назива само „Линукс“. За детаље погледајте ГНУ и линукс - спор око имена.
GNU-ови програми се често користе и самостално. Није неуобичајено наћи компоненте GNU-а инсталисане на власничким јуникс системима уместо првобитних јуникс програма – посебно оних који су алатке за програмирање и који се често називају заједничким именом GNU-ов скуп алатки. (Што је само мали део целине GNU система.) Користе се на овај начин јер су се показали као супериорни у односу на еквивалентне јуникс верзије, чак и онда када нису потпуно сагласни са стандардом POSIX. Такође, због популарности комбинације GNU са линуксом, многи који раде на развоју софтвера инсталишу GNU-ов скуп алата на друге системе због компатибилности или зато што скуп ради уједначено на свим платформама. Многи GNU-ови програми су такође пребачени (ported) на Microsoft Windows, Мекинтош OS X и разне друге власничке платформе. Међутим, разлог за постојање портова (преноса, тј. и других верзија) је да помоGNU да се ти системи замене слободним софтвером.
Историја
уредиПројекат GNU је јавно оглашен 27. септембра 1983. године на дискусионим групама net.unix-wizards и net.usoft. Прави рад на пројекту је почео 5. јануара следеће године, када је Столман дао оставку на МИТ-у да би избегао могућност да универзитет полаже било каква права или да омете расподелу (дистрибуцију) GNU-а као слободног софтвера. Првобитна објава је праћена Столмановим „[[Манифест GNU-а|Манифестом GNU-а]]“ и другим есејима у којима је изложио своје мотиве за пројекат GNU, од којих је један био и „враћање духа сарадње који је преовлађивао у рачунарској заједници у њеним ранијим данима“.
Када је GNU предложен, власнички оперативни систем јуникс је већ био у широкој употреби. Будући да се архитектура јуникса показала технички стабилном, систем GNU је дизајниран тако да буде компатибилан са њим. Архитектура Јуникса је омогућавала да GNU буде написан од појединачних софтверских компоненти. Оне компоненте које су већ биле слободно доступне, као што су систем за прелом текста ТеК и графички систем Икс Windows ће бити прилагођене и поново искоришћене, док ће недостајуће бити написане од нуле.
Године 1985. Столман је основао непрофитну организацију Задужбину за слободан софтвер (ЗСС), да би пружала логистичку, правну и финансијску подршку пројекту GNU. ЗСС такође запошљава и програмере да доприносе GNU-у, мада је значајан део развоја био (и још увек је) дело добровољаца. Како се GNU све више истицао, тако су заинтересовани бизниси почели да доприносе развоју или продаји GNU софтвера и техничке подршке. Најистакнутији и најуспешнији од ових је био СајGNUс Солушнс (Cygnus Solutions), данас део Ред Хета (Red Hat).
Да би осигурао да GNU софтвер остане слободан, пројекат је 1989. године издао прву верзију GNU-ове Опште јавне лиценце (GNU-ова ОЈЛ, познатија по енглеској скраћеници GNU GPL). Ову лиценцу данас користи највећи део GNU програма, као и велики број програма слободног софтвера који нису део пројекта GNU; то је једна од најчешће коришћених лиценци слободног софтвера на свету. Она даје право свима који приме програм да га покрећу, копирају, мењају и прерасподељују (дистрибуирају) а истовремено им брани да наметну даља ограничења на копије које они расподеле. Ова идеја се назива копилефт (copyleft).
До 1990. године, систем GNU је имао проширив уређивач текста (Емакс), врло успешан оптимизујући преводилац (компилатор) (GCC) као и већину основних библиотека и алатки једне стандардне јуникс дистрибуције. Главна компонента која је још увек недостајала је било језгро. У Манифесту GNU-а, Столман је поменуо да „основе језгра постоје, али нам недостаје још особина до емулације јуникса“. Он је мислио на TRIX, језгро са удаљеним позивом поступка (remote procedure call kernel), које је развијено на МИТ-у и чији су аутори одлучили да га расподељују бесплатно (for free) а који је био компатибилан са верзијом 7. јуникса. У децембру 1986. почео је рад на прилагођавању овог језгра. Међутим, развојни тим је на крају одлучио да је оно бескорисно као почетна тачка зато што се могло покренути једино на „реткој и скупој 68000 платформи“ („an obscure, expensive 68000 box“) и да би га зато требало портовати (пребацити, пренети) на друге платформе пре него што уопште буде коришћено. До 1988. је уместо њега разматрано Max (Mach), језгро са слањем порука (message-passing kernel), које је развијано на Универзитету Карнеги Мелон, мада је његово издање као слободног софтвера одложено до 1990. године, док развојни тим није уклонио код који је био власништво АТТ-а (AT&T).
Будући да је Мах обезбеђивало само најниже функције језгра, Пројекат GNU је морао да развије делове вишег нивоа језгра, и то као збирку корисничких програма. Ова збирка је првобитно требало да се зове Аликс (Alix), али је касније развијачу (developer) Мајклу Бушнелу (Michael Bushnell) драже било део имена Крдо (Hurd), па је Аликс прво померено за име подсистема и на крају и коначно избачено. На крају се развој Крда отегао због техничких и сукоба личности.
Године 1991. Линус Торвалдс (Linus Torvalds) је написао јуникс компатибилно језгро линукс. Мада првобитно није био слободан софтвер, Торвалдс је лиценцу променио на GNU-ову ОЈЛ 1992. Линукс су даље развијали разни програмери преко Интернета. 1992. је комбиновано са GNU системом, што је за резултат имало потпуно функционалан слодобан оперативни систем. GNU систем се најчешће среће у овом облику, и обично се назива „систем GNU-а са линуксом“ или „дистрибуцијом линукса“. Од 2005. Крдо је у спором развоју те је сада званично језгро GNU система. Постоји такође и пројекат који ради на преношењу GNU система на језгра FreeBSD-ја и NetBSD-ја.
GNU-ов софтвер
уредиДео софтвера који је развијен у оквиру пројекта GNU:
- Системски софтвер
- GNU bison - генератор рашчлањивача (parser generator) намењен као замена за yacc
- Bash - командна шкољка
- BFD - библиотека објектних датотека
- Classpath - библиотеке за Јаву
- Coreutils - основне јуникс алатке, као што су cat, ls и rm
- Emacs - прошириви, самодокументујући уређивач текста
- glibc - POSIX стандардна библиотека за Це, са допунском функционалношћу
- gzip - библиотека и програм за компресију података
- ГНУ-ов алатни ланац за развој софтвера:
- GNU Binutils - асемблер (assembler), линкер (linker) и сродни алати
- ГНУ-ов систем за градњу (GNU build system) - Automake, Autoconf, Libtool
- GCC - оптимизирајући преводилац за многе програмске језике, укључујући Це, Це++, Фортран, Аду и Јаву
- GDB - дебагер (debugger)
- GNU MDK - развојни комплет (development kit) за програмирање у MIX-у
- Screen - мултиплексор (multiplexer) терминала
- Texinfo - документациони систем за производњу мрежних (онлајн) и штампаних упутстава
- GNU wget - напредно добављање датотека са мрежа и Интернета
- GNUnet - децентрализована „peer-to-peer“ комуникациона мрежа дизајнирана да буде отпорна на цензуру
- DotGNU - замена за .NET
- GNU Hurd - скуп сервера утемељен на микрокернелу који обавља исте функције као и јуникс језгро
- Апликативни софтвер
- GIMP - GNU-ов програм за манипулацију сликама (GNU Image Manipulation Program)
- GLPK - пакет намењен решавању проблема у линеарном програмирању (LP), mixed integer programming (MIP) и сличних.
- GMP - библиотека за нумеричке прорачуне у произвољној прецизности
- Гном (GNOME) - графичко радно окружење
- GNU LilyPond - програм за писање нотних записа
- GNU Octave - програм за нумеричке прорачуне сличан MATLAB-у
- GNU Privacy Guard (GnuPG) - слободна алатка за енкрипцију која може да замени PGP
- GNU Robots - мала игра за рачунарске програмере
- GSL - GNU-ова научна библиотека (GNU Scientific Library)
- GNUstep - изведба (имплементација) OpenStep стандарда за скуп библиотека и развојних алата за графичке апликације
- Guile - уградиви (embeddable) интерпретер за Схим (Scheme)
GNU пројекат такође расподељује и помаже у развоју других пакета који су настали другде, на пример:
- DDD - графичко сучеље (енгл. frontend) за дебагере
- eCos - мали оперативни систем за уклопне/уграђене (енгл. embedded) уређаје
- CVS - контрола изворног кода
У јануару 2004. године било је укупно 260 GNU пакета удомљених на GNU-овом сајту Савана (Savanah) који служу у ту сврху. Остали се могу наћи на другим местима.
Говорници
уредиСледе званични говорници пројекта GNU [1]:
- Роберт Часел (Robert J. Chassell)
- Лоик Дакари (Loïc Dachary)
- Рикардо Гали (Ricardo Galli)
- Георг Грев (Georg Greve)
- Федерико Хајнц (Federico Heinz)
- Бредли Кун (Bradley Kuhn)
- Ебен Моглен (Eben Moglen)
- Ричард Столман (Richard Stallman)
- Дејвид Шугер (David Sugar)
Признања
уредиВиди још
уредиРеференце
уреди- ^ „The GNU Operating system”. Приступљено 18. 8. 2008.
Спољашње везе
уреди- Званични веб-сајт
- Копија првобитне објаве Ричарда Столмана
- „Превод „Манифеста GNU-а“ на српски језик”. Архивирано на сајту Wayback Machine (24. јануар 2012)
- Листа слања gnu-system-discuss, техничка дискусија о GNU систему
- „GNU Форум”. - Велики спољни незванични форум који удомљује Nabble. Архивира листе слања многих GNU-ових пројеката, што омогућава лакше прегледање и претраживање.
- Столманова објава пројекта GNU из 1983.
- Подуже Столманово лично мишљење о пројекту и његовој историји
- Слободна универзална енциклопедија и извор за учење (The Free Universal Encyclopedia and Learning Resource), Столманов есеј о GNU-овој енциклопедији
- „GNU-пријатељи (GNU-friends), дискусиони форум”.
- „Сорсфорџови портови GNU-ових алата за Мајкрософтов Windows”.
- Сорсфорџ-олики сајт за пројекте развоја GNU-овог софтвера