LINUX.ORG.RU

Gitter становится частью сети Matrix

 , , ,


2

3

Компания Element приобретает Gitter у GitLab, чтобы адаптировать сервис для работы в условиях федеративной сети Matrix. Это первый крупный мессенджер, который планируется прозрачно перенести в децентрализованную сеть вместе со всеми пользователями и историей сообщений.

Gitter является свободным централизованным средством для групповой коммуникации между разработчиками. Помимо типовой функциональности командного чата, по сути своей схожей с несвободным Slack, Gitter также предоставляет инструменты для тесной интеграции с платформами совместной разработки, вроде GitLab и GitHub. В прошлом сервис был проприетарным, пока его не приобрела компания GitLab.

Matrix же представляет собой свободный протокол для реализации федеративной сети, построенной на основе ациклического графа событий (DAG). Основной реализацией этой сети является мессенджер с поддержкой сквозного шифрования и VoIP (аудио- и видеозвонков, групповых конференций). Эталонные реализации клиентов и серверов разрабатываются коммерческой компанией Element, сотрудники которой также возглавляют некоммерческую организацию Matrix.org Foundation, курирующую разработку спецификации протокола Matrix.

На данный момент пользователи Gitter и Matrix общаются с помощью «моста» matrix-appservice-gitter, релея для пересылки сообщений между ними. При отправке сообщения, например, из Gitter в чат с подключённой интеграцией в Matrix, «мост» создаёт виртуального пользователя для отправителя из Gitter на сервере Matrix, от имени которого и доставляется сообщение в чат со стороны Matrix, и наоборот соответственно. Подключение такой интеграции возможно прямо из настроек чата со стороны Matrix, но этот способ коммуникации будет помечен устаревшим.

В краткосрочной перспективе пользователи не заметят никаких видимых изменений: они смогут пользоваться мессенджером так же, как и до покупки. В дальнейшем процесс трансформации из централизованного сервиса в децентрализованный субъект федерации будет совершён благодаря организации нового сервера Matrix и интеграции «моста», по аналогии с matrix-appservice-gitter, прямо в кодовую базу Gitter. Существующие чаты в Gitter будут доступны как Matrix-комнаты, вроде «#angular_angular:gitter.im», с импортированной историей сообщений.

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

Из полезных особенностей Gitter, которые могут адаптировать для Element:

  • Высокая производительность при просмотре чатов со значительным количеством пользователей и сообщений;
  • Тесная интеграция с платформами совместной разработки, вроде GitLab и GitHub;
  • Иерархический каталог чатов;
  • Дружелюбный к поисковым системам статический вид публичных чатов;
  • Поддержка разметки в KaTeX;
  • Древовидное ветвление сообщений (threads).

Компания Element обещает, что фронтенд Gitter будет заменён на Element только в том случае, когда Element достигнет паритета в функциональности. До тех пор кодовая база Gitter будет поддерживаться в актуальном состоянии без регрессий в функциональности.

Сотрудники Gitter будут также трудиться и на пользу Element.

>>> Подробности

★★★★★

Проверено: alpha ()
Последнее исправление: shahid (всего исправлений: 14)

Да что вообще это всё такое и зачем это ненужно?

Alve ★★★★★
()
Ответ на: комментарий от commagray

Jabber показал...

как правильно создавать децентрализованный именно мессенджер. Без привязок к номерам телефонов и прочей фигни.

Федерирование как таковое, это спорная идея. Для голосовых вызовов есть и asterisk и voip-клиент есть в любом странном смартфоне. И вовсе не обязательно ставить в известность какого-либо «владельца сервера», если астерикс мой. Личный.

Если мне нужен видеочат, да WebRTC у меня есть и без вас. И stun/ice/turn сервер, например, свой личный. Аутентификация так же есть, чужие там не ходят. Зачем мне ваш этот новый модный веб-чатиг, если у меня и так всё есть?

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

Moisha_Liberman ★★
()

Щетаю, что это хорошо. Ещё один степ к швабодке. Defi и все прочее. Скоро мы наш интернет не узнаем.

yvv ★★☆
()
Ответ на: Jabber показал... от Moisha_Liberman

создавать децентрализованный именно мессенджер

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

Где в XMPP децентрализация мессенджера?

commagray ★★★★★
() автор топика
Последнее исправление: commagray (всего исправлений: 1)
Ответ на: комментарий от commagray

