The Zotlabs projects

From Join the Fediverse
Other languages:
  • English

In 2018, a little over two years after the release of Hubzilla, Mike Macgirvin, creator of Hubzilla and its predecessors Friendica and Red Matrix, aimed to improve and advance the Zot protocol and nomadic identity. One goal was the development and integration of a new single sign-on system named OpenWebAuth as part of a new Zot version, Zot6.

This was deliberately to be done at the cost of federation with other protocols for which Friendica and Hubzilla were well-known, but which had always stood in the way of nomadic identity, including ActivityPub.

These projects would sail under the Zotlabs flag. Zotlabs had two online representations:

  • Zotlabs.com was Macgirvin's website. It was launched in 2017 as a link to the Zotlabs repository on Github. Later, it provided separate pages for all projects he had launched including Friendica.
  • Zotlabs.org is a Hubzilla hub which still contains a number of pages and channels related to Hubzilla, Osada and Zap.

Osada (I)

In 2018, the first project created to develop Zot6 was Osada, a fork of the Red Matrix which had continued to be a development platform past Hubzilla's release. Osada's goal was to advance the Zot protocol while remaining compatible with ActivityPub. Most other connectors, including Diaspora* and OStatus, were cut.

Also removed were most of the extra features the Red Matrix and eventually Hubzilla had received such as the CalDAV calendars, the CardDAV address book, the articles app, the webpages app or the wiki app.

In order to keep the connectivity to ActivityPub, this incarnation of Osada did not support nomadic identity. It did keep the channels model, though.

Otherwise, the specifications are the same as for Hubzilla.

Zap

Not long after Osada was forked from the Red Matrix, it was soft-forked itself: Zap became Osada's sister project with a focus on nomadic identity. For this, Zap specialised in the Zot protocol and did not support anything else. Also, after Osada had lost the CalDAV calendars, Zap also lost the public calendar that had been around since when Friendica was still named Mistpark. Apart from that, it was similar to Osada.

After Zap was launched, it was marketed as the next generation of nomadic federated social platforms, and Osada was marketed as the connecting gateway between Zap and the rest of the Fediverse, including Hubzilla, further compatibility with which couldn't be guaranteed.

Zap would become and remain the main stable release until the end.

Osada (II)

It wasn't long until the first, non-nomadic incarnation of Osada was seen as a dead end. As Zot6 was advancing, and Zap was heading towards Zot8 (Zap with Zot8 was intended to become its own project named Zap+ at first), the only way to achieve this was to turn it into a hard fork and abandon Osada and all compatibility with non-nomadic protocols such as ActivityPub along with it.

However, a way must have been found to make Zot compatible with ActivityPub again while keeping nomadic identities. And so Zap was soft-forked into a new Osada which was intended as a separate testbed and development platform for ActivityPub integration while Zap remained with only Zot. Osada kind of re-took the role as the gateway between Zap and the rest of the Fediverse, but Zap's advantages over Osada were dwindling.

The Zotlabs brand was created, and Hubzilla, Osada and Zap were joined under it. They were officially named Zotlabs|Hubzilla, Zotlabs|Osada and Zotlabs|Zap for a while.

Eventually, both the second Osada incarnation and Zap reached stable releases. While the only difference between them, apart from the branding, was that Osada didn't come with an ActivityPub connector early on, later releases were actually identical except for name and logo. The technical difference between Osada and Zap was whether the admin had ActivityPub on (Osada) or off (Zap) for an instance.

This, along with how stable the ActivityPub integration was, made Osada superfluous. Still in 2018, it was fully merged back with Zap[1] which thereby got official ActivityPub support itself. At this time, both were already in the hands of the community. On September 22th, 2019, the second Osada was discontinued[2], and existing instances were to cross-grade to Zap.

Mistpark 2020, Osada (III) and Redmatrix 2020

