Clearnet | I2P

Манифест GNU

GNU, что означает “Gnu's Not Unix” (GNU — это не Unix),— название полной программной системы, совместимой с Unix, которую я пишу так, что я могу раздавать её свободной  всем, кто может её использовать. Мне помогает несколько других добровольцев. Мы очень нуждаемся в рабочих руках, деньгах, программах и оборудовании.

На настоящий момент у нас есть Emacs — текстовый редактор с языком Лисп для записи команд редактора, отладчик уровня исходных текстов, совместимый с Yacc генератор синтаксических анализаторов, редактор связей и около 35 утилит. Оболочка (командный интерпретатор) почти завершена. Новый переносимый оптимизирующий компилятор Си скомпилировал самого себя и может быть выпущен в этом году. Начальное ядро существует, но для замены Unix недостаёт ещё очень многих возможностей. Когда ядро и компилятор будут закончены, можно будет поставлять систему GNU, пригодную для разработки программ. Для вёрстки текста мы будем использовать TeX, но ведётся работа над nroff. Мы также будем пользоваться свободной переносимой системой X Window. Затем мы добавим переносимый Общий Лисп, игру “Империя”, табличный процессор и сотни других вещей плюс документацию в электронном виде. Мы надеемся выдать — со временем — всё то полезное, что обычно поставляется с системой семейства Unix, и даже больше.

GNU сможет выполнять программы Unix, но не будет идентична Unix. Мы внесём все улучшения, какие только будут уместны, опираясь на наш опыт работы с другими операционными системами. В частности, мы планируем ввести длинные имена файлов, версии файлов, стойкую к сбоям файловую систему, поддержку терминально-независимых дисплеев, возможно, автоматическое завершение имён файлов, и, возможно, когда-нибудь — оконную систему на базе Лисп, в которой несколько программ на Лисп и обычных программ Unix могут разделять один экран. В качестве системных языков программирования будут доступны как Си, так и Лисп. Для сетевых соединений мы попытаемся поддерживать протоколы UUCP, Internet, а также Chaosnet Массачусетского технологического института.

GNU изначально ориентирована на ЭВМ класса 68000/16000 с виртуальной памятью, поскольку на них проще всего заставить её работать. Дополнительная работа для запуска её на меньших ЭВМ останется на долю того, кто захочет применять её на них.

Во избежание ужасной путаницы, пожалуйста, произносите g в слове “GNU”, когда оно обозначает этот проект.

Я принимаю во внимание, что золотое правило требует, что, если мне нравится программа, то я должен обмениваться ею с другими людьми, которым она нравится. Программоторговцы хотят разделить пользователей и властвовать над ними, вынуждая у каждого пользователя согласие не обмениваться с другими. Я отказываюсь нарушать таким образом солидарность с другими пользователями. Я не могу без стыда подписать лицензионное соглашение программы или договор о неразглашении. Я годами работал в Лаборатории искусственного интеллекта, чтобы сдержать такие тенденции и другое недоброжелательство, но в конце концов они зашли слишком далеко: я не смог оставаться в институте, где такое делали за меня против моей воли.

Итак, чтобы иметь возможность продолжать пользоваться компьютерами без позора, я решил сложить вместе достаточную массу свободных программ с тем, чтобы я смог обойтись без любой несвободной программы. Я уволился из лаборатории, чтобы не оставить институту никакого законного повода удержать меня от раздачи GNU.

Unix для меня не идеал, но она не так уж плоха. В своих основах Unix представляется здравой, и я думаю, я могу восполнить то, чего недостаёт Unix, не испортив этих основ. А система, совместимая с Unix, будет удобна в освоении для многих.

GNU — не общественное достояние. Всем будет позволено править и распространять GNU, но никакому поставщику не позволят ограничить её дальнейшее распространение. Другими словами, несвободные модификации будут запрещены. Я хочу гарантировать, что все версии GNU останутся свободными.

Я нашёл много программистов, которые сочувствуют GNU и хотят помочь.

Многие программисты обеспокоены коммерциализацией системных программ. Она, может быть, и позволяет им заработать больше денег, но заставляет ощущать себя в отношении других программистов противниками, а не товарищами. Краеугольный камень дружбы между программистами — обмен программами; типичные нынешние рыночные отношения по существу запрещают программистам относиться к другим, как к друзьям. Покупатель программы должен выбирать между дружбой и подчинением закону. Естественно, многие решают, что дружба важнее. Но тех, кто верит в закон, часто не устраивает ни то, ни другое. Они становятся циничными и начинают думать, что программирование — это только способ получить деньги.

