Microsoft сделал Билла Гейтса, своего основателя и генерального директора, самым богатым человеком в мире. Это была компания-лидер в области технологий, практически монополист в предложении программного обеспечения персонального компьютера, в этой сфере она уничтожала конкурента за конкурентом. Министерство юстиции США начало антимонопольное расследование в отношении компании в мае того же года, так же как оно поступило почти тридцатью годами ранее в отношении IBM.
В отличие от запатентованного программного обеспечения, которое сделало компанию Microsoft столь успешной, открытое программное обеспечение распространяется по лицензии, что позволяет каждому свободно изучать, модифицировать и программировать на его основе. Примеры открытого программного обеспечения включают операционные системы Linux и Android; веб-браузеры, такие как Chrome и Firefox; популярные языки программирования, такие как Python, PHP и JavaScript; современные инструменты обработки большого объема данных, такие как Hadoop и Spark; и передовые инструменты, управляемые искусственным интеллектом, такие как TensorFlow от Google, Torch Facebook или CNTK от Microsoft.
В начале компьютерной эры большинство программ было с открытым исходным кодом, хотя называлось это по-другому. Некоторое базовое программное обеспечение поставлялось вместе с компьютером, но большая часть кода, которая делала компьютер действительно полезным, была записана в специализированных программах, предназначенных для решения конкретных задач. В частности, программное обеспечение, написанное учеными и исследователями, часто предоставлялось в открытом доступе. Однако в конце 1970-х и в 1980-е годы компании поняли, что контроль доступа к программному обеспечению приносит им коммерческую выгоду, и стали закрывать доступ, используя ограничительные лицензии. В 1985 году Ричард Столлман, программист Массачусетского технологического института, опубликовал «Манифест GNU», в котором изложил принципы того, что он назвал «свободным программным обеспечением». При этом free – не в смысле бесплатное, а free в смысле свободы обучения, перераспределения и модификации программного обеспечения без специального разрешения.
Амбициозной целью Столлмана было создание абсолютно бесплатной версии операционной системы AT&T Unix, первоначально разработанной в Bell Labs, исследовательском подразделении AT&T. К тому времени, когда Unix впервые появилась в конце 1970-х годов, AT&T была юридически признанной монополией с огромной прибылью от регулируемых услуг телефонной связи. Вследствие этого, в соответствии с мирным соглашением, подписанным в 1956 году с министерством юстиции, AT&T запрещалось вести конкурентную борьбу в компьютерной индустрии, в то время контролируемой IBM, и Unix была лицензирована на либеральных условиях для исследований в области компьютерных наук. В ответ программисты в университетах и компаниях по всему миру вносили ключевые элементы в операционную систему.
Но после решающего согласительного постановления 1982 года, в котором AT&T согласилась разделиться на семь небольших компаний (Baby Bells) в обмен на разрешение вести конкурентную борьбу на компьютерном рынке, AT&T попыталась запатентовать Unix. Они подали в суд на Калифорнийский университет в Беркли, который разработал альтернативную версию Unix (Berkeley Software Distribution, или BSD), и фактически попытались прикрыть возможность коллективного использования, которое изначально помогло создать операционную систему.
Пока деятельность Berkeley Unix была приостановлена судебными нападками AT&T, проект GNU Столлмана (GNU является рекурсивным акронимом, расшифровывающимся как GNU is Not Unix) продублировал все ключевые элементы Unix, кроме ядра – центрального кода, который действует как своего рода регулировщик для всех остальных программ. Это ядро было разработано финским студентом-компьютерщиком Линусом Торвальдсом, чьей дипломной работой в 1990 году стала минималистская, похожая на Unix операционная система, которая могла быть перенесена на множество разных компьютеров. Он назвал эту операционную систему Linux.
В течение следующих нескольких лет систему активно использовали в коммерческих целях, поскольку предприниматели воспользовались возможностями полностью бесплатной операционной системы, сочетающей ядро Торвальдса с воссозданными Фондом свободного программного обеспечения остальными частями операционной системы 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, которые принимают материалы от кого угодно), из которых последовательная и стабильная система могла бы родиться, по-видимому, только благодаря ряду чудесных совпадений».
Эрик изложил ряд принципов, которые за последние десятилетия стали частью евангелия разработки программного обеспечения. Он утверждал, что программное обеспечение должно выпускаться своевременно и часто, что лучше выпустить его в незаконченном виде, чем ждать, пока оно станет совершенным, что пользователей следует рассматривать как «со-разработчиков» и что «чем больше глаз, тем меньше неполадок».