Not to contradict you, but there's another important aspect to 'community' besides the bad contributors and the entitled complainers. That's discoverability. How do you discover a project that may be hosted anywhere on the dozens of independent forges out there? Searching each one individually is not a viable proposition. The search often ends on the biggest platform - Github.
I'm not trying defend github here. The largest platform could have been anyone who took advantage of the early opportunities in the space, which just happens to be Github. But discoverability is still a nagging problem. I don't think that even a federated system (using activitypub, atproto or whatever else out there) is going to solve that problem. We need a solution that can scour the entire code hosting space like search engines do (but collaboratively, not aggressively like LLM scrapers).