Matrix homeserver development be like
* 10 minutes of writing code
* 2 hours of trying to work out a spec omission and asking people
* 5 minutes of writing code
* 30 minutes of filing spec issues
* 15 minutes of writing code
* two days of waiting for clarification on something ambiguous in the spec
I like the premise of the protocol, but sheesh, the spec has some serious quality issues, and it's making it almost impossible to get anything done on my homeserver project without losing focus, because the whole thing constantly blocks on spec holes
Can we get an experienced IETF RFC writer on this or something?
@joepie91 tbh most of the ietf rfc specs I read are the most unreadable things I have ever seen. However I fully agree that matrix spec is not readable. Imho I would go as far as saying that the new design made it somewhat worse too.
@MTRNord The IETF RFCs are often difficult to read, but there's generally one thing you can just assume: that it will contain the answer to your question. There's a reliable source you can fall back on.
The Matrix spec is written more like a tutorial, which is superficially more readable, but in practice ~all the information about the corner cases and procedures is missing.
@joepie91 @MTRNord I'm sorta in the camp that the tutorial text should also appear, and then be backed by a very clear strict spec. I think right now we have a mix of tutorial & spec, with a few holes around the place.
I generally feel the spec is uneven due to the approach if it being written over time by different authors, and there is value in actually going through and finding all the strange bits.
@halfy @MTRNord To further illustrate the point: I've been trying to work on a homeserver implementation for several years now.
I've gotten essentially nowhere, and this is almost *entirely* because of the problem described in the original toot, where I'm having to spend almost all of my time and energy on sorting out spec issues.
If it is essentially this impossible to write a compliant implementation, can it even still be credibly called an open protocol?
@MTRNord @halfy And to be clear, I don't actually even *like* reading IETF-style specs.
So if there's *that* much difference in time and energy requirements to get a working implementation, that is not a good sign for a supposedly 'open' protocol.
Is it really 'open' if you effectively need a well-funded engineering team to get anywhere within any reasonable timeframe?
@joepie91 @halfy Well. Others like conduit and construct were able to write a working matrix server which starts to make me wonder what they are doing different. I still fully agree with spec needing WAY more work and probably a rewrite which starts at "what do we have" and "what is missing" and ends at "did we tick all checkboxes before we replace current spec text" (because there is a habit of loosing information as well).