Skip to main content


Should developers publish federation protocols that aren't ActivityPub or ActivityPub extensions?

  • Strong yes (25%, 66 votes)
  • Qualified yes (37%, 96 votes)
  • Qualified no (28%, 74 votes)
  • Strong no (12%, 32 votes)
256 voters. Poll end: 2 years ago

Evan Prodromou reshared this.

In other realms I've seen a great way to influence the most popular tool is to build a brand new tool and show how that new world could work. Then some of the best parts find their way back in to the main tool (if the devs are responsive enough)
@stefanhayden fine, but what if the demo confuses people about the more popular tool, which is orders of magnitude less popular than its bad commercial equivalents?
personally I find it rare the new thing gets that much traction. I'm looking towards things like coffeeScript and Deno in the javascript echo system. Both have influenced javascript long before they really had wide spread adoption or a chance to confuse novices.
Not sure. If it‘s better than ActivityPub and gets a chance to get used especially by mastodon I guess. If nobody uses it, it could be irrelevant.
@andreas it could be confusing and waste a lot of the community's effort and focus at a critical time, too.
I don't think i understand the question. what can they make?
@OliviaVespera federation protocols defines how different programs talk to each other. ActivityPub is the protocol that Mastodon uses.

I'm asking, should anyone be working on or promoting protocols that aren't closely-related to ActivityPub right now?
ah I see. I don't know if there are drawbacks to activitypub at the moment compared to the others.
Developers of federation systems, who believe that ActivityPub cannot address their needs, should explain why that is and give others the opportunity to propose conforming solutions.

The primary ethical imperative should be to avoid publishing a new protocol unless it is certain that ActivityPub cannot be reasonably extended to address the unmet need. In the unlikely case that a new protocol is appropriate, all should be done to ensure maximum reasonable interoperability.
@bobwyman Have you talked to the BlueSky folks? 🙂
@J12t@bobwyman BlueSky is the prime example right now
@J12t There is some stuff I like about BlueSky. For instance, their approach to allowing posts to be "labeled" and thus enabling all sorts of downstream filtering. I'd like to see content labeling done by an arbitrarily large number of services. However, labelling isn't something that requires a new protocol. I think it would be relatively easy to add to a Mastodon-like system (although it might introduce a bit of latency.)
@bobwyman I like a bunch, too. I wonder whether somebody brave could come up with a gradual migration protocol -- possibly practically impossible, but both content storage and identity layer are interesting. E.g. because it appears the cost of the whole "fediverse" at Twitter-scale appears to be potentially much lower with the BlueSky approach. (haven't done the math, just a hunch)
Hot take here: ActivityPub is kind of a "worse is better" protocol and has quite a lot of flaws, which is why I'm excited about alternative federated or distributed protocols like https://spritelyproject.org/

However, most of my development work (Gitea federation, ForgeFed, FEPs) are all for ActivityPub and extensions, because that's where the ecosystem momentum is right now.
ActivityPub extensions yes, if they are clearly scoped (like https://forgefed.org). Non ActivityPub federation protocols also yes if they solve a different problem (like https://matrix.org)

For anything else improvements to ActivityPub or its implementations should be considered first to strengthen the ecosystem rather than causing further fragmentation
Publishing is part of innovation. Should they be widely adopted? That's for the W3C to decide.
should is one of those words that I generally disagree with
@cafkafk ooh then there's an RFC that you're really not going to like
ok, if @w3c is defunct, there should be some publication. But if now everyone is doing their own ActivityPub in their own corner, will that be interoperable?
not sure what's the point of this. The internet is already full of competing implementations of communication protocols. In the fediverse, ActivityPub is the widely adopted solution now, but it was born just 8 years later the Diaspora* federation protocol, which was (and still is) very not compatible. If a new protocol emerges, and its specifics are robust and open, and it fits as a good solution for a scenario that let its adoption grow, it is more a benefit than a problem in my opinion
@leonardo it's a poll. The point is asking what you think.
yeah sorry😁, i mean, i don't think a poll is the appropriate tool to discuss the question. I find the replies people gave more insightful
@leonardo

So you're saying the poll stimulated interesting conversation?
i'm saying that the question was stimulating, and it would probably be interesting even without a poll attached on it. Please don't try to twist my words just to prove a point, i'm not here to argue and i'm sorry if i gave the opposite impression, it was not my intention.
@leonardo oh, great!

I do a *lot* of polls. I love the thought process they call up in me, and I love the way conversations flow out of them. And I love finding out if my opinion is mainstream or if I'm an outlier.

As a #FuzzyLogic fan and implementer, I try to represent shades of truth as best I can in the limited number of options.

If you don't like polls, that's OK! You can follow other people and have a different conversation somewhere else. My stream isn't the only game in town.
thanks for explaining your rationale, it's way more clear to me now 😀
Can haz moar #XMPP and XMPP Extensions‽
#xmpp
Qualified no as I would love to see some of the capabilities of pump.io migrate into ActivityPub. I have yet to see an OpenFarmGame or ih8.it pop up on an ActivityPub backend.
qualified: only if they want to 😉.
So disappointing :(
We will end up with more new "standards"
Strong yes. ActivityPub was developed years ago and the people involved didn't really take harassment or disinfo into account. New systems on new protocols can always provide a compatibility layer to interact with ActivityPub.
@jdp23 Tell me more about what the people involved with ActivityPub considered and didn't consider.
@Jon
Fair enough!

Can you point me to the analysis of ActivityPub from disinfo and anti-harassment perspectives?

And who were the disinfo and anti-harassment experts involved in developing ActivityPub?
@jdp23 that is not a good use of my one wild and precious life.

I'm pretty sure minutes from the meetings are up on the web.
@Jon
Searching https://www.w3.org/wiki/SocialCG , disinfo never appears in the minutes.

Harassment is mentioned a few times but there is nothing I would call a serious analysis -- for example you say "I'm really sympathetic to desire to avoid harassment ... but systems need to acknowledge that there will be bad actors" which while true is only the very first step.
Qualified no: it's always better to work extending what currently existing than writing something completely different and potentially incompatible, unless there is a significant gain in doing something completely different and potentially incompatible.
if someone thinks they have a better idea they're welcome to try, but realistically I think most implementors would end up also implementing activitypub anyway if whatever hot new thing didn't have any support for it
Mastodon migrated from OStatus to its ActivityPub dialect, supporting both for some time, and took much of the Fediverse with it.

As long as there's a way to have a transition period or even just a lossy fallback, new protocols can maybe solve problems that an ActivityPub extension can't.
you need an "I don't understand the question" option :)
@dria I think that's the "don't answer and go do something else" option.
I'd like to see a list of active protocol with multiple clients.

git counts, right?
um... I'm not sure this should be a poll. Also, I need so much more context here before voting. Also, that's why I can't see this as a poll.
@elight

1) Then don't answer and don't post a poll on the topic. Problem solved!

2) You should probably start reading then.

