Впрочем, несмотря на все свои преимущества, долгое время он оставался «игрушкой для гиков» и использовался в основном в корпоративном секторе и open source-сообществе, не приемлющем закрытых стандартов и протоколов. Победить «большую тройку» IM-сетей (AIM/ICQ, MSN, YIM) с их огромной пользовательской базой и поддержкой гигантов интернет-рынка в открытом бою «Федерация независимых серверов Jabber» во главе с Jabber.org была не в силах.
В Яндексе для «мгновенного» общения внутри компании используется Jabber. Он был выбран по ряду причин. Во-первых, была нужна IM-система, сервер которой можно поставить в организации — глупо пропускать корпоративную переписку, содержащую секретные сведения, через неподконтрольные компании серверы.
Во-вторых, хотелось, чтобы для работы с этой системой можно было использовать привычные для многих сотрудников «мультипротокольные» интернет-пейджеры, такие как Trillian, GAIM, Miranda или SIM. В-третьих, хорошо бы, чтобы это был открытый протокол.
Кажется, этим трем условиям удовлетворяет только Jabber. По первому пункту подошли бы еще ICQ Corporate, MS LCS или SIMPLE, но второй и третий пункты определяют выбор.
В качестве серверного ПО мы используем ejabberd. Это во многом «отечественная» разработка, то есть ведущаяся в основном программистами из России и Украины.
Клиентское ПО — кому какое удобнее, хотя есть и клиент для тех, кто не пользуется «мультипротокольными» пейджерами. Это брэндированный вариант одного из Jabber-клиентов.
Google оказался первым мускулистым игроком, поддержавшим Jabber на рынке публичных IM-сервисов. Выпустив Google Talk в августе 2005 года, компания также сделала доступной для open source-сообщества разработанное совместно с Jabber Foundation расширение Jingle для XMPP, позволяющее совершать голосовые и видео-звонки. В начале 2006 года Google объявил о подключении GTalk к «федерации» — открытии связности с другими Jabber-серверами и сторонними сервисами. Google также заявляет о поддержке сторонних Jabber-клиентов (в частности, на тех платформах, на которых оригинальный Google Talk не работает). Важно также, что Jingle — полностью «клиентское» решение, не требующее поддержки со стороны сервера. Тем самым, с появлением альтернативных клиентов, поддерживающих эту технологию (уже существующих в виде бета-версий — например, Jabbin [рис. 4] или Jingle-ветвь популярного клиента Psi), голосовой обмен станет также децентрализованным — исчезнет всякая привязка к Google Talk.
Другая серьезная заявка о поддержке Jabber поступила со стороны LiveJournal. Отказавшись от написания собственного клиента, разработчики сделали свое серверное решение, интегрировав Jabber-аккаунт с пользовательским аккаунтом в LJ: синхронизированный список контактов, иконки/юзерпики, уведомления о новых сообщениях и возможность постинга через специального «робота». Подключение к «федерации» — в ближайших планах разработчиков. Заметим, что сверхпопулярная в США социальная сеть MySpace пошла прямо противоположным путем: выпустила собственный IM-клиент — но, увы, основанный на очередном закрытом протоколе.
Следует отметить также проект Gizmo (рис. 5), предоставляющий сервисы IP-телефонии, аналогичные Skype (в том числе «приземление» звонков на обычные телефонные сети), но на основе открытых протоколов: в частности, для управления VoIP-сессиями используется SIP (открытый стандарт VoIP-индустрии), а для текстового чата — Jabber, что открывает определенный простор для связи с другими сетями (как VoIP, так и IM). Впрочем, Gizmo использует некоторые проприетарные кодеки для передачи голосового трафика и закрытое клиентское ПО и, тем самым, не является полностью открытым решением.
Единая сеть обмена сообщениями и VoIP-трафиком появляется на наших глазах. Не всегда охотно, но разделенные IM-сети все-таки договариваются друг с другом о совместимости и взаимопроникновении сервисов. Владельцы проприетарных протоколов раскрывают свои спецификации. Сильные игроки начинают поддерживать открытые решения. И проект Jabber здесь играет одну из главных ролей.
Впрочем, не стоит забывать: Jabber создавался не только для поддержки интернет-пейджинга, но и для произвольного двустороннего обмена данными. Со временем, он может сменить HTTP, предоставив принципиально новые возможности по созданию веб-приложений. Или вообще образовать инфраструктуру для появления какого-нибудь Веб 3.0. Кто знает, во что завтра может вылиться сегодняшняя болтовня?
Почему было решено разработать собственный протокол для IM, а не использовать открытый и стандартизованный протокол Jabber/XMPP (как это сделал, скажем, Google Talk)?