3 ms·
AP is a really terrible protocol, but it'll probably dominate this space in the long-term because of the "worse is better" effect. The AP specification is a jo
by miki123211 3y ago
AP is a really terrible protocol, but it'll probably dominate this space in the long-term because of the "worse is better" effect.
The AP specification is a joke. It's a typical W3C mess of documents referencing documents referencing documents that reference yet other documents, and you have no idea which of those you have to read, and in what order. For example, ActivityPub requires you to understand ActivityStreams and often mentions JSON LD, but you don't really need to understand much about JSON LD to understand the AP spec. Even worse still, some parts of the spec sound just as authoritative as everything else while being completely useless. For example, the client-to-server part isn't actually implemented by any of the major implementations, and if what you want to do is write a Mastodon-compatible client, you need to look at a completely different, unspecified API, which the major implementations implement in similar but slightly different ways, often violating the assumptions that some clients made. Yet other parts of the protocol are underspecified; to understand how signatures are handled, for example, you basically need to read the source code of one of the implementations. Things are so bad that people had to write ActivityPub specification reading guides[1].
Leaving the specification aside, the protocol as implemented has a bunch of other issues. If you want to make your website ActivityPub enabled, to publish news like you would on an RSS feed for example, you can't just chuck a JSON file on a CDN and call it a day, you actually need to keep track of a list of subscribers and proactively push out updates to interested servers, which is complicated from an infrastructure standpoint, has GDPR implications, doesn't play well with existing CDN / caching infrastructure and headless CMS solutions, and is an overall pain in the ass to implement. The protocol still doesn't have a satisfactory migration solution, migrating between Mastodon instances is a difficult process with lots of steps, and you can only migrate (most of) your followers, but not your post history. If your instance shuts down for any reason or your admin decides to ban you, you lose everything and you can't migrate any more. Your instance admins can decide not only what content you're allowed to post, but also what content from other instances you're allowed to see. Most admins abuse that power liberally, making it impossible to follow people from any instance that isn't leftist enough, and those that don't are often shunned, cut out themselves or forced into submission. The community is very cult-like, has a "you're either completely with us or against us" mentality, and if you're against us, we will do everything in our power to shun you and make your content invisible to the rest of the fediverse.
If your admin decides to suspend an instance, your follower/following relationships with that instance are gone forever. Neither migrating away nor your admin deciding to un-suspend the instance will fix that. If you could find a vulnerability that allowed you to control a majority of fediverse instances, and such a vulnerability existed[2], you could basically destroy the network with a bunch of well-placed defederation requests, and no restoring from backups would ever fix that.
- mdaniel 3y agoI think you some references, although I'm pretty sure I know what [2] is