В течение следующих нескольких лет систему активно использовали в коммерческих целях, поскольку предприниматели воспользовались возможностями полностью бесплатной операционной системы, сочетающей ядро Торвальдса с воссозданными Фондом свободного программного обеспечения остальными частями операционной системы Unix. Теперь целью была скорее компания Microsoft, а не AT&T.
На заре индустрии персональных компьютеров (ПК) IBM и растущее число «клонов» – продавцов ПК, таких как Dell и Gateway, предоставляли аппаратное обеспечение, Microsoft предоставляла операционную систему, а множество независимых компаний, разработчиков программного обеспечения, предоставляли «убойные приложения» – текстовые редакторы, электронные таблицы, базы данных и графические программы, что привело к появлению новой платформы. Microsoft ДОС (дисковая операционная система) была ключевой частью экосистемы, но далеко не главной. Все изменилось с приходом Microsoft Windows. Ее обширные интерфейсы прикладного программирования (API) значительно упростили разработку приложений, но заблокировали доступ разработчиков к платформе Microsoft. Конкурирующие операционные системы для ПК, такие как IBM OS/2, не смогли вырваться из мертвой хватки. И вскоре Microsoft использовала свое доминирующее положение среди операционных систем, чтобы лоббировать свои собственные приложения – Microsoft Word, Excel, PowerPoint, Access и, позднее, Internet Explorer, своему веб-браузеру (теперь Microsoft Edge) – при заключении сделок с крупными покупателями.
Независимое производство программного обеспечения для персонального компьютера медленно умирало, в то время как компания Microsoft захватывала эксклюзивные права на одну категорию приложений за другой.
Я обнаружил повторяющуюся закономерность: индустрия персональных компьютеров началась с резкого роста инноваций, которые разрушили монополию IBM на первое поколение компьютеров, но закончились победой еще одной монополии, когда «победитель получает все». Ищите повторяющиеся закономерности и задайте себе вопрос, какой будет следующая итерация.
Теперь все задавались вопросом, изменит ли версия Linux для ПК расстановку сил в игре. Не только стартапы, но и крупные компании, такие как IBM, изо всех сил стремились на вершину иерархии, делали такие огромные ставки, какие только могли.
Но история Linux – это гораздо большее, чем просто конкуренция с Microsoft. Она переписала правила индустрии программного обеспечения так, как никто не ожидал. Она стала платформой, на которой создавались многие из величайших веб-сайтов в мире, – в то время, в частности, Amazon и Google. Но также она изменила концепцию написания программного обеспечения.
В феврале 1997 года в Linux Kongress в немецком городе Вюрцбурге хакер Эрик Раймонд опубликовал статью под названием «Собор и базар», которая всколыхнула сообщество Linux. В ней была изложена теория разработки программного обеспечения, основанная на анализе Linux и личном опыте Эрика в том, что позже стало называться разработкой программного обеспечения с открытым исходным кодом. Эрик писал:
«Кто бы мог подумать всего пять лет назад, что операционная система мирового класса может возникнуть как по волшебству, благодаря нескольким тысячам разработчиков, работающим по совместительству, разбросанным по всей планете, связанным лишь тонкими нитями интернет-сети?
Сообщество Linux, по всей видимости, напоминало большой шумный базар с разными задачами и подходами (что точно иллюстрируется архивными сайтами Linux, которые принимают материалы от кого угодно), из которых последовательная и стабильная система могла бы родиться, по-видимому, только благодаря ряду чудесных совпадений».
Эрик изложил ряд принципов, которые за последние десятилетия стали частью евангелия разработки программного обеспечения. Он утверждал, что программное обеспечение должно выпускаться своевременно и часто, что лучше выпустить его в незаконченном виде, чем ждать, пока оно станет совершенным, что пользователей следует рассматривать как «со-разработчиков» и что «чем больше глаз, тем меньше неполадок».
Сегодня, разрабатывают ли программисты открытое программное обеспечение или закрытое программное обеспечение, они используют инструменты и подходы, которые впервые были применены сообществом открытого программного обеспечения. Но, что более важно, каждый, кто использует современное программное обеспечение из Интернета, испытал эти принципы в действии. Когда вы заходите на сайт, например, Amazon, Facebook или Google, вы в определенном смысле становитесь участником процесса разработки, который был неизвестен в эпоху ПК. Вы не являетесь «со-разработчиком» в понимании Эрика Раймонда – вы не являетесь еще одним хакером, который вносит предложения по изменению элементов и кода. Но вы – «бета-тестировщик», тот, кто тщательно исследует постоянно развивающееся, незаконченное программное обеспечение и предоставляет обратную связь – в масштабах, которые раньше и представить не могли. Разработчики сетевого программного обеспечения постоянно обновляют свои приложения, тестируют новые функции на миллионах пользователей, оценивают их эффективность и обучаются на ходу.
Эрик видел, что что-то меняется в процессе разработки программного обеспечения, но в 1997 году, когда он опубликовал «Собор и базар», еще не было понятно, что принципы, которые он сформулировал, выйдут далеко за рамки свободного программного обеспечения, за рамки разработки программного обеспечения как такового, станут формировать контент таких сайтов, как Википедия, и в конечном итоге подтолкнут к революционным изменениям, сделающим потребителей соавторами таких услуг, как поездки по требованию (Uber и Lyft) и предоставление жилья (Airbnb).
Меня пригласили прочитать лекцию на ту же конференцию в Вюрцбурге. Моя речь под названием «Аппаратное обеспечение, программное обеспечение и информационное обеспечение» содержала совсем другие акценты. Я был в восторге не только от Linux, но и от Amazon. Amazon был построен на основе различных видов свободного программного обеспечения, включая Linux, но мне казалось, что он принципиально отличается по характеру от тех программ, которые мы видели в предыдущие эпохи компьютерных технологий.
Сегодня для всех очевидно, что веб-сайты – это приложения, а Интернет стал платформой, но в 1997 году большинство людей считало веб-браузер приложением. Если бы они знали немного больше об архитектуре Интернета, они могли бы представить веб-сервер и связанные с ним код и данные как приложение. Контент был чем-то, чем управляет браузер, так же как Microsoft Word управляет документом или как Excel позволяет вам создать электронную таблицу. Я, напротив, был убежден, что сам контент является неотъемлемой частью приложения и что динамический характер этого контента ведет к появлению совершенно новой модели архитектурного облика на следующем после программного обеспечения этапе, который я тогда назвал «информационным обеспечением».
В то время как Эрик сосредоточился на успехе операционной системы Linux и рассматривал ее как альтернативу Windows компании Microsoft, я был особенно восхищен успехом языка программирования Perl, позволившим использовать эту новую парадигму в Интернете.
Первоначально Perl был создан Ларри Уоллом в 1987 году и распространялся бесплатно по первым компьютерным сетям. В 1991 году я опубликовал книгу Ларри «Программирование на языке Perl» и летом 1997 года готовился провести конференцию, посвященную Perl. Провести конференцию Perl меня вдохновили случайные замечания двух друзей.