Linux and gnu project
Свобода программы означает, что у пользователей есть свобода выполнять, копировать, изучать, править и улучшать программу.
Понятие “свободная программа” относится к свободе, а не к стоимости. Чтобы верно воспринимать эту концепцию, слово “свободный” следует понимать в том смысле, который заключается в выражении “вольная речь”, а не “бесплатное пиво”.
- Свобода выполнять программу, как вам угодно и в любых целях (свобода 0).
- Свобода изучать, как работает программа, и править ее так, чтобы она выполняла ваши вычисления, как вы желаете (свобода 1). Это предполагает доступ к исходному тексту.
- Свобода передавать копии, чтобы помогать другим (свобода 2).
- Свобода передавать копии своих измененных версий другим (свобода 3). Этим вы можете дать всему сообществу возможность получать выгоду от ваших изменений. Это предполагает доступ к исходному тексту.
Подробнее о GNU
GNU — операционная система типа Unix. Это значит, что она представляет собой собрание множества программ: приложений, библиотек, средств разработки и даже игр. Многие программы в GNU выпускаются под эгидой проекта GNU; их мы называем пакетами GNU.
Название “GNU” — это рекурсивное сокращение фразы “ GNU’s Not Unix! ” (“GNU — не Unix!”). “GNU” произносится как гну, одним слогом, как глагол “гнуть” в первом лице, единственном числе настоящего времени изъявительного наклонения.
Работы над собственным ядром GNU, GNU Hurd, начались в 1990 году (до начала работ над Linux). Добровольцы продолжают развивать Hurd, поскольку это представляет технический интерес.
Пользуясь великими благами от чужих изобретений, мы должны радоваться случаю служить другим всеми собственными изобретениями, и делать это с охотой и великодушием.
— Бенджамин Франклин
Проект GNU настоятельно призывает сообщество общаться дружелюбно, приветливо и доброжелательно. См. Рекомендации GNU по общению в проекте.
GNU на планете:
Загляни за кулисы техкоманды ФСПО : В этой статье мы заглядываем за кулисы последних работ, выполненных техкомандой ФСПО.
Что делать с несвободной Debian : Личные размышления о моем переезде с Debian на Trisquel и Guix в целях этичности моих собственных вычислений.
Вместе работаем над лицензированием свободных программ : Наш партнер по авторскому праву и лицензированию Крейг Топем работает вместе с разработчиками свободных программ.
Действуйте!
Не могли бы вы помочь GNU с каким-нибудь из этих проектов?
Могли бы вы помочь с сопровождением какого-нибудь пакета GNU? Следующие пакеты нуждаются в сопровождающих:
Кроме того, для следующих пакетов нужны дополнительные разработчики:
Подробности см. на страницах сайтов пакетов.
Linux and gnu project
Свобода программы означает, что у пользователей есть свобода выполнять, копировать, изучать, править и улучшать программу.
Понятие “свободная программа” относится к свободе, а не к стоимости. Чтобы верно воспринимать эту концепцию, слово “свободный” следует понимать в том смысле, который заключается в выражении “вольная речь”, а не “бесплатное пиво”.
- Свобода выполнять программу, как вам угодно и в любых целях (свобода 0).
- Свобода изучать, как работает программа, и править ее так, чтобы она выполняла ваши вычисления, как вы желаете (свобода 1). Это предполагает доступ к исходному тексту.
- Свобода передавать копии, чтобы помогать другим (свобода 2).
- Свобода передавать копии своих измененных версий другим (свобода 3). Этим вы можете дать всему сообществу возможность получать выгоду от ваших изменений. Это предполагает доступ к исходному тексту.
Подробнее о GNU
GNU — операционная система типа Unix. Это значит, что она представляет собой собрание множества программ: приложений, библиотек, средств разработки и даже игр. Многие программы в GNU выпускаются под эгидой проекта GNU; их мы называем пакетами GNU.
Название “GNU” — это рекурсивное сокращение фразы “ GNU’s Not Unix! ” (“GNU — не Unix!”). “GNU” произносится как гну, одним слогом, как глагол “гнуть” в первом лице, единственном числе настоящего времени изъявительного наклонения.
Работы над собственным ядром GNU, GNU Hurd, начались в 1990 году (до начала работ над Linux). Добровольцы продолжают развивать Hurd, поскольку это представляет технический интерес.
Пользуясь великими благами от чужих изобретений, мы должны радоваться случаю служить другим всеми собственными изобретениями, и делать это с охотой и великодушием.
— Бенджамин Франклин
Проект GNU настоятельно призывает сообщество общаться дружелюбно, приветливо и доброжелательно. См. Рекомендации GNU по общению в проекте.
GNU на планете:
Загляни за кулисы техкоманды ФСПО : В этой статье мы заглядываем за кулисы последних работ, выполненных техкомандой ФСПО.
Что делать с несвободной Debian : Личные размышления о моем переезде с Debian на Trisquel и Guix в целях этичности моих собственных вычислений.
Вместе работаем над лицензированием свободных программ : Наш партнер по авторскому праву и лицензированию Крейг Топем работает вместе с разработчиками свободных программ.
Действуйте!
Не могли бы вы помочь GNU с каким-нибудь из этих проектов?
Могли бы вы помочь с сопровождением какого-нибудь пакета GNU? Следующие пакеты нуждаются в сопровождающих:
Кроме того, для следующих пакетов нужны дополнительные разработчики:
Подробности см. на страницах сайтов пакетов.
Linux and gnu project
49
Linux и система GNU
Там действительно есть Linux, и эти люди используют ее, но это только часть системы, которой они пользуются. Linux — это ядро — системная программа, которая выделяет ресурсы машины другим программам, которые вы запускаете. Ядро — важная часть операционной системы, но само по себе оно бесполезно; оно может функционировать только в составе полной операционной системы. Linux обычно применяют в комбинации с операционной системой GNU: вся система представляет собой в основном GNU с добавлением Linux, то есть GNU/Linux. Все так называемые дистрибутивы “Linux” на самом деле являются дистрибутивами GNU/Linux.
Многие пользователи не понимают, в чем разница между ядром, то есть Linux, и целой системой, которую они также называют “Linux”. Неоднозначное употребление названия не способствует пониманию этого. Эти пользователи часто думают, что Линус Торвальдс разработал целую операционную систему в 1991 — году, ему только немного помогли.
Программисты, в сущности, знают, что Linux — это ядро. Но поскольку они нередко слышали, как всю систему тоже называют “Linux”, они часто представляют себе историю, которая оправдала бы наименование всей системы по ядру. Например, многие думают, что как только Линус Торвальдс написал Linux (ядро), его пользователи оглянулись вокруг в поисках других свободных программ, чтобы работать с ним, и обнаружили, что (без какой бы то ни было особой причины) почти все необходимое для построения системы типа Unix уже под рукой.
Цель большинства проектов по созданию свободных программ — разработка определенной программы для определенной задачи. Например, Линус Торвальдс решил написать Linux, ядро типа Unix; Дональд Кнут решил написать TeX, программу верстки текста; Боб Шейфлер решил разработать оконную систему (систему X Window). Естественно измерять вклад такого рода проекта по конкретным программам, которые пришли из этого проекта.
Если бы мы попытались измерить таким образом вклад проекта GNU, к какому бы выводу мы пришли? Один из поставщиков компакт-дисков установил, что в их “дистрибутиве Linux” программы GNU — самый крупный единый массив — около 28% всего исходного текста; в их состав входят некоторые существенные компоненты, без которых системы не могло бы быть; собственно Linux составляет около 3%. (В 2008 году пропорции сходны: в разделе “main” gNewSense Linux составляет — 1,5%, а GNU — 15%.) Итак, если бы вы собирались выбрать название системы на основании того, кто написал программы в этой системе, наиболее подходящим выбором одного компонента было бы “GNU”.
Но на вопрос можно взглянуть глубже. Проект GNU не был и не является проектом по разработке определенных пакетов программ. Это не был проект по разработке компилятора C, хотя мы сделали это. Это не был проект по разработке текстового редактора, хотя мы разработали его. Проект GNU постановил разработать полную свободную операционную систему типа Unix: GNU.
Многие сделали серьезный вклад в свободные программы этой системы, и все они заслуживают признательности за свои программы. Но причина, по которой это является целостной системой — а не только набором полезных программ — то, что проект GNU постановил сделать это такой системой. Мы составили список программ, необходимых, чтобы свободная система была полной, и систематически отыскивали, писали или отыскивали людей для написания всего, что стояло в списке. Мы написали существенные, но не впечатляющие[1] компоненты, потому что без них нельзя получить систему. Некоторые из компонентов нашей системы (средства программирования) стали популярны сами по себе среди программистов, но мы написали много компонентов, не являющихся средствами разработки(2). Мы даже разработали программу для игры в шахматы, GNU Chess, потому что в полной системе игры тоже должны быть.
Заставить их как следует работать вместе не было простой задачей. Некоторые компоненты GNU[3] требовали существенных изменений, чтобы они работать с Linux. Объединение в полную систему в едином дистрибутиве, который работал бы “без подгонки”, было тоже большой работой. Это требовало решения вопросов, связанных с установкой и загрузкой системы — проблема, за которую мы тогда еще не ухватились, потому что у нас дело до этого пока не дошло. Таким образом, люди, разработавшие различные дистрибутивы системы, проделали большую и важную работу. Но это было работой, которую, по самой природе вещей, обязательно кто-нибудь выполнил бы.
Проект GNU поддерживает системы GNU/Linux так же хорошо, как саму систему GNU. ФСПО финансировал доработку расширений библиотеки C GNU, связанных с Linux, так что теперь они хорошо пригнаны друг к другу, и самые новые системы GNU/Linux используют текущий выпуск библиотеки без изменений. ФСПО финансировал также на ранней стадии разработку Debian GNU/Linux.
Пользуетесь вы GNU/Linux или нет, пожалуйста, не вводите общественность в заблуждение двусмысленным употреблением названия “Linux”. Linux — это ядро, одна из необходимых составляющих системы. Система в целом — это в основном система GNU с добавлением Linux. Когда вы говорите об этом сочетании, пожалуйста, называйте его “GNU/Linux”.
Если вы хотите сослаться для справок на “GNU/Linux”, эта страница и https://www.gnu.org/gnu/the-gnu-project.html — хорошие примеры. Если вы упоминаете Linux (ядро) и хотите добавить ссылку для справок, http://foldoc.org/foldoc/linux — хороший адрес для этого.
Дополнения
Кроме GNU был еще один проект, который независимо произвел свободную операционную систему типа Unix. Эта система известна как BSD, она была разработана в Калифорнийском университете в Беркли. Она была несвободной в восьмидесятые, но стала свободной в начале девяностых. Любая из свободных операционных систем, существующих сегодня,[4] почти наверное является либо вариантом системы GNU, либо разновидностью системы BSD.
Иногда спрашивают, является ли BSD тоже версией GNU, подобно GNU/Linux. Разработчики BSD сделали свои программы свободными, следуя примеру проекта GNU, и открытые призывы активистов GNU помогли убедить их, но в исходных текстах программ мало общих мест с текстами GNU. Сегодня системы BSD используют некоторые программы GNU, точно так же, как система GNU и ее варианты пользуются некоторыми программами BSD; однако в целом это две различных системы, которые развивались отдельно. Разработчики BSD не добавили ядро в систему GNU, разработав его, так что название типа “GNU/BSD” не подошло бы к ситуации[5].
Примечания
- Эти не впечатляющие, но существенные компоненты включают ассемблер (GAS) и редактор связей (GLD), которые сейчас оба входят в пакет GNU Binutils, GNU tar, и другие.
- Например, Bourne Again SHell (BASH), интерпретатор языка PostScript Ghostscript и библиотека C GNU не являются средствами программирования. Так же, как и GNUCash, GNOME и GNU Chess.
- Например, библиотека C GNU.
- С тех пор, как были написаны эти строки, была разработана почти полностью свободная операционная система, подобная Windows, но с технической точки зрения она совсем не сходна с GNU или Unix, так что на самом деле это к делу не относится. Ядро Solaris по большей части сделали свободным, но если бы вы захотели сделать из этого свободную систему, кроме замены недостающих частей ядра, вам потребовалось бы также обратить ее в GNU или BSD.
- С другой стороны, за годы, прошедшие со времени написания этой статьи, библиотека C GNU была перенесена на несколько версий ядра BSD, что позволило прямо соединять систему GNU с этим ядром. Точно так же, как в случае с GNU/Linux, это действительно варианты GNU и потому называются GNU/kFreeBSD и GNU/kNetBSD, в зависимости от ядра системы. Обычные пользователи типичных настольных компьютеров с трудом могут отличить GNU/Linux от GNU/*BSD.