Читать книгу «Отъявленный программист. Лайфхакинг из первых рук» онлайн полностью📖 — Игоря Савчука — MyBook.

Настоящее 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, главная цель ее создания – удаление любого программного кода, который поставляется в закрытом виде, имеет явно обфусцированный исходный код либо выпущен под проприетарной лицензией[2]. К сожалению, наша версия ядра запускается с меньшим количеством устройств, чем оригинальное ядро, но мы активно работаем над решением этой проблемы.

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

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

GNU Project работает в значительной степени за счет привлекаемых нашей философией волонтеров. На данный момент в рамках проекта всего около 400 значимых пакетов – самых различных программ и компонент, поддерживаемых и развиваемых GNU Project. Каждый пакет имеет как минимум одного собственного «мэйнтейнера» – человека, который сопровождает его, решает все возникающие проблемы и вопросы. В первой половине существования нашего Фонда (с 1987 по 1996 год) «мэйнтейнерам», сопровождающим наиболее критические пакеты, платились деньги за выполненную работу из собственных средств Free Software Foundation.

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

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

Но в последние годы ситуация начинает кардинально меняться. Сегодня существует класс программ (и их становится все больше с каждым днем), которые мы даже не можем написать, имея для этого все необходимые человеческие ресурсы. Некоторые программы-прототипы защищаются с помощью DRM (Digital Restrictions Management), некоторые производители железа и программ делают секретными свои спецификации и протоколы, и, наконец, к делу подключаются юристы, патентующие принципиально важные алгоритмы и звенья систем, которые мы бы хотели воспроизвести в качестве свободных для общества. Более того, в последние годы некоторые производители железа создают полностью искусственные системы защиты от инсталляции систем, отличных от их собственных, что фактически означает агрессивное противостояние попыткам использовать легально купленную вещь по собственному усмотрению.

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

* * *

В апреле 2012 года случился скандал, по итогом которого Столлмана обвинили в отсутствии нормальной человеческой эмпатии и сочувствия. Суть состоявшегося тогда в списке рассылки неприятного разговора была такова: Люк (Luc Teirlinck, профессор Обернского университета, США) внес в ветвь разработки Emacs не совсем удачный патч, который вызвал неожиданные последствия для проекта. Поскольку в этом большом кумулятивном патче было собрано воедино сразу несколько важных исправлений, было нежелательно откатывать его целиком, поэтому Столлман попросил Стефана (Stefan Monnier, Монреальский университет, Канада) провести анализ патча и выкинуть оттуда проблемные вещи. Но именно в этот момент Стефан, один из самых квалифицированных и активных участников проекта, был чрезвычайно занят – у него родилась долгожданная дочка. Он извинился, что не сможет сделать это, сославшись на радостную причину. В публичном списке рассылки посыпались поздравления, но Столлман ответил одной резкой репликой:

Мне жаль слышать это.

Далее Ник (Nick Roberts, NASA) также поздравил Стефана:

Поздравляю тебя, Стефан! Я рекомендую тебе проводить все свободное время со своей дочкой!

Ричард еще раз зло огрызнулся в ответ:

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

В этой точке в списке рассылки начался «крутой замес».

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

These birth announcements also spread the myth that having a baby is something to be proud of, which fuels natalist pressure, which leads to pollution, extinction of wildlife, poverty, and ultimately mass starvation[3].

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

Сохрани планету – убей себя

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

Я знаю, вы убежденный сторонник childfree, можно ли услышать из первых уст, так ли это?

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

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

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

Можно ли назвать это разумным эгоизмом?

Спросите себя – каждый, прямо сейчас: какой след вы собираетесь оставить в истории, какой вклад внести в развитие цивилизации и расы? Задайте себе этот вопрос немедленно, на минуту поднимитесь над рутиной и жизнью на автомате.

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

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

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

Есть другая важная гуманистическая составляющая моего решения, связанная с экологией, перенаселением и будущей экономической катастрофой. Не буду тратить время, предлагаю посмотреть концептуальный мультфильм[4] Нины Пейли (Nina Paley), где эта политическая позиция выражена графически.

В контексте культурных ценностей многих стран ваши слова могут оттолкнуть людей, которым будет сложно принять (или даже просто понять) концепцию childfree. Все-таки материнство и отцовство – краеугольный камень семьи, которая есть основа современного государства и общества.

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

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

Звучит как исповедь прожженного либерала…

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

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

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

* * *

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

Позвольте пояснить этот момент отдельно.

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

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

«Это ложные ценности», – парировал я, изображая pokerface под его сверлящим взглядом.