Рекомендации для свободных дистрибутивов систем (РСДС GNU)
Эти рекомендации предназначены для того, чтобы объяснить, что требуется от дистрибутива устанавливаемой системы (такого, как дистрибутив GNU/Linux), чтобы он мог считаться свободным, и помочь разработчикам дистрибутивов привести свои дистрибутивы в соответствие этим требованиям.
Эти рекомендации не полны. Мы упомянули аспекты, о которых нам сейчас известно, но мы уверены, что есть и другие. Мы будем добавлять их по мере того, как мы будем с ними сталкиваться.
Мы хотели бы поблагодарить проект Fedora за помощь в формулировке этих критериев и разрешение воспользоваться его рекомендациями по лицензированию дистрибутива как основой для этого документа.
Эту страницу поддерживает Лаборатория лицензирования Фонда свободного программного обеспечения. Вы можете поддержать нашу работу пожертвованием в ФСПО. Есть вопрос, на который здесь не ответили? Обратитесь к нашим материалам по лицензированию или свяжитесь с лабораторией по адресу licensing@fsf.org.
Полнота дистрибутива
В нашем списке дистрибутивов показано, какие системы вы можете установить на компьютере. Таким образом, список включает только дистрибутивы, которые полны сами по себе и готовы к применению. Если дистрибутив неполон — если он требует дополнительной доработки или предполагается установка других программ — то он в этом списке не перечисляется, даже если это свободные программы.
В частности, свободный дистрибутив должен быть самостоятелен. Это значит, что вы должны быть в состоянии разрабатывать и собирать систему средствами, которые вам предоставляет система. Как следствие, свободный дистрибутив системы не может включать свободные программы, которые могут быть оттранслированы только с использованием несвободных программ.
Мы делаем исключение из этого требования для дистрибутивов небольших систем, которые проектируются для устройств с ограниченными ресурсами, например беспроводных маршрутизаторов. Для свободных дистрибутивов небольших систем не обязательно быть самостоятельными или полными, потому что вести разработку на такой системе непрактично; но должна быть возможность разрабатывать и собирать ее на установленном свободном дистрибутиве полной системы из нашего списка дистрибутивов, возможно, с помощью свободных средств, распространяемых вместе с самим дистрибутивом небольшой системы.
Правила лицензирования
В “практически значимую информацию” входят программы, документация, шрифты и другие данные, которые имеют прямое функциональное приложение. В нее не входят художественные работы, имеющие эстетическое (а не функциональное) назначение, а также выражения мнений или суждений.
Вся практически значимая информация в свободном дистрибутиве должна быть доступна в исходной форме. (“Исходная форма” означает форму информации, предпочтительную для внесения в нее изменений.)
Информация и ее исходная форма должны предоставляться под соответствующей лицензией свободных программ. Мы оцениваем конкретные лицензии и заносим наши заключения в наш список лицензий, где отдельно перечислены лицензии, подходящие для программ, документации, шрифтов и других полезных работ. Если такая работа выпускается под дизъюнкцией лицензий, она свободна, если свободна по меньшей мере одна из ее лицензий; разработчики системы должны следовать условиям соответствующих лицензий свободных программ, когда распространяют или модифицируют эту работу.
Дистрибутив свободной системы не должен ни подталкивать пользователей к получению какой бы то ни было несвободной практически значимой информации, ни поощрять их к этому. В системе не должно быть ни “разделов” для несвободных программ, ни конкретных указаний по установке несвободных программ. Также дистрибутив не должен ссылаться на каталоги программ третьих сторон, у которых нет намерения размещать только свободные программы; даже если сегодня в них есть только свободные программы, завтра это может измениться. Программы в системе не должны предлагать установку несвободных дополнений, документации и так далее.
Например, дистрибутив свободной системы не может содержать браузеры, которые реализуют EME — функции браузера, спроектированные для загрузки модулей цифрового управления ограничениями.
Некоторые несвободные дистрибутивы предлагают возможность исключения несовободных пакетов. Это большой шаг вперед, поскольку становится гораздо легче избегать их, при условии что возможность реализована в дистрибутиве правильно. Однако несвободные пакеты, тем не менее, включаются в дистрибутив. Более того, мы знаем, что большинство пользователей не очень привержены свободе программ и не будут отвергать пакеты, которые кажутся удобными, только потому, что они несвободны. Говоря практически, перечислять эти дистрибутивы как свободные означало бы по большей части вести людей к установке несвободных программ. По этим причинам мы не включаем их в этот список.
Сейчас в большинстве свободных дистрибутивов систем очень много файлов; для большинства коллективов практически невозможно переучесть их все. В прошлом некоторые несвободные файлы случайно были включены в дистрибутивы свободных систем. Мы не вычеркиваем дистрибутив из списка на этом основании; вместо этого мы только просим, чтобы разработчики дистрибутива впредь добросовестно прилагали усилия к тому, чтобы не включались новые несвободные программы, и намеревались удалять такие программы, если они впоследствии будут обнаружены.
Определенные случаи лицензирования заслуживают особого внимания людей, создающих или обсуждающих свободные дистрибутивы программ; они обсуждаются ниже.
Несвободные программы в устройствах
Некоторые приложения и драйверы требуют программ для устройств, чтобы функционировать, и бывает, что такие программы поставляются только в виде машинного кода под несвободной лицензией. Мы называем такие программы для устройств “кляксами”. В большинстве систем GNU/Linux они обычно прилагаются к некоторым драйверам в Linux (ядре). Такие программы для устройств из свободных дистрибутивов систем нужно удалять.
Кляксы могут принимать разные формы. Иногда они поставляются в отдельных файлах. Иногда они вкрапляются в сам исходный текст драйвера — например, она может быть закодирована как большой массив чисел. Но независимо от того, как она закодирована, любую несвободную программу нужно из свободной системы удалять.
(Пояснение: не любой массив чисел в драйвере представляет собой программу для устройства. Важно понимать назначение данных, чтобы решить, допустимы ли они в свободной системе.)
Брайан Брейзил, Джефф Моу и Александр Олива разработали ряд программ для удаления клякс из обычной версии Linux. Они могут быть вам полезны, если вы хотите разрабатывать собственный свободный дистрибутив GNU/Linux — хотя мы рекомендуем присоединиться к разработке существующего свободного дистрибутива, а не дробить усилия, создавая новый. Полный исходный текст свободной от клякс версии Linux тоже доступен; вы можете узнать об этом подробнее из “Каталога свободных программ”.
Нефункциональные данные
Данные нефункционального назначения, которые не выполняют практических задач, являются скорее украшением программ системы, чем их частью. Таким образом, мы не настаиваем на критериях свободы лицензии для нефункциональных данных. Их можно включать в свободный дистрибутив системы постольку, поскольку их лицензия позволяет вам копировать и распространять их как в коммерческих, так и в некоммерческих целях. Например, есть базовые программы для игр, которые выпущены под GNU GPL и которые сопровождает игровая информация — карта вымышленного мира, графика для игры и так далее,— выпущенная под такой лицензией на буквальное распространение. Такого рода данные могут быть частью свободного дистрибутива системы, даже если их лицензия не является свободной, потому что это нефункциональные данные.
Товарные знаки
С некоторыми программами ассоциируются товарные знаки. Например, название программы может быть товарным знаком или программа может демонстрировать товарный знак-эмблему. Часто применение этих знаков некоторым образом контролируется; в частности, разработчиков обычно просят удалить ссылки на товарный знак из программы, когда они вносят в нее изменения.
В предельных случаях эти ограничения могут по существу сделать программу несвободной. Просить вас удалить товарный знак из модифицированной программы будет нечестно, если этот товарный знак рассеян повсюду в первоначальном исходном тексте. Однако пока практические требования не чрезмерны, свободные дистрибутивы могут включать эти программы, как с товарными знаками, так и без них.
Подобным образом и сам дистрибутив может содержать известные товарные знаки. Не имеет значения, требуется ли удалять эти знаки при модификации, до тех пор, пока их можно легко удалить без потери функциональности.
Однако недопустимо применять товарные знаки для ограничения буквального копирования и перераспространения всего дистрибутива или любой его части.
Документация
Вся документация в свободном дистрибутиве системы должна выпускаться под соответствующей свободной лицензией. Кроме того, в ней должно уделяться внимание тому, чтобы не рекомендовались несвободные программы.
В общем случае допустимо то, что помогает людям, уже применяющим несвободные программы, лучше применять совместно с ними свободные программы, но то, что поощряет пользователей свободных программ устанавливать несвободные программы, неприемлемо.
Например, в свободном дистрибутиве системы может быть документация по установке системы двойной загрузки. Эта документация может объяснять, как получить доступ к файловым системам несвободной операционной системы, импортировать из нее настройки и так далее. Это помогло бы людям установить свободный дистрибутив системы на машину, где уже есть такие несвободные программы, а это хорошо.
Недопустимо для документации было бы давать людям инструкции, как установить несвободную программу в системе, или упоминать удобства, которые им это могло бы дать.
В предельно допустимом случае ясный и серьезный призыв не применять несвободную программу перемещает его от границы в сторону допустимого.
Патенты
Для разработчиков и поставщиков свободных программ фактически невозможно узнать, не нарушает ли данная программа какие-либо патенты: их слишком много, они варьируются от страны к стране, они часто нарочно сформулированы так, чтобы было трудно понять, к чему они относятся, а к чему — нет, и нелегко сказать, какие из них действительны. Поэтому мы в общем случае не просим, чтобы свободные дистрибутивы систем исключали программы в связи с возможной угрозой со стороны патентов. С другой стороны, мы также и не возражаем против того, чтобы поставщик исключал некоторые программы, чтобы избежать патентного риска.
Отсутствие вредоносных программ
В дистрибутиве не должно быть цифрового управления ограничениями, черных ходов и программ-шпионов.
Намерение исправлять ошибки
У большинства коллективов разработчиков дистрибутивов нет средств, чтобы целиком и полностью проверить свой дистрибутив на соответствие всем этим критериям. И у нас — тоже. Так что мы допускаем, что в дистрибутивах время от времени будут появляться ошибки: проскользнувшие несвободные программы и т.д. Мы не отвергаем дистрибутив из-за ошибок. Наше требование — чтобы у разработчиков дистрибутива было твердое намерение немедленно исправлять любые ошибки, о которых им сообщают.
Поддержка
Чтобы попасть в список, дистрибутив должен активно поддерживаться; он должен предоставить проекту GNU свой собственный конкретный канал для сообщения о проблемах с несвободными программами, о которых мы узнаем. Он также должен информировать нас, когда будут решены проблемы, о которых мы сообщили.
Путаница в названиях
Мы не заносим в список дистрибутивы, название которых легко спутать с названием несвободного дистрибутива. Например, если “Foobar любителей” — свободный дистрибутив, а “Foobar” — несвободный дистрибутив, мы не внесем в список “Foobar для любителей”, поскольку мы предполагаем, что различие между этими двумя дистрибутивами будет потеряно в процессе передачи сообщения.
В частности, основа названия свободного дистрибутива (в данном примере “Foobar”) не должно быть частью названия никакого несвободного дистрибутива.
У некоторых возникала мысль добавить название “GNU” к названию свободного дистрибутива, чтобы отличать его от несвободного. Здесь есть две проблемы. Во-первых, два названия не были бы достаточно различны, поскольку слово-основа в обоих названиях была бы одна и та же.
Во-вторых, это распространяло бы неверное понимание того, что означает “GNU”. GNU — это операционная система, типично применяемая с Linux в качестве ядра, и по существу все так называемые дистрибутивы “Linux” в действительности являются дистрибутивами GNU/Linux. В рассматриваемом случае обе системы являются GNU/Linux, если бы “GNU” в названии одного из них опускалось, это вводило бы в заблуждение.
Связь распространителей с разработчиками
Для разработчиков дистрибутива или кого-нибудь еще, кто присылает важный отчет об ошибке в одном из пакетов GNU: если лицо, ответственное за поддержку, оставляет отчет без внимания в течение достаточно длительного времени (пожалуйста, подождите хотя бы две недели), вы можете поднять вопрос на более высокий уровень, написав по адресу <maintainers@gnu.org>. В особенности это имеет смысл, если активности ответственного за поддержку пакета лица давно не наблюдалось.
Пожалуйста, рассказывайте о свободных программах пользователям
Чтобы установить продолжительную свободу, недостаточно просто давать свободу пользователям. Необходимо также приучать их к пониманию того, что означает свобода, и к потребности в ней. Итак, мы настоятельно рекомендуем, чтобы свободные дистрибутивы объявляли заметным образом на экране, перед входом в систему и по умолчанию после входа, заметное сообщение о свободе, такое, как “Эта система состоит из свободных программ, уважающих свободу”, или какое-нибудь сопоставимое, и демонстрировали ссылку или пиктограмму, указывающую на gnu.org или gnu.org/philosophy для более подробных сведений о вопросе.
Пожалуйста, не повторяйте пропаганду и путаницу
Пожалуйста, ознакомьтесь с нашим списком слов, которых следует избегать: они либо необъективны и вводят в заблуждение; старайтесь избегать их в своих публичных заявлениях и дискуссиях.
Окончательные замечания
Мы поддерживаем перечень свободных дистрибутивов систем GNU, о которых нам известно. Если вы знаете о свободном дистрибутиве, которого там нет, пожалуйста, попросите разработчиков прислать нам по адресу <webmasters@gnu.org> сообщение с описанием их системы и ссылкой на их сайт.
Мы также перечисляем свободные дистрибутивы систем, отличных от GNU, на тех же этических основаниях.
Если у вас есть вопросы или замечания по самим этим рекомендациям, присылайте их по адресу <licensing@fsf.org>. Мы надеемся, что они помогут всем лучше понять вопросы, важные для свободных дистрибутивов систем, и мы хотим оказывать поддержку большему их числу в будущем.