Проблема не в том, что он единственный. Проблема в том, что он превалирующий и без него значительная часть сети отвалится. Проблему прозрачного переноса учёток между серверами Matrix так и не решил, а ведь это реальный недостаток e-mail/IRC/XMPP, издревле создающий неудобства.

mertvoprog
()
Ответ на: комментарий от mertvoprog

Проблему прозрачного переноса учёток между серверами Matrix так и не решил, а ведь это реальный недостаток e-mail/IRC/XMPP, издревле создающий неудобства.

WIP.

https://github.com/matrix-org/matrix-doc/blob/neilalexander/identities/proposals/2787-portable-identities.md

matrix.org собираются погасить, когда это реализуют.

commagray ★★★★★
() автор топика
Последнее исправление: commagray (всего исправлений: 2)
Ответ на: комментарий от commagray

как надо реализовывать виджеты

Так, как предлагает Element — не надо :P

групповые видео-конференции?

Для этого есть проверенные мастодонты типа BBB, какая-то маргинальная Jitsi-поделка (украденная из Jabber, что забавно) вряд ли приживётся.

mertvoprog
()
Ответ на: комментарий от commagray

Не совсем так.

В XMPP групповые чаты хранятся централизованно,

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

Moisha_Liberman ★★
()
Ответ на: комментарий от commagray

Я рад.

Ну, а в Matrix это пофиксили на уровне протокола. Конец истории.

Слава Богу, но для меня эта история даже и не начиналась.

Где в XMPP децентрализация мессенджера?

ЛОЛ, простите, ШТО? Да он с момента создания децентрализован. Не было и нет единого сервера XMPP.

Moisha_Liberman ★★
()
Ответ на: Я рад. от Moisha_Liberman

Да он с момента создания децентрализован

Конференция хранится на одном сервере и превращается в тыкву, когда он оффлайн.

commagray ★★★★★
() автор топика
Ответ на: комментарий от mertvoprog

Нет. Тебе предлагали сохранить бекап от ключей шифрования.

Реализации распределённого ID ещё нет, оно на этапе обсуждения.

commagray ★★★★★
() автор топика
Ответ на: комментарий от commagray

А зачем Вам...

сервер в оффлайне, не подскажете?

И кто сказал что не может быть двух параллельных серверов, даже в разных сегментах сети? Слышали про горизонтальное масштабирование? Ну вот, оно и есть. И нет, это ни как не зависит от самого по себе протокола.

Moisha_Liberman ★★
()
Ответ на: комментарий от commagray

превращается в тыкву

Переезжаем на другой :P

Люди вон целые резервные мессенджеры держат; видали, например, временные переходы из Skype в Viber и из Slack в Telegram в случае перебоев с первыми. А тут тупо сервер другой прописать, вообще проблема надумана.

mertvoprog
()
Ответ на: комментарий от mertvoprog

Переезжаем на другой

А я не переезжаю. Прямо в той же конфе начинается обсуждение, что УПАЛИ.

commagray ★★★★★
() автор топика
Ответ на: комментарий от commagray

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

У XMPP такой фигни нет, вся возня на уровне расширений или подлежащих протоколов (уже и туда криптофашисты пробираются, брррр).

mertvoprog
()
Ответ на: комментарий от mertvoprog

Да он и так прописан.

А тут тупо сервер другой прописать, вообще проблема надумана.

Вообще-то, это делается сразу. При конфигурирование/развёртывании сервера. Через записи в DNS.

Остаётся только синхронизировать серваки меж собой.

Moisha_Liberman ★★
()
Ответ на: комментарий от commagray

Зачем?

Прямо в той же конфе начинается обсуждение, что УПАЛИ.

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

Moisha_Liberman ★★
()
Ответ на: Зачем? от Moisha_Liberman

Люди даже не замечают факта падения.

Сообщения же пропадают, причём бесследно, т.к. в XMPP-серверах не реализована часть XEP-0198 s2s. Даже в энтерпрайзном ejabberd PR #1969: Xep 0198 s2s. Отсутствие контроля целостности передаваемых сообщений - это как-то совсем не серьёзно.

gag ★★★★★
()

Первый раз прочитал Компания Element приобретает Gitler у GitLab, поморгал, перечитал.

rumgot ★★★★★
()

Попробовали мы тут в качестве эксперимента использовать Matrix в качестве рабочего чатика.

И всё как бы хорошо и замечательно, но..
Зашто оно такое кривое?

