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

c541ccc1b92e872108de7a532dbf2ccf.jpg

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

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

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

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

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

Децентрализованную сеть нельзя купить!

Но есть другой путь: обесценить её. Именно так Google поступил с XMPP.

Как 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 на поле бездумной идеологии «рост любой ценой», мы наверняка проиграем. Они асы этой игры. Именно они пытаются перетянуть всех на своё поле, вовлечь людей в конкуренцию, а сами при этом будут продавать стволы соперничающим сторонам.

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

© Habrahabr.ru