A Call to Arms: Supporting Matrix
matrix.org
matrix.org
Just wanted to say that of all the communities on the 'net, HN has been one of the most enthusiastic about the potential of Matrix. Trying to build an entirely open decentralised network that can support better-than-Slack style collaboration is a tonne of work; I'd estimate it's about 6x more work than building the equivalent centralised service. Plus the amount of effort that we've put into decentralised end-to-end encryption (https://matrix.org/git/olm/about etc) is enormous, and now very nearly complete, having got solutions in place for (optionally) sharing message history on demand between devices, handling race conditions during splitbrains, etc.
In short, we've put a lot of work into Matrix and we really want to continue doing so with at least the same level of momentum we've had to date. But as of next week, this is going to require support from the community - both donations and corporate sponsorship, at least in the short/medium term. So if you believe in the promise of decentralisation and restoring power over communication back to the users, your support would be hugely appreciated.
Also, folks may be specifically interested in the 'Reflections' section at the end of the post, which points out that in the near future Matrix is going to be forced to address an even bigger issue than open comms - namely the ability to handle propaganda and let users filter their content (to avoid spam, propaganda, abuse, etc) without being trapped in an invisible filter-bubble or echo-chamber. This stuff is still vapourware right now, but could be literally world-changing if we get it right.
Anyway, thanks for reading, and thanks to those who consider supporting directly.
-- Matthew / Arathorn
Matrix is an amazing project with an incredibly hard-working team. If you can afford to, please stop what you're doing right now and give them money. Or code. Or both. We can win this thing!
-- Urbit
In the end, there is an incredibly small handful of developers working on decentralised infrastructure, who generally share very similar ideology and goals, pitted against an entire industry which defaults to holding users hostage in silos. We gotta stick together to prevail :)
So, Urbit: huge thanks for the support - we really appreciate it. And good luck on your side too!
But I don't think this new attitude is an accident. It's not just because we're good people, or even good engineers. It's an inevitable consequence of what we're trying to do.
Fundamentally, all decentralized systems are one big federation. If two decentralized systems can't talk to each other, that's because no one needs to connect them yet. There is never a question of whether the connection can be made, as with centralized systems.
In short: for decentralized systems, the n in Metcalfe's law ("the value of a network is proportional to n^2, where n is its user count" - I think it's more like n log n, but whatever) is the number of users not in any decentralized network, but in all decentralized networks. (It also should add any centralized networks that you can gateway to.)
What this means in practice for Urbit and Matrix: if both Urbit and Matrix succeed, a gateway is inevitable. It's inevitable because (a) it will be demanded and (b) no one can prevent it. Then, Urbit will benefit from Matrix's network effect and vice versa.
So economically, we're not competitors. We're colleagues. So building a positive relationship is a professional no-brainer. In the new decentralized world, the only reason to be a jerk to someone else is that you're actually a jerk. You'll see this, but it isn't common -- at all.
(However, our domain is googleable and yours isn't. Owned! We'll just have to link to you :-)
(I can totally understand why you prefer these long time commitments.)
https://www.kickstarter.com/projects/the-compiler/qutebrowse...
You use the term "propaganda" like it's something that can be determined objectively and algorithmically the way that spam can. That's very concerning to me, seeing as mega corps like Facebook and Google are also starting to implement questionable protections against what they consider to be propaganda. And similarly, they also group them together with other issues like terrorism, hate speech, etc. That's exactly why decentralized and uncensored forms of communication are so important right now.
How are you planning to determine what is propaganda? By your own perception? Will you refer to a team of "independent experts" as the arbiters of truth?
This is what is so exciting about the decentralised use cases of Matrix: one man's freedom fighter is clearly another man's terrorist, and it is not up to us to be an objective arbiter.
Instead, the plan is to let users themselves define their filters: inheriting reputation data from other people whose opinion they trust, and defining their own rules too. Critically, we want to visualise for users the shape of the filter bubble that they end up defining - so they can see what the rest of the world thinks of the content they read.
This would be something like: "98% of the world thinks this content is factually false, but we're showing it to you because you've strongly aligned yourself with Bob, who thinks it's the best thing ever"... but presented in such a way that it's interesting and fun to the user rather than a boring nag. Obviously the last bit is a client UX problem, but the fact remains that it's critical to build the underlying infrastructure for tracking reputation data in a morally relative and neutral manner.
Hope this makes it clearer. We are absolutely not in the business of defining "propaganda" ourselves. But we let users set themselves up as experts (independent or otherwise) as they desire, and it's then up to users to mix their own blend of reputation data based on who they rate.
Two principal problems are probably Big Money gaming the system and people not wanting to publicly disclose their views. In the worst case your scheme might end up serving age-old staples of propaganda: Falsely implying a consensus and the establishment of authority (of the most trusted users).
I'll keep a look out for how you try to deal with that in the future.
There is absolutely the problem that widely trusted people would use their position to push an agenda, deliberately or unintentionally. This is inevitable, as far as I can see, given we are assuming there are no moral absolutes here. So the best we can do is to ensure that users have visibility on the amount and shape of content being filtered out, access to whichever 'authorities' they chose to trust, and make it easy to view the world from different viewpoints.
Fun problems! I can't wait for Matrix to properly focus on it.
I have just pledged 50EUR a month (kudos for providing two free software systems for donations -- though GNU Taler would've been another nice addition). I would also pledge my time if I wasn't already working overtime on other free software work. To everyone who just reads HN comments and skips the articles -- if you have the means, donate: { https://patreon.com/matrixdotorg ; https://liberapay.com/matrixdotorg ; 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE }.
Matrix is truly a very revolutionary piece of technology, and they deserve far more support than they're getting. I'm gladly investing now in the hopes that the Matrix of the future will deliver on what I see them doing. I'm really hoping that one day people will switch to Matrix because of its features and not because I badgered them to do so. Here's hoping.
Good luck.
Matrix is an open standard for interoperable, decentralised, real-time communication over IP. It can be used to power Instant Messaging, VoIP/WebRTC signalling, Internet of Things communication - or anywhere you need a standard HTTP API for publishing and subscribing to data whilst tracking the conversation history.
Matrix defines the standard, and provides open source reference implementations of Matrix-compatible Servers, Clients, Client SDKs and Application Services to help you create new communication solutions or extend the capabilities and reach of existing ones.
What is Matrix’s Mission?
Matrix’s initial goal is to fix the problem of fragmented IP communications: letting users message and call each other without having to care what app the other user is on - making it as easy as sending an email.
The longer term goal is for Matrix to act as a generic HTTP messaging and data synchronisation system for the whole web - allowing people, services and devices to easily communicate with each other, empowering users to own and control their data and select the services and vendors they want to use.
How will Matrix be anything other than another stack in the field of silos?
Genuine question. I'm not trying to be combative.
Edit: After doing some more reading through the matrix docs, it seems that the goal is to make an extremely easy to implement/setup endpoint that any 'silo' can easily include. This Matrix endpoint will automagically connect to the Matrix endpoint on other 'silos' to facilitate message transfers.
Is this accurate?
Sure you can write a webapp which uses some combination of long-lived GET, PUT, websockets, HTTP/2 Push etc to 'push' realtime messages around the place, but there's no standard way of doing it; each app makes up its own fragmented and proprietary set of APIs.
So Matrix fixes this by defining a standard HTTP API (which can also be used with other RPC transports if you prefer).
I generally don't think Patreon is a good way to fund software development, but I will be contributing anyway because the work the Matrix team is doing is critical. Open, secure communication on the Internet is one of the most important and relevant issues today.
The Matrix team has been great to work with in developing Ruma. As Matthew mentions in the post, our development has been slowed somewhat by lack of updates to the Matrix spec, but they've had the Ruma team's full support in prioritizing end-to-end encryption in Riot, as it's simply a more urgent priority than enabling independent implementations of the spec. It's been clear to us that the only thing preventing improvements to the spec is the lack of bandwidth on the Matrix team, and in that sense, today's news is actually good news, because now we have a chance to help increase their bandwidth beyond what their parent company could provide.
[0] https://www.ruma.io/docs/matrix/ [1] https://www.ruma.io/docs/matrix/why/
There are many more benefits to Matrix, but just making clear that Matrix's end-to-end crypto is better than just plain OTR.
You can also use OTR on IRC for end-to-end encryption, you can use IRC bouncers for persistent connections, bots to record history, etc.
I could see how someone might want all that integrated in one software package or service, though.
Arathorn, links to matrix.org and riot.im on Patreon are all plain HTTP; is it voluntary? Thanks!
Meanwhile in the short term, we're hoping that Patreon/Liberapay donations and corporate sponsorship will let us focus on the current work to be done immediately.
It looks like the typical ICO with a half-decent execution and product backing it raises a few million dollars.
As per the earlier post: we haven't closed the door on an ICO; it will likely depend on how much sponsorship we get in the next few weeks.
* Security vulnerability: Have you tried rewriting in Rust?
* Hard problem: Have you tried machine learning?
* Need funding: Have you tried an ICO?