I just finished a first read of @evan ‘s ActivityPub book from O’Reilly. The definitive guide for anyone who wants to write applications for the fediverse, imho. The detail level is spot on.
For me, the fact that AT is a proprietary protocol controlled by a single VC-funded startup, while ActivityPub was created and is maintained as an open standard with patent protection by a recognized standards organization, is what’s important.
@galactus@evan question: yesterday I was listening to the better offline interview with Mike Masnick where they touch on the AT protocolo I’m sure the comparative has been done before, but apart from the private vs open source nature of things, what are the main differences between the two
I’d add that there are over 100 implementations of ActivityPub, dozens of clients, and tens of thousands of servers. The number of different organizations involved is surprising.
Protocols are a social phenomenon, not a technical one. And on the social front, ActivityPub is a clear choice.
@evan@Mushi it seems to me ATProto’s descentralization is mostly theoretical (it is not realistic for a person or a small organization to run the main aggregator service and indeed no one but bluesky does) whereas for ActivityPub is not only possible but a reality.
If Bluesky were to dissapear today, all the self-hosted PDS instances would be rendered useless immediately. If Threads or the biggest mastodon instances closed today, the fediverse would still be alive and kicking.
@evan@Mushi@galactus I do think that it's worth incorporating DIDs into ActivityPub implementations (as I understand it, the current webfinger-based usernames fall outside the spec, please correct me if I'm wrong). Otherwise I couldn't care less about AT Protocol. I just want to be able to talk to my friends regardless of where they are.
@viq@galactus@rysiek@evan@Mushi (Important nuance, possibly not super relevant to the conversation preceding: you can always *add* stuff. The version mismatch rules viq mentions only refer to *changing* stuff. So you could layer a second "application" with its own orthogonal data fields on top of AT, it's just if your implementation of the bluesky distributed application differs even a little from the Bluesky Social mothership you can get unpersoned. I am not impressed.)
@galactus@rysiek@evan@Mushi IIRC @mcc tried to run PDS, and you have to have *exactly* same version as main bluesky. You try to add your own modifications, it won't work. You fail to update at the same time they do, it won't work.
@okpierre@Mushi@galactus did you find the patent license that lets other codebases use the techniques patent-free? Not just their own Apache-licensed code?
@okpierre@evan@Mushi the license you pointed at concerns the distribution if the at protocol reference implementation. The propietary character of the protocol itself is a different matter.
One way they could do it is to publish the protocol as a Report of a W3C community group, like the SocialCG or even a new community group, which would give it the patent licenses that open standards require.
@okpierre@Mushi@galactus@bnewbold.net@mmasnick.bsky.social I know that "open source" feels like it should be enough to be an "open standard", but unfortunately not. One of the hard things the distributed social network community have learned over the years is that the standards process matters.
@evan@okpierre@Mushi@galactus@bnewbold.net@mmasnick.bsky.social fascinating convo. It's interesting to say "open source" is not the same as "open standard" and that both are needed for true decentralization. That makes sense, but I'm not understanding what BSKY needs to change in order to be open standard.
Are you saying the code is open source, but still requires a proprietary piece (like a company-controlled server)?
First is governance. Turning over the protocol to a multi-stakeholder standards organization like the IETF or W3C. As long as one company controls it, it's not open.
Second, like I said, is eliminating the other IP issues. Patents, trademarks, copyright. Those are usually handled by the IP agreements of standards organizations, or they also can be done unilaterally.
@okpierre@docpop@Mushi@galactus@bnewbold.net@mmasnick.bsky.social I agree that if your only understanding of the word "proprietary" is "not available under an OSI-approved license", it can be hard to comprehend the phrase "proprietary protocol" or "proprietary extension". The term is commonly used in standards circles, though.