Кіріспе

GNU жобасы (/audio=En gnu. ogg//ɡ//n//uː/) – Ричард Столлман 1983 жылдың 27 қыркүйегінде жариялаған еркін бағдарламалық қамтамасыз ету, жаппай ынтымақтастық жобасы. Оның мақсаты – компьютер пайдаланушыларына өз компьютерлері мен есептеу құрылғыларын пайдалануда еркіндік пен бақылау беру, олар бірлесіп бағдарламалық жасақтаманы әзірлеу және жариялау арқылы әркімге бағдарламалық жасақтаманы еркін пайдалану, көшіру және тарату, зерттеу және өзгерту құқығын беру. GNU бағдарламалық жасақтамасы осы құқықтарды лицензиясында қамтамасыз етеді. Компьютердің барлық бағдарламалық жасақтамасы пайдаланушыларға толық еркіндіктерді (пайдалану, бөлісу, зерттеу, өзгерту) беруі керек, тіпті ең негізгі және маңызды бөлігі – операциялық жүйе (оның барлық көптеген қосымша бағдарламаларын қоса алғанда) да еркін бағдарламалық жасақтама болуы тиіс. Столлман бұл операциялық жүйені GNU деп атауға шешім қабылдады (рекурсивті аббревиатура, «GNU – Unix емес!» деген мағына береді), оның дизайны Unix-ке негізделген, ол жеке меншік операциялық жүйе. Жобаның манифестіне сәйкес, оның бастапқы мақсаты – еркін операциялық жүйені құру және, мүмкін болса, «Unix жүйесімен әдетте бірге келетін барлық пайдалы нәрселерді жасау, сонда адамдар еркін емес бағдарламалық жасақтамасыз жұмыс істей алады». Дамыту 1984 жылдың қаңтар айында басталды. 1991 жылы Линус Торвальдс GNU жобасынан тыс әзірлеген Linux ядросы пайда болды, ал 1992 жылдың желтоқсанында ол GNU General Public License 2-ші нұсқасы бойынша қолжетімді болды. GNU жобасы әзірлеген операциялық жүйе құралдарымен біріктірілгенде, ол жалпы Linux деп белгілі еркін бағдарламалық жасақтама болатын алғашқы операциялық жүйеге мүмкіндік берді. Қазіргі кезде жобаның жұмысына бағдарламалық қамтамасыз етуді дамыту, хабардар етуді арттыру, саяси науқандар жүргізу және жаңа материалдарды тарату кіреді.

Шығу тегі

Ричард Столлман 1983 жылдың қыркүйек айында Usenet желісінде жариялаған хабарламасында GNU жобасын бағдарламалауды бастау ниетін білдірді. Unix жүйесін бұрын пайдаланбағанмен, Столлман оны GNU жобасының негізі ретінде қолдануға ең ыңғайлы жүйе дизайны деп есептеді, себебі ол портативті және "жеткілікті түрде таза" болды. GNU жобасы алғаш басталарда Emacs мәтін редакторы Lisp тілімен редактор командаларын жазуға, бастапқы код деңгейінде жөндеу құралы, yacc форматына үйлесімді талдау генераторы және байланыстырушы құралдары болды. GNU жүйесіне өзіндік C компиляторы мен құралдары ашық бағдарламалық қамтамасыз ету ретінде қажет болды, сондықтан оларды да жасау қажеттігі туды. 1987 жылдың маусымына қарай жобада ассемблер, жақсырақ C компиляторының (GCC) портативті нұсқасы, редактор (GNU Emacs) және түрлі Unix құралдары (мысалы, ls, grep, awk, make және ld) жинақталды және дамытылды. Оларда жаңаруларға мұқтаж бастапқы ядро болды. Ядро мен компилятор аяқталғаннан кейін GNU бағдарламалық жасақтаманы жасау үшін қолданыла бастады. Басты мақсат – Unix жүйесіне ұқсас көптеген қосымшаларды құру болатын. GNU Unix бағдарламаларын іске қоса алды, бірақ олар толыққанды бірдей емес еді. GNU ұзын файл атауларын, файл нұсқаларын және қатеге қарсы тұратын файл жүйесін енгізді. Жобаға басқалардың қолдауын және қатысуын қамтамасыз ету үшін GNU манифесті жазылды. Бағдарламашылар жобаның қызығушылық тудыратын кез келген саласына қатысуға шақырылды. Адамдар жобаға қаржылай көмек, компьютерлік бөлшектер немесе тіпті өз уақытын жұмсап, код жазуға және бағдарламалар жасауға атсалыса алатын еді. Бұл еркіндіктерді іске асыру үшін пайдаланушылар бастапқы кодқа толық қол жеткізуі керек болды. Кодтың ашық болуын және оны жұртшылыққа ұсынуын қамтамасыз ету үшін Столлман GNU General Public License (GPL) лицензиясын жасады, ол бағдарламалық қамтамасыз ету мен одан туындаған кодтың келешек нұсқаларын жұртшылық пайдалануына мүмкіндік берді.

Философия және белсенділік

ГНУ жобасының көп бөлігі техникалық сипатта болғанымен, ол әлеуметтік, этикалық және саяси бастама ретінде құрылды. Бағдарламалық қамтамасыз ету және лицензияларды жасаумен қатар, ГНУ жобасы көптеген жазбаларды жариялаған, олардың басым бөлігі Ричард Столлманның авторлығында.

Еркін бағдарламалық қамтамасыз ету

GNU жобасы пайдаланушыларға көшіруге, өңдеуге және таратуға толықтай еркін бағдарламалық жасақтаманы пайдаланады. Бұл «еркін» дегені, пайдаланушылар бағдарламаны жеке қажеттіліктеріне сәйкес өзгерте алады. Бағдарламашылардың осы бағдарламаны қалай алуы оның көзіне байланысты. Бағдарламалық жасақтама бағдарламашыға достары арқылы немесе интернеттен берілуі мүмкін, сондай-ақ бағдарламашы жұмыс істейтін компания оны сатып алуы да мүмкін.

Қаржыландыру

Қатысушы мүшелерден алынған түсімдер, сатып алынулар және қайырымдалықтар GNU жобасын қолдайды.

Көшірмелеу құқығы

Copyleft – бұл бағдарламаны басқа бағдарламалаушылар арасында тегін пайдалануды сақтауға көмектеседі. Copyleft әрбір адамға бағдарламаларды немесе бағдарлама кодтарын пайдалануға, өңдеуге және қайта таратуға заңды құқық береді, егер тарату шарттары өзгермесе. Осының нәтижесінде, бағдарламалық жасақтаманы заңды жолмен алған кез келген пайдаланушы, оның басқа пайдаланушыларымен бірдей еркіндіктерге ие болады. GNU жобасы мен Free Software Foundation кейде «күшті» және «әлсіз» copyleft арасында ажырату жасайды. «Әлсіз» copyleft бағдарламалары әдетте таратушыларға оларды тегін емес бағдарламалармен байланыстыруға рұқсат береді, ал «күшті» copyleft осы амалды қатаң түрде тыйым салады. GNU жобасының көп бөлігі күшті copyleft лицензиясымен шығарылады, бірақ кейбіреулері әлсіз copyleft немесе кең, барынша еркін бағдарламалық жасақтама лицензиясы бойынша шығарылады.

Операциялық жүйені әзірлеу

GNU жобасының алғашқы мақсаты – толыққанды еркін бағдарламалық қамтамасыз етуден тұратын операциялық жүйе құру еді. UNIX бұрыннан кең таралғандықтан және сол кездегі CP/M немесе MS DOS машиналарымен салыстырғанда күшті машиналарда жұмыс істегендіктен, Unix-тің ұқсас операциялық жүйесі жасалатын бұлжымас шешім қабылданды. Ричард Столлман кейіннен MS DOS-ты «ойыншық» деп есептегенін айтты. 1992 жылға қарай GNU жобасы операциялық жүйенің барлық негізгі құралдарын аяқтады, бірақ ұсынылған операциялық жүйе ядросы – GNU Hurd-ты аяқтамады. 1991 жылы Линус Торвальдс жеке бастаған Linux ядросының және 1992 жылы GPLv2 лицензиясымен 0.12 нұсқасының жарыққа шығуымен алғаш рет толығымен еркін бағдарламалық жасақтамадан тұратын операциялық жүйені іске қосу мүмкін болды. Linux ядросы GNU жобасының бір бөлігі болмаса да, GCC және басқа GNU бағдарламалау құралдарын пайдалана отырып жасалды және GNU General Public License лицензиясы бойынша еркін бағдарламалық жасақтама ретінде жарияланды. Linux ядросын құрастырудың көп бөлігі әлі де GNU құралдар жиынтығымен жасалады, бірақ қазір Clang компиляторы мен LLVM құралдар жиынтығын құрастыру үшін пайдалануға болады. Қазіргі таңда GNU жобасы GNU/Hurd-тың өндірістік ортаға жарамды нұсқасын шығармады.

GNU/Linux жүйесі

GNU-ның тұрақты нұсқасын (немесе түрін) GNU пакеттерін Linux ядросымен біріктіру арқылы іске қосуға болады, осы арқылы Unix сияқты жұмыс істейтін жүйе құрылады. GNU жобасы оны GNU/Linux деп атайды, ал оның ерекшеліктері: GNU пакеттері (GNU Hurd-тан басқа). GNU пакеттері көптеген операциялық жүйе құралдары мен қосымшаларынан тұрады (қабықша, coreutils, компиляторлар, кітапханалар және т.б.). GCC компиляторы компьютерлік архитектуралардың көптеген түрлері үшін машиналық кодты жасай алады. Linux ядросы – бағдарламаларды жоспарлау, көп тапсырмалы режимді іске асыру, құрылғы драйверлерін басқару, жадты басқару және т.б. функцияларын орындайды, сондай-ақ жүйеге түрлі компьютерлік архитектураларда жұмыс істеуге мүмкіндік береді. Линус Торвальдс 1992 жылы Linux ядросын GNU General Public License лицензиясы бойынша жариялады; алайда, ол GNU жобасының бір бөлігі емес. GNU емес бағдарламалар – GNU жобасының құрамына кірмейтін, бірақ GNU General Public License немесе FSF бекіткен басқа да еркін бағдарламалық қамтамасыз ету лицензиясы бойынша таратылатын әртүрлі еркін бағдарламалық қамтамасыз ету пакеттері. GNU веб-сайтында жобалардың тізімі келтірілген, әр жобада GNU жобасының белгілі бір бөлігі үшін қажетті міндетті орындай алатын дамылшылар туралы нақты ақпарат бар. Кәсіби білік деңгейі жобадан жобаға өзгереді, бірақ бағдарламалау негіздерін білетін кез келген адам жобаны қолдауға шақырылады. GNU құралдары жинағы, Linux ядросы және басқа бағдарламалармен бірге әдетте Linux дистрибутиві (таратуы) деп аталады. GNU жобасы GNU мен Linux ядросының үйлесімін "GNU/Linux" деп атайды және басқалардан да солай атауын сұрайды, нәтижесінде GNU/Linux атауын қабылдау туралы пікір қақтығысы туындайды. Көптеген Linux дистрибутивтері GNU пакеттерін меншік бинарлық кодтардан тұратын Linux ядросымен біріктіреді. GNU FSDG-ні қабылдаған дистрибутивтерге Dragora GNU/Linux Libre, GNU Guix System, Hyperbola GNU/Linux libre, Parabola GNU/Linux libre, Trisquel GNU/Linux, PureOS және тағы бірнеше кіреді. Fedora жобасының тарату лицензиясы бойынша нұсқаулары FSDG-нің негізі болды. Алайда, Fedora жобасының өзінің нұсқаулары қазіргі уақытта FSDG-ге сәйкес келмейді, сондықтан GNU жобасы Fedora-ны толыққанды еркін (libre) GNU/Linux дистрибутиві деп санамайды.

GNOME- дың

GNOME жұмыс үстелінің бастамасы GNU жобасымен іске қосылды, себебі тағы бір жұмыс үстелі жүйесі KDE танымал бола бастады, бірақ пайдаланушылардан Qt орнатуды талап етті, ал ол сол кезде авторлық құқықпен қорғалған бағдарламалық жасақтама еді. Адамдарды KDE және Qt орнатуға баулудан сақтау үшін GNU жобасы бірден екі жобаны бастады. Бірі – Harmony құралдар жиынтығы. Бұл Qt-ға балама болар еркін бағдарлама жасауға жасалған әрекет болды. Егер бұл жоба сәтті аяқталса, KDE-ге қатысты мәселе шешілген болар еді. Екінші жоба – GNOME, ол осы мәселені басқа жолмен шешуді көздеді. Оның мақсаты KDE-ге авторлық құқықпен қорғалған бағдарламалық жасақтамаға тәуелді емес балама жасау еді. Harmony жобасы көп үлгермеді, бірақ GNOME жақсы дамыды. Соңында KDE-нің негізгі құралы (Qt) еркін бағдарламалық жасақтама ретінде жарияланды. GNOME кейіннен GNU жобасы мен Free Software Foundation-нан тәуелсіздік алып, қазір GNOME жобасымен басқарылады.

GNU Enterprise бағдарламасы

GNU Enterprise (GNUe) – 1996 жылы басталған мета-жоба, және оны GNU жобасының ішкі жобасы деп қарастыруға болады. GNUe-нің мақсаты – тегін, "кәсіптік деңгейдегі деректермен жұмыс істейтін қосымшаларды" (кәсіпорын ресурстарын жоспарлаушылар және т.б.) құру. GNUe GNU жүйесі үшін кәсіптік бағдарламалық қамтамасын бір орында жинауға бағытталған (GNOME жобасы жұмыс үстелі бағдарламалық қамтамасын жинағандай).

Тану

2001 жылы GNU жобасы «тегін таратылатын, қайта таратылатын және өзгертілетін бағдарламалық қамтамасының кең таралғандығы, ауқымдылығы және сапасы, соның арқасында бір буынның ғылыми зерттеулері мен коммерциялық дамуына мүмкіндік бергені үшін» USENIX өмір бойы жетістіктері сыйлығына ие болды.