- cross-posted to:
- technology@beehaw.org
- technology
- fediverse
- cross-posted to:
- technology@beehaw.org
- technology
- fediverse
A lot of people have talked about the possibility of forking Mastodon to get the many improvements their communities need. Making such an effort successful is another discussion entirely.
As an engineer who’s worked on very large codebases over two decades, I’ve realized that this is so much easier said then done.
If people want to fork Mastodon, great. But they’ll quickly realize that what they may think are straight-forward “improvements” will lead to them having to address bigger architectural issues.
Many design decisions that were made when building Mastodon may not be perfect, but they address a lot of very complex decentralization and federation issues.
There’s no such thing as perfect software. What some may think is an improvement, others will think is a terrible choice. Each decision is a trade-off and will have downsides. We just have to decide which of them we’re comfortable with living with.
There’s no such thing as perfect software.
This was a huge learning in my journey. Realising that every technical decision is a matter of tradeoffs - that there is no perfect pattern/framework/library/implementation/architecture/whatever.
Once the obviously bad choices have been eliminated.
Thank you for these insights!
Yeah, aside from developer muscle, an effort like this requires deep knowledge of the existing system. Or, failing that, a commitment to learning it.
It’s also not something that can be done as a side project, if it hopes to compete with the main project to the point of replacing it. Something like that requires an ungodly amount of effort and dedication. Someone would have to commit years of their life to solely working on that.
If anything, this proves that forking Mastodon is a great idea. Not because any useful software would come out of it, but it would distract some of the annoying armchair managers out there.
The biggest problem with Mastodon isn’t the lack of feature X or the presence of feature Y; it’s those exact assholes, draining the energy and enthusiasm from anything that crosses their path while scaring away anyone looking for a meaningful conversation.
I hate to break it to you, but if you genuinely think you’ve figured it all out, chances are you’re a fucking moron.
This is my thought as well. The whole point of this system is that if you feel like you have better choices and ability, you are well within your rights to spin up your own instance and manage it, and make your own choices. Just follow the standards, and you should be able to integrate with existing platforms. They are free to defederate, but that’s their call to do so. It’s always been a tradeoff, and one of the big things with Reddit is that, even to a point now, it’s Reddit or nothing. With federated sites, leaving a platform isn’t starting completely over like it is leaving Reddit.
It’s interesting to see how challenging it is to fork Mastodon while Misskey must have 10 active forks at the moment
Misskey is a little bit odd, in the sense that there’s constantly new forks in various stages of development. New forks emerge just as quickly as old ones die off.
It may be that the frontend and backend both being written in one language helps make the system easier to hack on. I can’t say for sure. What’s weird is that some of these forks go in really odd directions, like rewriting the whole backend in a different programming language.
The other thing is that, despite their proliferation, the effort is somewhat fragmented into all of these little projects. I’m not sure how viable any of these forks are in the long term.