(My opinion on this topic is controversial, and I am not sure if I even like my own opinion. This is written wearing my personal hat, not the diaspora* dictator hat. ;))
As written yesterday on GitHub and as Iâve also mentioned on IRC, I am currently working on reading through all the specifications written by the W3C Social Web Working Group.
I am much for cross-compatibility between all social networks. In theory. In practice, this seems hard and almost impossible. Even within the SocialWG, there are two trees of specifications, which somewhat compete with each other. On one hand, there is ActivityPub and ActivityStreams (one of the two trees) and used as an example here. On the other hand, there is WebSub and WebMention, which is an entirely different stack that also gets maintained by the W3C Communtiy Group.
Surprisingly enough, those two are not compatible with each other. Sure, it is technically possible to support them both, but they are really different protocols, with different naming for items, different types of payloads, different flows.
Both have their ups and downs - as usual. So, in principle, yes, you are right, supporting ActivityStreams may increase the range of our posts. Maybe. In theory. In reality, most WebSub/WebMention/WebWhatever based implementations are not compatible with ActivityPub/ActivityStreams unless they implement both stacks. And they have to implement both stacks in both directions (incoming and outgoing), or otherwise it would be a mess for users (âWhy can I read Alices posts but she is not able to read mine?â)
Cross-posting from everywhere to everywhere would be a nice thing. Maybe weâll get there eventually. Weâre not there yet. Surely, someone has to start somewhere, but I do not see us in the position to do that. We have a hard time keeping the lights on anyway, we have a protocol that works for us and some others (like Friendica, for example), we have a clear and open documentation and everyone is welcome to join if they have suggestions.
For us, to implement a second stack or to replace our stack would mean a huge effort with a guaranteed negative outcome since we will have bugs in our new implementation. So, to justify such a change, there needs to be a huge improvement that is visible to users. At this point in time, neither Activity{Streams,Pub} nor their âWebâ-prefixed counterparts provides those.
Activity* (for the lack of a better group naming) has some nice points, but it also has some flaws. One example that breaks it for us is the missing encryption support. They provide signing for items, but they do not support encrypting them with previously exchanged keys, they rely on HTTPS for that. As proven by recent history, thatâs maybe not the smartest idea, at least from our point of view.
By design, a lot of entities inside AS are named differently. Polls are called âquestionsâ, posts would be ânotesâ, ⌠While we could hide that internally, using AS as a client API wouldnât really make much sense to us since matching the names of API entities to something visible in the UI is somewhat important.
There are a lot of issues we to need invent solutions for, or to collaborate with the CG to get them specified. As mentioned earlier, I am not done reading everything yet, so please take everything I wrote with a grain of salt - I might be wrong and I might change my opinion on some points. However, since you picked the worst possible timing for creating this post and I felt the urge to reply, here we are.
As you kinda mentioned, nobody is really using AS2 yet, which is mainly caused by the fact AS2 isnât even a published spec yet. Itâs a draft, and I am doing my best to treat it as such. Iâll continue idling/participating in the SocialWGs IRC channel and I will start joining their meetings. Maybe, Iâll even start playing around with an isolated AS2 implementation, to further explore its limits and to help moving it forward.
I donât feel good with suggesting diaspora* to move to something other than our own stuff. Yet. This might very well change.