- Тормозной Synapse. Питон, что поделаешь.
- Клиент на Electron. Это фиаско.
- Альтернативных клиентов куча, пользоваться невозможно ни одним из них.
- VoIP так и не заработал. Даже при наличии белого IP с одной стороны.
- Увлекательные плавающие баги, вроде рандомной потери сообщения, или дублирования. В клиенте проблема или в сервере — загадка.

Как вишенка на торте — лагающий (иногда латенси достигает нескольких секунд, лол) и падающий официальный сервер.
Глобально и надёжно, чё.



Jabber в 2020 году оказался куда более готов — VoIP завёлся из коробки между двумя разными клиентами на разных платформах (Conversations/Android и BeagleIM/macOS)
Естественно, требуется корректная настройка ejabberd, но это делается раз в десятилетие.

annerleen ★★★★☆
()
Ответ на: комментарий от intelfx

Element - это web-based клиент, поэтому под него нативная реализация видеозвонков будет выглядеть как iframe. Но зачем велосипедить свой WebRTC клиент, когда уже есть Jitsi? Поэтому да, там в iframe открывается widget от jitsi.

ma1uta ★★★
()

Отлично, альтернатива slack это по-любому хорошо, а минимизация фрагментации - ещё лучше.

zabbal ★★★★★
()
Ответ на: комментарий от commagray

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

Зачем врёшь, дядь? До впиливания в браузер оно разрабатывалось, что очевидно, вне него. Какой мудила будет новый большой проект с p2p и куртизанками сразу в корне легаси проекта прикручивать, привязываясь к старому коду. С самого появления проекта на оф. сайте были ссылки на сборочку для дебильника (Android, iOS) и натив, в чём можно убедиться, проследовав на архивную версию.

anonymous
()
Ответ на: комментарий от mertvoprog

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

ma1uta ★★★
()
Ответ на: комментарий от mertvoprog

python2

Будто что плохое.

Кроме ручного управления кодировками (в третьем это заморочено в нестандартных ситуациях) там всё хуже третьего.

Shadow ★★★★★
()
Ответ на: комментарий от mertvoprog

Ну так поскольку в ждаббере нет распространённой реализованности всяких свистелок,

Spectrum2, libpurple, транспорты в icq, sms, email, skype, сервисы погод, курсов валют, викторин и ещё куча всяких свистелок. В жаббере пытались их реализовать, но не смогли довести даже до такого состояния, которое есть в Matrix.

Для ждаббера ввиду отсутствия стандарта на реплаи

https://xmpp.org/extensions/xep-0201.html

Status: Active

https://tools.ietf.org/html/rfc6121#section-5.2.5

Вы хотя бы мат. часть изучите перед тем, как что-то утверждать.

Покажете аналог жабограма для шматрицы,

Жабограм, это Zhabogram 2.0 — транспорт из Jabber в Telegram, и который надо периодически перезапускать, т. к. он постоянно течёт Zhabogram 2.0 — транспорт из Jabber в Telegram (комментарий) ?

Нет, аналога, который постоянно течёт я вам не покажу, т. к. про таких не знаю.

который так же полноценно работает через плейнтекст? ;)

Все мосты в Matrix работают через plaintext, только там json, а не xml, как в XMPP.

Надо добраться в telegram? https://matrix.org/docs/projects/bridge/mautrix-telegram, правда он не течёт постоянно, увы.

ma1uta ★★★
()
Ответ на: комментарий от wxw

логично предположить, что много ненужно стоить не будет

fernandos ★★★
()
Ответ на: комментарий от Shadow

В какой из минорных версий третьего?

Его до сих пор ломают, вон 3.8 стал кучей ворнингов срать, и даже сломалось что-то вроде.

mertvoprog
()
Ответ на: комментарий от ma1uta

Spectrum2, libpurple, транспорты в icq, sms, email, skype, сервисы погод, курсов валют, викторин и ещё куча всяких свистелок

А расширения протокола здесь при чём? Транспорты и всякие боты не требуют реализовывать что-то дополнительно на стороне клиента, они работают прозрачно через существующие средства протокола. Речь вообще не об этом.

Status: Active

А толку? Покажите клиенты, которые его реализуют.

т. к. он постоянно течёт

Текут все официальные клиенты телеги (а этот основан на официальном TDlib). У них политика партии такая, что ничего из рамы выкидывать не надо, чтобы снизить нагрузку на сервер. К ждабберу это отношения не имеет.

Все мосты в Matrix работают через plaintext, только там json, а не xml, как в XMPP.

