Открытый протокол для децентрализованной коммуникации [matrix] ищет спонсоров для продолжения разработки

    Команда разработчиков открытого протокола для децентрализованной коммуникации [matrix] недавно объявила о сокращении спонсирования команды разработчиков основным спонсором более чем на 60% и призывает сообщество к помощи в спонсировании дальнейшей разработки проекта.


    Сам протокол [matrix] и сервер Synapse уже находятся в стабильном состоянии, готовые к применению в рабочих конфигурациях. Например, в нашей компании он полноценно заменил eJabberd, Slack и Skype для внутрикорпоративного общения и стабильно работает уже больше полугода. Подробнее о протоколе Matrix можно почитать на официальном сайте и в статье «Matrix — в полку́ чатов всё прибывает».


    Сервер Synapse [matrix] в связке с Matrix-клиентом Riot позволяет быстро поднять на своих серверах полноценную альтернативу таким коммерческим сервисам, как Slack и HipChat с реализацией всех необходимых функций.


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


    В клиенте Riot доступны все современные функции мессенджеров:


    • личные и групповые сообщения;
    • отправка изображений и файлов;
    • вставка изображений в чат напрямую из буфера обмена;
    • end-to-end шифрование;
    • уведомления о наборе и прочтении, в групповых чатах с большим количеством участников наглядно видно кто из участников до какого места дочитал;
    • хранение всей истории общения и файлов на сервере;
    • групповые аудио- и видеозвонки на базе WebRTC;
    • гибкая настройка модераторов, доступа к истории после входа в комнату и прав пользователей в комнатах;
    • поддержка ботов на разных языках программирования;
    • возможность гостевого доступа к комнатам для просмотра истории и общения без заведения логина, генерация статических страниц с логами комнат;
    • полнофункциональный web-клиент, позволяющий с любого места залогиниться и начать общаться, получить доступ ко всей истории общения;
    • мобильные клиенты под Android и iOS с Push-уведомлениями и очень экономным расходом батареи;
    • десктопные клиенты для Windows, Linux, macOS (пока, к сожалению, работает на базе Electron как Slack и Skype, но в разработке есть полноценные клиенты на базе Qt, Gtk, консольные и т. п.).

    Более подробные обзоры Riot на английском:



    Кроме Riot для Matrix активно разрабатывается также множество других клиентов на различных языках и под различные системы, библиотека для libpurple (Pidgin), также и серверная часть уже реализована несколькими вариантами на разных языках.


    При этом устанавливать свой Matrix-сервер не обязательно, можно просто завести аккаунт на основном сервере Matrix.org и пользоваться всеми возможностями через него.


    Также протокол позволяет организовывать мосты во множество других сетей таких как IRC, Gitter, XMPP, Hangouts, Skype, Facebook, RocketChat, Slack, Telegram, Twitter и множество других, чтобы вести всё общение через единый сервер и клиент. Сейчас пока для каждого шлюза нужно запускать отдельного демона matrix-puppet-bridge, но в активной разработке находится сервер шлюзов matrix-puppet-server, который позволит одним демоном организовывать шлюзы сразу во все сети нескольким пользователям.


    Причём мосты в Slack, Gitter и IRC в клиенте Riot уже работают сразу, без необходимости устанавливать что-то на свой сервер.


    На базе [matrix] также реализовали демо-версию интерфейса с виртуальной реальностью, работающую в браузере, чтобы продемонстрировать возможности протокола и современных технологий.


    В результате, проект [matrix] представляет собой хорошую бесплатную альтернативу XMPP, Slack, Skype, Viber, WhatsApp и всем остальным новомодным мессенджерам, а в перспективе сможет объединить все эти мессенджеры в себе через мосты, чтобы общаться со всеми через единый протокол и одно приложение.


    Протокол [matrix] — не единственный открытый протокол для мгновенного обмена сообщениями, существует также Tox, Ring, Signal, XMPP и множество других альтернатив. Но:


    • Jabber с протоколом XMPP переполнен многочисленными XEP-ами, нормальная реализация которых до сих пор отсутствует в большинстве Jabber-клиентов. Например, до сих пор нет Jabber-клиента c нормальной синхронизацией истории с сервером (XEP-0313: Message Archive Management / MAM), многопользовательские чаты/конференции имеют неразрешимые проблемы с доставкой оффлайн-сообщений.
    • Проекты Tox и Ring нацелены на шифрованное P2P-общение без центрального сервера, что приводит к нерешаемым проблемам с расходом cpu, трафика и батареи, проблемам синхронизации истории на разных устройствах и множеству других проблем безсерверных коммуникаций.
    • Протокол Signal в сравнении с Matrix выглядит менее перспективно, подробнее об этом можно почитать в статье Encrypted messengers: Why Riot (and not Signal) is the future (английский).

    В итоге, перспективных opensource-альтернатив [matrix] на сегодняшний день просто не существует, поэтому разработчики считают, что будущее именно за протоколом [matrix].


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


    Спонсировать развития проекта можно через следующие сервисы:


    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 37

      0

      Перспективный open-source мессенджер работал бы не поверх HTTP.

        –1
        Чтобы мессенджер действительно был перспективным — его протокол должен быть простым и понятным любому школьнику, чтобы каждый мог залезть в код и с ходу сразу смог вдоволь подебажить-поговнокодить в своё удовольствие, не разбираясь в деталях соединения и протокола, наплодить кучу форков и обсуждений.

        Например, благодаря HTTP можно делать скрипты и дебажить всё curl-командами, что лично для меня очень удобно — прям на bash можно автоматизировать какие-то действия без особых сложностей.

        Поэтому использование протокола HTTP и приложения на Electron (HTML, CSS, JS) — несёт за собой не только минусы, но и большие плюсы в поддержке кода сообществом, что в сумме дает больше плюс, чем минус.

        Именно благодаря такому подходу node.js сейчас очень активно продвигается. Качество кода и модулей там очень сильно страдает, т.к. большой уровень школоло присутствует, но зато проект активно живёт и развивается.
          0
          его протокол должен быть простым и понятным любому школьнику

          HTTP Host, cache-control, chunked transfer encoding, range, accept, x-www-form-urlencoded, multipart/form-data, ещё с десяток-другой фич наверно откопать в HTTP/1.1 (про 2.0 вообще молчу) — это всё знает каждый школьник и для чего-то используется в Matrix?


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

            0
            Самый лучший и понятный школьникам инструмент для дебага — это браузер с дебаг-консолью, и приложение, написанное на html+css+js, которое тоже поковырять можно прямо в браузере, не перекомпилируя ядро линукса после каждого изменения ;)
              0

              Вы собираете в своих комментариях всё, что я ненавижу и стремлюсь уничтожить :) Впрочем, не хочу сейчас устраивать холивар по этой теме


              Как я отметил ниже, это ещё не значит, что весь протокол надо базировать на HTTP, можно просто сделать HTTP-гейт специально для школьников) Протокол, работающий поверх просто TCP (или даже вебсокетов, благо он мало связан с HTTP) в общем случае будет проще (не надо весь HTTP/1.1 реализовывать), быстрее (не нужны уродства из начала нулевых вроде long polling, как у Matrix сейчас) и экономнее (бо́льшая часть HTTP-заголовков, захламляющих трафик, для задач мессенджера всё равно нафиг не нужна) — вот запилили бы на базе такого Desktop-клиент на Qt5/QML и нормальный Android-клиент, и было бы счастье, а HTTP пусть остаётся уделом школьников


              Вообще в Matrix вроде бы обещали вебсокеты, но что-то их сейчас ещё не видно. А использовать мессенджер, под капотом которого б-гомерзкий long polling, мне противно, приходится сидеть в Telegram

              • UFO just landed and posted this here
                  0

                  Трабл в том, как поднять на питоне кучу сокитоф.
                  Выбор языка для homeserver меня удивил конечно.
                  Брали бы уже тогда asyncio (aiohttp) + 3.5 (а сейчас перешли бы на 3.6).


                  Теперь новый homeserver будут делать на Go.
                  Что еще хуже по моему мнению.


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

                    0
                    Вёбсокеты вроде бы вот прям на днях прикрутили в Synapse — вот пул-рекьюест: https://github.com/matrix-org/synapse/pull/2388
                      0

                      Но ещё не приняли и когда поддержки в клиентах ждать? Как появится, тогда Matrix можно будет посмотреть

                    –1
                    можно просто сделать HTTP-гейт специально для школьников)
                    Слушай, школьник, сделай сначала что-то сопоставимое по возможностям и по популярности с Matrix-Riot, потом критикуй! Известный Сталинский принцип: критикуешь-предлагай, предлагаешь-делай, делаешь-отвечай! А трепаться языком все могут.

                    Тема статьи — спонсоры, а не протокол, есть предложения по теме?!
                      +1

                      И вот надо же было ждать четыре месяца до ответа)


                      критикуешь-[...]делай

                      Я работаю над этим. Но пока что в одиночку и непублично


                      сопоставимое [...] по популярности

                      То есть с околонулевой популярностью? Ну это любой может, у меня весь гитхаб завален таким добром :D

                        0
                        То есть с околонулевой популярностью?
                        Не смешно для тех, кто хоть раз пользовался. Запусти Riot хоть раз и зайди в каталог комнат — там десятки тысяч человек. Сделаешь что-то сопоставимое — поговорим!
                          +1
                          там десятки тысяч человек

                          Сколько из них были онлайн хотя бы в последние полгода?)

                            0
                            Сколько из них были онлайн хотя бы в последние полгода?)
                            Ты гонишь? Зайди и посмотри. Вот, например:
                            https://riot.im/app/#/room/#matrix:matrix.org
                            https://riot.im/app/#/room/#russian_talks:matrix.feder8.ru
                              0

                              Возможно, клиент Riot такой сложный, но я не вижу, где там смотреть время последней активности пользователей?


                              По первой ссылке я вижу онлайн 0 человек.
                              По второй ссылке попросили заранее войти в комнату, вошёл — онлайн 0 человек.


                              Даже в моём никому не нужном чат-веб-клиенте сейчас 1 человек сидит)

                                0
                                Сейчас ночь. Зайди в комнату и посмотри историю. Твой пустой трёп и комплекс неполноценности уже не интересны.
                                  +1

                                  Сейчас ночь по Москве. Значит в Америке не пользуются Matrix'ом?)


                                  Впрочем, взял примерно последнюю тысячу сообщений по апишке — это примерно двое суток. В сообщениях отметились 182 уникальных user_id. Мой никому не нужный чат-веб-клиент за последние два дня посетило 72 человека. Пусть в два раза меньше, однако мне кажется, числа примерно одного порядка — десятками тысяч как-то не пахнет))


                                  По второму чату тысяча последних сообщений занимает аж две недели. При этом отметился всего 51 user_id. Тоже негусто как-то)

                                    0
                                    Мой никому не нужный чат-веб-клиент
                                    На этом и завершим прения не по теме данной статьи!
                                      +1

                                      Завершим, однако это не отменяет того факта, что Matrix примерно на столько же не нужен, насколько не нужен мой чат-веб-клиент))

                                        0
                                        Всё выпячиваешь свой комплекс неполноценности? У Matrix 1.5 млн. пользователей уже и число растёт по экспоненте:
                                        matrix.org/blog/2017/07/07/a-call-to-arms-supporting-matrix
                                        image
                                          0
                                          Сколько из них были онлайн хотя бы в последние полгода?)
                                            0
                                            Чукча не читатель, чукча писатель?! По ссылкам не ходим? Смотри:

                                            image

                                            Сервера:

                                            image
                                              0

                                              Трафик, сервера… Я тоже могу пустить пыль в глаза, посчитав число строчек в своих access.log. Где число пользователей онлайн?

                                                –1
                                                ты жалок, пока
                                                  0

                                                  Жалки те, кто стыдится показать число пользователей онлайн. Пока, чо :)

                                                    –1
                                                    Я не знаю как показать что-то герою известного анекдота: «Батько, де море?!» :)))
                                0
                                По состоянию на 15:47:

                                Первая ссылка — онлайн 7, ещё 11 были онлайн в течение последнего часа

                                Вторая ссылка — онлайн 0, ещё 2 были онлайн в течение последнего часа

                                Казалось бы, в Москве давно не ночь, но десятков тысяч человек как-то так и не видно. Даже на conference.jabber.ru народу больше, хотя джаббер уверенно дохнет последние пять лет
                                  0
                                  На официальном сервере Matrix.org сейчас временно отключено presence (из-за проблем с нагрузкой на центральный сервер, т.к. спонсоры сократили финансирование), поэтому онлайн-статус сейчас не отображается для пользователей сервера.
                                  А в остальном — активность там вполне высокая, вот тут можно увидеть некоторую статистику: matrixstats.org
                                    0
                                    Ололо, и протоколом или его реализациями, в котором какие-то там презенсы могут свалить сервер, ещё стоит пользоваться?)))
                                      –1
                                      Добавьте-ка на свой любимый жаббер-сервер 2 миллиона юзеров, заставьте их ежесекундно отсылать сообщения и менять presence, посмотрим как он будет «быстро» работать.
                                        +1
                                        Для того, чтобы считать это сравнение корректным, нужно каким-то образом убедиться, что у Matrix (точнее, у сервера matrix.org) есть 2 миллиона активных юзеров. На графике выше указано, что у matrix.org всего полтора миллиона юзеров, включая неактивных. Кто-то где-то врёт. Ну и в джаббере никто презенсы каждую секунду не отправляет.

                                        Алсо, я не утверждал, что джаббер такой белый и пушистый, он тоже хрень по куче причин)
                                          0
                                          График выше — полугодовалой давности, если его аппроксимировать — то к текущему дню должно около 2 лимонов получится, соответственно и график эвентов где-то к 1.5 миллионам должен приближаться, собственно даже если взять 1 миллион эвентов в сутки и их на кол-во секунд в сутках — получаем около 11 эвентов в секунду, и всё это крутится сейчас на одном Matrix-Synapse сервере.
                                          Я сомневаюсь что какие-то опенсоурс-альтернативы типа рокетчата или маттермоста потянут аналогичный трафик на 1 сервере, так что на безрыбье надо радоваться тому что хоть это есть у нас в замену помирающему жабберу, самозакопавшемуся в своих XEP-ах.
                                            0

                                            Ещё раз: этот график включает неактивных пользователей, как ни аппроксимируй. Где я могу увидеть график активных пользователей?


                                            получаем около 11 эвентов в секунду

                                            Маловато будет. На мой субъективный взгляд, полноценный сервер (не VPS) должен осиливать хотя бы сотню в секунду. Впрочем, я не в курсе, что именно считается эвентом?


                                            Я сомневаюсь что какие-то опенсоурс-альтернативы типа рокетчата или маттермоста потянут аналогичный трафик

                                            Им же в минус) А вообще, может быть, у jabber.ru имеется не меньшая нагрузка? Правда, их Яндекс поддерживает, они могут себе позволить


                                            на безрыбье надо радоваться тому что хоть это есть у нас в замену помирающему жабберу

                                            Жаббер, безусловно, помирает, но лучше него никто ничего так и не придумал

              • UFO just landed and posted this here
                  0

                  TLS и так нельзя отличить один от другого, HTTP тут ни при чём. Если уж совсем приспичит (захочется юзать порт 443), никто не мешает сделать HTTP-гейт в другой протокол (такие я уже видел у XMPP), это всё ещё не значит, что надо весь протокол базировать на HTTP

                +1

                Раз уж подняли тему, замерил тут лонг-поллинг в Riot...


                HTTP/1.1, почти килобайт на запрос с учётом всех HTTP-заголовков, полминуты ожидания ответа, ещё почти килобайт на ответ. На ПУСТОЙ ответ: никаких событий за полминуты не произошло. Спасибо что хоть keep-alive работает.


                Два запроса в минуту, 120 запросов в час, 2880 запросов в сутки.


                4 мегабайта в сутки. На передачу ПУСТОТЫ лонг-поллингом. И это ещё с отключенными презенсами. И это я ещё даже не пытался замерять, сколько же весят события вроде новых сообщений. Когда я писал свой ранее упоминавшийся никому не нужен чат-веб-клиент на лонг-поллинге в 2012 году, я уже тогда считал это говнокодом. Но в те времена простительно, тогда вебсокеты только появлялись. Но не в 2017 году же!


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


                Как сам автор поста и намекает — протокол от школьников для школьников.


                Питер Сент-Андре, сделай XMPP 2.0!

                  0
                  Благодарю, интересная статистика, попробую передать разработчикам эту проблему. У них пока в приоритетах не стояла оптимизация трафикопотребления, пользователям там на трафик пока пофиг — они требуют всякие новомодные фишки типа стикерпаков и лайков. Было бы интересно сравнить трафик с другими популярными протоколами, хотя бы с XMPP.

                  По поводу будущего — а за каким текущим опенсоурс-протоколом Вы видите будущее? Ждать пока XMPP выкопается из кучи XEP-ов и возродится в версии 2.0 я что-то уже устал, а других альтернатив с поддержкой федерации я вообще не вижу.

                  Спонсировать всякие вайбер, воцап, елеграм, пейсбук и подобные коммерческие вещи как-то душа не лежит, а из опенсоурса кроме Matrix — больше ничего не нашёл.

                  Поэтому я для себя решил — лучше уж спонсировать и продвигать [matrix] как перспективный проект, чем ничего не делая ждать пока что-то само по себе появится.

                Only users with full accounts can post comments. Log in, please.