Децентрализация, часть вторая: федиверс

Самый длинный пост из серии про децентрализацию посвящён сервисам, использующим федеративную структуру: когда серверы всё-таки есть, но ни один из них не хранит данных, критичных для работы всей сети.

· 14 минуты на чтение
Децентрализация, часть вторая: федиверс
Миленького мамонтёнка нарисовала Midjourney, а в качестве референсов был задан маскот Mastodon.

Это вторая часть серии из трёх постов.
В первом посте подняты теоретические моменты — можно начать с него, если интересно разобраться в различиях и терминологии.
Второй пост про федеративные решения, вы его сейчас читаете.
А третий про полностью децентрализованные сервисы.

Пост наполовину состоит из обзора существующих сервисов, и наполовину из размышлений о них. Сразу начну с грустной новости: я не планирую дать однозначный ответ на вопрос «Где регистрироваться». Но, надеюсь, что после прочтения желающим будет чуть проще принять решение.

Федеративные мессенджеры

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

Я почти уверен, что решений значительно больше, но меня интересуют хоть немного массовые протоколы обмена сообщениями. А их всего-то чуть-чуть.

XMPP

Он же Jabber. Из коробки умеет пересылать только текстовые сообщения, но посредством расширений можно реализовать и передачу файлов, и звонки, и сквозное шифрование. Благодаря почтенному возраста, у джаббера полно разных приложений-клиентов, но выбрать подходящее — та ещё задача, учитывая, у всех свой функционал. Кстати, из-за обилия клиентов я не стал иллюстрировать джаббер скриншотом. Долгое время протокол поддерживался гуглом, что позволяло пользователям локальных джаббер-серверов писать друзьям в Google Talk, но нынче это всё выпилили.

💬
Фан-факт: WhatsApp долгое время работал на немного изменённом протоколе XMPP, однако серверы не поддерживали внешние подключения, поэтому никакой федеративности там не было.

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

Скринов не будет: во-первых, я давно не пользуюсь джаббером, а во-вторых, у него нет официального клиента.

Matrix

Достойный современный протокол. У него есть почти официальный кроссплатформенный клиент Element, в котором сразу реализовано всё необходимое: личные чаты со сквозным шифрованием, групповые чаты, звонки, передача файлов и всякое прочее.

В целом, проект развивается, хоть и довольно медленно. Несмотря на простоту регистрации и использования, массовые пользователи к нему пока не приобщаются. В русскоязычной среде он весьма популярен у гиков, которых привлекает сама концепция децентрализованного общения.

Это Element, и в нём открыт мой канал с мемами.

IRC

Если вы думали, что джаббер — это что-то старое, то хочу напомнить, что каким-то чудом ещё живёт IRC. Некоторые серверы которого позволяют строить какую-то коммуникацию с другими серверами. Это даёт какое-то межсерверное общение. Но давайте по-честному, в IRC как правило и без того легкая регистрация, а с учётом отсутствия истории сообщений, федерализация вообще не очень-то и осмысленна.

(А ещё признаюсь честно, я так и не проверил, как оно работает. Меня в целом весьма удивило, что активных публичных серверов в IRC значительно больше, чем полтора)

DeltaChat

