someone on Twitter asked why we think ActivityPub sucks from a protocol and implementation standpoint, and we're porting it over here with minor cleanups:
several things — from a server perspective, the most popular implementation requires that you become an SRE for Nginx, Rails, Postgres, Redis, Sidekiq, and possibly ElasticSearch. IMO, these (especially postgres) are nontrivial services to maintain over the long term.
once you pick a piece of Activitypub-compatible software, as far as we can tell, you're locked into that particular branch — you cannot simply export a Mastodon database into the GotoSocial implementation, you have to set up GotoSocial brand new, and make everyone refollow you
protocol-wise, we keep finding shocking ways in which activitypub is worse than email; the biggest pecadillo (IMO) is that if i follow 100 people on 3 servers and make a post, my server has to make 100 requests, one per follower, instead of 3 posts, one per server
the way the protocol works is that if two large instances defederate each other, it causes a notification storm for everyone downstream that can overwhelm smaller instances
so! if you run your own, you pretty much have to become a cache SRE, web-tier SRE, DB SRE, queue SRE, Rails SRE, you have to know how to secure unix systems, mitigate attacks, and if you're responsible, you have to do replication and backups.
sure, Docker has made it so that you can stand up all of this easily, but long-term maintenance? are you really confident that you know what you're doing here? Oh, sure, you've offloaded a lot of this to your cloud provider, but then you're now dependent on that provider continuing to work. Unless you're a large corporation with a secure contract, your cloud provider most likely doesn't care about you.
in short, standing up our own mastondong is signing up for a whole lot of Actual Work that we don't really want to do just to talk with friends, and we absolutely must stress that we both worked for twitter for 6 years and run our own **email server* for 21*