Как погубить децентрализованную сеть (на примере Федиверса)

Федивёрс стал привлекать всё больше внимания и набирать известность. Люди стали всерьёз им пользоваться. Это не могло укрыться от внимания Империи.

2023 год. Контроль над Интернетом захвачен Империей GAFAM. Но несколько мелких анклавов пока не сдались оккупационному режиму. А некоторые из этих непримкнувших объединили усилия, консолидируясь в сообщество под названием «Федивёрс».

Благодаря спорам на просторах Twitter и Reddit Федивёрс стал приобретать всё большую известность, и люди стали всерьёз им пользоваться. Это не могло укрыться от внимания Империи.

Fediverse не должен федерироваться с Meta

Капиталисты против конкуренции

По выражению Питера Тиля, одного из наиболее известных инвесторов Facebook, «Конкуренция – для лузеров». Да, эти лицемеры, утверждающие, что «рынок всё решает», подчиняться рынку совсем не хотят, хотя они уже на него пришли. Им нужна монополия. Facebook с самого рождения был заточен на уничтожение любой конкуренции. И проще всего этого добиться, скупая компании, которые рано или поздно могут её тебе составить. Такая судьба постигла, например, Instagram и WhatsApp – их купили только потому, что они предлагали пользователям привлекательный продукт и отнимали место под солнцем у Facebook.

Но Федивёрс купить невозможно – ведь это неофициальная сеть частных серверов, обменивающихся информацией по протоколу ActivityPub. На этих серверах даже может использоваться разное программное обеспечение (самое известное - Mastodon, но существуют также Pleroma, Pixelfed, Peertube, WriteFreely, Lemmy… и многое, многое другое).

Децентрализованную сеть купить невозможно! Но есть другой путь: обесценить её. Именно так Google поступил с XMPP (Jabber).

Как Google присоединился к федерации XMPP

В конце XX века службы обмена мгновенными сообщениями (инстант-мессенджеры) дошли до наивысшей, пожалуй, точки популярности. Одним из первых успешных мессенджеров была аська (ICQ). Вслед за ней вскоре появился мессенджер MSN. MSN был тиктоком своего времени: миром, где подростки могли часами и днями зависать без присмотра взрослых.

Поскольку MSN входил в состав Microsoft, Google захотел составить ему конкуренцию и в 2005 году выпустил свой Google Talk, включив его в интерфейс Gmail. Напомню, что в те времена не существовало смартфонов, а веб-приложения были наперечёт. Всё надо было устанавливать на свой компьютер, и веб-интерфейс Gmail был на тот момент прорывной технологией. В какой-то момент MSN даже встроили в Microsoft Windows, и удалить его оттуда было по-настоящему трудно. Но чаты Google в веб-интерфейсе Gmail были гораздо ближе к пользователю даже по сравнению с мессенджером, встроенном в операционную систему.

Тем временем, пока Google и Microsoft сражались за гегемонию, энтузиасты свободного ПО пытались сделать свой децентрализованный мессенджер. В результате появился XMPP, который работал по федеративному протоколу - как электронная почта. Множество серверов могли обмениваться данными по этому протоколу, и каждый пользователь подключался к конкретному серверу через установленный у себя клиент. После этого пользователь мог общаться с любым другим пользователем, подключившимся к любому серверу через любой клиент. Именно по такому принципу сейчас работает протокол ActivityPub и, соответственно, Федивёрс.

В 2006 Google talk стал совместим с XMPP. В Google отнеслись к XMPP со всей серьёзностью. Помню, в 2008 году мне однажды позвонили на работу. Кто-то на той стороне сказал: «Здравствуйте, мы из Google, хотим предложить вам работу». Я сделал несколько звонков – и оказалось, что меня нашли через список разработчиков XMPP. Они искали сисадминов для поддержки серверов XMPP.

Так Google серьёзно вошёл в федерацию. Насколько круто это воспринималось? Это означало, что внезапно все до единого пользователи Gmail стали пользователями XMPP. Для XMPP это только на благо, верно? Я был в экстазе.

Как Google погубил XMPP

Но, как говорится, «гладко было на бумаге». Прежде всего, несмотря на активное участие в разработке стандарта XMPP, Google готовил и закрытую реализацию, к которой никого не подпускал. Потом окажется, что они не слишком серьёзно относились к тому протоколу, который разрабатывали. Реализовывали не всё. Они вынудили сообщество замедлить разработку XMPP, чтобы приспособиться к процессу. Приятные фунуции не реализовывались или не использовались в XMPP-клиентах, так как оказывались несовместимы с Google Talk (так, например, аватарки мучительно долго не могли закрепиться в XMPP). Федерация иногда сбоила: случалось так, что целыми часами или днями не работала связь между серверами Google и обычными серверами XMPP. Сообщество XMPP переквалифицировалось в сторожей и отладчиков серверов Google, сообщая о нерегулярности и простоях (я сам это делал несколько раз; возможно, именно это подтолкнуло меня сменить работу).