3) That probably is, yes.
If open source is to survive and thrive, then yes, everything should be challenged - survival of the fittest, etc...
So. these are interesting results!

Right now, I'm a strong no. Anything anyone publishes before the end of the year is going to be, at best, a spoiler and a distraction.

Worst case, if it picks up steam, it could split the interest in federation, and really inhibit further growth.
Metcalfe's law says the value of a communications medium goes up with the square of the number of participants.

If the total number of people interested in federated social networks is N, a single pool of people using compatible protocols -- AP, right now -- generates ~N^2 value.

If you split that in 2 even groups, the value of each group is ~N^2/4, and total value is N^2/2.

Every time we split the fediverse, we drive down value significantly.

So, if you care about federation, don't split.
Long-term, sure, go for it. If your protocol is 10 times better than ActivityPub for some reason, it will get some headway.

But don't be a spoiler during this crucial period.
So, anyway: short term, strong no. Long term, qualified no.
I disagree... publish early publish often has always been the strength of our communities. I know what I am talking about, been with linux since 1994 and I've seen a lot, from browser wars to realplayer...
@voxpelli it's great! Bridges are good, interoperability is great. The existing Indie Web stack is great, RSS and RSSCloud is great, existing protocols like OStatus are great. Keep using them, keep building bridges.

But!

I think publishing a *new* protocol in November 2022 or launching a new network is pretty reckless, and I hope whoever thinks of doing that would think hard about whether they're providing a net good for the fediverse and for the world.
@voxpelli you didn't say "new" in the poll though, so it was effectively asking other existing protocols to keep quiet
@KevinMarks@voxpelli

I guess my idea of "publishing a protocol" is that you're releasing a new spec and not revising or updating an existing spec.

You're right, "publishing a protocol" could mean the second, too.
@KevinMarks@voxpelli I don't see much if any harm in updating a protocol spec right now.
@KevinMarks@voxpelli

