Рубрика:
Гость номера /
Гость номера
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Ричард Столлман: «У меня есть работа и идеалы, и я полон решимости довести их до логического завершения»
Об истории и идеалах Open Source и движения за свободные программы, о стремлении помочь ближнему и желании писать «правильные программы», о свободе как главной человеческой ценности рассказывает Ричард Мэттью Столлман, американский общественный деятель и хакер, основатель Free Software Foundation и GNU Project
|
Ричард Мэттью Столлман (Richard Matthew Stallman) – известный американский программист и общественный деятель. Является создателем программ GNU Emacs, коллекции компиляторов GNU (GCC) и отладчика GNU (GDB). Также основатель движения свободного ПО, проекта GNU, Фонда свободных программ (FSF) и Лиги за свободу программирования. Является главным автором лицензии GNU General Public License. В качестве хобби любит слушать и сочинять собственную музыку, путешествовать и читать научную фантастику. |
– Расскажите об основных задачах и достижениях движения Open Source!
– Если позволите, я бы хотел начать ответ с освещения двух типичных и уже хронических «синтаксических» проблем движения за свободные программы, с которыми мне приходится иметь дело примерно в 90% интервью и выступлений.
Итак, я не имею никакого отношения к движению Open Source, к которому меня постоянно приписывает пресса, Фонд Free Software Foundation и движение за свободные программы отстаивают несколько иные идеалы. Иначе говоря, наш термин «свободная программа» вовсе не эквивалентен понятию «программа с открытым исходным кодом». Это та реперная точка, откуда в большинстве случаев начинается большая путаница, поэтому будет лучше, если мы сразу проведем водораздел между этими понятиями.
– Чем же отличается «свободная программа» от «программы с открытым исходным кодом»?
– Начнем с последнего. В 1998 году впервые официально было сформировано мировое Open Source-движение (Free and open source software, FOSS), которое, если компактно суммировать их взгляды, имеет две фундаментальные установки:
- Во-первых, они выступают за полный и открытый исходный код распространяемых программ, это видится просто как технологическое удобство для разработчиков – возможность совершенствовать чужие программы, дорабатывать их или расширять под свои нужды, что требует доступа к исходникам и перекомпиляции.
- Во-вторых, они проводят пропагандистскую кампанию «открытого исходного текста», делая акцент на экономических причинах, попросту говоря, продвигая ту
точку зрения, что использование подобных бесплатных программ экономически выгодно по сравнению с проприетарным софтом, который стоит немалых денег.
И первый, и второй пункт – сугубо практические ценности. Open Source – это просто весьма удобная и экономически выгодная методология разработки. Для нашего же движения за свободное ПО главное – идеалы и моральные ценности, где прежде всего ценится уважение свободы пользователей.
Суммирую: свободные программы, за которые мы ратуем, – это общественное движение, где мы отстаиваем единственный этический императив – безусловное уважение свобод пользователей. Если вы читаете прессу, легко видеть, что Open Source волнуют совсем другие проблемы типа успешности или неуспешности отдельных проектов, их популярности и захваченной доле на рынке и т.д., но почти никогда дискуссия не касается категорий справедливости и несправедливости использования софта, проблем распространения подобных программ, защиты прав конечных пользователей.
– Не могли бы вы привести какой-то практический пример, чтобы ощутить эту разницу более весомо?
– Например, некоторые популярные мобильные устройства на базе открытой и бесплатной ОС Android поставляются с исполняемыми файлами программ, сборка которых полностью соответствует выложенному в Сети их исходному тексту, но сами эти устройства не позволяют пользователю устанавливать собственные или модифицированные версии этих файлов.
Как правило, в такой ситуации только одна привилегированная компания обладает властью изменять их. Мы называем такие компании «тиранами», а такая практика паразитирования на почве Open Source хорошо известна как «тивоизация». Можно привести множество подобных примеров из самых разных сфер, но их общая суть, думаю, понятна.
Таким образом, согласно описанной выше философии по нашим стандартам эти файлы не являются свободными программами, несмотря на то что для них доступен их полный исходный текст, как правило, свободно выложенный в Интернете.
Более того, сами эти программы (и их исходники) доступны для вас абсолютно бесплатно, полностью удовлетворяя обоим вышеописанным критериям Open Source. Именно поэтому я настоятельно призываю в своих выступлениях по всему миру: несмотря на общее слово (англ. слово «free» – одновременно и «свободный» и «бесплатный» – прим. И.С.), давайте не будем путать идеалы свободы слова с бесплатным пивом, удачно доставшимся вам на очередной распродаже.
Хочу подчеркнуть, что мы ничего не имеем против движения Open Source, мы приветствуем открытие исходных текстов программ, но при этом повторяем, что это лишь первый важный шаг в правильном направлении, но для надежной защиты интересов пользователей этого мало.
Думаю, сейчас более ясна моя категоричная позиция, почему наше движение не следует ассоциировать с Open Source, запутывая этим суть вопроса и затеняя нашу конечную цель, – мы ставим более глобальные и далеко идущие задачи. Мы также призываем всех разделяющих нашу точку зрения применять термин «свободные программы» вместо более узкого «программы с открытым исходным кодом» для более точной передачи сути наших ценностей.
– Для уточнения ваших ценностей, не могли бы вы привести ваши знаменитые «четыре свободы для свободных программ»?
– С удовольствием, вот они:
- Это свобода запускать программы, как вы пожелаете.
- Свобода изучать и изменять исходный код программы в соответствии со своими нуждами.
- Свобода делать копии программ, чтобы распространять их среди других.
- Свобода распространять и использовать модифицированные программы, как вам пожелается.
Это максимально общие пожелания, более четко они выражены в наших лицензиях, например, в GNU Public License.
В связи с этим я бы также хотел акцентировать главную идею FSF. В мире есть программисты, которые, безусловно, заслуживают вознаграждения за создание прогрессивных или инновационных программ, изменяющих нашу жизнь к лучшему. Но среди программистов также есть и такие, кто заслуживает порицания, если они искусственно ограничивают использование подобных программ.
Я не против бизнеса и конкуренции, я за то, чтобы поощрять дух сотрудничества, но для этого нужно научиться уважать свободу сотрудничества других людей, а не потакать методам, разделяющим и подчиняющим их.
– Насколько эта идеалистическая точка зрения работоспособна в рамках современного бизнеса и капитализма? Иначе говоря, есть ли такой софт или программисты в реальном мире?
– На всякий случай, если вы с другой планеты, на данный момент большая часть мировых интернет-сайтов работает под управлением GNU/Linux, *BSD, MySQL и Apache. Думаю, вам будет трудно доказать людям, стоящим за этими (и другими подобными) проектами, что свободный софт – это просто пустая демагогия и высоконравственная болтовня. Понимаю, идеалы и мотивы этого сообщества часто сложно понять обывателю, ведь компании типа Microsoft хотят заставить нас поверить в то, что помогать ближнему – сродни захвату чужих кораблей.
– Вы упомянули две популярные ошибки в отношении вашего Фонда. Подробно рассмотрев отношения FSF с Open Source и проприетарным софтом, не могли бы мы вернуться ко второй отмеченной вами проблеме?
– Второе хроническое недоразумение связано с Linux. Чтобы быть понятым верно, позвольте немного истории для начала.
Когда еще Linux не существовал в природе, в своем «Манифесте GNU» мы поставили перед собой амбициозную цель – разработать собственную свободную Unix-совместимую систему, которую в итоге назвали GNU. И к тому моменту, когда разработка Linux еще только начиналась, разработка GNU была практически завершена. Здесь хочу отдельно подчеркнуть: GNU не был и не является проектом по разработке набора утилит или пакетов программ, как это думают некоторые, и тем более это не проект по разработке компилятора языка Си (хотя мы сделали и это). Поскольку наш проект изначально поставил перед собой комплексную цель «разработать полную свободную ОС, совместимую с Unix», мы с самого начала составили скрупулезный список программ для того, чтобы наша будущая система была самодостаточной.
Таким образом, работая поступательно, к началу 90-х мы по частям сложили все воедино, реализовав весь запланированный список программ и компонент. Было готово все, кроме ядра. И с этой исходной точки мы приступили к написанию ядра GNU Hurd. К сожалению, его разработка затянулась на больший срок, чем мы ожидали. Тут-то и появилось ядро Linux, которое было использовано в нашей системе.
Возвращаясь к исходному вопросу: именно поэтому все так называемые разновидности Linux на самом деле являются дистрибутивами GNU/Linux. Эти дистрибутивы – лишь модифицированная версия нашей ОС GNU. Для полноты картины следует отметить, что, кроме GNU, был и еще один проект, который независимо произвел свободную операционную систему типа Unix. Эта система известна как BSD, и она, по большому счету, почти никак не зависит от GNU. Таким образом, сегодня родословная любой из свободных операционных систем может быть однозначно отнесена лишь к этим двум предкам – либо это клон системы GNU, либо разновидность BSD.
Собственно, именно поэтому я категорически настаиваю, что любой дистрибутив Linux правильно должен именоваться исключительно как GNU/Linux (и именно в таком порядке). Кроме того, добавлю, что сегодня существует много разных вариантов GNU/Linux, но почти все из них включают несвободные программы – в большинстве случаев их разработчики следуют собственной философии Linux, но не философии свободных программ GNU, которую мы активно продвигаем.
Это два важных уточнения относительно Linux и нашей совместной с ним истории, которые мне приходится часто объяснять людям, считающим порой Linux самобытным, свободным и самодостаточным проектом, взращенным буквально с пустого места.
– Давайте вернемся к сегодняшнему дню: каково положение дел с ядром GNU Hurd, которое было «единственным недостающим элементом» ОС GNU?
– GNU Mach – это GNU-версия микроядра Mach, которое разрабатывает и поддерживает наш проект, это та основа, на базе которой зиждется GNU Hurd. На данный момент Hurd относительно стабильно работает на компьютерах с архитектурой x86, его последний релиз был в конце сентября 2013 года. Кроме того, еще есть Debian GNU/Hurd, который является версией этого ядра от популярного проекта Debian.
Я весьма доволен, что Debian GNU/Hurd существует и развивается, но я не могу заставить людей оставить свои проекты или предпочтения, чтобы форсировать более быстрое развитие именно его. Кстати говоря, в рамках проекта Debian есть и другой необычный проект – GNU/kFreeBSD. Несмотря на мои противоположные личные предпочтения, проекты типа GNU/kFreeBSD привносят разнообразие в этот преимущественно однообразный Windows/Linux-мир.
– И все-таки многих интересует, есть ли у GNU Hurd реальное будущее?
– На данный момент GNU Hurd не является высокоприоритетным для нас, потому что у него есть реальная работающая альтернатива – Linux. Как я уже говорил, мы начали разработку GNU Hurd в далеком 1990 году, потому что проект GNU остро нуждался в завершающем элементе – ядре. Вскоре после этого Linux все-таки смог стать первым свободным ядром, доступным каждому, поэтому он очень удачно перехватил инициативу и заполнил пустую и очень востребованную на тот момент нишу. Я был бы рад, если бы GNU Hurd достиг такого же успеха и признания, и мне приятно, что многие люди упорно продолжают его разработку. Но, вероятно, с учетом реально сложившейся ныне ситуации, для нашей свободы было бы более важно, чтобы из популярного Linux убрали все несвободные участки кода (т.н. блобы), которые, как известно, там есть.
Поэтому на данный момент мы прикладываем основные усилия для разработки проекта Linux Libre. Это модифицированная нами версия ядра Linux, главная цель создания которой – удаление любого программного кода, который поставляется в закрытом виде, имеет явно обфусцированный исходный код либо выпущен под проприетарной лицензией (чаще всего это касается бинарных прошивок некоторого сетевого оборудования и отдельных прошивок аудио- и видеокарт – прим. И.С.). К сожалению, наша версия ядра работает с меньшим количеством устройств, нежели оригинальная, но мы активно работаем над решением этой проблемы.
Пользуясь возможностью, я бы хотел обратиться ко всем разработчикам, разделяющим наши идеалы: мы очень нуждаемся в опытных реверс-инженерах, которые смогли бы помочь нам в решении подобных вызовов.
– Расскажите немного о Фонде FSF: что за люди стоят за всеми этими проектами, каковы тенденции развития вашего движения «за свободные программы»?
– GNU Project в значительной степени работает за счет привлекаемых нашей философией волонтеров. На данный момент в рамках проекта всего около 400 значимых пакетов – самых различных программ и компонент, поддерживаемых и развиваемых GNU Project. Каждый пакет имеет как минимум одного собственного мантэйнера, человека, который сопровождает его, решает все возникающие проблемы и вопросы. В первой исторической половине существования нашего Фонда (с 1987-го по 1996-й) мантэйнерам, сопровождающим наиболее критические пакеты, из собственных средств Free Software Foundation платили деньги за выполненную работу.
Но на сегодняшний день все наши мантэйнеры – это 100% волонтеры, которые не получают ни цента за свою работу. И хотя очень небольшому числу из них, тем, которые заняты по-настоящему сложными и важными вещами, все-таки платят деньги некие сторонние организации, повторю еще раз главное – FSF окружена бескорыстными и убежденными сторонниками, и мы стремимся к тому, чтобы эта общественно значимая работа выполнялась по велению сердца, но не из-за желания подзаработать.
Что касается тенденций нашего развития и общей решаемой проблематики, то они в последние годы начинают изменяться. В первом десятилетии существования FSF нам нужны были программисты, которые были бы способны создавать полезные свободные программы, этим внося свой практический вклад в популяризацию наших идей и ценностей. В то время нехватка достаточного количества таких людей была единственным препятствием в нашем развитии.
Но в последние годы ситуация начинает кардинально меняться. Сегодня существует класс программ (и их становится все больше с каждым днем), которые мы даже не можем написать, имея для этого все необходимые человеческие ресурсы. Некоторые программы-прототипы защищаются с помощью DRM (Digital Restrictions Management), некоторые производители железа и программ делают секретными свои спецификации и протоколы, и, наконец, к делу подключаются юристы и патентуют принципиально важные алгоритмы и звенья систем, которые мы бы хотели воспроизвести в качестве свободных для общества. Более того, в последние годы некоторые производители железа создают полностью искусственные системы защиты от инсталляции систем, отличных от их собственных, что фактически означает агрессивное противостояние попыткам использовать вещь, купленную кем-то, по его собственному усмотрению.
Поэтому в последнее время мы все больше смещаемся от технических проектов в сторону проведения публичных кампаний, рассказывающих о подобных фактах и опасностях, и продвигаем методы противодействия им. Мы делаем все, чтобы привлечь внимание широкой публики к подобным неблагоприятным трендам, а также поддержать всеми силами тех, кто сопротивляется им. Теперь это куда важнее, чем программировать правильные вещи, ведь, если мы не переломим тренд, тираны проглотят компьютерный рынок, а вслед за ним и наше общество.
– Как вы пришли к подобным взглядам, что стало причиной создания движения FSF? Программируете ли вы до сих пор?
– Это очень длинная история для короткого интервью, поэтому расскажу лишь главное. В молодости я работал системным программистом в Массачусетском технологическом институте, в лаборатории искусственного интеллекта (AI Lab). Все проблемы начались с моего желания сделать автоуведомление для всех наших пользователей об окончании печати задания. У нас был один общий принтер на всех, а объемы печати у каждого были большими, что создавало определенную нервозность. Я захотел как-то автоматизировать эту очередь и оптимизировать коллективное использование ресурса. С технической точки зрения задача ясна, но для этого мне были нужны исходники драйверов принтера Xerox. В итоге в доступе к ним было категорически отказано, потому что этот код был проприетарным.
Затем было множество аналогичных инцидентов, которые даже поставили под сомнение возможность продолжения проектов в рамках AI Lab. Я размышлял о перманентной проблеме несвободного софта, идея разрешения подобных ситуаций вызревала у меня все эти годы. Но когда главный проект лаборатории оказался под угрозой закрытия из-за конфликта различных правообладателей нашей главной системы, я осознал, что настала пора действовать. Поэтому сразу после инцидента с патентной атакой фирмы Symbolics, который переполнил мое терпение, в январе 1984 года мною был запущен проект по созданию универсального набора свободного ПО. Ну а мне лично пришлось уволиться из AI Lab, чтобы полностью посвятить себя его реализации.
Так появился GNU Project, и в 1985 году был основан некоммерческий общественный фонд Free Software Foundation, который нанимал программистов в целях создания полностью свободной ОС и ее окружения. И, наконец, следующая важная веха в нашем развитии – это 1989 год – создание популярной лицензии General Public Licence (GPL), которая стала революционно новым типом лицензий, провозгласившей класс ПО, распространяемого на условиях «copyleft».
Таким образом, желая наконец покончить с проблемами юридического характера, мешающими работать мне и другим, я постепенно из системного программиста превратился в общественного деятеля. И хотя все это время я продолжал программировать и активно участвовать во множестве программных проектов, основной упор сейчас делается на путешествия по всему миру для публичных выступлений и пропаганды идей нашего движения.
– Насколько универсальны ваши принципы? Я знаю, вы применяете их за пределами своей работы, например, даже по отношению к повседневным мобильным телефонам.
– Что касается мобильных телефонов, то их реализация этически неприемлема, потому что это устройство двойного назначения, одно из которых – отслеживание вашего местоположения. Представьте себе, если бы я предложил вам сервис, который в состоянии в любой момент времени выдать ваше точное местоположение и, кроме того, дать возможность прослушать вас. Что бы вы сказали об этой возможности? Захотели бы вы добровольно носить на себе оборудование, необходимое для подобного сервиса? Но ваш мобильный именно таким устройством и является, и вы невольно принимаете участие в подобных экспериментах.
Однажды, увидев, насколько совершенна эта технология трэкинга, я сказал своему мобильному «нет». С современными телефонами все возможно, потому что часто они используют несвободное ПО (либо содержат отдельные компоненты, использующие его), в котором, не удивлюсь, может обнаружится бэкдор.
Для меня мой выбор – не пользоваться сотовым телефоном – абсолютно ясен и однозначен: я выбрал свободу в ущерб постоянной доступности. Это касается и всех остальных сфер моей жизни, где я также выбираю свободу во всех случаях, если вопрос ставится ребром.
Например, это касается и моего поведения в Сети. Я никогда не подключаюсь к Интернету там, где требуется моя личная идентификация для этого. Я игнорирую подобные места настолько, насколько это вообще возможно, благо публичные Wi-Fi сейчас достаточно распространенный сервис, чтобы я испытывал из-за этого какие-то большие трудности.
– Какие веб-сайты вы читаете ежедневно? За исключением, конечно, сайтов fsf.org и gnu.org.
– Как правило, я не пользуюсь браузером для просмотра веб-страниц напрямик. Знакомые люди часто сбрасывают мне адреса, важные, по их мнению. Я использую специальный Perl-скрипт, на который отправляю по почте запрос с URL интересующей меня страницы, в ответ почтовый робот вытягивает мне нормализованный контент этих страниц без всех этих отвлекающих рисунков, CSS и рекламы. Если такая страница-письмо того стоит, она остается в архиве моей почтовой базы в специальной подпапке и впоследствии доступна мне оффлайн в любой необходимый момент.
Для браузинга веб в режиме реального времени я использую специальный выделенный компьютер, впрочем, это случается достаточно редко. Никогда не делаю этого на своем рабочем нетбуке. Иногда мне присылают целые веб-сайты, с которыми нужно ознакомиться, – у меня есть штат волонтеров-помощников, которым я переадресую подобные запросы с просьбой прочитать и сообщить мне, если что-то конкретное заслуживает внимания. Даже если бы у меня и была техническая возможность постоянно сидеть в Интернете, я бы не делал этого из-за недостаточности свободного времени. Ведь у меня есть важная работа, цели и идеалы, и я полон решимости довести их до логического завершения.
Беседовал Игорь Савчук
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|