this post was submitted on 08 May 2024
70 points (98.6% liked)

Fediverse

27910 readers
1 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 2 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] mark 36 points 6 months ago* (last edited 6 months ago) (2 children)

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.

[–] [email protected] 12 points 6 months ago

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.

[–] [email protected] 9 points 6 months ago

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.