Экзотический метод общения, который вообще не похож ни на один другой вышеописанный пример. Причем, принципиально не похож: в качестве транспорта этот мессенджер использует электронную почту. То есть, для него надо просто зарегистрировать почтовый ящик в любом удобном сервисе (почти любом, нужна поддержка протоколов , а затем ввести данные аккаунта в приложение. Соответственно, и собеседников можно идентифицировать просто по адресу почты.

Работает это всё не очень стабильно. Функционал относительно скромный — только личные и групповые чаты. Звонки реализуются через сторонний сервис Jitsi. Зато сразу реализовано сквозное шифрование, а значит, провайдер электронной почты не увидит ваших переписок. И ещё есть поддержка приложений. Но главное — эта штука реально очень живучая, и будет хоть как-то работать до тех пор, пока работает электронная почта.

О каком-либо сообществе пользователей ничего не скажу — я его просто не находил. Вступление в групповые чаты требует сканирования QR-кода, публичных каталогов групп нет.

У меня даже есть специальный аккаунт, чтобы общаться с самим собой. И куча спама от Яндекса...

И последняя рекомендация относительно дельтачата: для него лучше заводить отдельный почтовый ящик, ибо переписки быстро забьют его нечитаемыми зашифрованными сообщениями, среди которых может быть сложно найти что-то полезное. А в списке чатов наоборот постоянно будут какие-то письма — тоже неудобно.

На этом тему федеративных мессенджеров я предлагаю завершить и перейти к более сложному и интересному...

Федеративные соцсети

Тут у нас полно разных решений. Как уже было сказано в прошлой части, у нас тут есть масса разных сервисов, которые могут общаться друг с другом, но не все со всеми. И именно эта совокупность сервисов именуется федиверсом: от federation + universe. То есть, абсолютно нормальная ситуация, когда пользователь Pleroma читает посты пользователя Mastodon и фотки другого пользователя Pixelfed у себя в единой ленте новостей.

GNU social

Ранее известная как StatusNet и Laconica. Пожалуй, самая старая федеративная соцсеть в интернете, успевшая за годы существования дважды сменить своё название. По своему принципу это — микроблог, похожий на твиттер конца нулевых. Активность практически нулевая. Предполагаю, что какие-то отдельные инстансы могут быть населены сторонниками концепции GNU, но в целом там вообще тоска. Даже найти какой-то работающий инстанс — задача не из лёгких.

Например, главная инстанса https://gnusocial.net, который обещал закрыться 31 декабря

Friendica, Hubzilla и Diaspora

Продолжают список три умирающих проекта. Friendica и Hubzilla — родственные проекты с общими корнями, а Diaspora развивалась самостоятельно, и несмотря на это, я вижу смысл объединить их в одну группу. Суть примерно одинакова: нечто среднее между блогом и соцсетью. Hubzilla, на мой взгляд очень сложная в освоении. Friendica ощутимо проще. Diaspora совсем простая и минималистичная, но не даёт практически никаких возможностей кастомизации.

Сообщества во всех трёх соцсетях нынче очень маленькие, суммарно чуть больше 10 тысяч активных пользователей со всего мира. Если мне не изменяет память, раньше активность была значительно выше.

Mastodon

Просто и весьма красиво — вот ключевое отличие мастодона от ранее упомянутых соцсетей, при общем принципиальном сходстве с ними. А ещё это первый сервис, у которого есть нормальное официальное мобильное приложение. Что интересно, в мастодоне нет лайков как явления — их заменяет счётчик добавления в избранное.

Сообщество растёт и развивается, причём довольно активно. По оценкам сторонних аналитических сервисов, сейчас в нём порядка миллиона активных пользователей, хотя, думаю, реально ещё немного больше. Очень много людей пришло из-за продажи Твиттера Маску и последующих изменений, среди которых переименование было наименьшим из зол. Инстансов куча, и на примере мастодона можно увидеть всю прелесть федиверса: каждый инстанс устанавливает свои правила и ограничения, причём различия могут быть колоссальными. У кого-то абсолютная (нет) свобода слова. У кого-то ярко выраженная политическая направленность, а у кого-то политика в принципе под запретом. Где-то тотальный запрет всего ЛГБТК+, а где-то могут не пустить белого цисгендерного мужчину. Различается даже отношение к NSFW-контенту: где-то он запрещён полностью, где-то разрешён при условии размытия (средствами самого мастодона), а где-то разрешён без ограничений. Русскоязычное сообщество мастодона весьма развито и разнообразно, есть несколько разных русскоязычных серверов с разной политикой. В общем, каждый желающий сможет найти себе инстанс по вкусу.

Вот моя учётка. Слева сверху поле для написания поста — весьма минималистично.

Pleroma и Misskey

Ещё два интересных проекта, похожих на Mastodon. Для администратора они интересны тем, что потребляют меньше ресурсов сервера (особенно, плерома), чем мастодон, что отлично подходит небольшим сообществам. Плерома хорошо работает с официальным приложением мастодона. У обоих сервисов помимо лайков есть огромное количество разнообразных реакций к постам, однако мисски выглядит чуть более функциональной, мне из её фирменных фич понравились ачивки. В целом, оба решения похожи, и их можно описать как «стильно, модно, молодёжно».

🍱
Фан-факт: Misskey особо популярен у японского сегмента федиверса, соответственно и в числе его разработчиков много японцев. Это находит своё отражение как в функциональности, так и в дизайне: он немножко специфичный, хотя и далек от вырвизглазных страниц японских сайтов конца нулевых.

Не совсем фан-факт: некоторые инстансы Misskey часто могут иметь проблемы отображения текста у пользователей MacOS — возможно, это как-то связано с адаптацией под японские шрифты, я так и не понял причину.

Pixelfed

Вероятно, самый молодой проект из всего этого списка. Его фишка — это ориентированность на фотографии, что делает его классной федеративной альтернативой инстаграму. Есть фильтры (но пока только в браузере), есть сторисы (тоже в браузере), есть привычные лайки и комменты, но нет аналогов рилсов (и, наверное, хорошо, что нет). Есть приложение, но для iOS оно доступно только через TestFlight, и слотов порой не хватает — если такое случилось, попробуйте присоединиться на следующий день. Андроид-версия, кстати, тоже в раннем доступе.

Международное сообщество сравнительно обширное, в то время как русскоязычное совсем маленькое. Впрочем, это всё-таки соцсеть для фоток, а не для текстов, так что можно и пренебречь.

Выбор фильтра для публикации в Pixelfed

PeerTube

Федеративная альтернатива ютубу. Концептуально — да, это прикольно. Но если писать тексты и фоткать в наше время относительно несложно, то вот производство видео требует куда больших ресурсов, из-за чего интересных авторов тут намного меньше. Посудите сами: активные аккаунты в твиттере и инстаграме были (до недавних пор) практически у каждого, в то время как свой канал на ютубе был редкостью.

Тем не менее, проект жив. Просто, вместо хорошо и качественно сделанных роликов в основном попадается контент в духе ютуба 2007 года. В этом, конечно, тоже есть свой шарм, но цепляет он не всех. А ещё это, пожалуй, неплохой способ просто хостить свои видео для небольших компаний, которые не хотят пользоваться услугами ютубов и аналогов — наличие коммьюнити тут не сыграет особой роли, просто будет готовое решение для хранения и просмотра видео.

Ещё из интересного — проект конечно федеративный, но сами видео можно загружать у других пользователей по принципу торрента. То есть, если много пользователей смотрят одно видео, они будут его преимущественно качать не с сервера, а друг у друга, что снизит нагрузку на сам сервер.

Ну как-то так...

Lemmy

Федеративная альтернатива реддиту. С его помощью можно подписываться на разные сообщества, располагающиеся на разных серверах, но читать в одной ленте. Концептуально — прикольно. На деле мне там скучно — живых русскоязычных сообществ нет вообще, а англоязычных мне и так хватает. Немного обидно, что такая прикольная идея не так уж и активно развивается.

Funkwhale

Не совсем соцсеть. Это федеративный музыкальный стриминг. Можно поднять свой закрытый инстанс, установить приложение и пользоваться вместо классического музыкального стриминга — это просто прикольно. Делиться же своей медиатекой, откровенно говоря, страшновато, поскольку можно схлопотать проблем с авторскими правами. Вероятно, поэтому открытых инстансов, связанных друг с другом, довольно мало.

Кусочек библиотеки одного из инстансов

Ограниченно или условно федеративные сервисы

В этом коротком списке пять сервисов: три из них заявляют о своей федеративности, но их заявления не заслуживают доверия. Один ещё не совсем готов и слишком нишевый. И ещё один нормальный, но односторонний.

Bluesky

Неоднозначный сервис от создателя Твиттера. Заявлено, что он федеративный, однако другими сервисами федиверса его протокол пока не поддерживается — есть только шлюзы в ActivityPub. Теоретически, можно поднять собственный инстанс в соответствии с документацией, но ни один альтернативный сервер я нагуглить не смог. В общем, говорить о какой-то федеративности тут пока рано.

Threads

Аналог Твиттера, запущенный командой Инстаграма. Поднять свой инстанс нельзя. Есть некоторая поддержка протокола ActivityPub, через который можно транслировать данные в федиверс в одностороннем порядке: пользователь мастодона может читать некоторых пользователей тредса, но не наоборот. К тому же, пока и этот функционал работает не для всех. Селфхоста нет, и, конечно, не планируется. В общем, присутствие в федиверсе весьма номинальное.

Tumblr

Ещё одна централизованная блог-платформа, которая тоже планировала поддержку ActivityPub. Прошло два года с анонса, а функционал если и появился, то только у избранных пользователей (я не в их числе), так что, вероятно, дела тут ещё хуже, чем у тредса.

Ghost

Это блог-платформа для самостоятельного развертывания, на которой реализован этот блог. Идея федерализации тут в том, что автор блога может в своей админ-панели подписываться на других пользователей федиверса и читать их там. А пользователи условного мастодона могут подписаться на блог и получать обновления постов в своих лентах. Пока это всё в альфа-версии, но я с нетерпением жду публичного релиза — использовать альфа-версию здесь всё-таки не хочу.

Wordpress

Это тоже блог-платформа для селфхостинга, причем, пожалуй, самая популярная. Поддержка федиверса тут не совсем нативная, и реализуется с помощью дополнения. Работает только в одну сторону: посты вашего блога можно будет читать в других соцсетях.

Проблемы федиверса

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

Вторая проблема — это порочный круг «мало пользователей — мало авторов» В твиттере раньше было несложно найти людей, которых было бы интересно читать. Аккаунты были и у знаменитостей, и у компаний, готовых делиться своими новостями. В федиверсе же знаменитостей довольно мало — им будет просто сложно найти свою аудиторию. Компаний и того меньше. А если мало авторов, то и у пользователей меньше причин регистрироваться в соцсети, в которой некого читать. К примеру, суммарное количество пользователей всех инстансов мастодона в двадцать с лишним раз меньше, чем количество подписчиков аккаунта Тейлор Свифт в инстаграме — ей попросту нет смысла вести аккаунт в федиверсе с таким дизбалансом. И напомню, в федиверсе с деньгами всё плохо, и вряд ли кто-то станет инвестировать в привлечение авторов с других платформ.

Третья проблема — это сложность для пользователя. Причём, сложности начинаются ещё до регистрации — надо выбрать один подходящий инстанс из множества. Это может показаться несложной задачей, когда есть какой-то инстанс, рекомендованный командой разработчиков (как, например, это происходит с матриксом). Но когда надо выбирать среди множества равнозначных инстансов с разной политикой модерации, с разным основным языком сервера — становится куда сложнее. А когда ваш привычный инстанс закроется — этот процесс придётся повторять снова. Более того, некоторые сервисы довольно сложны в освоении. В хабзилле, например, я так и не разобрался до конца.

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

Кому будет прикольно в федиверсе

В первую очередь, гикам. В матриксе довольно много русскоязычных чатов технической тематики. В мастодоне, мисски и плероме основная русскоязычная аудитория — это как раз энтузиасты, которым интересно пробовать новые технологии.

Англоязычное сообщество значительно более обширное, и разнообразное, поэтому если вы свободно читаете по английски, то вам мой блог вообще вряд ли интересен, хаха будет значительно проще найти интересных авторов.

Поскольку каждый владелец инстанса сам устанавливает правила, в федиверсе можно найти ресурсы, нацеленные на публикацию контента, который в централизованных соцсетях принято банить. Для кого-то это сомнительный плюс, но такова обратная сторона свободы слова. Однако, зачастую, такие инстансы забанены на большинстве других инстансов, то есть, будучи пользователем крупного сервера вы вряд ли увидите лютые непотребства с других серверов. А некоторые сервисы типа праворадикального Gab или Truth Трампа хоть и используют Mastodon в качестве основы сервиса, фактически ни с кем не поддерживают федеративных связей в принципе.

Вообще, федиверс выглядит как идеал для либертарианцев: собственности и физического насилия в сети быть не может, а всё остальное регулируется правилами. Никакого принуждения, полная свобода выбора среди множества сообществ-инстансов.

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

Как понять, где регистрироваться

Я начинал пост с обещания, что не буду отвечать на вопрос «где регистрироваться». Вместо этого будет чуть более сложный путь, который может привести к принятию такого решения.

Сперва определитесь с потребностями

Если вам нужно общение в формате личных и групповых чатов — есть смысл обратить внимание на Matrix и DeltaChat. Я бы делал упор на матрикс, если бы не одно «но»: периодически в чатах люди пишут, что их любимый сервер заблокирован в их стране. Поэтому матрикс больше подойдёт тем, кто хочет общаться с коммьюнити и не боится блокировок, а дельтачат тем, кто хочет общаться с друзьями даже в условиях жестких ограничений. Jabber и IRC я не хочу рекомендовать — не надо мучить старичков.

Если интересны соцсети, то выбирать стоит из Mastodon, Pleroma, Misskey и Pixelfed. Мастодон среди них самый популярный благодаря широкой поддержке сообщества и удобным мобильным приложениям. Пиксельфед подойдёт тем, кто ищет соцсеть для фоток (но учтите, что функционал публикаций из приложения пока ограничен фотографиями без редактирования — сторисы и фильтры только в браузере). Плерома может понравиться тем, кто хочет совмещать кастомизацию с минимализмом и легковесностью, в то время как мисски предлагает ещё чуть больший функционал. А поскольку все четыре сервиса поддерживают протокол ActivityPub, их пользователи смогут свободно подписываться друг на друга.

PeerTube, FunkWhale и Lemmy можно выбрать тем, кто хочет сосредоточиться на конкретных типах контента.

А вот Hubzilla, Friendica, Diaspora и уж тем более GNU social я, пожалуй, просто не стану рекомендовать – они, к сожалению, умирают.

А затем выбирайте инстанс

Для регистрации в DeltaChat нужно завести аккаунт почты — выбирайте любой, ваши сообщения будут зашифрованы, и на правила вам будет глубоко наплевать.

Выбрать сервер Matrix немного сложнее, но можно пройтись по официальному списку и выбрать что-то подходящее. Иронично, что сейчас в списке нет ни одного русскоязычного сервера.

Инстансы федиверса выбирать сложно, но на помощь приходит ресурс, посвященный, собственно, федиверсу: Fediverse.Party. Выберите сервис, который вас интересует, проскролльте до раздела «Join the network», откройте любой доступный список, проставьте желаемые фильтры и выбирайте какой-нибудь хоть немного активный инстанс.

Относительно мастодона — мне очень нравится список https://instances.social/, поскольку он позволяет учитывать предпочтения в политике модерации сервиса. Однако, его языковые фильтры могут быть весьма обманчивы: многие инстансы позиционируют себя как многоязычные. И ещё один список, не участвующий в Fediverse.Party — Mastodon Servers.

А ещё можно просто погуглить. Некоторые админы не стремятся включать свои инстансы в каталоги — ведь лишняя нагрузка на инстанс не приносит никаких доходов — поэтому такие серверы придётся искать где-то на стороне. Возможно, такой инстанс будет не первым вашим инстансом.

Или можно поднять свой инстанс

Я не буду учить, как это делать: пост и без того большой. Если у вас есть навыки администрирования серверов — докер в помощь, почти любой сервис давно обёрнут в образ. Если нет — лучше оставьте эту затею, поберегите нервы.

Что поднимать из чатов: для дельты, как уже выше говорилось, нужен только почтовый сервер, и тут выбирайте из любых доступных вариантов. У матрикса нет идеального решения: есть прожорливый но стабильный Synapse, способный повесить маленькую виртуалку за две минуты при полном отсутствии активности, а все остальные решения в бете или в альфе, и из них мне рекомендовали попробовать conduwuit (но я пока этого ещё не сделал).

С соцсетями примерно такая же картина: Mastodon жрёт очень много ресурсов и с его настройкой придётся повозиться. Pixelfed оптимизирован немного лучше — по крайней мере у меня он ни разу не отправлял LA сервера в небеса. Misskey считается более легковесной соцсетью, а Pleroma ещё лучше в плане производительности — но я не пробовал разворачивать ни то, ни другое.

Впрочем, выбор весьма широк, на четырёх сервисах свет клином не сошёлся. В каталоге selfh.st уже больше 30 сервисов, поддерживающих ActivityPub — самый популярный протокол межсерверного взаимодействия в федиверсе.

А кого читать или с кем общаться?

В матриксе всё довольно легко: есть поиск по публичным групповым чатам (комнатам). Добавьте в него несколько популярных серверов, чтобы расширить области поиска, и изучайте доступные комнаты.

В федиверсе всё сложнее. Простой вариант — искать посты по тегам или ключевым словам. По постам находить авторов и подписываться. Чтобы найти русскоязычных авторов, можно посмотреть репосты пользователя @[email protected] — это бот, который репостит русскоязычные посты, за исключением новостных ботов.

Ну и можно со мной подружиться, конечно же в Mastodon, Pixelfed и Matrix. В матриксе у меня также есть чат к этому блогу (он связан с чатом комментов в телеге) и чат-канал с мемами.


Для тех, кто не читал первую часть — она тут. Третья тоже доступна. Комменты, как обычно, в телеге. Ну и заглядывайте в чатик в матриксе, если заинтересовались!

Mastodon