A Meta subproject for evaluating Matrix

We are a small team of contributors to the WordPress and Matrix projects who would like to propose to form a community project to explore bringing the Matrix open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. federated chat system to the WordPress community as a possible replacement to SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. (for Making WordPress).

What is Matrix? According to Matrix themselves, “it is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication, and its ApacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free.-licensed reference implementations. Maintained by the non-profit Matrix.org Foundation, we aim to create an open platform which is as independent, vibrant and evolving as the Web itself… but for communication.”

At WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Europe 2022 in Porto, we talked to a lot of community members, asking them about how they liked Slack and what they’d think about using Matrix as an open source alternative to Slack.

While we heard from a lot of people that they liked Slack, a number of items were mentioned that made us think Matrix could be a great fit for the WordPress community:

1. The Slack onboarding experience is hard

A significant amount of time at WordCamp contributor days is spent on helping people getting onboarded to Slack. You need to receive an invitation e-mail to a special, personal e-mail address and then select the correct Slack workspace to join, following these lengthy instructions.

We’ve explored the possibilities for creating a seamless login experience for Matrix, and we’ve already successfully implemented a Single-Sign On flow where OpenID Connect is used with WordPress as an authentication provider. Thus, to start chatting, you’d only need to authorize WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ to pass your username on to the Matrix server by the click of a button, and you’re in.

Joining the Making WordPress Polyglots room could look like this

2. The Slack Client isn’t well suited for some Local Communities

We’ve heard that some local communities prefer to communicate via instant messaging such as WhatsApp or Telegram over using Slack. While this might overlap with the previous item, where getting added to a Telegram group is much easier than signing up for the WordPress Slack workspace, we’ve also heard how this form of messaging and its integration with their mobile phone is preferred.

One of the benefits of Matrix is it supports free choice of clients, one of them being a client that is very similar to Telegram, called FluffyChat. There are also particularly lightweight clients (called Hydrogen), a full featured client called Element (previously known as Riot), a client that is more like Discord called Cinny, CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. clients, and many more.

Additionally, we’ve done some work to make it possible to integrate a Matrix chat into a Gutenberg block. This means that you can use any WordPress post or page to start chatting when it has that blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. embedded. This could even be set to a particular room, so that users can be asked to join a specific room or Make team by giving them a link to a particular WordPress(.org) page. This could make taking part in Make WordPress teams much easier and possibly encourage more contributions. 

3. An Open Source Project should use an Open Source Chat System?

Many people were excited about the Matrix project and how it being open source seemed like a much better fit for the WordPress open source project. It was mentioned to us that an open source product might have a tougher onboarding experience, so we were happy to see how our research of using SSO and a Matrix client inside a GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ block encouraged us to think that it actually might be more accessible.

Would Matrix be a good fit for Making WordPress?

Since our efforts so far have been sponsored by Automattic and didn’t revolve around a particular community, we’d like to start a metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. sub-team that would hold bi-weekly chats and figure out a plan how we could assess whether Matrix would be a viable option for the community.

In particular, we’d like to contribute our projects Chatrix and OpenID Connect Server to the WordPress project. Additionally, work with people of the community interested in Matrix to see which Slack integrations would need to be ported and how that could be done. As well as understand through testing with other WordPress teams how good or bad the experience is, either on its own, or comparing it to Slack.

Thus we’d like to invite everyone who would like to take part in this to speak up in the comments so that we can find a day and time in the week where we could hold our meetings to get this started.

Looking forward to hearing from you!

@ashfame, @psrpinto and @akirk