Поскольку пользовательская аудитория Google talk была гораздо шире, чем аудитория «настоящих пользователей XMPP», почти не оставалось возможности обойти вниманием пользователей Google talk. Новички, открывавшие для себя XMPP и не будучи при этом пользователями Google talk, сами воспринимали такой опыт болезненно, так как в списке контактов у них были в основном контакты из Google Talk. На первый взгляд, коммуникация с ними должна была бы пойти без труда, но фактически мессенджер XMPP представлял собой урезанную по функционалу версию Google talk. В типичный список контактов XMPP входили в основном пользователи Google Talk да плюс несколько гиков.

В 2013 году в Google осознали, что большинство взаимодействий по XMPP всё равно происходит среди пользователей Google Talk. Гуглеры даже и не пытались уважать протокол, который не контролировали на 100%. Поэтому они перекрыли проекту кислород и объявили, что федеративным он больше не будет. После чего началась долгая история по разработке собственного мессенджера. Первым вариантом был Hangout (а затем Allo, Duo. Далее я не следил).

Ожидаемо, что никто из пользователей Google никак не отреагировало на это. Фактически они даже не поняли, что произошло. В худшем случае некоторые контакты у кого-то навсегда ушли в оффлайн. Вот и всё. Но для федерации XMPP ситуация выглядела так, будто большинство пользователей внезапно куда-то исчезли. Даже закоренелым фанатикам XMPP, таким, как ваш покорный слуга, пришлось создать аккаунты Google, чтобы не потерять связь с друзьями. Напоминаю: для них мы просто оказались в оффлайне, вроде как сами были в этом виноваты.

При том, что XMPP сохранился до наших дней и остаётся очень активным сообществом, мессенджер так и не оправился от того удара. Завышенные ожидания от «нас взяли в Google» обернулись жестким разочарованием и тихим сползанием в небытие. XMPP стал нишевым. Настолько нишевым, что, когда все ринулись в групповые чаты (Slack, Discord), сообщество разработчиков свободного ПО просто переизобрело такой протокол (его назвали Matrix), чтобы иметь возможность конкурировать – тогда как в XMPP уже была возможность создавать групповые чаты. (Оговорюсь: я никогда не изучал протокол Matrix, поэтому понятия не имею, как он соотносится с XMPP с технической точки зрения. Просто считаю, что он решает те же задачи, что и XMPP, а также конкурирует в том же пространстве).

Сложилась бы судьба XMPP иначе, если бы союз с Google не состоялся, либо если бы вопрос слияния с Google не рассматривался? Сейчас уже не скажешь. Но я убеждён, что сообщество росло бы медленнее и, возможно, выросло бы более здоровым. Оно было бы более крупным и значительным, чем является сегодня. Де-факто это была бы основная платформа для децентрализованной коммуникации. Я уверен в одном: без союза с Google XMPP чувствовал бы себя не хуже, чем сейчас.

Это был не первый случай: вспомним о Microsoft Playbook

То, что Google сделал с XMPP, случалось и раньше. На самом деле ещё в 1998 году программист Винод Валлопллил из Microsoft написал открытую статью «Blunting OSS attacks» (в литературном переводе - «Как умерить аппетиты опенсорса»), в которой предлагал «де-коммодитизировать ( тоесть выводить из общего доступа) протоколы и приложения. Надстраивая эти протоколы и разрабатывая новые, мы сможем не допустить на рынок проекты, разрабатываемые как свободное ПО». Microsoft воплотила это на практике, выпустив ОС Windows 2000, в которой поддерживался протокол обеспечения безопасности Kerberos. Но затем этот протокол расширили. Спецификации таких расширений можно было свободно скачать, но при этом требовалось принять лицензию, запрещавшую внедрять эти расширения. Стоило вам нажать «ОК» — и вы теряли возможность работать с любой опенсорсной версией Kerberos. Это делалось с единственной целью – убить любой конкурирующий сетевой проект, например, Samba.

Эту историю приводит Глин Муди в своей книге «Rebel Code», чтобы продемонстрировать, что уничтожение опенсорсных и децентрализованных проектов на самом деле велось сознательно. Такое никогда не происходит случайно и никогда не сводится к «просто не повезло».

Microsoft применила похожую тактику, чтобы обеспечить себе доминирование на рынке офисных приложений: в Microsoft Office стали использоваться проприетарные форматы (формат файла можно расценивать как протокол для обмена данными). Когда альтернативные решения (OpenOffice и LibreOffice) научились достаточно хорошо открывать файлы в форматах doc/xls/ppt, Microsoft выпустила новый формат, который назвала «открытым и стандартизированным». Этот формат целенаправленно сделали очень сложным (20 000-страничный комплект спецификаций!), а самое главное – неправильным. Да, в спецификацию были специально введены ошибки, и поэтому софт, полностью реализовывавший формат OOXML, работал иначе, чем Microsoft Office.