Разрабатывая и применяя GNU вместо несвободных программ, мы можем быть радушны ко всем и соблюдать закон. К тому же GNU служит примером для вдохновения и знаменем, собирающим других, чтобы присоединиться к нашему обмену. Это может дать нам ощущение гармонии, невозможное, когда мы используем программы, которые не свободны. Примерно для половины всех программистов, которых я спрашивал, это важное слагаемое счастья, которое деньги заменить не могут.

Я призываю производителей компьютеров приносить в дар машины и деньги. Я призываю частных лиц приносить в дар программы и труд.

Одно из последствий, которых вы можете ожидать от принесения в дар ЭВМ — что GNU скоро начнёт на них работать. ЭВМ должны быть полностью укомплектованными, готовыми для работы системами, пригодными для работы в жилых помещениях и не нуждающимися в хитроумных системах охлаждения или питания.

Я нашёл очень много программистов, рвущихся работать по совместительству для GNU. Для большинства проектов такую частичную занятость очень трудно координировать; независимо написанные части не стали бы работать вместе. Но конкретно для задачи замены Unix этой проблемы нет. Полная система Unix содержит сотни утилит, каждая из которых документируется отдельно. Большинство спецификаций взаимодействия определяется совместимостью с Unix. Если каждый участник сможет написать совместимую замену своей утилиты Unix и добьётся, чтобы она должным образом работала на месте оригинала в системе Unix, тогда эти утилиты заработают правильно, когда их сложат вместе. Даже допуская по закону Мерфи возникновение небольшого числа неожиданных проблем, собрать эти компоненты будет осуществимой задачей. (Ядро потребует более тесного общения. Над ним будет работать небольшая сплочённая группа.)

Если я буду получать денежные пожертвования, я смогу нанять немного людей на полный рабочий день или по совместительству. Заработок не будет высок по понятиям программистов, но я ищу людей, для которых создание атмосферы товарищества так же важно, как получение денег. Я рассматриваю это как способ дать возможность самоотверженным людям посвятить все свои силы работе над GNU, избавив их от нужды зарабатывать на жизнь другим способом.

Как только GNU будет написана, каждый сможет получить хорошее системное программное обеспечение так же свободно, как воздух.

Это значит гораздо больше, чем просто сохранение для каждого стоимости лицензии Unix. Это означает, что будет покончено с расточительнейшим дублированием труда системных программистов. Вместо этого их труд может пойти на развитие уже существующего.

Полные исходные тексты системы будут доступны каждому. В результате пользователь, которому потребуются изменения в ней, всегда сможет внести их сам или подрядить любого доступного программиста или компанию внести их для него. Пользователям не придётся больше ждать милостей от одного программиста или компании, владеющей исходными текстами и прерогативой вносить изменения.

Учебные заведения смогут предоставить гораздо более богатую образовательную среду, поощряя всех студентов изучать и улучшать систему. В Гарвардской вычислительной лаборатории было правило, что в системе нельзя устанавливать никакую программу, если её исходные тексты не выставлены на общее обозрение. Для этого им приходилось отказываться от установки определённых программ. Я был в значительной мере вдохновлён этим.

Наконец, сложности разбирательств по поводу того, кто владеет системными программами и что ему дозволено, а что не дозволено делать с ними, будут сняты.

Средства заставить людей платить за пользование программой, включая лицензирование копий, всегда обходятся обществу весьма дорого из-за громоздких механизмов, необходимых для выяснения, сколько (то есть, за какие программы) кто должен платить. И только полицейское государство может принудить каждого подчиняться им. Представьте себе космическую станцию, где воздух приходится вырабатывать по высокой цене. Может быть, взимание платы за каждый литр со всех, кто дышит, справедливо, однако носить противогаз со счётчиком весь день и всю ночь невыносимо, если даже каждый может оплатить счёт за воздух. А телекамеры повсюду, чтобы проследить за тем, не снимаете ли вы противогаз, возмутительны. Лучше содержать воздушный завод поголовным налогом и сбросить противогазы.

Копирование всех частей программы так же естественно для программиста, как дыхание, и так же продуктивно. Оно должно быть так же свободно.

“Никто не будет применять свободную систему, потому что они не смогут рассчитывать ни на какую поддержку”
“Приходится брать плату за программу, чтобы оплатить поддержку”