Речь не о протоколе. Речь о том, чтобы со стороны пользователя всё управлялось посылкой плейнтекстовых сообщений через тупой клиент, как в IRC.

Надо добраться в telegram?

Надо ходить в Telegram с некромобильников, на которые клиенты IRC и XMPP давным-давно написаны, а шматрицы — нет. Как шматрица тут поможет? — никак. Зато транспорт из XMPP в шматрицу вполне себе может понадобиться, и тут libpurple-плагин поможет ;) (Но это в теории, а на практике ваша шматрица нафиг не нужна, потому что ею важные люди не пользуются, как и ждаббером)

mertvoprog
()
Ответ на: комментарий от commagray

Можете хоть до усрачки ссылки кидать.

Старшие поколения вон одесские улицы по старой памяти советскими названиями кличут до сих пор, хотя они декоммунизированы по большей части ещё эдак в 1993-м ;)

mertvoprog
()

Проходили тут мимо яхуответов (они ещё живы :O) и подловили непереводимую игру слов, отлично характеризующую эту вашу шматрицу:

It's not contemporary - just temporary.

Не современное, а временное.

mertvoprog
()
Ответ на: комментарий от t184256

Матриксоиды дробят усилия, дробят юзербазу, городят ненужный NIH, и заточены на максимизацию грантоденег при минимизации числа юзеров. Пилили бы XMPP, где хрен знает сколько лет как показано, как прикручивать к расширяемому чатику НЁХ, была бы хоть польза от этих вредителей.

XMPP не надо пилить. Пилить надо продукты. А XMPP — это не продукт, а протокол для связи между ними.

Смысл XMPP — унифицированный протокол общения.

Если вы изобретёте собственную социальную сеть с приватными чатами, а потом, внезапно, захотите общаться с остальным миром — вам достаточно реализовать XMPP s2s.

А если вы хотите позволить всему миру использовать альтернативные клиенты для сообщений в вашей сети — реализуйте XMPP c2s.

XMPP — это инструмент. Пилить нужно не его, а его продукты. Где продукты на базе XMPP? Где форумы/сайты, с юзерами которых можно общаться по XMPP? Много вы знаете соц.сетей с XMPP-федерацией? (я знаю одну: movim, если её вообще можно считать соц.сетью)

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

anonymous
()

еще одна хипстерская непонятная штука которую я никогда не буду использовать

bernd ★★★★★
()
Ответ на: комментарий от mertvoprog

Да без разницы, пусть будет 8 изолированных серверов, как например, Google выключили s2s, теперь пользователи gtalk могут общаться только между собой, а с пользователями других серверов уже нет.

ma1uta ★★★
()
Ответ на: комментарий от mertvoprog

А расширения протокола здесь при чём? Транспорты и всякие боты не требуют реализовывать что-то дополнительно на стороне клиента, они работают прозрачно через существующие средства протокола. Речь вообще не об этом.

Это касаемо matrix, да. Чтобы написать товарищу в telegram/slack/discord на клиенте не надо ничего дополнительно реализовывать.

А толку? Покажите клиенты, которые его реализуют.

О чём и речь, вы же написали, что якобы в xmpp нет стандарта на реплаи. Но это ложь.

Текут все официальные клиенты телеги (а этот основан на официальном TDlib). У них политика партии такая, что ничего из рамы выкидывать не надо, чтобы снизить нагрузку на сервер. К ждабберу это отношения не имеет.

Вы просили аналог мосту xmpp-telegram, который будет также течь. Такого аналога нет, есть мост matrix-telegram, который не течёт.

ma1uta ★★★
()
Ответ на: комментарий от anonymous

Где продукты на базе XMPP?

HipChat, например.

Впрочем, может быть неактуально, видели его впоследний раз года 4 назад ;)

Каким продуктом воспользоваться?

Cisco Jabber?

mertvoprog
()
Ответ на: комментарий от ma1uta

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

Грубым примером такой сети является IRC, если не учитывать его внутреннюю кухню (куча прозрачно взаимодействующих между собой серверов в рамках единой сети, между которыми, однако, случаются нетсплиты), а только целые сети: между собой они напрямую взаимодействовать не могут в принципе и для каждой сети нужна своя учётка, однако реализуют единый стандарт и для них можно использовать единое клиентское и серверное ПО. Ну и корпоративные поделки всякие для self-hosted, хоть тот же Mattermost.

mertvoprog
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.