ИНТЕРНЕТ: Братство сетей: две башни
Автор: Илья Щуров
Человечество уже много тысячелетий строит здание цивилизации, возводя этаж за этажом и постепенно переселяясь все выше и выше. Мы делаем это без генерального плана и каких-либо чертежей, зачастую следуя лишь интуиции - так что в результате получается не типовое панельное строение, а витиеватый замок со множеством башен, балконов и переходов. Некоторые башни этого замка оказываются интересны лишь их строителям и со временем пустеют, другие обваливаются под собственной тяжестью, третьи же, напротив, приобретают огромное значение в нашей жизни - и становятся фундаментом дальнейшего развития.
В мире информационных технологий многоэтажная "башня"обычно называется стеком технологий. Включая компьютер, чтобы зайти на какой-нибудь сайт, мы как раз и имеем дело с таким стеком: веб-браузер, работающий на базе операционной системы, которая, в свою очередь, работает на каком-то железе. Со стороны же сервера работает другой стек (например, LAMP - Linux+Apache+MySQL+Perl/PHP). Мы будем говорить о том, как развиваются и конкурируют такие стеки: зачастую это происходит по одной и той же схеме.
Сценарий таков. В какой-то момент на базе существующего верхнего технологического "этажа"происходит Инновация, позволяющая создать продукт с невиданными доселе свойствами. Обычно за его реализацию берется сразу несколько разработчиков, и появляется несколько различных конкурирующих продуктов, обладающих близкими потребительскими качествами. (Пользуясь приведенной аналогией, это можно представить себе как строительство нескольких похожих "башенок"на одном фундаменте.) Конкурируя, продукты совершенствуются, усложняются, и в какой-то момент становится ясно, что некоторые из этих "башен"уже достаточно широки, чтобы открыть простор для творчества и самим стать фундаментом для новых инновационных решений, которые неведомы даже их "архитекторам", - достаточно впустить "независимых строителей" (ISV) и снабдить их необходимыми инструментами (API, SDK). Когда это происходит, компании собирают журналистов и выпускают гордые пресс-релизы, в которых сообщают, что их продукт уже не просто продукт, а платформа. И тут начинается самое интересное.
Тот разработчик, которому первым удается правильным образом использовать платформообразующий потенциал своего решения, получает огромное конкурентное преимущество: положительную обратную связь, коими столь богат наш мир. Новые независимые разработчики выпускают новые приложения, которые повышают популярность платформы и делают ее более привлекательной для разработчиков… дальше вы знаете.
Если появляется несколько конкурирующих платформ, каждая из них пытается выжать из этого эффекта максимум - то есть какая-либо совместимость им противопоказана. Напротив, они всеми силами пытаются привязать к себе как можно больше пользователей и разработчиков, переманивая их у конкурентов всеми правдами, а то и неправдами. Действовать иначе означает заведомо проиграть. Как правило, чья-то платформа становится доминирующей (по крайней мере, в своей рыночной нише), и реальная конкуренция замирает - а с нею прекращается и развитие. На какое-то время.
Конкурентам, а порой и собственным клиентам, которых не устраивает стагнация, ничего не остается, кроме как объединить силы, а для этого - договориться об общих подходах (открытые стандарты), а иногда и просто начать совместную разработку альтернативного решения (свободное и открытое ПО). Не всегда это приводит к быстрому изменению баланса сил, но обычно позволяет сдвинуть ситуацию с мертвой точки и вынудить компанию-монополиста мало-помалу открывать свою платформу, двигаясь навстречу принятым стандартам и интегрируясь в строящуюся открытую инфраструктуру.
Виток развития заканчивается тем, что появляется новая стандартизованная платформа, которая становится новым верхним уровнем стека технологий. В этот момент компании, долгое время ориентировавшиеся на захват и удержание "власти платформы", вынуждены переориентировать свой бизнес, чтобы играть на этаже выше. Именно здесь появляются свои инновационные продукты, часть которых со временем вырастает в новые платформы, и круг замыкается.
Мы видели, как это было с архитектурой ПК (читатели со стажем, вероятно, помнят формулировку "IBM PC-совместимый компьютер"), с различными коммуникационными сетями (когда-то было невозможно отправить e-mail из одной сети в другую); на наших глазах происходит стандартизация операционных систем, офисных пакетов (см. тему номера "КТ" #723), IM-протоколов, веб-браузеров…
Можно предложить простой эмпирический критерий того, что некоторый набор технологий стал открытой и стандартизованной платформой: это происходит тогда, когда большинство людей перестает ожесточенно спорить о том, какая из реализаций лучше. Сам по себе веб, по-видимому, ему уже удовлетворяет - браузерные войны давно позади, и период доминирования "HTML от MSIE"сменился какой-никакой поддержкой стандартов - никто не будет всерьез рассматривать "вебдванольный"сайт, который откажется работать хотя бы в Firefox. Девиз "веб как платформа", о котором так долго говорил Тим О’Рейли со товарищи, воплотился в жизнь. Эта битва окончена. Что ждет нас дальше?
Развитие на протяжении всего минувшего года нескольких инициатив, начало которым было положено еще в 2007-м, показывает, что претендент на роль новой единой и стандартной платформы, решающей задачи "простых пользователей" (назовем ее веб-ОС), наконец, найден. Речь идет о социальных сетях, таких как Facebook и MySpace, и порожденных ими платформах для разработки социальных приложений. И, конечно, не обошлось без Google - которого так долго боялись, но который, однако, пока не слишком уверенно чувствует себя на этом поле, хоть и имеет поистине наполеоновские планы. Впрочем, обо всем по порядку.