Раз люди готовы скорее платить за GNU вместе с обслуживанием, чем взять GNU свободной без обслуживания, предприятие, предоставляющее только обслуживание людям, получившим GNU свободно, должно быть прибыльным.

Нужно различать поддержку в виде настоящего программирования от простой помощи в работе. Первую нельзя надеяться получить от производителя программ. Если ваша проблема не касается достаточного числа людей, производитель попросит вас отвязаться.

Если для вашего дела требуется уверенность в поддержке, единственный способ — иметь все необходимые исходные тексты и средства разработки. Тогда вы сможете нанять любое незанятое лицо и устранить проблему; вы не зависите от кого-то одного. Цены на исходные тексты Unix выносят это за рамки обсуждения для большинства предприятий. С GNU это станет легко. Тут всё ещё возможно, что не найдётся незанятого компетентного лица, но порядок распространения тут ни при чём. GNU не решает всех мировых проблем, только некоторые из них.

В то же время пользователи, ничего не знающие о компьютерах, нуждаются в помощи: выполнении за них того, что они сами легко бы сделали, но не знают, как.

Такие услуги могли бы предоставлять компании, торгующие только услугами по ремонту и помощи. Если верно, что пользователи готовы потратить деньги, чтобы получить продукт с поддержкой, то они точно так же захотят купить услуги, получив продукт свободным. Компании по обслуживанию будут конкурировать по качеству и цене. Пользователи не будут привязаны к какой-нибудь одной. В то же время те из нас, кому не нужны эти услуги, смогут пользоваться программой без оплаты услуг.

“Вы не станете популярны без рекламы, а для этого придётся взимать плату за программу”
“Нет смысла рекламировать программу, которую можно получить свободно”

Есть различные формы бесплатного или очень дешёвого получения известности, которые можно применить для оповещения множества пользователей компьютеров о чём-нибудь вроде GNU. Но может быть, рекламой можно получить больше пользователей микрокомпьютеров. Если это действительно так, то предприятие, рекламирующее услуги по копированию и пересылке GNU за плату, должно быть достаточно жизнеспособным, чтобы оплатить рекламу и прочее. Таким образом, за рекламу платят только те, кому она полезна.

С другой стороны, если многие получат GNU от своих знакомых, и такие компании не будут иметь успеха, это покажет, что на самом деле реклама не нужна для распространения GNU. Почему это приверженцы свободного рынка не хотят позволить решить это свободному рынку?

“Моей компании нужна фирменная операционная система, чтобы быть впереди конкурентов”

GNU удалит программы операционной системы из царства конкуренции. Вы не сможете быть впереди всех в этой области, но и ваши конкуренты не смогут обогнать вас. Вы будете конкурировать с ними в других областях, получая взаимную выгоду в этой. Если вы торгуете операционной системой, GNU вам не понравится, тут вам не повезло. Если вы занимаетесь чем-то другим, GNU не даст вас втянуть в дорогостоящее дело торговли операционными системами.

Я хотел бы увидеть, как разработку GNU поддерживают дары многих производителей и пользователей, снижая стоимость для каждого.

“Разве программисты не заслуживают награды за творчество?”

Если что-то и заслуживает награды, то это заслуги перед обществом. Творчество может быть заслугой перед обществом, но только в той степени, в какой общество вольно использовать результаты. Если программисты заслуживают награды за создание передовых программ, то по этой же причине они заслуживают наказания, если они ограничивают пользование этими программами.

“Не должна ли у программиста быть возможность просить вознаграждения за своё творчество?”

Нет ничего дурного ни в желании получить плату за работу, ни в стремлении максимизировать свои доходы до тех пор, пока применяемые средства не разрушительны. Но средства, обычные в отрасли программного обеспечения сегодня, основаны на разрушении.

Вытягивание денег из пользователей программы ограничениями на её применение разрушительно, потому что ограничения снижают количество способов применения этой программы. Это снижает количество богатства, которое человечество извлекает из программы. Когда на ограничения идут умышленно, вредные последствия — это умышленное разрушение.

Причина, по которой порядочный гражданин не применяет такие разрушительные средства для обогащения,— то, что если бы так поступал каждый, мы все стали бы беднее от взаимного разрушения. Это кантовская этика, или золотое правило. Поскольку мне не нравятся последствия, возникающие, если все скрывают информацию, мне приходится считать, что поступать так дурно. В частности, желание быть вознаграждённым за своё творчество не оправдывает лишение мира в целом всего или части этого творчества.

