Хотите дальше читать devby? 📝
Support us

Р.Столлман — Дзен свободного программирования. Часть 1

Оставить комментарий
Р.Столлман — Дзен свободного программирования. Часть 1

Сегодня мы публикуем первую часть большого интервью с, безусловно, ярким и легендарным представителем контртренда по отношению ко всей коммерческой индустрии ПО, – Ричардом Мэтью Столлманом (@rms), – американским системным программистом, странствующим философом, баламутом и общественным активистом.

Человек-борода (альтернативные варианты – «человек-стол», «человек-киоск») Столлман, «бог» свободного программного обеспечения во плоти и крови, донесет нам сегодня евангелие о необходимости помощи ближнему во сети, а также похвальном желании мирянина писать «правильные программы». Мы попробуем понять, почему своими моральными принципами Столлман «вызверил» против себя огромное количество игроков из лагеря «собственнического ПО» и мира Open Source, «куда» он вообще живет и какую такую свободу при этом проповедует.

Нравоучительный словопоток гуру в 35Kb спасительного текста

«Я не имею отношения к Open Source»

– Послушайте, все, что вы хотите знать, это, конечно, очень важно, но если позволите, я бы хотел начать с освещения двух типичных и уже хронических синтаксических проблем Движения за свободные программы, с которыми мне приходится иметь дело примерно в 90% интервью и выступлений. Более полное раскрытие данных ошибок поможет вашим читателям лучше понять, какие идеалы я проповедую и чем занимается фонд FSF на самом деле.

Итак, я не имею никакого отношения к движению Open Source, к которому вы и остальная пресса меня причисляете. Фонд Free Software Foundation и движение за свободные программы отстаивают несколько иные идеалы. Иначе говоря, наш термин «свободная программа» вовсе не эквивалентен понятию «программа с открытым исходным кодом». Это исходная точка, в которой в большинстве случаев начинается большая путаница, поэтому будет лучше, если мы сразу проведем водораздел между ними.

 Раз уж подвернулся такой удобный случай, давайте попробуем разобраться, так чем же так принципиально отличается «свободная программа» от «программы с открытым исходным кодом»?

– Начнем с последнего определения. В 1998 впервые официально было сформировано мировое Open Source движение (Free and open-source software, FOSS), которое, если компактно суммировать его взгляды, ставит акцент на двух фундаментальных положениях:

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

И первый, и второй пункт – исключительно практические ценности. Open Source – это просто удобная и экономически выгодная методология разработки. Теперь в качестве контраста: для нашего движения за свободное ПО главное – идеалы и моральные ценности, где, прежде всего, ценится уважение свобод пользователей.

Итак, свободные программы, за которые мы ратуем – это общественное движение, где жестко отстаивается единственный этический императив – безусловное уважение свобод пользователей ПО. Если вы читаете новости и прессу, легко увидеть, что Open Source волнует совсем другая проблематика: успешность или неуспешность отдельных проектов, их популярность и доля на рынке и т.д. Почти никогда при этом дискуссия не касается категорий справедливости и несправедливости использования софта, проблем распространения подобных программ, защиты прав конечных пользователей.

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

– Например, некоторые популярные мобильные устройства на базе открытой и бесплатной ОС Android поставляются с исполняемыми файлами программ, сборка которых полностью соответствует выложенному в Сети их исходному тексту, но сами эти устройства не позволяют пользователю устанавливать собственные или модифицированные версии этих файлов. Как правило, в такой ситуации только одна привилегированная компания обладает властью изменять их. Мы называем такие компании «тиранами», а данная конкретная тактика паразитирования на почве Open Source известна под термином «тивоизация». Можно привести множество подобных примеров из самых разных сфер, но их общая суть, думаю, понятна.

Таким образом, согласно описанной выше философии, по нашим стандартам эти файлы не являются «свободными программами», несмотря на то, что (a) для них доступен их полный исходный текст, как правило, свободно выложенный в Интернете. Более того, (b) сами эти программы (и их исходники) доступны для вас абсолютно бесплатно, удовлетворяя обоим вышеописанным критериям Open Source. Именно поэтому я настоятельно призываю в своих выступлениях по всему миру: несмотря на общее слово (англ. слово “free” – одновременно и «свободный», и «бесплатный» – прим. И.С.) давайте не будем путать идеалы «свободы слова» с бесплатным пивом, которое вам повезло отхватить на ярмарочной распродаже.

Хочу подчеркнуть – мы ничего не имеем против движения Open Source, мы приветствуем открытие исходных текстов программ, но при этом повторяем – это лишь первый важный шаг в правильном направлении, для надежной защиты интересов пользователей ПО этого мало. Думаю, сейчас более ясно, почему наше движение так категорично и показательно отмежевывается от Open Source, – мы ставим более глобальные и далеко идущие задачи. Мы также призываем всех разделяющих нашу точку зрения сознательно применять термин «свободные программы» вместо более узкого «программы с открытым исходным кодом» для более точной передачи сути наших общих ценностей.

 Давайте попробуем емко подытожить все сказанное. Вы бы не могли привести ваши знаменитые «4 свободы для свободных программ», чтобы все любители свободного софта могли лишний раз порадоваться удачному дню, просто пробежав их глазами?

