This is how I witnessed the development of Friendica, Hubzilla, Streams & Co.
Allow me to digress from the usual topic on this channel once more.
I'm pretty sure that no human being on this planet has created nearly as many federated social platforms as @mike
. But all these (actually not always so) different platforms can be a bit confusing. Even I may be wrong here and there, but I'll try to make some sense of them by putting them into a kind of chronology.
So first, there was #Friendica
. Only that it started out under the name of #Mistpark
. I'll get to the name later.
? Remember summer 2010 when the crowdfunding run was launched so that those four guys could spend all their time creating a free, #OpenSource
, decentralised, federated social network (a.k.a. #Facebook
killer) which they wanted to name Diaspora*?
Well, they unknowingly wanted to re-invent the wheel. #StatusNet
was already there, #GNUsocial
was already there, and especially, Mistpark was already there with a 1.x release and more powerful than both, actually, more powerful than Diaspora would ever become. I think Mistpark even already had Diaspora*'s aspects, only that they were called groups.
As for its concept, Mistpark went beyond that of Diaspora*. Mistpark didn't only want a bunch of instances ("nodes" in this case) of its own kind to connect with one another, it also wanted to federate with everything else that moved, be it e-mail, be it StatusNet, be it Twitter, be it whatever.
The first name change was from Mistpark to #Friendika
. The reason was that the original name sounded repelling to German speakers. "Mist" means "fog" in English, but "dung" or "manure" in German, not to mention that it's a German curse word.
When Diaspora* was finally there, Friendika didn't see it as competition, it saw it as another federation target. To this day, Friendica is fully federated with Diaspora*, and that has exclusively been the work of the Friendika developers who studied Diaspora*'s source code and reverse-engineer it because it didn't have an API.
Probably the biggest coup was the bidirectional federation with Facebook. This was what everyone was waiting for. This, however, was also where the trouble started. Facebook didn't want to be federated with a non-commercial social network and started taking defensive measures. Also, Friendica users (the second name change was through meanwhile) who used the Facebook connector had their entire and often very busy Facebook timelines mirrored onto Friendica nodes, one of the reasons why even nodes on powerful root servers often had to close new registrations even though they only had a little over a hundred users. So there were several reasons why Facebook federation was axed again.
Internally, Friendica uses its own protocol named #DFRN
. But I guess Mike had meanwhile seen it as a dead end, also because he had a new idea: #NomadicIdentity
, not only the ability to easily take your account from one instance to another, but the possibility to have it on multiple instances at the same time, keeping the copies in sync.
That's why he laid the foundation for a new protocol that could do that: #Zot
And with it came the next social platform. It was first just simply named Red from Spanish "red" = "net". Red was based on Zot from the beginning, and as an experimental platform, it only understood Zot. On Friendica which was now running at full steam on dozens upon dozens of nodes, and which Mike had passed on to the community, the development was followed with interest. And just like later platforms, I think Red actually got a few small public instances because someone really wanted to try it out. Red eventually changed its name to #RedMatrix
Also, Red didn't just want to be a social network like Friendica. The idea was rather to have a "social content management system" that could do just about everything you could do with a website and/or a cloud server. Third-party federation was slightly reduced, connections to commercial platforms didn't come back. But as Red evolved, the Diaspora* connector was included which was also used to federate Red with Friendica.
From the Red Matrix emerged #Hubzilla
, the Swiss Army knife of the #Fediverse
. Still today, its possibilities have rarely ever been fleshed out: not only microblogging, but macroblogging, article publication, websites, wikis (no, I'm not kidding), #WebDAV
server and so forth.
Next to the nomadic identity that came with Zot, Hubzilla introduced another killer feature: one account, many separate channels. Each one of these channels is basically like one Friendica account. You can have multiple fully separate identities on one account, and nobody (except the instance admin) can tell that they're all you. So this goes way beyond Friendica's multiple profiles. By the way, Hubzilla still has multiple profiles per channel.
Some say that the Red Matrix was renamed Hubzilla. This isn't true. Hubzilla is a fork of the Red Matrix, one could say it was a stable snapshot of the Red Matrix.
For the development of the Red Matrix continued. Planned advancements on Zot couldn't be tested on stable Hubzilla, they needed their own testbed. Eventually, the last Red Matrix instance was Mike's personal one with himself as the only user. It still federated with Friendica and, of course, Hubzilla.
In the meantime, #ActivityPub
came along. It wasn't just another obscure networking protocol, though, because #Mastodon
made it huge. So at least Friendica and Hubzilla had to adopt it. Friendica firmly integrated it. Hubzilla made it into an app just like all other protocols that aren't Zot because they stand in the way of fully nomadic identity. By the way, both profited from its introduction because the federation between each other no longer had to use the Diaspora* protocol.
For the next advancements of Zot, two
new platforms were forked from the Red Matrix or Hubzilla. At this point, Mike wasn't involved with Hubzilla anymore either. First, there was #Osada
, an early testbed for what would become #Zot6
, but still with ActivityPub. For pure Zot6, #Zap
followed suit. Most connectors that are neither Zot nor ActivityPub, including the one to Diaspora*, weren't taken over, as were many of Hubzilla's extra abilities (websites, articles, wiki, CardDAV, two parallel calendar systems etc.) to keep it slim. It did get to keep the various types of channels as well as one CalDAV server and the WebDAV connection, though.
Eventually, when Mike handed them over to the community, they used the exact same code base. The only differences between Osada and Zap was whether or not the admin had ActivityPub on (Osada) or off (Zap) and the name.
As having two different names for the same thing, depending on the instance configuration, Osada was discontinued in favour of Zap which now included ActivityPub itself. In the meantime, Zot6 became stable and was backported into Hubzilla which thereby became fully compatible to Zap, only that what Hubzilla can that Zap can't cannot be mirrored to Zap.
Then Osada re-emerged as Zap's unstable branch. Along with it came a new Red Matrix which, as far as I could see, was now an even more purist, even more unstable branch that only served for testing Zot8 and lacked all other protocols.
To top this off, in 2020, Zap itself got a stable branch even more intended for productive use. For this purpose, the name Mistpark was dusted off. The new stable branch was named #Mistpark2020
or simply #Misty
. Misty was the first of its kind to not even get an announcement anymore, though. Its home page on Zotlabs disappeared along with Zotlabs before it could be filled with any useful information.
Two things were interesting: Red Matrix, Osada, Zap and Misty were based on various states of the same code base. It was possible to switch from one to another by rebasing the local code repository on your server. This became obvious through instances that carry the name of one project but run another one.
It must have been in 2021 when #Roadhouse
showed up, again, unannounced. It seemed to be nothing more than a concept for the next generation of distributed social platforms. Roadhouse was the first of its kind to use the #Nomad
protocol which, I guess, is forked from #Zot
because it serves the same purpose. It got its own home page on Zotlabs which remained as uninformational as Misty's.
And then the most recent name popped up: #Streams
. At first, it was even less clear what Streams was supposed to be and what set it apart from Roadhouse, not to mention Red Matrix, Osada, Zap and Misty, also because Zotlabs didn't say what Streams was either.
But I guess Streams' purpose has emerged in the meantime through word-of-mouth: It's the experimental successor of all five and the solution to this maze of names. Streams isn't even a product with a name, it's a concept that uses Nomad for nomadic identity and that is in constant flux, hence Streams. The idea was to do away with fixed names to get rid of the previous chaos. Everyone can name whatever they do with Streams however they want.
There is currently only one more or less public Streams instance, but it still carries "Stream" in its name. At least two more instances which may be private are named something with "Streams", too. So whether Mike wants or not, Streams has become a name of its own, and people use it.
How many Streams instances exactly exist right now is hard to tell, even from Communities pages on Streams instances or Sites pages on older platforms, because they don't necessarily identify themselves as Streams instances. So if you go through one of these pages, and there are names in the Projects column which you don't know as Fediverse platforms, check out what's behind them. It's often only one instance. Open the instance, click its burger menu, and if there's a Communities link, it's a Streams instance. I've discovered a lot of Streams instances not named anything with Streams this way. Private instances included, I guess Streams must have more than a dozen instances already.
There has even already been a request to launch a Streams support forum much like the one for Hubzilla; after all, Streams still supports forums. It's safe to say that Streams is doing quite well for something so obscure.
Feature-wise, Streams is the same as Zap and Misty.
But what became of the six platforms between Hubzilla and Streams?
- Red Matrix kept having only this one single-user instance because nobody else dared to touch it and set up another instance. It's a Zap instance now as far as I can see.
- Osada never really took off, Zap probably did only after Osada was merged into it, and some Osada instances became Zap instances. This explains why Zap has got comparably many instances. Most of them, however, are tiny, probably private and utterly undermaintained as they run rather old Zap versions. Zap only lives by numbers, and it's the only one of the five listed on Fediverse Observer. Also, while the FediDB lists all five, it only knows that one Dominican public Zap instance and none of the others (looking through its connected sites reveals many unlisted instances of Zot-based networks, by the way). Still, it seems to be on the deathbed, being superseded by Streams, experimental as the latter may be.
There still seem to be a very few running Osada instances, but Osada can be considered dead as the focus is on Streams now.
- Misty didn't take off either, even though it was considered more stable and more production-grade than Zap. This time, the reason may simply be because Misty got zero advertising, so nobody heard about it, probably not even some of the Zap crowd. Misty never had many instances, they weren't properly advertised either (the same applies to most Zap instances, by the way), and Misty's death knell may have been the unannounced shutdown of its largest instance. Basically, there was little room for Misty next to less obscure Zap.
- Roadhouse didn't even manage to get much limelight before Streams appeared shortly afterwards. In both cases, the only way to find out what they were and what they did was by either studying the source code or installing a private instance. Streams, however, had the advantage of being even newer. The-Federation.info knows exactly one German Roadhouse instance which was originally set up as Misty and has meanwhile been upgraded beyond Roadhouse to Streams, and there only seems to be one remaining unlisted Roadhouse instance.
- I've seen another result of an upgrade from Zap to Misty. So it's safe to assume that you can upgrade all five to Streams. If this is the case, then now that Streams is here, it probably isn't worth spreading the developer community across six almost identical platforms. Basically, Streams has become the latest version of Red Matrix, Osada, Zap, Misty and Roadhouse.
- At least Red Matrix, Osada, Zap and Misty are still being maintained in a sense, though. All four got the same small Git commit from Mike a good month ago. Roadhouse got one four months ago.
As of now, Friendica is still going strong, so is Hubzilla, and Streams seems to be cleaning up the mess that came after Hubzilla.
If you really want to try out something with Zot, my current recommendation is Hubzilla, even if it may seem bloated and cumbersome to you, even if you'll never harness its full power. Many of its extra functions are additional apps and switched off by default; this includes ActivityPub, by the way, this is important to know.
It's hard to find a public Streams instance with open registrations currently, much less multiple ones that'd be required for a nomadic identity. Neither Fediverse.party nor the FediDB nor The-Federation.info nor Fediverse.info even knows Streams, and existing Streams instances usually don't identify to other Fediverse servers as Streams instances. It's still a rather underground and grass-roots project with no publicity at all. As Streams is rather experimental, however, you may want a nomadic home on at least two instances to have an instant backup, should one of them shut down.
Zap has got exactly one instance open to the public, and seeing as Zap may be shrinking rather than growing, I don't expect this to change. Again, due to Zap's still small size and unclear future, I wouldn't recommend using it without nomadic identity as a safety net.
As for Osada or Misty, good luck finding an instance to join, much less one that's here to stay and ideally be upgraded to Streams one day.
Hubzilla may not be as bleeding-edge as Streams, and it may be overkill for your purposes if Zap or Streams would be sufficient, but it's stable, it's big enough, it's established, and it's different enough from Streams to not be endangered by it. I mean, Hubzilla hasn't managed to kill off Friendica either, right?