“Не будут ли программисты голодать?”

Я мог бы ответить, что никого не заставляют быть программистом. Большинство из нас не могут получить сколько-нибудь денег, стоя на улице и делая жалобное лицо. Но это не означает, что мы приговорены проводить нашу жизнь, прося подаяния и голодая. Мы делаем что-нибудь другое.

Но это плохой ответ, потому что он принимает неявное предположение спрашивающего: что без собственности на программы программисты, возможно, не получат ни гроша. Предполагается, всё или ничего.

Настоящая причина, по которой программисты не будут голодать — то, что они всё равно смогут получать плату за программирование, только не так много, как сейчас.

Ограничение копирования — не единственное, на чём могут быть основаны предприятия по производству программ. На это опираются чаще всего, потому что это приносит больше всего денег. Если это было бы запрещено или отвергнуто клиентом, программное предпринимательство перешло бы на другие принципы организации, которые сейчас привлекаются реже. Всегда есть многочисленные способы организации предприятий любого рода.

Возможно, программирование на новой основе не будет так доходно, как сейчас. Но это не аргумент против замены. Не считается несправедливостью, что продавцы получают зарплату, какую они сейчас получают. Если бы программисты получали столько же, это тоже не было бы несправедливостью. (На практике они получали бы всё-таки значительно больше этого.)

“Разве люди не имеют права контролировать, как используется их творчество?”

“Контроль использования собственных идей” в действительности представляет собой контроль над жизнью людей; и обычно его используют, чтобы затруднить им жизнь.

Те, кто тщательно изучил вопрос о правах на интеллектуальную собственность (как, например, юристы), говорят, что нет никаких естественных прав на интеллектуальную собственность. Те виды так называемых прав на интеллектуальную собственность, которые признаются государством, созданы особыми правовыми актами для особых целей.

Например, патентная система была учреждена, чтобы поощрять изобретателей к обнародованию деталей своих изобретений. Её назначением было помогать обществу, а не изобретателям. Тогда срок действия патента, 17 лет, был мал по сравнению с темпом прогресса. Поскольку патенты имеют значение только между производителями, от которых заключение лицензионного договора требует гораздо меньших средств и усилий, чем налаживание производства, то патенты часто не наносят много вреда. Они не обременяют большинство частных лиц, пользующихся патентованными продуктами.

Идея авторских прав не существовала в древности, когда авторы часто без ограничения копировали других авторов в нехудожественных работах. Эта практика была полезна, и только так работы многих авторов сохранились хотя бы частично. Система авторских прав создана специально в целях поощрения авторства. В отрасли, для которой она была разработана, книгопечатания, где копировать было целесообразно только на печатном станке, вреда от неё было не много, и она не обременяла большинство лиц, читавших книги.

Все права на интеллектуальную собственность — это только дозволения, данные обществом, потому что считалось, верно или неверно, что общество в целом выиграет от этого. Но в каждом конкретном случае мы должны спросить: действительно ли мы выигрываем, давая такое дозволение? Какого рода действия мы дозволяем?

Положение с программами сегодня сильно отличается от книгопечатания сто лет назад. Тот факт, что программу проще всего копировать от соседа к соседу, тот факт, что у программы есть отличные друг от друга исходный текст и выполняемый объектный код, тот факт, что программу применяют, а не читают и наслаждаются ею,— всё это, соединяясь, создаёт положение, в котором личность, требующая соблюдения авторских прав, вредит обществу в целом и материально, и морально; в котором личность не должна этого делать независимо от того, позволяет ли это закон.

“Конкуренция ведёт к прогрессу”

Характерный пример конкуренции — бег: награждая победителя, мы поощряем каждого бегать быстрее. Когда капитализм так и работает, он делает доброе дело; но его защитники ошибаются, полагая, что он всегда так работает. Если бегуны забывают, за что даётся награда, и стремятся к победе любыми средствами, они могут найти другие стратегии — например, нападение на других бегунов. Если бег перейдёт в кулачный бой, они все придут поздно.

Несвободные и секретные программы нравственно эквивалентны дерущимся бегунам. Как ни печально, единственный наш судья, кажется, не против драк; он только сдерживает их (“На каждые десять метров пробега только один удар”). На самом деле он должен разнять их и наказать бегунов за одну только попытку затеять драку.