– С удовольствием, вот они:

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

Это максимально общие пожелания, более четко они выражены в наших лицензиях, например, в GNU Public License.

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

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

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

Личный выбор свободы

 Не хочу «переходить дорогу на красный свет» и как-то злить вас, но позвольте еще раз вернуться к предыдущему вопросу. Раз уж вы сейчас проживаете в США  в самой гуще коммерции и глобализации, поинтересуюсь: насколько эта идеалистическая точка зрения работоспособна в рамках современного капитализма? Иначе говоря, есть ли такие «правильные парни-программисты» в реальном мире вокруг нас?

– На всякий случай, если вы с другой планеты, – на данный момент большая часть мировых интернет-сайтов работают под управлением GNU/Linux, *BSD, MySQL и Apache. Думаю, вам будет трудно доказать людям стоящим за этими (и другими подобными) проектами, что свободный софт – это просто пустая демагогия и высоконравственная болтовня. Большинство стоящих за этими проектами разработчиков работают бесплатно и, тем не менее, они проектируют реально стоящий код.

Понимаю, идеалы и мотивы этого сообщества часто сложно понять обывателю, всю жизнь просидевшего на «поводке» контракта. Тем более, компании типа Майкрософт хотят заставить нас поверить в то, что помогать ближнему – сродни захвату чужих кораблей. Я призываю смотреть на мир шире, в нем очень много бескорыстных и любящих свою работу программистов, которые мечтают сделать что-то по-настоящему стоящее, даже если это что-то находится далеко за пределами узких корпоративных интересов вашего босса.

 Гуру, деньги  ничто?

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

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

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

– Я знаю одно, и это подтвердит любой творческий человек: в качестве горючего жгучее чувство внутренней правды с присадкой страсти самореализации всегда эффективней, чем абстрактные деньги. Старомодные компании, где работают исключительно за деньги, всегда проиграют в инновационности и прогрессивности компаниям, где работают за идею (это касается, в том числе, людей и государств). И если на коротких временных дистанциях с этим тезисом еще можно поспорить, то в более длинной перспективе все более чем однозначно: свобода – наиболее предпочтительная мотивационная категория. Подумайте об этом в перерывах между просмотром канала MTV и работой.

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

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


Без GNU – Linux ничто

 О’кей, давайте врубим задний ход и вернемся к началу, где вы упомянули «две популярные ошибки» в отношении вашего Фонда. Подробно рассмотрев отношения свободного 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 самобытным, свободным и самодостаточным проектом, взращенным загадочным финским подростком буквально на пустом месте. Они ошибочно считают Linux образцом и родоначальником свободного и открытого софта – это совсем не так.

Создатель Linux – тот самый «загадочный финский подросток».

Настоящее FSF

 Благодаря этим двум «распространенным терминологическим неточностям» мы ретроспективно рассмотрели историю и задачи проекта GNU. Теперь попробуем это славное прошлое замкнуть на грозное настоящее: что насчет ядра 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), некоторые производители железа и программ делают секретными свои спецификации и протоколы, и, наконец, к делу подключаются юристы, которые патентуют принципиально важные алгоритмы и звенья систем, которые мы бы хотели воспроизвести в качестве свободных для общества. Более того, в последние годы некоторые производители железа создают полностью искусственные системы защиты от инсталляции систем отличных от их собственных, что фактически означает агрессивное противостояние попыткам использовать легально купленную вещь по собственному усмотрению.

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

Анонс второй части интервью: пищевые пристрастия Р.Столлмана, его обескураживающие привычки и кочевой образ жизни. Также раскрыт подробный алгоритм того, как заурядный американский программист превратился в активного общественного деятеля (Внимание, не рекомендуется повторять в местных политических условиях!).

Помогаете devby = помогаете ИТ-комьюнити.

Засапортить сейчас.

Читайте также
Хуже Windows. Linux стала рекордсменом по росту числа вредоносов
Хуже Windows. Linux стала рекордсменом по росту числа вредоносов
Хуже Windows. Linux стала рекордсменом по росту числа вредоносов
Количество вредоносных элементов в открытом коде выросло в 20 раз с февраля
Количество вредоносных элементов в открытом коде выросло в 20 раз с февраля
Количество вредоносных элементов в открытом коде выросло в 20 раз с февраля
Разработчик Ubuntu уходит из России
Разработчик Ubuntu уходит из России
Разработчик Ubuntu уходит из России
1 комментарий
Российские разработчики могут лишиться поддержки открытого кода
Российские разработчики могут лишиться поддержки открытого кода
Российские разработчики могут лишиться поддержки открытого кода

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.