As Zap was a stable release and actually deployed even on a few public instances, further development of new Zot versions required new soft forks. In 2020, Macgirvin created three of them.

  • The name Osada was revived another time for an experimental development version with the same features as Zap otherwise.
  • Redmatrix 2020 was the same as Osada, but with ActivityPub off by default while it was on by default on Osada and Zap. It is not clear whether it came to exist by abandoning the old Red Matrix from 2012 and using the name for an Osada fork or by merging Osada code into the old Red Matrix.
  • Finally, the name Mistpark was revived, too. Mistpark 2020, also known as Misty, was intended as a testing version between rock-solid Zap and bleeding-edge Osada. This way, new features and improvements could be rolled out to daily-driver instances and tested by a larger audience with a much reduced risk of things breaking. Its target audience was admins and users for whom Zap was too conservative.

So in theory, Zap was the one with stability guaranteed, Misty was the fresher but still quite stable one, Osada was the experimental one with ActivityPub on, and Redmatrix 2020 was the experimental one with ActivityPub off. It's said that everything but Zap actually ended up using the same code, differing only in branding and default admin settings. Even that code was still so close to Zap that cross-grading back and forth between all four by rebasing the server code was possible.

Roadhouse

In early 2021, Zot11 came out with a further-improved ActivityPub integration. It was so advanced that it got its own name, Nomad. In order to deploy it, the Osada/Misty/Redmatrix conglomerate was forked into another project, Roadhouse. Feature-wise, it still stayed the same, only with a new Zot version underneath. Some improvements may also already have been done on the UI which was still a descendant of Hubzilla's Redbasic theme.

Osada, Zap, Mistpark 2020 and Redmatrix 2020 could be cross-graded to Roadhouse.

Roadhouse's page on the Zotlabs website was and remained non-descript. It never really made clear what Roadhouse actually was; it could just as well have been developed from scratch.

The Streams repository and the end of the Zotlabs projects

In October 2021, Roadhouse was forked again; the result was the Streams repository which contains a stable successor to all Zotlabs projects, based on Nomad and compatible with ActivityPub. Its Zotlabs webpage was identical to that of Roadhouse except for the name and the logo.

Effective New Year's Eve 2022, Osada, Zap, Mistpark 2020, Redmatrix 2020 and Roadhouse were officially discontinued. Existing instances of all five can be cross-graded to the Streams repository, retaining their respective previous branding in the process. There is one known case of an instance installed as Misty, cross-graded to Roadhouse and then cross-graded to (streams), but still branded Roadhouse afterwards.

Mike Macgirvin explained later on that having five projects in parallel at various, albeit only slightly different levels of technological advancement and stability, all with different names and logos, but all with largely the same set of features, was deliberate and intended to confuse people with as many names as possible and hang a lampshade on brand worship. For the same reason, their common successor was deliberately left without a name and a brand identity. "Streams" is only the name for its code repository which required a name. His own instance runs (streams), but it's still branded Zap which it was cross-graded from.

The Zotlabs.org Hubzilla hub is still up and running, including the individual pages for the projects, but no longer regularly maintained. Zotlabs.com was taken over by a domain grabber, but it was archived by the Wayback Machine.

Features backported to Hubzilla

A few features that come from these projects have found their way into Hubzilla eventually.

One key feature that was introduced with Zot6 was the single-sign-on system OpenWebAuth. When Hubzilla was upgraded to Zot6 which is still its base protocol, OpenWebAuth was added. However, OpenWebAuth no longer depends on Zot6. Friendica is now equipped with it, too, and even its integration into Mastodon is planned.

Another new invention for these projects was the Friend Zoom which was backported to Hubzilla as the Affinity slider. It actually consists of one slider per connection with which the affinity to the connection can be adjusted plus one slider at the top of the stream page with which posts can be filtered by minimum affinity.

External links

Zotlabs.org Hubzilla hub

Zotlabs.com website, archived

Git repositories

References