“Разве без денежного стимула все не прекратят программировать?”

На самом деле многие будут программировать абсолютно безо всякого денежного стимула. Программирование непреодолимо влечёт некоторых людей, обычно — тех, кому это удаётся лучше всех. Нет недостатка в профессиональных музыкантах, которые продолжают заниматься этим, даже когда у них нет надежды заработать этим на жизнь.

Но в действительности, хотя этот вопрос и часто задают, он не соответствует положению дел. Платить программистам не перестанут, просто плата станет меньше. Так что правильный вопрос — “будет ли кто-нибудь программировать при снижении денежного стимула?” По моему опыту, будут.

Более чем десять лет многие из лучших в мире программистов трудились в Лаборатории искусственного интеллекта за гораздо меньшие деньги, чем они могли бы получать где-нибудь в другом месте. У них было много разного рода неденежных вознаграждений: слава и признание, например. Кроме того, творчество — это удовольствие и награда само по себе.

Затем большинство из них ушло, когда представился случай делать ту же интересную работу и получать много денег.

Факты говорят, что люди программируют не ради богатства, но если дать возможность при этом заработать много денег, они привыкнут ожидать и требовать этого. Низкооплачивающие организации проигрывают высокооплачивающим, но они могли бы быть на том же уровне, если бы высокооплачивающие были запрещены.

“Мы крайне нуждаемся в программистах; если они требуют, чтобы мы прекратили помогать ближнему своему, мы должны повиноваться”

Никогда не бывает такой крайней нужды, чтобы приходилось повиноваться подобного рода требованиям. Помните: “Лучше миллионы потратить на оборону, чем выплатить хоть один цент контрибуции!”

“Должны же программисты чем-то жить!”

На первый взгляд, это верно. Однако, есть множество способов, которыми программисты могли бы заработать на жизнь без продажи права пользоваться программой. Сейчас этот способ обычен, потому что он приносит программистам и предпринимателям больше всего денег, а не потому, что это — единственный способ заработать на жизнь. Если вы захотите, то легко найдёте другие пути. Вот несколько примеров.

Производитель, выпускающий новый компьютер, заплатит за перенос операционной системы на новую аппаратуру.

Предприятие, предоставляющее услуги по обучению, помощи и поддержке, могло бы также нанять программистов.

Люди с новыми идеями могли бы поставлять бесплатные программы, принимая дары от довольных пользователей или продавая услуги по помощи. Я встречал людей, которые уже успешно работают так.

Пользователи со сходными нуждами могут образовывать союзы пользователей и платить взносы. Союз заключал бы с программистскими компаниями договора на выпуск программ, которые члены союза хотели бы получить.

Все виды разработок можно финансировать программными налогами:

Допустим, каждый, кто покупает компьютер, должен платить N процентов стоимости как программный налог. Правительство передаёт его агентству вроде Национального научного фонда для вклада в развитие программ.

Но если покупатель сам совершает пожертвование на развитие программ, он может зачесть это в счёт налога. Он может поддержать любой проект по своему выбору — часто выбирая тот, результаты которого он надеется использовать по завершении. Он может зачесть любое количество пожертвований, вплоть до выплаты налога полностью.

Размер налога мог бы определяться голосованием налогоплательщиков, взвешенным в соответствии с облагаемой суммой.

Последствия:

  • Общество пользователей компьютеров поддерживает разработку программ.
  • Это общество определяет необходимый уровень поддержки.
  • Пользователи, которым небезразлично, на какие проекты потратят их долю, могут выбрать это сами.

В долгосрочной перспективе освобождение программ — шаг к миру без бедности, где никому не придётся выбиваться из сил только для того, чтобы заработать на жизнь. Люди будут вольны посвятить себя таким любимым занятиям, как программирование, уделив десяток обязательных часов в неделю таким необходимым задачам, как законодательство, планирование семьи, починка роботов и противоастероидная безопасность. Там не нужна будет возможность зарабатывать на жизнь программированием.

Мы уже сильно увеличили производительность труда в обществе в целом, но только малая часть полученных ресурсов пошла на досуг трудящихся, потому что производительную деятельность приходится сопровождать большим количеством деятельности непроизводительной. Главные причины этого — бюрократия и повсеместная конкурентная борьба. Свободные программы сильно снизят эти потери в отрасли производства программ. Мы должны это сделать, чтобы умноженная техникой производительность обращалась в сокращение нашей работы.