«Чтобы быть хакером, нужно признать, что написание программы – это только начало. Улучшение программ – вот истинное испытание таланта хакера».
Сэм Уильямс «Свободный, как свобода: Крестовый поход Ричарда Столлмена за бесплатное программное обеспечение»[4]
Если есть в мире человек, которого не смогли в должной мере отблагодарить за его вклад в жизнь общества, это Ричард Столлмен.
Столлмена можно сравнить с Чарльзом Бэббиджем, Аланом Тьюрингом и другими звездами в созвездии компьютерных гениев. Сложный и противоречивый человек, Ричард Столлмен повлиял на вашу жизнь и технику, которой вы пользуетесь, самым серьезным образом.
А тем, что сподвигло Столлмена на его исторический крестовый поход, стала обычная поломка принтера – его принтер зажевал бумагу.
В 1977 году Столлмен работал программистом в лаборатории искусственного интеллекта в МИТ. Когда ему нужно было распечатать какой-то документ со своей рабочей станции, он отправлял его на общий принтер, который находился на другом этаже. Поднявшись по лестнице, Столлмен часто обнаруживал, что принтер зажевывал бумагу посреди чьего-то большого задания. Ему приходилось вытаскивать зажеванный лист, а потом сидеть возле принтера, пока не происходила очередная поломка. Такое случалось вновь и вновь, а потом в принтере кончалась бумага.
Блестящий двадцатисемилетний инженер недавно окончил Гарвард, где считался настоящей звездой хакерского сообщества. Стоя возле принтера и вытаскивая очередной зажеванный лист, Столлмен решил заняться этой проблемой, как хакер. Он не мог помешать принтеру зажевывать бумагу, но он мог мотивировать коллег устранять эту неполадку.
Он вернулся к своему столу, взломал исходный код программы принтера и сделал блестящий хак. Кто больше всех заинтересован в устранении неполадки? Тот, кому нужно напечатать документ. Каждый раз, когда принтер зажевывал бумагу, центральный сервер рассылал всем, кто ожидал печати своих документов сообщение:
> Принтер зажевал бумагу. Пожалуйста, исправьте.
Рассылая сообщение всем, кто ждал печати, Столлмен организовывал краудсорсинг (еще до того, как этот термин вошел в оборот). Решение было простым и элегантным, и оно работало… пока не появился новый принтер.
Новый лазерный принтер пожертвовала фирма Xerox. Лаборатория PARC занималась исследованиями в области самых передовых инноваций – так, например, здесь разработали графический интерфейс, Ethernet и персональный компьютер. Но в этом случае компания совершила судьбоносную ошибку: она отказалась выдать исходный код к программе принтера. А это означало, что Столлмен не мог его перепрограммировать. Теперь, когда принтер зажевывал бумагу, ему приходилось снова биться головой о стену. Кровь в его жилах вскипала, пока принтер мучительно медленно (но с лазерной точностью и резкостью) выдавливал из себя отпечатанные листы.
Многие из нас помнят сцену из фильма «Офисное пространство», где три компьютерщика вывозят принтер в поле, чтобы казнить его в гангстерском стиле. Мелкие технологические неприятности накапливаются одна за другой, а потом ваше терпение иссякает, и вы оказываетесь в поле с бейсбольной битой, а руки ваши испачканы тонером.
Так что вы можете понять, почему Столлмен выследил программиста, занимавшегося принтерами. Тот работал в Карнеги-Меллон. Столлмен вылетел к нему. Совершенно по-дружески, как хакер хакера, он попросил его дать ему исходный код. Программист отказался. И тут терпение Столлмена лопнуло.
«Я был так зол, что не мог даже выразить этого словами, – вспоминал он позже. – Поэтому я просто повернулся и вышел, не говоря ни слова».[5] Для Столлмена поступок этого человека стал нарушением хакерской этики, общего кодекса чести, согласно которому все делились друг с другом кодами.
Так началась настоящая священная война. Столлмен стал гражданским активистом и начал борьбу за бесплатное программное обеспечение. Он считал, что все должны иметь право пользоваться, изучать, распространять и модифицировать любые программы. Он начал издавать свои манифесты[6], создал Фонд за бесплатное программное обеспечение и изобрел альтернативу копирайту, назвав ее «копилефт». Революционная идея его заключалась в том, что программное обеспечение с лицензией «копилефт» может бесплатно модифицироваться и копироваться, пока полученное в результате программное обеспечение тоже будет оставаться бесплатным.
Другими словами, программисты должны быть уверены в том, что их работа по совершенствованию программного обеспечения (как решение проблемы принтера) пойдет на пользу мира, а не будет заперта под замок и запатентована какой-то алчной программной корпорацией.
Лицензия «копилефт» Столлмена и разные ее варианты изменили наш мир. Так появились GNU и Linux, которые сегодня используются на трети всех Интернет-серверов.[7] Так появился Apache, который используется более чем на половине всех серверов мира[8]. Так родился Firefox, которым пользуется четверть пользователей Интернета[9]. PuTTY. GIMP. Buzilla. Thundebird. Bitcoin. Можно назвать тысячи проектов, миллионы разработчиков и миллиарды пользователей, которым бесплатные программные продукты принесли ощутимую пользу.