И в начале 1990-х, когда интернет вышел из-под крыла правительственных и научных кругов к мейнстримным пользователям, он взял с собой эту культуру. К Сети присоединялось все больше людей, и они наследовали этот эгалитарный дух. Киберпространство было действительно открытым. Как писал в 1996 году в своей «Декларации независимости киберпространства» Джон Перри Барлоу, поэт-активист, а иногда и автор текстов группы Grateful Dead, «мы создаем мир, в который каждый может войти без каких-либо привилегий или предубеждений, обусловленных расой, экономическим положением, военной силой или местом рождения»[39]. Словом, интернет олицетворял свободу и новое начало.
Тот же дух пропитывал и саму технологию. интернет зиждился на публичных протоколах, которые представляли собой набор правил для компьютеров – участников сетей. В древности «протоколами» (от греч. prōtokollon) называли «первый лист тома», часто с оглавлением. Со временем это слово стало означать перечень «дипломатических условностей», а позже, уже в ХХ веке, – «технические стандарты для программного обеспечения». Этот последний, высокотехнологический, контекст широко распространился с появлением ARPANET, ведь протоколы – доступные и открытые для всех – легли в основу развития интернета.
Воспринимайте их как аналоги естественных языков, скажем, английского или суахили. Они позволяют компьютерам взаимодействовать друг c другом. Если вы станете говорить как-то иначе, есть шанс, что другие люди вас не поймут. Выражаясь техническим языком, вы прекратите взаимодействие с ними. А еще, имея достаточное влияние, вы можете изменить то, как говорят другие, ведь диалекты способны превращаться в новые языки, но только если к вашему сообществу присоединятся новые участники. Словом, для нормального функционирования и протоколов, и языков требуется консенсус.
Протоколы лежат слоями друг на друге и в итоге – на вычислительных устройствах, образуя так называемый стек[40]. Компьютерщику полезно знать все слои стека, как и нюансы между ними. Известная модель OSI (Open Systems Interconnection – модель взаимодействия открытых систем) идентифицирует семь слоев. Для нашего обсуждения достаточно представить себе три слоя. Самый нижний состоит из аппаратного обеспечения: серверов, ПК, смартфонов, подключенных к интернету устройств, таких как телевизоры и видеокамеры, а также сетевого оборудования, которое все это объединяет. Другие слои строятся на этом фундаменте.