Шрифт:
Интервал:
Закладка:
Методика Кена Томпсона не то чтобы перевернула тогдашний программистский мир. Компьютерная наука в 1960-е гг. развивалась в основном на базе университетских кафедр и исследовательских лабораторий, наподобие Bell, Массачусетского технологического института. Открытость компьютерных кодов соответствовала общей академической традиции свободного обмена информацией. Один из первых коммерческих компьютеров, IBM 705, в момент своего появления в 1953 г. стоил $1,6 млн (это в пересчете на цены 2008 г. более $12 млн). Но кроме того, что это была безумно дорогая вещь размером с половину комнаты, компьютер требовал огромного количества времени для написания программы, сообщавшей ему, какие действия необходимо выполнить. Чтобы оптимизировать эту работу, ей одновременно занималось по нескольку человек, объединяя свое время и знания.
В те годы и зародилась культура программистского сообщества, характеризующаяся дружескими, веселыми, конкурентными отношениями между преданными своему делу специалистами, с высоким уровнем взаимодействия и поддержки. В то время разницы между пользователями и программистами не существовало, просто потому, что единственными людьми, которые могли совладать с компьютерами, были те, кто одновременно занимался и программированием. По сути, это были первые хакеры. И хотя со временем этот термин приобрел негативный оттенок, изначально он относился к людям, чье мастерство работы с компьютером можно было сравнить с искусством.
С появлением персональных компьютеров появилось и проприетарное, «частное» программное обеспечение. Возник конфликт. В 1976 г. Билл Гейтс и Пол Аллен – соучредители и единственные на тот момент сотрудники компании, которая тогда называлась Micro-Soft, – выступили с открытым письмом любителям. Они не деликатничали: «Основная масса любителей должна понимать, что в большинстве своем вы крадете программное обеспечение. Все понимают, что за аппаратное обеспечение надо платить, но разве программное обеспечение – это нечто общее или ничейное? Похоже, никого не заботит, что люди, которые работали над его созданием, должны получить плату за свой труд». Авторы письма безоговорочно осуждали то, что у хакеров вошло в привычку, а именно свободный обмен программным обеспечением и его исходными кодами. Гейтс и Аллен отметили: 1) большинство этих пользователей никогда не покупали BASIC (менее 10 % владельцев купили Altair); 2) величина роялти от продажи BASIC любителям устанавливает цену машинного времени, затраченного на разработку Altair BASIC, составляет менее $2 за час работы программиста. «Кто возьмется за написание программного обеспечения за такое вознаграждение? – задавал вопрос Гейтс. – Делая нелегальную копию, вы лишаете создателей возможностей создавать хорошее программное обеспечение. Кто может позволить себе делать профессиональную работу даром? Какой любитель может заставить трех человек целый год программировать, отыскивать все ошибки, документировать свой продукт – а потом раздавать его бесплатно?»
Билл Гейтс даже не мог предположить, что если один любитель никогда не потратит три человека-года на сложный проект, то его сможет легко реализовать тысяча любителей, если они объединят свои усилия.
В 1983 г. специалист в области теории вычислительных машин и систем Массачусетского технологического института Ричард Столлман решил объявить войну индустрии программного обеспечения, которую создал Билл Гейтс. Он и дал название тому, что до этого времени бродило в душах вольного хакерского сообщества: «Движение ОПО». В 1970 г. Р. Столлман поступил в Гарвардский университет, что, в общем, неудивительно для детей, воспитанных в строгих либеральных традициях нью-йоркского Вест-Сайда. Своеобразный, не по годам развитый юноша не имел друзей до тех пор, пока не окончил Гарвард, а в 1974 г. не поступил в Массачусетский технологический институт. Там он, правда, так и не доучился до конца, но остался работать программистом в лаборатории искусственного интеллекта. Следующие тринадцать лет своей жизни он провел фактически в этой лаборатории за написанием кодов, частенько оставясь спать в рабочем кабинете.
В начале 1980-х гг. Р. Столлман стал свидетелем того, как хакерское сообщество Массачусетского технологического института стало постепенно распадаться. Большинство его друзей и коллег покинули лаборатории, открыли свой бизнес и занялись разработкой программных продуктов для снабжения быстроразвиваю-щегося компьютерного рынка. Запатентовали даже Unix – этот венец хакерской культуры. В знак протеста Р. Столлман запустил свой проект GNU, целью которого было создание операционной системы на основе абсолютно открытого, находящегося в свободном доступе кода.
Это был первый выстрел в новой мировой революции, но в то время мало кто его расслышал. Столлман, чтобы посвятить свое время написанию свободного программного обеспечения, а также для того, чтобы никто не мог предъявить какие-либо права на его детище, разорвал все связи с Массачусетским технологическим институтом (хотя тот разрешил Ричарду работать в лаборатории и даже спать в ней) и начал писать свою операционную систему на принципах Unix, но таким образом, чтобы позволить другим пользователям брать, копировать, вырезать, вставлять, модифицировать, и самое главное, вносить свой вклад в исходный текст новой программы. Привлеченные легким доступом к операционке Столлмана, над проектом GNU вместе с ним начали работать другие программисты. «Люди стали интересоваться, вносить поправки, – рассказывал Столлман, – и все закончилось гораздо лучше, чем я мог себе представить». Операционная система GNU была основана на конвейерном принципе Unix, с ее тысячами мелких файлов, поэтому другим программистам было несложно выбрать для себя те отдельные биты, над которыми они хотели работать в зависимости от имевшегося у них свободного времени. В 1985 г. Столлман основал некоммерческую организацию «Фонд свободных программ» (FSF), как он писал, «с целью продвижения свободы пользователей компьютеров и защиты прав всех пользователей свободного программного обеспечения». Фонд FSF не только помогал Ричарду Столлману поддерживать его работу над GNU, но и способствовал продвижению его идеи: «Программное обеспечение open source (ОПО)[2] – это вопрос свободы, а не денег. Но чтобы понять эту концепцию, нужно думать о свободе как о свободе слова, а не как о бесплатном пиве».
Обеспечивая открытость и доступность своей операционной системы, Столлман фактически в одиночку поддерживал существование хакерской культуры. К 1986 г. Р. Столлман создал компилятор C в абсолютно бесплатном исходном коде, пожалуй, самую важную часть операционной системы. С целью предотвращения ситуации, при которой какой-нибудь предприниматель мог забрать этот код для его внедрения в часть своей операционной системы, а потом, запатентовав, предложить на рынок, Столлман придумал то, что внесло гораздо больший вклад в направление ОПО и в культуру как таковую: универсальную общественную лицензию GNU General Public License (GPL). Требования GNU GPL предусматривали, что не только продукция, распространяемая по данной лицензии, будет находиться в свободном доступе, но и то, что любое программное обеспечение, использующее такой же подход, должно будет иметь аналогичную лицензию. «GNU GPL “преобразовала” программное обеспечение, в которым использовалась GNU, в собственную лицензию. Это был чрезвычайно умный подход к пропаганде свободы», – заметил Глин Муди в статье, посвященной истории развития исходных кодов «Непокорный код: Linux и революция в программном обеспечении с открытым исходным кодом». Хитрость Р. Столлмана даже получила свое название: «авторское лево», в противоположность «авторскому праву».