Проект GNU - GNU Project
Эта статья слишком полагается на Рекомендации к основные источники.Январь 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В Проект GNU (/ɡпu/ (Слушать))[3] это бесплатно программное обеспечение, массовое сотрудничество проект, который Ричард Столмен объявлено 27 сентября 1983 года. Его цель - предоставить пользователям компьютеров свободу и контроль в использовании ими своих компьютеров и вычислительных устройств путем совместной разработки и публикации программного обеспечения, которое дает каждому право свободно запускать программное обеспечение, копировать и распространять его, изучать его. , и измените его. Программное обеспечение GNU предоставляет эти права в лицензия.
Чтобы гарантировать, что весь программное обеспечение компьютера предоставляет пользователям все права на свободу (использование, совместное использование, изучение, изменение), даже в самой фундаментальной и важной части, Операционная система (включая все его многочисленные служебные программы) должны быть бесплатными. Согласно его манифесту, основной целью проекта было создание свободной операционной системы и, если возможно, «всего полезного, что обычно идет с системой Unix, чтобы можно было обойтись без какого-либо несвободного программного обеспечения». Столмен решил назвать эту операционную систему GNU (а рекурсивный акроним смысл "GNU - это не Unix!"), основанный на дизайне Unix, а собственная операционная система.[4] Разработка была начата в январе 1984 г. В 1991 г. Ядро Linux появился, разработан вне проекта GNU Линус Торвальдс,[5] а в декабре 1992 года он стал доступен в версии 2 Стандартная общественная лицензия GNU.[6] В сочетании с утилитами операционной системы, уже разработанными в рамках проекта GNU, это позволило создать первую операционную систему, которая была свободным программным обеспечением, широко известное как Linux.[7][8]
Текущая работа проекта включает разработку программного обеспечения, повышение осведомленности, политические кампании и распространение нового материала.
Происхождение
Ричард Столмен объявил о своем намерении начать кодирование проекта GNU в Usenet сообщение в сентябре 1983 г.[9]
Когда проект GNU только начинался, у них была Emacs текстовый редактор с Лисп для написания команд редактора, исходный уровень отладчик, а yacc -совместимый парсер генератор, и компоновщик.[10] Система GNU требовала, чтобы ее собственный компилятор C и инструменты были свободными программами, поэтому их тоже нужно было разработать. К июню 1987 года в рамках проекта было накоплено и разработано бесплатное программное обеспечение для ассемблера, почти законченный переносимый оптимизирующий компилятор C (GCC ), редактор (GNU Emacs ) и различные утилиты Unix (такие как ls
, grep
, awk
, делать
и ld
).[11] У них было начальное ядро, которое требовало дополнительных обновлений.
Как только ядро и компилятор были закончены, GNU можно было использовать для разработки программ. Основная цель заключалась в создании множества других приложений, похожих на систему Unix. GNU могла запускать программы Unix, но не была им идентична. GNU включила более длинные имена файлов, номера версий файлов и файловую систему, устойчивую к сбоям. Манифест GNU был написан, чтобы заручиться поддержкой и участием других в проекте. Программистам предлагалось принять участие в любом интересующем их аспекте проекта. Люди могли жертвовать средства, комплектующие для компьютеров или даже свое время на написание кода и программ для проекта.[4]
Истоки и развитие большинства аспектов проекта GNU (и свободного программного обеспечения в целом) описаны в подробном описании в справочной системе Emacs. (C-h g запускает команду редактора Emacs описать GNU-проект.) Это такая же подробная история, как и на их сайте.
Манифест GNU
Манифест GNU был написан Ричардом Столлманом, чтобы получить поддержку и участие в проекте GNU. В Манифесте GNU Столлман перечислил четыре свободы, необходимые для пользователей программного обеспечения: свободу запускать программу для любых целей, свободу изучать механизмы программы и изменять ее, свободу распространять копии и свободу улучшать и изменять модифицированные версии для всеобщего ознакомления. использовать.[12][13] Чтобы реализовать эти свободы, пользователям нужен полный доступ к коду. Чтобы код оставался бесплатным и предоставлял его широкой публике, Столлман создал Стандартная общественная лицензия GNU (GPL), что позволило программному обеспечению и будущим поколениям кода, полученного на его основе, оставаться бесплатными для публичного использования.
Философия и активизм
Хотя большая часть результатов проекта GNU носит технический характер, он был запущен как социальная, этическая и политическая инициатива. Помимо разработки программного обеспечения и лицензий, проект GNU опубликовал ряд работ, автором большинства из которых является Ричард Столмен.
Бесплатно программное обеспечение
В проекте GNU используется программное обеспечение, которое пользователи могут бесплатно копировать, редактировать и распространять. Это бесплатно в том смысле, что пользователи могут изменять программное обеспечение в соответствии с индивидуальными потребностями. То, как программисты получают бесплатное программное обеспечение, зависит от того, где они его получают. Программное обеспечение может быть предоставлено программисту от друзей или через Интернет, или компания, в которой работает программист, может приобрести программное обеспечение.
Финансирование
Поступления от ассоциированных членов, покупки и пожертвования поддерживают проект GNU.[14]
Авторское лево
Авторское лево это то, что помогает поддерживать бесплатное использование этого программного обеспечения среди других программистов. Авторское лево дает каждому законное право использовать, редактировать и распространять программы или программный код до тех пор, пока условия распространения не меняются. В результате любой пользователь, получивший программное обеспечение на законных основаниях, имеет те же свободы, что и остальные его пользователи.
Проект GNU и Фонд свободного программного обеспечения иногда различают «сильное» и «слабое» авторское лево. «Слабые» программы с авторским левом обычно позволяют дистрибьюторам связывать их вместе с несвободными программами, в то время как «сильное» авторское лево строго запрещает эту практику. Большая часть продукции проекта GNU выпускается под сильным авторским левом, хотя некоторые выпускаются под слабым авторским левом или слабой, проталкивающей лицензией свободных программ.[15][16]
Разработка операционной системы
Первой целью проекта GNU было создание полностью свободной операционной системы. Поскольку UNIX уже был широко распространен и работал на более мощных машинах, по сравнению с современными машинами времени CP / M или MS-DOS,[17] было решено, что это будет Unix-подобная операционная система. Ричард Столмен позже заметил, что считает MS-DOS «игрушкой».[18]
К 1992 году проект GNU завершил работу всех основных утилит операционной системы, но не завершил их предлагаемые ядро операционной системы, GNU Hurd. С выпуском Ядро Linux, начатую независимо Линус Торвальдс в 1991 г. и выпущенная под лицензией GPL с версией 0.12 в 1992 г., впервые появилась возможность запускать операционную систему, полностью состоящую из свободных программ. Хотя ядро Linux не является частью проекта GNU, оно было разработано с использованием GCC и другие инструменты программирования GNU и был выпущен как бесплатное программное обеспечение под Стандартная общественная лицензия GNU.[19]На данный момент проект GNU не выпустил версию GNU / Hurd это подходит для производственной среды с момента запуска проекта GNU / Hurd более 29 лет назад.[20]
GNU / Linux
Стабильная версия (или вариант) GNU может быть запущена путем объединения пакетов GNU с Ядро Linux, делая функционал Unix-подобный система. В проекте GNU это называется GNU / Linux, и определяющие особенности представляют собой комбинацию:
- Пакеты GNU[21][22] (кроме GNU Hurd)
Пакеты GNU состоят из множества инструментов и утилит операционной системы (ракушка, coreutils, компиляторы, библиотеки и т. д.)[21][22] включая библиотечную реализацию всех функций, указанных в POSIX Системный прикладной программный интерфейс (POSIX.1).[23][24] Компилятор GCC может генерировать машинный код для большого количества компьютерных архитектур.[25] - Ядро Linux - это реализует планирование программ, многозадачность, драйверы устройств, управление памятью и т. Д. И позволяет системе работать на большом разнообразие компьютерных архитектур.[26] Линус Торвальдс выпустил Ядро Linux под Стандартная общественная лицензия GNU в 1992 г .;[27] однако он не является частью проекта GNU.[28][29][30][31]
- программы, не относящиеся к GNU - различные пакеты бесплатного программного обеспечения, которые не являются частью проекта GNU, но выпущены под Стандартная общественная лицензия GNU или другой Лицензия свободного программного обеспечения, одобренная FSF.
На веб-сайте GNU представлен список проектов, и каждый проект имеет особенности для того, какой тип разработчика может выполнить задачу, необходимую для определенной части проекта GNU. Уровень навыков варьируется от проекта к проекту, но любой, кто имеет базовые знания в области программирования, может поддержать проект.
Упаковка инструментов GNU вместе с ядром Linux и другими программами обычно называется Дистрибутив Linux (дистрибутив). Проект GNU называет комбинацию GNU и ядра Linux «GNU / Linux» и просит других сделать то же самое,[32] в результате Споры об именах GNU / Linux.
Большинство дистрибутивов Linux объединяют пакеты GNU с ядром Linux, которое содержит проприетарные двоичные капли и ряд проприетарных программ.[нужна цитата ]
Рекомендации по распространению бесплатных систем GNU
Руководство по бесплатному распространению системы GNU (GNU FSDG) - это обязательство по распространению системы, используемое для объяснения того, что значит для устанавливаемого системного дистрибутива (например, дистрибутива GNU / Linux) быть свободным (libre), и помощи разработчикам дистрибутивов в создании своих дистрибутивов. квалифицироваться.
В основном это включает дистрибутивы, которые представляют собой комбинацию пакетов GNU с Linux-libre ядро (модифицированное ядро Linux, которое удаляет двоичные двоичные объекты, обфусцированный код и части кода под проприетарными лицензиями) и состоит только из бесплатного программного обеспечения (полностью избегая проприетарного программного обеспечения).[33][34][35] Распределения, в которых принята GNU FSDG, включают Драгора GNU / Linux-libre, gNewSense, Система GNU Guix, Гипербола GNU / Linux-libre, Парабола GNU / Linux-libre, Трисквель GNU / Linux, Утуто, и некоторые другие.[36]
Руководящие принципы лицензирования распространения проекта Fedora были использованы в качестве основы для FSDG.[37]
Стратегические проекты
С середины 1990-х годов, когда многие компании инвестировали в разработку свободного программного обеспечения, Фонд свободного программного обеспечения перенаправил свои средства на юридическую и политическую поддержку разработки свободного программного обеспечения. С этого момента разработка программного обеспечения была сосредоточена на поддержке существующих проектов и запуске новых проектов только тогда, когда возникла острая угроза для сообщество свободного программного обеспечения. Одним из наиболее заметных проектов GNU Project является Коллекция компиляторов GNU, компоненты которого были приняты в качестве стандартной системы компиляции на многих Unix-подобный системы.
Авторские права на большинство работ проекта GNU принадлежат Free Software Foundation.[нужна цитата ]
ГНОМ
В ГНОМ проект GNU начал работу над настольными компьютерами, потому что другая настольная система, KDE, становился популярным, но требовал от пользователей установки Qt, который тогда был проприетарное программное обеспечение. Чтобы избежать соблазна установить KDE и Qt, проект GNU одновременно запустил два проекта. Один был Инструментарий гармонии. Это была попытка сделать бесплатную замену Qt. Если бы этот проект был успешным, предполагаемая проблема с KDE была бы решена. Вторым проектом был GNOME, который рассматривал ту же проблему под другим углом. Он был нацелен на замену KDE, который не зависел от проприетарного программного обеспечения. Проект Harmony не получил большого прогресса, но GNOME развивался очень хорошо. В конце концов, проприетарный компонент, от которого зависел KDE (Qt ) был выпущен как бесплатное программное обеспечение.[38]
GNU Enterprise
GNU Enterprise (GNUe) - это метапроект, запущенный в 1996 году,[39] и может рассматриваться как подпроект проекта GNU. Цель GNUe - создать свободный "приложения для работы с данными корпоративного класса" (специалисты по планированию ресурсов предприятия так далее.). GNUe разработан для сбора корпоративного программного обеспечения для системы GNU в одном месте (так же, как проект GNOME собирает настольное программное обеспечение).
Признание
В 2001 году проект GNU получил Премия USENIX за заслуги в жизни за «повсеместное распространение, широту и качество его свободно распространяемого и изменяемого программного обеспечения, которое позволило целому поколению исследований и коммерческих разработок».[40]
Смотрите также
- Фонд свободного программного обеспечения
- Лицензия свободной документации GNU
- Список пакетов GNU
- 9965 GNU
Рекомендации
- ^ "Смелая голова GNU". Получено 30 ноября, 2014.
Мы благодарим Аурелио А. Хекерта ... за то, что подарили нам этот рисунок.
- ^ "Голова GNU". Получено 30 ноября, 2014.
Рисунок был нарисован Этьеном Сувасой.
- ^ "Что такое GNU?". Операционная система GNU. Фонд свободного программного обеспечения. 4 сентября 2009 г.. Получено 2009-10-09.
Имя «GNU» - это рекурсивное сокращение от «GNU's Not Unix!»; это произносится г-нет, как один слог без гласного звука между грамм и п.
- ^ а б "Манифест GNU". Фонд свободного программного обеспечения. 21 июля 2007 г.. Получено 2015-10-08.
- ^ Торвальдс, Линус Бенедикт (август 1991 г.). "comp.os.minix". Получено 2009-09-06.
- ^ "z-архив Linux версии 0.99". kernel.org. Декабрь 1992 г. Архивировано с оригинал 30 января 2017 г.
- ^ Эндрю Д. Бальса; Соавторы. "FAQ по списку рассылки linux-kernel". Архивы ядра Linux. Kernel.org. Архивировано из оригинал на 2012-10-01. Получено 2013-06-13.
... мы пытались использовать слово "Linux" или выражение "ядро Linux" для обозначения ядра и GNU / Linux для обозначения всего программного обеспечения ОС под GNU / GPL, ... ... многие люди забывают, что список рассылки ядра Linux - это форум для обсуждения вопросов, связанных с ядром, а не GNU / Linux в целом ...
- ^ Марк Шаттлворт (14 февраля 2014 г.). "Милостиво проигрывать". Архивировано из оригинал 22 марта 2014 г.. Получено 27 апреля 2014.
сегодня мы фокусируемся на облаке и на мобильных устройствах, и мы явно лидируем среди GNU / Linux на обоих фронтах.
- ^ Ричард Столмен. "новая реализация Unix".
- ^ Уордрип-Фруин, Ной; и Ник Монфор. «Манифест GNU». NewMediaReader. Кембридж, Массачусетс: Массачусетский технологический институт, 2003. С. 545–550.
- ^ "Бюллетень GNU, том 1, номер 3". gnu.org. Июнь 1987 г.
- ^ Столмен, Ричард (Март 1985 г.). «Манифест GNU - Проект GNU - Фонд свободного программного обеспечения (FSF)». gnu.org. Проект GNU. Получено 2011-10-18.
- ^ Вебер, С. (2004). Успех открытого исходного кода. Кембридж: Издательство Гарвардского университета.
- ^ Помощь проекту GNU и движению за свободное программное обеспечение - Проект GNU - Фонд свободного программного обеспечения. gnu.org. Проверено 17 июля 2013.
- ^ "Ncurses". wiki.freedesktop.org. Получено 2019-03-18.
Это один из немногих файлов GNU, не распространяемых под Стандартной общественной лицензией GNU или Стандартной общественной лицензией ограниченного применения GNU; распространяется под лицензией наподобие X11 License
- ^ «Почему вам не следует использовать Lesser GPL для вашей следующей библиотеки». GNU.
Есть причины, по которым в определенных случаях может быть лучше использовать Lesser GPL.
- ^ "БЮЛЛЕТЕНЬ GNU Том 1 №1". Февраль 1986 г.
- ^ «Ричард Столмен: свобода». 9 августа 2008 г.
- ^ Линус Бенедикт Торвальдс (26 августа 1991 г.). "Что бы вы хотели видеть в minix больше всего?". comp.os.minix.
- ^ "GNU Hurd / hurd / status". Операционная система GNU. Фонд свободного программного обеспечения. Получено 2018-04-15.
Возможно, он не готов к использованию в производственной среде, так как все еще есть некоторые ошибки и отсутствующие функции.
- ^ а б «Все пакеты GNU». gnu.org.
- ^ а б GNU @ Каталог свободного программного обеспечения (fsf.org)
- ^ POSIX - Библиотека GNU C
- ^ Библиотека GNU C # Временная вилка
- ^ Архитектуры GCC
- ^ Архивы ядра Linux
- ^ Примечания к выпуску Linux v0.12
- ^ Следует ли применять соглашение GNU / имя ко всем программам под GPL? GNU / Linux FAQ от Ричарда Столлмана
- ^ Почему вы пишете «GNU / Linux» вместо «GNU Linux»? GNU / Linux FAQ от Ричарда Столлмана
- ^ Разве это не неправильно, если мы называем работу Линуса Торвальдса GNU? GNU / Linux FAQ от Ричарда Столлмана
- ^ Согласен ли Линус Торвальдс с тем, что Linux - это просто ядро? GNU / Linux FAQ от Ричарда Столлмана
- ^ Почему вы называете это GNU / Linux, а не Linux?
- ^ «Рекомендации по бесплатному распространению системы». gnu.org.
- ^ «Избегая пагубных компромиссов». gnu.org.
- ^ «Объяснение, почему мы не поддерживаем другие системы». gnu.org.
- ^ «Список свободных дистрибутивов GNU / Linux - Проект GNU - Фонд свободного программного обеспечения». gnu.org. Получено 2014-08-18.
- ^ «Рекомендации по распространению свободных систем (GNU FSDG) - проект GNU». gnu.org. издатель. Получено 2014-06-07.
Мы хотели бы поблагодарить проект Fedora за их помощь в разработке этих политик и за то, что они позволили нам использовать их собственные правила лицензирования распространения в качестве основы для этого документа.
- ^ Ричард Столмен (5 сентября 2000 г.). "Столмен на Qt, GPL, KDE и GNOME". Linux сегодня. Получено 2005-09-09.
- ^ «История проекта GNU Enterprise - GNU Enterprise». 2013-01-16. Архивировано из оригинал на 2013-01-16. Получено 2019-02-18.
- ^ «Премия USENIX за заслуги перед жизнью (« Пламя »)». USENIX. Получено 2007-12-05.