Сегодня, разрабатывают ли программисты открытое программное обеспечение или закрытое программное обеспечение, они используют инструменты и подходы, которые впервые были применены сообществом открытого программного обеспечения. Но, что более важно, каждый, кто использует современное программное обеспечение из Интернета, испытал эти принципы в действии. Когда вы заходите на сайт, например, 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 меня вдохновили случайные замечания двух друзей. В 1997 году Карла Байха, которая закупала книги по компьютерным технологиям для сети книжных магазинов Borders, рассказала мне, что второе издание «Программирования Perl», опубликованное в 1996 году, вошло в 100 лучших книг всех категорий, по версии Borders. Мне показалось странным, что, несмотря на это, в списке ценных бумаг компьютерного рынка Perl не был популярен. Поскольку за спиной Perl не стояло ни одной компании, он был практически невидим для умников, которые следили за этой отраслью.
А затем Эндрю Шульман, автор книги под названием «Unauthorized Windows 95», сказал мне то, что я счел столь же любопытным. В то время компания Microsoft запустила серию телевизионных рекламных роликов о том, как их новая технология под названием Active/X будет «активировать Интернет». Демо-версии программ из этой рекламы, по словам Эндрю, в основном были написаны на Perl. Мне стало ясно, что на самом деле Perl, а не Active/X лежит в основе того, как распространяется веб-контент.
Я был возмущен. Я решил, что мне необходимо во всеуслышание заявить о Perl. И поэтому в начале 1997 года я сделал пиар-ход, объявив о своей первой конференции, чтобы привлечь внимание людей. И об этом же я пришел поговорить на международный конгресс Linux в Вюрцбурге.
Позже в эссе, которое было создано на основе той речи, я написал: «Perl был назван «скотчем Интернета», и, как и скотч, он используется самым неожиданным образом. Веб-сайт часто быстро создается и удаляется через день, и ему нужны легкие инструменты и быстрые, но эффективные решения».
Я рассматривал применение Perl в качестве скотча как важный фактор парадигмы информационного обеспечения, в которой управление компьютерами осуществлялось через информационный интерфейс, а не через программный интерфейс как таковой. Веб-ссылка, как я описал ее тогда, была способом интеграции команд для компьютера в динамические документы, написанные на обычном человеческом языке, в отличие, скажем, от выпадающего программного меню, которое интегрировало маленькие фрагменты человеческого языка в традиционное программное обеспечение.
В следующей части речи рассматривалась историческая аналогия, которая не давала мне покоя в течение следующих нескольких лет. Я был потрясен параллелями между тем, что открытое программное обеспечение и открытые протоколы Интернета делали с Microsoft, и тем, как Microsoft и индустрия независимого программного обеспечения ранее вытеснили IBM.
В 1978 году, когда я впервые стал работать в этой отрасли, она избавлялась от монополии IBM, которая не отличалась от позиции, которую двадцать лет спустя заняла компания Microsoft. Контроль IBM над отраслью базировался на комплексных компьютерных системах, в которых программное и аппаратное обеспечение были тесно связаны. Создание нового типа компьютера означало изобретение как нового аппаратного обеспечения, так и новой операционной системы. Несколько существовавших тогда независимых компаний-разработчиков программного обеспечения должны были выбрать, спутником какого поставщика оборудования они станут, или «переносить» свое программное обеспечение на несколько систем аппаратного обеспечения, подобно тому как сегодня разработчикам телефонов необходимо создавать отдельные версии для iPhone и Android. Только проблема была гораздо серьезней. Помню, как в середине 1980-х годов я разговаривал с одним из клиентов своей компании, занимавшимся консалтингом в сфере документов, автором серверной графической библиотеки под названием DISSPLA (Display Integrated Software System and Plotting Language – Система программного обеспечения интегрированных изображений и графический язык). Он рассказал мне, что должен поддерживать более 200 различных версий своего программного обеспечения.
Персональный компьютер IBM, выпущенный в августе 1981 года, все это изменил. В 1980 году, понимая, что она все упускает на новом рынке микрокомпьютеров, компания IBM запустила научный проект в Бока-Ратон, штате Флорида, для разработки новой машины. Они приняли крайне важное решение: сократив расходы и ускорив развитие, они разработают открытую архитектуру с использованием стандартных компонентов индустрии, включая программное обеспечение с лицензией от третьих сторон.
ПК, как вскоре его стали называть, стал хитом сразу же после того, как осенью 1981 года состоялась его презентация. По прогнозам IBM, в первые пять лет должно было быть продано 250 000 штук. По слухам, они продали 40 000 в первый же день. Через два года обладателями компьютеров стали более миллиона человек.