<div dir="ltr"><div dir="ltr">On Mon, Nov 18, 2019 at 5:17 PM Matthew Hodgson via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 18/11/2019 17:47, David Truby via llvm-dev wrote:<br>
> Hi all,<br>
> <br>
>> On Mon, 2019-11-18 at 08:09 -0500, Nico Weber via llvm-dev wrote:FWIW<br>
>> I'm a fan of using open-source stuff for open-source projects.<br>
>> Discourse looks open source, but Discord doesn't as far as I can tell<br>
>> (?).<br>
> <br>
> As regards this, I wonder if Matrix (<a href="http://matrix.org" rel="noreferrer" target="_blank">matrix.org</a>) has been considered at<br>
> all? It's an open standard protocol with a number of open source<br>
> clients that behaves very similarly to Slack/Discord. A number of other<br>
> open source communities I follow are using this already.<br>
<br>
[ Disclaimer: I'm the project lead for Matrix.org, so am hardly <br>
impartial on this.  (That said, we keep up with LLVM given we lean on it <br>
hard via emscripten when compiling our end-to-end encryption <br>
implementation (<a href="https://gitlab.matrix.org/matrix-org/olm" rel="noreferrer" target="_blank">https://gitlab.matrix.org/matrix-org/olm</a>) down to WASM <br>
and JS, so I have some tenuous claim to be lurking here ;) ]<br>
<br>
We built Matrix to be an entirely open network and open standard chat <br>
protocol, with the intention of combining the good bits of IRC (the <br>
community; the openness; the standardisation; the relative ease of dev; <br>
open source servers & clients) with clients which provide an accessible <br>
UX of similar quality to Discord/Slack.  Riot.im is the most advanced <br>
client, and while it's still not quite as glossy as Discord, the gap is <br>
closing, and we're moving faster than they are.<br>
<br>
I get why some open source projects (e.g. bits of Rust) have moved to <br>
Discord out of pragmatism for having the smoothest possible UX to ensure <br>
the widest audience, but it comes at a cost. The main tradeoffs are:<br>
<br>
  * As others have pointed out, Discord's monetisation model is that <br>
they own your data.  In Matrix, all participating servers share <br>
responsibility for conversations, and users can pick whichever server <br>
they happen to trust.  The ones we run as Matrix.org have these policies <br>
(<a href="https://github.com/vector-im/policies/tree/master/docs/matrix-org" rel="noreferrer" target="_blank">https://github.com/vector-im/policies/tree/master/docs/matrix-org</a>), but <br>
you can use whichever you like.  Additionally, Matrix is managed by the <br>
non-profit Matrix.org Foundation (<a href="https://matrix.org/foundation" rel="noreferrer" target="_blank">https://matrix.org/foundation</a>), to <br>
protect the protocol's users from conflicting commercial interests.<br>
<br>
  * Discord locks you into a proprietary service.  It's the chat <br>
equivalent of using MSVC Express just because it happens to be free and <br>
glossy.  Discord explicitly forbids 3rd party clients and bridging, and <br>
you're not exactly going to have the freedom to tweak and extend the <br>
server - which is after all what open source is all about.  In contrast, <br>
<a href="https://matrix.org/docs/spec" rel="noreferrer" target="_blank">https://matrix.org/docs/spec</a> is the Spec we publish that forms the core <br>
of the Matrix protocol, and <br>
<a href="https://matrix.org/docs/projects/try-matrix-now/" rel="noreferrer" target="_blank">https://matrix.org/docs/projects/try-matrix-now/</a> is an overview of all <br>
the implementations (servers, clients, bots, bridges etc) of it.<br>
<br>
  * Discord traps you in a proprietary silo.  You can talk to anyone you <br>
like... as long as they're on Discord.  If you want to collaborate <br>
directly with other projects on IRC, Slack, XMPP or wherever you're <br>
screwed.  Matrix provides increasingly decent bridges to IRC, Discord, <br>
Slack, etc so even if folks aren't natively on Matrix, you can talk to <br>
them anyway.  (And if LLVM does end up on Discord, we'll go ahead and <br>
bridge the Discord channels into Matrix anyway :P)<br>
<br>
  * You don't have any end-to-end encryption.  If you ever found <br>
yourself discussing something sensitive (e.g. security vuln <br>
coordination) and don't want eavesdroppers in or around the server from <br>
following along, you're out of luck.  Matrix however implements <br>
Signal-style Double Ratchet as required.<br>
<br>
I could go on, but I think the best datapoint I can think of is <br>
Mozilla's recent trial where they stood up Matrix/Riot, Slack, <br>
MatterMost & Rocket.chat side by side for a month-long comparison. <br>
(Discord was dismissed out of hand due to their dubious privacy <br>
policies).  They haven't announced the final winner yet, but you a <br>
sample of the feedback they gathered can be found at <br>
<a href="https://discourse.mozilla.org/t/synchronous-messaging-at-mozilla-trial-servers-feedback/44871" rel="noreferrer" target="_blank">https://discourse.mozilla.org/t/synchronous-messaging-at-mozilla-trial-servers-feedback/44871</a>. <br>
  And empirically, by the end of the trial, almost all the community <br>
chatter was happening on Matrix rather than the other instances, which <br>
were a bit dead (at least in the public channels).  It also spurred a <br>
*lot* of development - for instance, we went from having some of the <br>
worst accessibility to being one of the best, c.f. <br>
<a href="https://toot.cafe/@marcozehe/102998816933348357" rel="noreferrer" target="_blank">https://toot.cafe/@marcozehe/102998816933348357</a>.<br>
<br>
TL;DR: please don't pick a chat solution based purely on its current <br>
shininess and UX.  The FOSS options are evolving very rapidly (much more <br>
so than the Slacks & Discords), but we will only be able to grow if <br>
we're given the opportunity, rather than being dismissed due to being <br>
FOSS or "not mainstream" - much like LLVM in the early days needed <br>
champions to spur forward development.<br>
<br>
Matthew<br>
<br>
P.S. and even if some of Rust are lost on Discord, others ended up on <br>
Matrix, c.f. <br>
<a href="https://github.com/rust-embedded/wg/issues/357#issuecomment-504793602" rel="noreferrer" target="_blank">https://github.com/rust-embedded/wg/issues/357#issuecomment-504793602</a><br>
<br>
-- <br>
Matthew Hodgson<br>
Matrix.org<br><br></blockquote><div><br></div><div><br></div><div>As a user of matrix and someone that runs their own homeserver, I want to +1 moving to matrix. It's just as easy to setup and use as Discord and Slack, but doesn't have the downsides of being a proprietary commercial offering.</div><div><br></div><div>- Michael Spencer</div><div> </div></div></div>