So, now that I'm rereading, I think there's another potential source of confusion.

In the Web world, we sometimes use "publish" to mean "support" or "implement", especially when we're talking about feed formats.

Like, "Does that site publish a WebSockets interface?"

Or, "My blog engine publishes RSS and Atom."

"This server publishes SMTP and SSH."

That's not what I meant, so I should have picked a clearer term, like "publish a new spec".
@KevinMarks Or even more accurate: Publish a new competing ecosystem

And it’s complex as eg. Mastodon isn’t a pure ActivityPub actor as far as I understand, it keeps the WebFinger part from its OStatus roots and augments that on top of ActivityPub.

Likewise both OStatus and the IndieWeb shares the use of PubSubHubbub/WebSub, so it’s hard to even know where one ecosystem starts and where another ends.
@KevinMarks
I'd say the new was implicit in the publishing. Why would you publish an old protocol?
@evan@voxpelli
@KevinMarks@oblomov Well, the IndieWeb like OStatus and to a degree Mastodon consists of many protocols and more may very well be added / extended / iterated upon, so they would be new, but part of something old and existing
@voxpelli@KevinMarks@oblomov so, there you go! An exception that proves the rule.
100%, we need to prioritize interoperability
@voxpelli oh hey didn’t we work on some Ostatus stuff r somethin?
@voxpelli I liked that. I enjoy data transformation 🤷‍♀️. I recall working on it for a mobile client.
ActivityPub has a ton of momentum and adoption right now thanks to Mastodon, and I don't think a dev publishing a paper or a toy implementation threatens that. People should publish early and often.

It looks like the biggest adoption spoilers might to be federation wars over moderation policies, followed by inter-instance latency.

Basically, mods have to be made irrelevant; users must be empowered to set boundaries that work for them, are transparent to others, and are enforced broadly.
@gabrielbauman What about a project funded by a big company, like Blue Sky?
Say they release tomorrow. Mastodon still trending, people still joining because now that's where their friends are if they're not on Twitter. The head start is real, and switching fatigue works in our favor.

Devs/enthusiasts will read and experiment with the new thing. Unlikely that the bulk of the Twitter diaspora will care. ActivityPub can ignore/embrace/extend concepts or be replaced itself if X is really so great.
if the worst happens and we get significant fragmentation, maybe Jabber-style gateways can work. Hopefully that doesn't happen.
@gabrielbauman one way it doesn't happen is for people to sit on their hands and not publish their snowflake protocols.
Hahaha true enough! I still don't think there's a need to feel threatened by the mere possibility of competition.

ActivityPub has been building and working for years, is a recognized standard, and has unbelievable momentum. It's not going anywhere as long as it keeps evolving to meet the challenges the network faces. The ocap work in particular is quite promising.

Other things may yet show some merit. They'll have a hard road and AP can hopefully assimilate any good ideas worth grabbing.
i contest this law. Value is a human perception. It has no physical ground. It is by definition subjective. One does not necessarily want to be in the network of anyone else
perhaps, but why would be this law correct ? It is a perceived value in an attention based economy that, for me, is completely artificial
Metcalfe's law applies more to the value to spammers than to individuals. A small world network is much nicer for humans than a universally connected one.
Or at least, implement AS as well as your own protocol
Is @matrix in scope for your question too? It beats the fediverse by a large margin when it comes to Metcalfe’s law.
Is that a statement about protocols, though? It seems more like it speaks to instances and the patterns of instance-admins refusing to federate with other instances.

Clearly there are some sharply different philosophies on who/when/how federating is done; it may remain to be seen which among those are destructive to the overall value of the network.
I'm learning a lot about ActivityPub by the replies. Thank you, Evan, for promoting the discussion.
If it is of any reassurance I have absolutely no plans right now to develope any federated protocols.
@aeva well, at least there's two of us
@aeva
Defederation is already doing this. As it is, a bunch of small instances are trying to get people to leave my instance because they plan to block it, and the moderator behavior is the top reason I'm seeing people defend remaining on Twitter.

If a couple dozen decent size instances defed dotsocial, we'll basically have split the fediverse down the middle.
Then what is the process for getting the people who want to create or support alternative federation protocols — to do that within the framework of ActivityPub?

Assuming you want to try to bring that "26% Strong yes" and "38% Qualified yes" to support your preference.
@reiver that's an interesting assumption! I need to think about that.
Agreed. ActivityPub is already a W3C standard. The last thing we need is something new that's not an open standard.