What is the definition of the #fediverse? Is it services that use #activitypub or anything decentralized? When we motivate people to use the #fediverse or promote it. What are we expecting from them?
@Stark9837@fediversenews I don't think there can be a crisp defn of #Frediverse, since it is so easy to move away from it and that small deviation render a node not to interwork w other nodes. In that sense, it is an aspirational term. We want to be able communicate with a tone wo restriction. Like we seem to be able to do with postal & e mail, telephone. Of course there will be exceptions, but they will be small in numbers & for a shorter period of time.
@Stark9837@fediversenews Having said that, there are certain minimal reqs. Firstly, the name space must be common. Second, there has to be a common protocol(s) the nodes use to facilitate comm between their users. It is that simple. And not so simple at a practical level. The nodes may have inconsistencies due to implementation diff, version mismatch and so on. But they all want to federate at an aspirational level.
@Stark9837@fediversenews There’s not a precise definition. I think it’s mostly a buzzword. *My* personal definition of the #fediverse includes more than applications using the #activitypub protocol. Federation, to me, implies decentralized applications that are *autonomous and locally controlled*. Web-scale applications like Twitter (for example) are physically decentralized, but not federated since all the servers are controlled by one company.
@Stark9837@fediversenews This is not some esoteric point or creating an issue just for it's sake. This has happened to SIP. They have settled on E.164 addr & for all practical purposes SS#7 is the protocol (!). XMPP has so many extensions it is easy to be incompatible. Inexplicably, but unsurprisingly both Google & Facebook decided that they will go alone & will not federate w anybody. And so we wait and see how this time it plays out.
Technically speaking, the #Fediverse includes all #federated instances of all projects that use certain protocols. But it's hard to say where the borders are.
It's true that the Fediverse is more than just #Mastodon. Many Mastodon users still don't know that because they haven't heard of any other Fediverse project yes, some even reject it and want the Fediverse to be Mastodon and Mastodon only.
So for starters, the Fediverse contains everything that uses #ActivityPub, that has federation on, and that isn't widely defederated/Fediblocked.
This also includes services which don't have ActivityPub as their core protocols, but which understand them: #Friendica (core protocol: DFRN), #Hubzilla (core protocol: Zot6), #Streams (core protocol: Nomad). Whereas Friendica and Streams have ActivityPub always on, it's optional on Hubzilla, both hub-wise and channel-wise. Most hubs have it installed, though, and most channels have it on.
By the way, if you say that Friendica is not in the Fediverse, then this entire thread doesn't happen in the Fediverse. @Fediverse News runs on Friendica.
Now it gets complicated: Is #Diaspora (the "Facebook killer" spectacularly crowd-funded in summer 2010) part of the Fediverse, or isn't it?
Diaspora* is decentralised, distributed and federated all within itself. Still, it was designed as a walled garden. Diaspora* was never meant to connect to anything else. It's like XMPP without gateways or Matrix without bridges.
Then came Friendica which, at that time, had the goal to federate with just about everything that moved. Diaspora*, still an alpha release, didn't have an API. So the Friendica devs reverse-engineered Diaspora*'s protocol, developed a connector and federated Friendica with Diaspora*.
To this day, not much more than Friendica and Hubzilla can federate with Diaspora*. But you may still find a post from a Friendica user in your Mastodon timeline with a comment from a Diaspora* user. Diaspora* doesn't federate with Mastodon, but that comment went from Diaspora* via Friendica to the ActivityPub-speaking parts of the Fediverse.
So on the one hand, Diaspora* is connected to projects that speak ActivityPub. On the other hand, this has never been Diaspora*'s own development or achievement, and it doesn't directly federate with Mastodon or any other Fediverse project, save for those select few.
Besides, if Diaspora* counted as part of the Fediverse, then so should e-mail, WordPress and everything that uses RSS. Friendica and Hubzilla federate with these as well. Those of you who follow me should find in their Mastodon timelines two automatically reposted blog posts per week from a blog which I've subscribed to via RSS. Hubzilla can do that.
Speaking of Hubzilla, entire hubs without ActivityPub are another edge-case. They don't connect to any projects that only know ActivityPub. However, they, too, can indirectly communicate with ActivityPub instances through either Friendica (by means of the Diaspora* protocol unless that's turned off, too) or Streams-based instances (Streams' Nomad is basically a newer version of Hubzilla's Zot, so both speak a common language).
Nonetheless, I dare say there's no denying that Hubzilla itself is part of the Fediverse.
Are there other protocols similar to #activitypub? After reading the ActivityPub paper, it is clear that although its main intention is to be for social media and communication, it can be implemented to be used for something like #peertube.
But is there a protocol for other types of websites?
@fediversenews@steve@Stark9837 Agreed. #IndieWeb is a good example of a federation that doesn’t use #ActivityPub. You could make a case for #RSS, as well. ActivityPub is my absolute LEAST favorite protocol to work with, but it’s the current darling of the “extended” Fediverse. Some day we may have a better protocol to build upon. But to me too, “The Fediverse” is much bigger than ActivityPub.
@benpate@fediversenews@steve Well, the #RSS and #ATOM guys hate #activitypub. There are a few long forum discussions where they go on about how unnecessary it is, and everything can be done with Atom. But I feel that ActivityPub isn't just the format but also how they communicate, and the format is more formalised and standardized, especially for social things.
@steve@Stark9837@fediversenews That’s a great resource. Thank you! Yeah, I skipped over a lot, like Scuttlebutt, Diaspora, and others. ActivityPub sure is the dominant protocol (at least in 2023)
@fediversenews@Stark9837@steve I have implemented both, and you can do MOST of ActivityPub in RSS+WebSub for sooooo much less pain. But, ActivityPub can carry MUCH more, and richer information than any RSS format, so it’s the one to build on for now.
@fediversenews@Stark9837@steve One of my troubles with ActivityPub is that it’s TOO flexible, meaning that every different app can pick and choose how they want to implement it and you have to make mappings for every possible flavor of ActivityPub. There are no flavors of RSS/Atom/JSONFeed. The fields and types are well defined, so everyone implements them the same way.
@Stark There is, for example, #Zot. Zot was created along with a #Friendica "fork" (actually almost complete rewrite) named #RedMatrix which, upon its 1.x release, become #Hubzilla.
I don't have the exact technical specs, but it should work similarly to #ActivityPub. It's much much more powerful, though.
For starters, Zot was created for something that goes even beyond federation, namely #NomadicIdentity. Not only does it facilitate the move an entire channel from one instance to another, it lets you have your channel on multiple instances at once and automatically keeps all copies in sync. If the hub with your main channel on it goes down, doesn't matter, you have an identical clone or several.
Besides, Zot was not only designed for messaging. After all, Zot can keep channel on that monster named Hubzilla in sync. With everything on them. Not only posts, entire threads and contacts, but articles, wikis, notes, the content of your WebDAV-equipped cloud file storage, your public event calendar, your private CalDAV calendars, your private CardDAV address book etc.
This gets really interesting if you're on Hubzilla, and you have another Hubzilla channel amongst your contacts. That channel may have a number of nomadic clones, but you only see one of them as the main one. The channel owner can seamlessly change which one is the main, and all you notice is that the hub URL has changed.
The current and last version of Zot is Zot6, originally developed for and with the Hubzilla successors #Osada and #Zap, then backported to Hubzilla.
#Streams, basically a code repository which evolved from Zap through another two steps, already uses #Nomad, a kind of successor to Zot which nonetheless can communicate with Zot. Streams shows what Nomad is capable of: Instead of a "fully-featured" server platform, Streams is meant to be a code base for advanced Fediverse projects, i.e. you can strap onto it whatever you want to develop. Whatever it may be, Nomad can keep it in sync between multiple instances.
@Stark9837@steve@schizanon@aswath@jupiter_rowland@crafti@fediversenews RSS is a different animal, so things don’t map 1:1. However, #WebSub and #RSSCloud both make real-time publishing of RSS feeds possible. And they’re so much easier to implement. The main drawback I’ve seen is that RSS can’t carry the same amount or fidelity of information, which is why ActivityPub is still the better protocol.
@jupiter_rowland sounds like VHS vs Betamax all over again. The less advanced technology wins out because other market forces are more important than the technical solutions they bring to the table.
@Ben Pate ? Maybe it's because Hubzilla and Zot were too obscure back in the day for anyone to know them. After all, still today, I guess every other Friendica user hasn't heard of Hubzilla yet. And back when Mastodon was designed, nobody even knew Friendica.
Or maybe it's because Zot would have been considered utter overkill for something as simple as microblogging. Had they only known how many people struggled with moving between Mastodon instances in the last months...
Before ActivityPub and Mastodon became a mass phenomenon together, the "holy trinity" was #Diaspora, #Friendica and #Hubzilla, all connected via the Diaspora* protocol and, ironically, connectors not developed by the Diaspora* team. #StatusNet was kind of dragged in, too, but couldn't connect to Diaspora*. And after identi.ca had switched from StatusNet to Pump.io, StatusNet barely mattered anymore anyway.
That said, nobody called it "Fediverse" back then.
Besides, if you were to introduce RSS and/or Atom as protocols on the Federated Social Web, you'd have even more of an #xkcd927 situation than already now.