Jump to content

The Zotlabs projects: Difference between revisions

Marked this version for translation
(Created page with "<languages/> <translate> 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...")
 
(Marked this version for translation)
Line 2: Line 2:
<translate>
<translate>


<!--T:1-->
In 2018, a little over two years after the release of [[Special:MyLanguage/What is Hubzilla?|Hubzilla]], [[Fedizen:Mike Macgirvin|Mike Macgirvin]], creator of Hubzilla and its predecessors [[Special:MyLanguage/What is Friendica?|Friendica]] and [[Special:MyLanguage/Red Matrix|Red Matrix]], aimed to improve and advance the [[Special:MyLanguage/Zot and Nomad|Zot]] protocol and [[Special:MyLanguage/Nomadic Identity|nomadic identity]]. One goal was the development and integration of a new single sign-on system named [[Special:MyLanguage/OpenWebAuth|OpenWebAuth]] as part of a new Zot version, [[Special:MyLanguage/Zot and Nomad#Zot6|Zot6]].
In 2018, a little over two years after the release of [[Special:MyLanguage/What is Hubzilla?|Hubzilla]], [[Fedizen:Mike Macgirvin|Mike Macgirvin]], creator of Hubzilla and its predecessors [[Special:MyLanguage/What is Friendica?|Friendica]] and [[Special:MyLanguage/Red Matrix|Red Matrix]], aimed to improve and advance the [[Special:MyLanguage/Zot and Nomad|Zot]] protocol and [[Special:MyLanguage/Nomadic Identity|nomadic identity]]. One goal was the development and integration of a new single sign-on system named [[Special:MyLanguage/OpenWebAuth|OpenWebAuth]] as part of a new Zot version, [[Special:MyLanguage/Zot and Nomad#Zot6|Zot6]].


<!--T:2-->
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 [[Special:MyLanguage/ActivityPub|ActivityPub]].
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 [[Special:MyLanguage/ActivityPub|ActivityPub]].


<!--T:3-->
These projects would sail under the Zotlabs flag. Zotlabs had two online representations:
These projects would sail under the Zotlabs flag. Zotlabs had two online representations:


<!--T:4-->
* 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.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.
* Zotlabs.org is a Hubzilla hub which still contains a number of pages and channels related to Hubzilla, Osada and Zap.


== Osada (I) ==
== Osada (I) == <!--T:5-->


<!--T:6-->
In 2018, the first project created to develop Zot6 was '''[[Special:MyLanguage/What is Osada?|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.
In 2018, the first project created to develop Zot6 was '''[[Special:MyLanguage/What is Osada?|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.


<!--T:7-->
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.
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.


<!--T:8-->
In order to keep the connectivity to ActivityPub, this incarnation of Osada did not support nomadic identity. It did keep the channels model, though.
In order to keep the connectivity to ActivityPub, this incarnation of Osada did not support nomadic identity. It did keep the channels model, though.


<!--T:9-->
Otherwise, the specifications are the same as for Hubzilla.
Otherwise, the specifications are the same as for Hubzilla.


== Zap ==
== Zap == <!--T:10-->


<!--T:11-->
Not long after Osada was forked from the Red Matrix, it was soft-forked itself: '''[[Special:MyLanguage/What is Zap?|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.
Not long after Osada was forked from the Red Matrix, it was soft-forked itself: '''[[Special:MyLanguage/What is Zap?|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.


<!--T:12-->
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 [[Special:MyLanguage/What is the Fediverse?|Fediverse]], including Hubzilla, further compatibility with which couldn't be guaranteed.
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 [[Special:MyLanguage/What is the Fediverse?|Fediverse]], including Hubzilla, further compatibility with which couldn't be guaranteed.


<!--T:13-->
Zap would become and remain the main stable release until the end.
Zap would become and remain the main stable release until the end.


== Osada (II) ==
== Osada (II) == <!--T:14-->


<!--T:15-->
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 [[Special:MyLanguage/Zot and Nomad#Zot8|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.
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 [[Special:MyLanguage/Zot and Nomad#Zot8|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.


<!--T:16-->
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.
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.


<!--T:17-->
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.
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.


<!--T:18-->
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.
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.


<!--T:19-->
This, along with how stable the ActivityPub integration was, made Osada superfluous. Still in 2018, it was fully merged back with Zap<ref>[https://zotlabs.org/channel/osada?f=&cat=Zap Osada channel on Zotlabs.org, showing the Zap category]</ref> 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<ref>[https://zotlabs.org/page/osada/osada Osada page on Zotlabs.org]</ref>, and existing instances were to cross-grade to Zap.
This, along with how stable the ActivityPub integration was, made Osada superfluous. Still in 2018, it was fully merged back with Zap<ref>[https://zotlabs.org/channel/osada?f=&cat=Zap Osada channel on Zotlabs.org, showing the Zap category]</ref> 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<ref>[https://zotlabs.org/page/osada/osada Osada page on Zotlabs.org]</ref>, and existing instances were to cross-grade to Zap.


== Mistpark 2020, Osada (III) and Redmatrix 2020 ==
== Mistpark 2020, Osada (III) and Redmatrix 2020 == <!--T:20-->


<!--T:21-->
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.
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.


<!--T:22-->
* The name '''Osada''' was revived another time for an experimental development version with the same features as Zap otherwise.
* The name '''Osada''' was revived another time for an experimental development version with the same features as Zap otherwise.
* '''[[Special:MyLanguage/What is Redmatrix?|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.
* '''[[Special:MyLanguage/What is Redmatrix?|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 [[Special:MyLanguage/What is Mistpark?|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.
* Finally, the name [[Special:MyLanguage/What is Mistpark?|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.


<!--T:23-->
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.
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 ==
== Roadhouse == <!--T:24-->


<!--T:25-->
In early 2021, [[Special:MyLanguage/Zot and Nomad#Nomad|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, '''[[Special:MyLanguage/What is Roadhouse?|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.
In early 2021, [[Special:MyLanguage/Zot and Nomad#Nomad|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, '''[[Special:MyLanguage/What is Roadhouse?|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.


<!--T:26-->
Osada, Zap, Mistpark 2020 and Redmatrix 2020 could be cross-graded to Roadhouse.
Osada, Zap, Mistpark 2020 and Redmatrix 2020 could be cross-graded to Roadhouse.


<!--T:27-->
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.
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 ==
== The Streams repository and the end of the Zotlabs projects == <!--T:28-->


<!--T:29-->
In October 2021, Roadhouse was forked again; the result was [[Special:MyLanguage/(streams)|the Streams repository]] which contains [[Special:MyLanguage/What is (streams)?|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.
In October 2021, Roadhouse was forked again; the result was [[Special:MyLanguage/(streams)|the Streams repository]] which contains [[Special:MyLanguage/What is (streams)?|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.


<!--T:30-->
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.
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.


<!--T:31-->
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.
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.


<!--T:32-->
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.
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 ==
== Features backported to Hubzilla == <!--T:33-->


<!--T:34-->
A few features that come from these projects have found their way into Hubzilla eventually.
A few features that come from these projects have found their way into Hubzilla eventually.


<!--T:35-->
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 [[Special:MyLanguage/Mastodon|Mastodon]] is planned.
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 [[Special:MyLanguage/Mastodon|Mastodon]] is planned.


<!--T:36-->
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.
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 ==
== External links == <!--T:37-->


=== Zotlabs.org Hubzilla hub ===
=== Zotlabs.org Hubzilla hub === <!--T:38-->


<!--T:39-->
* [https://zotlabs.org/page/zotlabs/home Zot Community home page on Zotlabs.org]
* [https://zotlabs.org/page/zotlabs/home Zot Community home page on Zotlabs.org]
* [https://zotlabs.org/page/osada/osada Zotlabs|Osada (Osada (II)) page on Zotlabs.org]
* [https://zotlabs.org/page/osada/osada Zotlabs|Osada (Osada (II)) page on Zotlabs.org]
* [https://zotlabs.org/page/zap/zap Zotlabs|Zap page on Zotlabs.org]
* [https://zotlabs.org/page/zap/zap Zotlabs|Zap page on Zotlabs.org]


=== Zotlabs.com website, archived ===
=== Zotlabs.com website, archived === <!--T:40-->


<!--T:41-->
* [https://web.archive.org/web/20211028100057/https://zotlabs.com/ Zotlabs.com], earliest archived copy on the Wayback Machine that lists eight projects including (streams) (2021-10-28)
* [https://web.archive.org/web/20211028100057/https://zotlabs.com/ Zotlabs.com], earliest archived copy on the Wayback Machine that lists eight projects including (streams) (2021-10-28)
* [https://web.archive.org/web/20181107041249/https://zotlabs.com/osada/ Osada page on Zotlabs.com], earliest archived copy
* [https://web.archive.org/web/20181107041249/https://zotlabs.com/osada/ Osada page on Zotlabs.com], earliest archived copy


=== Git repositories ===
=== Git repositories === <!--T:42-->


<!--T:43-->
* [https://codeberg.org/zot-archive/zap Archived Zap Git repository]
* [https://codeberg.org/zot-archive/zap Archived Zap Git repository]
* [https://codeberg.org/zot-archive/zap-addons Archived Zap add-ons Git repository]
* [https://codeberg.org/zot-archive/zap-addons Archived Zap add-ons Git repository]
Line 103: Line 135:
* [https://codeberg.org/zot-archive/roadhouse-addons Archived Roadhouse add-ons Git repository]
* [https://codeberg.org/zot-archive/roadhouse-addons Archived Roadhouse add-ons Git repository]


== References ==
== References == <!--T:44-->


<!--T:45-->
<references />
<references />


<!--T:46-->
{{Category |category=Advanced}}
{{Category |category=Advanced}}
</translate>
</translate>