The #Signal dev process in a nutshell
@deutrino so, random people demanding something from developers who never promised them anything in an increasingly self-entitled fashion and telling them how to develop their products. Truly, GitHub-hosted open source process in a nutshell.
People may love or hate any project they like. But they never get to demand anything simply from the fact that the code is available on a platform where it's easy to bitch in the comments.
@isagalaev @deutrino OTOH, devs could just reply "no, we won't" and close the issue. That's their prerogative. Leaving the ticket to rot for 4 years, without official answer is no way of doing community management. Someone even provided a (incomplete) PR for this issue and it was rejected, closed and after a while locked.
@x_cli @deutrino why do you assume they have to do any community management at all? This is work. And their contribution docs don't mention anything about them being happy to accept plain feature requests (which it is). Experience shows that answering "no thanks" is treated as an invitation for an argument by requesters, which is again, work.
PRs are different, and in fact the PR linked from this ticket has some discussion in it. It was resolved in some fashion.
They could also use Github as a code dump, like Torvalds is doing: no issue section: https://github.com/torvalds/linux but they don't.
As the links above prove it, they do accept feature requests.
But they are open to these as much as they are to (positive) criticism: not one bit. The only things that are open about them is their source code (which is to be praised), and their disdain for their users.
@x_cli @deutrino even peacefully, why petition? As long as maintainers are aware of it existence, its job is done. In a sense, a feature request form on their site is more honest: you send something and you get nothing in return, and this is the reality of it. Also there's an observation that about 100% of all feature requests is something developers themselves could come up with in about 30 minutes :-)
@isagalaev @deutrino Generally, when user voices are listened to, the feature request upvotes serve to prioritize them in the roadmap. "Many users want it; we (devs) may not see the point, but since many people are asking for it, let's do it". That's a client-first approach to project management.
But Signal devs are not interested in their users. They consider their users as a bunch of freeloaders. They are not interesed in democracy or discussions. They made that clear numerous time.
@x_cli @deutrino while I'm not against listening to users in *some* way, I would hate working on a code driven by users' willy-nilly requests, let alone prioritized by their votes. Sounds like a recipe for disaster to me. Thing is, requesting stuff that sounds good is cheap and never, ever leads to a coherent design.
(This is not specific to Signal, I'm not familiar with their process anyway.)
OTOH, most companies depend on their potential clients actually buying their product. This is a strong insentive to code what the clients are asking for.
Signal does not live on paying clients nor on user donations.
They are not individuals developping on their free time and allowing people to benefit from their production.
Instead, they received a large blank check from the get-go. This can only result in a growing gap between users and devs.
But Signal has been very aggressive with people forking Signal, and forks are very expensive because on the centralized nature of Signal. If you fork the client, you have to duplicate the server infrastructure too! And nobody has the money to do it, because Signal is living on that original blank check, which allows them to provide the solution for free, thus killing any competition.
@x_cli @deutrino I understand all that. But why is it a problem? Signal is not a natural resource that everyone has to be compatible with or something. Why expend all this effort to try and make them what they clearly don't want to do? And also blame them for it, when they never promised anything like that.
@isagalaev @deutrino Because Signal is a social network. I would have uninstalled Signal ages ago if I was not forced to use it by my friends and colleagues. SIgnal devs don't even have to lock users in. Users achieve that by themselves. Which means that having no choice but using it, people ask for features and are frustrated because they are met with disdain, if met at all.
An example just off the top of my head is Tesla Model 3. There was so much noise about pushing Tesla to finally produce its cheapest base model. When they did it at a great cost and cutting many corners, turned out nobody actually wanted to order one.
Companies with B2B paying customers generally sign an engagement to have feature X at a specific deadline in exchange from a signed purchase order :)
With B2C, there are always risks. That means spending time and money to acquire user actual expectations and not just that of vocal users giving theirs for free.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!