So one of the major differences between corporate software development and community software development is the difference in transparency.
In corporate projects, the default is secrecy; you don't tell stuff to outsiders unless you have a reason to. In community projects, the default is openness; you always do everything out in the open unless you have a reason *not* to.
And I think that the a lot of the problems people have with Element and - by extension - Matrix are to do with precisely that: Element's projects are run as corporate projects, not as community projects.
I don't mean that there's no spec process, or that it's proprietary, or that there's no work out in the open - I mean that it is not out in the open *by default*. As Element grows, it is becoming increasingly common to hear the word "internal".
"Internal" is the death knell of a community project. Internal projects, internal discussion, internal review, internal priorities. Internal means secrecy; not visible to the community, not taking its input, not *accountable* to that community.
Some things, like actively exploitable vulnerabilities, *need* to be kept internal - but most everything else shouldn't be. Spec changes shouldn't be under internal discussion. Refactoring shouldn't be an internal process.
Or to put it differently: at the very least, the full state of the project must be visible to the whole community at any given time - *without* actively having to ask The Right Person about it. Maybe in some cases read-only, but it must be visible without delay or barrier.
And if you're trying to run a community project as a corporation, yes, that means needing to disclose the internal workings of your corporation. Yes, also the 'company secrets'. Yes, also the internal bureaucratic processes.
And yes, also take feedback on them from the community. If you want to do it right, it needs to be a symbiotic relationship, even if that means not doing the 'standard thing' from a corporate perspective.
Element has failed to do this, and the result is that people are feeling more and more alienated from the process; a process which they increasingly have no visibility into, and zero control over.
It's nominally still a community project, but in practice there's always some unspecified and invisible "internal" roadblock standing in the way of contributions, with no timeline of any sort, and a distinct sense of neglect.
And that's how it ends up taking 7 years to fix a grating notification sound: https://github.com/vector-im/element-web/issues/5891#issuecomment-1620570919
Element needs to do better. The Matrix foundation, which Element is still the major contributor to in practice, needs to *demand* better. I think Matrix has real potential, but I would prefer if it didn't require a community fork to get there.
#Matrix #Element #FOSS
Some users (including me) find this high pitched sound unappealing, please let the users change it or go an octave lower. thank you --Lue
GitHub