Кіріспе
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 деп белгілі еркін бағдарламалық жасақтама болатын алғашқы операциялық жүйеге мүмкіндік берді. Қазіргі кезде жобаның жұмысына бағдарламалық қамтамасыз етуді дамыту, хабардар етуді арттыру, саяси науқандар жүргізу және жаңа материалдарды тарату кіреді.
The GNU Project (/audio=En gnu. ogg//ɡ//n//uː/) is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collaboratively developing and publishing software that gives everyone the rights to freely run the software, copy and distribute it, study it, and modify it. GNU software grants these rights in its license. In order to ensure that the entire software of a computer grants its users all freedom rights (use, share, study, modify), even the most fundamental and important part, the operating system (including all its numerous utility programs) needed to be free software. Stallman decided to call this operating system GNU (a recursive acronym meaning "GNU's not Unix! "), basing its design on that of Unix, a proprietary operating system. According to its manifesto, the founding goal of the project was to build a free operating system, and if possible, "everything useful that normally comes with a Unix system so that one could get along without any software that is not free." Development was initiated in January 1984. In 1991, the Linux kernel appeared, developed outside the GNU project by Linus Torvalds, and in December 1992 it was made available under version 2 of the GNU General Public License. Combined with the operating system utilities already developed by the GNU project, it allowed for the first operating system that was free software, commonly known as Linux. The project's current work includes software development, awareness building, political campaigning, and sharing of new material.
Шығу тегі
Ричард Столлман 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 дистрибутиві деп санамайды.
GNU packages (except for GNU Hurd) The GNU packages consist of numerous operating system tools and utilities (shell, coreutils, compilers, libraries, etc.) The GCC compiler can generate machine code for a large variety of computer architectures. Linux kernel – this implements program scheduling, multitasking, device drivers, memory management, etc. and allows the system to run on a large variety of computer architectures. Linus Torvalds released the Linux kernel under the GNU General Public License in 1992; it is however not part of the GNU project. non GNU programs – various free software packages which are not a part of the GNU Project but are released under the GNU General Public License or another FSF approved Free Software License. Within the GNU website, a list of projects is laid out and each project has specifics for what type of developer is able to perform the task needed for a certain piece of the GNU project. The skill level ranges from project to project but anyone with background knowledge in programming is encouraged to support the project. The packaging of GNU tools, together with the Linux kernel and other programs, is usually called a Linux distribution (distro). The GNU Project calls the combination of GNU and the Linux kernel "GNU/Linux", and asks others to do the same, resulting in the GNU/Linux naming controversy. Most Linux distros combine GNU packages with a Linux kernel which contains proprietary binary blobs. Distributions that have adopted the GNU FSDG include Dragora GNU/Linux Libre, GNU Guix System, Hyperbola GNU/Linux libre, Parabola GNU/Linux libre, Trisquel GNU/Linux, PureOS, and a few others. The Fedora Project's distribution license guidelines were used as a basis for the FSDG. The Fedora Project's own guidelines, however, currently do not follow the FSDG, and thus the GNU Project does not consider Fedora to be a fully free (libre) GNU/Linux distribution.
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 өмір бойы жетістіктері сыйлығына ие болды.