Эти баги плюс лоббирование в верхах, в частности, привели к тому, что город Мюнхен отказался от идеи полностью перейти на Linux. Так что это в самом деле реально работающая стратегия. Именно поэтому сегодня docx, xlsx и pptx – по-прежнему норма. Рассказываю об этом на собственном опыте, так как власти Мюнхена оплачивали мне работу по приближению OOXML-рендеринга в LibreOffice к стандартам Microsoft, что шло вразрез со спецификацией.

ОБНОВЛЕНИЕ: В Википедии даже есть статья, посвящённая этой тактике

Meta и Федивёрс

Кто не учит уроков истории, обречён их пересдавать. Ровно та же история произошла между Meta и Федивёрсом.

Ходили слухи, что Meta станет «Федивёрс-совместимой». Вы сможете сделать себе аккаунт на Mastoson и следить с него за лентами ваших друзей из Инстаграма.

Не знаю, есть ли в этих слухах зерно истины, возможно ли вообще, чтобы Meta рассматривала такой вариант. Но есть один момент, который я усвоил на собственном опыте, работая с XMPP и OOXML: если Meta присоединится к Федивёрсу, то в выигрыше от этого будет только Meta. И реакция сообщества подсказывает, что эта победа уже назревает: в Федивёрсе начались споры о том, блокировать Meta или нет. Если блокировка состоится, то у нас получится удручающе фрагментированный двухуровневый Федиверс, не слишком привлекательный для новичков.

ОБНОВЛЕНИЕ: Эти слухи подтвердил, как минимум, один администратор Mastodon под ником kev, работающий в fosstodon.org. К нему обращались с приглашением принять участие в негласном совещании Meta. Он отреагировал наилучшим возможным образом: вежливо отказал и, что самое важное, опубликовал это письмо с указанием адресатов и адресанта. Спасибо тебе, kev!

Письмо от Meta на адрес Kev из Fosstodon и ответ на это письмо

Знаю, все мы мечтаем когда-нибудь перетянуть всех родных и близких в Федивёрс, чтобы полностью избавиться от общения в проприетарных сетях. Но Федивёрс не стремится к доминированию на рынке или к прибылям. К Федивёрсу подключаются люди, ценящие свободу. Если люди к свободе не готовы или не стремятся к ней – это нормально. Они вправе оставаться в привычных проприетарных сетях. Силой тянуть в Федивёрс никого не надо. Не стоит пытаться максимально увеличивать аудиторию любой ценой. Мы должны быть честны и не сомневаться, что люди присоединяются к Федивёрсу именно потому, что разделяют те или иные его ценности.

Конкурируя с Meta на поле непродуманной идеологии «рост любой ценой», мы наверняка проиграем. Они асы в этих играх. Именно они пытаются перетянуть всех на своё поле, вовлечь людей в конкуренцию, а сами при этом будут продавать оружие соперничающим сторонам.

Федивёрс может победить, лишь удержав свою территорию и говоря о свободе, морали, этике и ценностях. Ведя открытые некоммерческие переговоры, в которых никто ни за кем не шпионит. Признавая, что нет цели победить. Не икушаясь желанием «поддержать». Цель – остаться функциональным. Настолько, чтобы служить островком свободы для людей, связанных одной цепью. Такого вам никогда не сможет предложить ни одна коммерческая компания.

Оригинал: Lionel Dricot. How to Kill a Decentralised Network (such as the Fediverse)

Перевод: Wandering Thinker

Профессиональный перевод от Sivchenko_translate

Илюстрация: David Revoy

P.S. Своё мнение об интеграции с Meta, по стечению обстоятельств как раз в день выхода оригинальной статьи, я уже высказывал в Федивёрсе, когда переводил Почему важен FediPact:

Корпорации исповедуют идеологии империй, их единственная цель - это захват и подчинение, чего бы это ни касалось. И потому всё человеческое, к чему они прикасаются, превращается в дерьмо. Других чудес эти волшебники творить не умеют, и примеров тому масса. Очень старый приём - перекупить, подчинить и потом похерить, если оно им мешает. У меты и ей подобных цель единственная - контроль над пользователями для продвижения своих бизнес-проектов. И полное отсутствие какой-либо этики для её достижения. “Цель оправдывает средства” - знакомо ведь? А потому коли уж есть ещё место для нормального общения, то надо его сохранять. И гнать отсюда ссаными тряпками всех мета-подобных. Эти два мира не должны смешиваться. Не надо тащить сюда их закон курятника в качестве поведенческой основы.

Лицензия Creative Commons