Для этого создателям открытого программного обеспечения (ОПО) потребовалось найти новые пути воплощения своих замыслов. Они не могли нанять работников за деньги, а задача, стоявшая перед ними, – создать совершенно новую операционную систему – требовала миллионов часов рабочего времени, а посему выглядела поистине устрашающей. Станут ли высококвалифицированные специалисты тратить свое свободное время на проект, казалось бы, изначально обреченный на провал? Оказалось, что да, будут. И займется этим много, очень много людей. Именно потому, что
Конечно, никто не подозревал об этом в 1969 г., когда Кен Томпсон, программист, работавший в подразделении Bell Laboratories телефонной компании ATT, неожиданно почувствовал, что устал от безделья. Томпсон был занят в рамках амбициозного пятилетнего проекта сотрудничества Массачусетского технологического института, компании General Electric и Bell Laboratories. Его целью было создание более эффективной операционной системы для ЭВМ, которая позволяла бы одновременно выполнять более чем одну операцию – это ограничение в то время существенно замедляло скорость обработки данных даже на самых совершенных компьютерах. Но все усилия были напрасными. Только одно руководство по использованию операционной системы было расписано на 3000 страницах. Bell потеряла всякую веру в проект и отстранилась от дел.
Во время неожиданно свалившегося четырехнедельного отпуска Кен решил попробовать начать работу с чистого листа, советуясь только с самим собой. Глобальную цель он сразу же заменил на несколько малых, но казавшихся ему вполне реальными. Каждую неделю он посвятил написанию одного из этих четырех компонентов будущей операционной системы. Как отмечал в своей книге «Успех открытого кода» (The Success of Open Source) политолог Стивен Вебер, «имея всего один человеко-месяц рабочего времени и простое аппаратное обеспечение, Томпсон вынужден был забыть о комплексном мировосприятии и делать что-то очень простое». Или, как когда-то сказал один из компаньонов Томпсона, «создавать маленькие простые предметы вместо чего-то грандиозного».
К концу месяца Томпсон прописал основное тело Unix, операционной системы, наиболее успешной из когда-либо созданных. Но не только сама Unix сделала Томпсона исторической личностью. Не менее значимым было его решение использовать конвейеры из нескольких программ, каждая из которых выполняет одну задачу. Этот принцип в конечном счете позволил впоследствии сотням программистов децентрализованно работать над одной задачей, подобно тому, как тысячи пользователей работают над единым справочником – «Википедией». Разбивка работы на мелкие части, или модули, является одним из отличительных признаков краудсорсинга, который сродни подходу к программированию ОПО – «пришел один – пришли остальные».
Методика Кена Томпсона не то чтобы перевернула тогдашний программистский мир. Компьютерная наука в 1960-е гг. развивалась в основном на базе университетских кафедр и исследовательских лабораторий, наподобие Bell, Массачусетского технологического института. Открытость компьютерных кодов соответствовала общей академической традиции свободного обмена информацией. Один из первых коммерческих компьютеров, IBM 705, в момент своего появления в 1953 г. стоил $1,6 млн (это в пересчете на цены 2008 г. более $12 млн). Но кроме того, что это была безумно дорогая вещь размером с половину комнаты, компьютер требовал огромного количества времени для написания программы, сообщавшей ему, какие действия необходимо выполнить. Чтобы оптимизировать эту работу, ей одновременно занималось по нескольку человек, объединяя свое время и знания.
В те годы и зародилась культура программистского сообщества, характеризующаяся дружескими, веселыми, конкурентными отношениями между преданными своему делу специалистами, с высоким уровнем взаимодействия и поддержки. В то время разницы между пользователями и программистами не существовало, просто потому, что единственными людьми, которые могли совладать с компьютерами, были те, кто одновременно занимался и программированием. По сути, это были первые хакеры. И хотя со временем этот термин приобрел негативный оттенок, изначально он относился к людям, чье мастерство работы с компьютером можно было сравнить с искусством.