note15u06t...
@Chao-c' Also, ALT text translates with the rest of the post, which can be helpful for images which contain only foreign language text.
Hubzilla is the most incompatible ActivityPub software in Fediverse. You do just lot of things wrong, to put it mildly.
You still seem to think that Gargron invented ActivityPub and the Fediverse, that Mastodon is the one and only reference implementation of ActivityPub, and that everything that doesn't work exactly like Mastodon is broken.
Here are the facts:
Mastodon was launched in January, 2016.
Hubzilla was launched in March, 2015. Counting an earlier incarnation named Red, it was created in May, 2012, when Friendica's creator re-wrote his own fork of a Friendica fork of his own.
Mastodon implemented ActivityPub in September, 2017, when the spec wasn't finalised yet.
Hubzilla implemented ActivityPub in July, 2017. Two months before Mastodon. Hubzilla was the first software to ever implement ActivityPub.
Hubzilla implemented ActivityPub strictly by the book. It has always tried to stick as close to the official W3C ActivityPub spec as possible.
Mastodon, in stark contrast, has always been stretching the ActivityPub spec until it broke. Not only that, but it has always been adding stuff outside the spec. First it did so to take over certain features from StatusNet which was its original protocol. More recently, it did so with the very intention to break compatibility with the rest of the Fediverse and make everything that isn't Mastodon look broken. And people like you keep falling for it because they think they know for a fact that Mastodon is the ActivityPub reference implementation.
The whole Fediverse has to break the ActivityPub spec just to be able to federate with Mastodon.
yes, the Hubzilla author is writing Streams, with nomadic identity, but it also means, that he understands, that Hubzilla approach is kind of dead-end.
You know nothing. Whereas I can rattle down the whole history from Mistpark in 2010 to today.
Mike Macgirvin, creator of Friendica, Hubzilla, (streams) and Forte created his post-Hubzilla server applications because he kept advancing the Zot protocol. And he couldn't implement these advancements into Hubzilla because they bore the chance of breaking compatibility with what already existed.
(streams) is not a completely new development, nor is it a straight Hubzilla fork.
(streams) is a 2022 fork of Roadhouse.
Which was a 2022 fork of either the third Osada or Mistpark 2020 or Redmatrix 2020.
Which were 2020 forks of Zap (or each other, but at least one of them was forked from Zap).
Which was a 2018 fork of either Hubzilla itself or the first Osada, which was a 2018 fork of Hubzilla.
Osada and Zap were created to develop Zot6. In its early stages of concept, Mike expected Zot6 to be incompatible with everything else. Mind you, he didn't see that as something bad. Advancing Zot was necessary because the then-current version of Zot was less than optimal. And Mike's vision was a decentralised, nomadic network named the "Grid", entirely based on Zot. The Grid would have been vastly superior to the existing Fediverse in every way possible.
So the issue with his early draft of Zot6 was that it was quite incompatible with non-nomadic protocols. Nomadic Zot6 content could not be translated into non-nomadic protocols like the diaspora* protocol or ActivityPub.
Thus, developing Zot6 on Hubzilla was out of question. Zot6 would have broken too much on Hubzilla. Besides, Hubzilla was bad as a platform to experiment on due to its wealth of supported protocols and other features, all of which would have had to be made compatible with Zot6.
And this is the real reason why Mike created Osada and Zap. From how I see it, and how I remember what he talked about back in the day (I was there, yes), he first forked Osada from Hubzilla. Then he ripped everything out that he didn't need, including support for all protocols except for Zot itself, ActivityPub, RSS and Atom, including the CMS stuff like articles, planning cards, notes, wikis and webpages, etc. Then he modified what was left against his early version of Zot6.
Then he discovered that a cloned Osada channel couldn't properly send content via ActivityPub.
Then, shortly afterwards, he forked Osada into Zap. He removed nomadic identity from Osada which kept ActivityPub and ActivityPub support from Zap which stayed nomadic.
The idea was to have a nomadic, cloned channel on Zap as your main channel that would only connect to Hubzilla, Osada and Zap, and to have an additional, non-nomadic channel on Osada that would serve as a "gateway" between nomadic Zap and the non-nomadic ActivityPub Fediverse.
Of course, this was highly impractical. But by 2019, Mike found a way to make Zot6 compatible with non-nomadic protocols. So, in early 2019, Mike discontinued Osada and forked a new Osada from Zap which only differred from Zap by having ActivityPub support while still being nomadic. This enabled Mike to have one development platform for Zot6 in conjunction with non-nomadic protocols and another one on which ActivityPub did not stand in the way.
Later in 2019, both Osada and Zap got stable releases. At that point, Osada and Zap were identical in code. Both had ActivityPub support. It was included into their cores now and no longer an add-on like on Hubzilla. They only had two differences. One was the branding. The other one was that Osada servers had ActivityPub activated by default, and Zap servers had ActivityPub disabled by default. Keeping Osada around was unnecessary now, so ActivityPub was activated by default on Zap, and Osada was discontinued. Zot6 was so stable that it was soon backported to Hubzilla.
Mike wasn't done yet, though. He now wanted to develop Zot8. Again, he did not want to develop protocol changes on stable production software that people potentially daily-drove.
Thus, three new forks emerged in 2020: another Osada, Mistpark 2020 (a.k.a. Misty) and Redmatrix 2020 (named after the Red Matrix, the name that Hubzilla bore from late 2012 to early 2015 between being created as Red and being re-branded into Hubzilla). Mike used them to develop Zot8. They were identical in all but brand identity.
This was fully intentional on Mike's part to confuse the hell out of the brand fetishists that were growing more and more numerous in the Fediverse. His goal was for people to declare Osada or Misty or Redmatrix the best Fediverse software and superior to everything else, just for him to tell them that Osada, Misty and Redmatrix are absolutely identical. In fact, the three remained identical to Zap in features.
Zot8 never got stable because Mike kept advancing it further and further. In early 2022, he was at Zot11. But Zot11 was so incompatible with everything else, including previous Zot versions, that Mike declared it a new protocol of its own and renamed it Nomad. In order to test-drive it, he forked Osada or Misty or Redmatrix into Roadhouse. After all, there were people who were daring enough to daily-drive production channels on Osada, Misty and Redmatrix, albeit only few. Roadhouse was still identical in features to Zap, Osada, Misty and Redmatrix.
It was now possible to crossgrade between Zap, Osada, Misty, Redmatrix and Roadhouse by simply rebasing the server code.
Later in 2022, he created a new fork of Roadhouse itself. The reason for this was not further protocol advancement. No, this time, it mostly had branding and licensing reasons.
First of all, he wanted to make that fork as easy for others to fork and adopt as possible. Everything he had developed so far was under the MIT license (he himself had relicensed Friendica under the AGPLv3 in 2011, but he didn't actually develop on Friendica; he developed on a fork named Free-Friendika that was still MIT-licensed and then backported the changes to the Friendica repository, and Red was a Free-Friendika fork). This new repository was released into the public domain. At first, the whole thing was never primarily intended to be installed on servers as it was, but rather to be forked as the base of something new.
At least the core and Mike's own add-ons were. What third-party add-ons from Hubzilla times were still there got to keep their maze of licenses. This was intentional on Mike's part, too. It would make it impossible for commercial players to scoop up the whole thing and relicense it into something non-free and commercial without breaking any licenses, or without pumping tons of money into their legal department to work around that maze of licenses.
Also, Mike removed any and all naming and branding from the software. He absolutely intentionally made it nameless. You've read that right. He did this for two reasons. One, whoever wanted to fork it would have to give the fork an individual name and an individual branding. Two, this was to mess with brand fanbois and brand fetishists even more: This thing had no brand to gush over to begin with.
Furthermore, Mike removed all nodeinfo code that he could possibly get away with removing. Again, this was intentional. One intention was to stop this software from automatically joining the "my Fediverse project is bigger than yours" and "my server is bigger than yours" rat races. He intentionally did everything he could to keep this software away from The Federation, Fediverse Observer, FediDB and the like.
The other intention was for the case of commercial players looking for free code to steal. If this software had really taken off and left its stats proving its popularity everywhere, some big commercial player would have been likely to try and steal this software, make it commercial and non-free and release it as their own original creation. So his intention was for them to not even be able to find it in this case. (This, by the way, was the reason why he relicensed Friendica under the AGPLv3, and why he hardly ever spoke about Free-Friendika: Now that Friendica was growing popular, he didn't want big commercial players to scoop up code of his under a license that they could change to non-free.)
This server application became the first and only one in the Fediverse with no fixed server type identifier, in fact, with none at all by default. It has one text field for the server name, just like Mastodon and Friendica and Hubzilla and the like. But it has an additional field where the server type, i.e. the identifier for the software, can be entered. If none is entered, it's derived from the server name. Mike used to have a server that identified as "Y" because, as he said, "Y is not X."
While the application itself is nameless (for it still is), the code repository did require a name of sorts. Mike named the repository "streams".
Now, the community needed something to call that nameless software when they spoke about it. So they unofficially established "(streams)", complete with parentheses that make sure that this is not actually the name of this software. Those who say, "Streams," with a capital S and no parentheses, and who use that term as if it's an official name, usually sincerely believe that this is the official name.
Mike himself uses "streams" without the parentheses because even he needs something to call his own software by. Before Forte was made, he preferred talking about the streams repository without directly mentioning the software. And he himself denied that (streams) is even a project. It's just a bunch of code that runs.
As far as I know, it was now possible to freely crossgrade between six different server applications because they were still identical in features. Only that Mike also had six server applications to take care of now.
So on December 31st, 2022, Mike discontinued Zap, Osada, Misty, Redmatrix and Roadhouse. Admins who ran either of these on their servers were recommended to rebase their servers to the streams repository. In this case, by the way, the old branding was kept. I've seen a server that still had "zap" as its subdomain which indicated that it was set up as a Zap server, that had Misty branding, but that actually ran (streams).
From then on, Mike dedicated his time to maintaining and developing only the streams repository. He still occasionally helped Hubzilla out, though.
In 2023, the Mitra creator and developer silverpill approached Mike. The goal was to make Mitra nomadic. I guess earlier attempts using a blockchain and crypto technology didn't come to fruition, so it had to be Mike's way which had proven itself stable for more than a decade. However, Mitra was to remain based on ActivityPub.
It was in this exchange that Mike realised that ActivityPub could indeed be used for nomadic identity if a few things were added to it. One outcome was FEP-ef61 "Portable Objects" which introduced decentralised IDs (DIDs) that would not be bound to any one server domain.
Instead of creating a whole new server application to play with, Mike simply made a "nomadic" branch in the streams repository (even though the software was already nomadic) in which he implemented support for nomadic identity via ActivityPub. Support as in (streams) understanding it while internally still using Nomad for nomadicity.
In June, 2024, Mike considered the "nomadic" branch reliable enough and merged it into the "dev" branch.
In July, 2024, Mike merged the "dev" branch into the "release" branch which caused DIDs as per FEP-ef61 to be rolled out to existing production servers. On accounts created on this new version, channels would have a DID internally. On accounts greated on any previous version, even new channels would keep the old ID system for the time being. This way, existing accounts and channels weren't messed with.
However, what had worked under supervised and restricted lab conditions completely blew up under real-life conditions. Again, I was there on (streams) with a pre-DID account and two channels on it. I still have them. (streams) channels wouldn't federate with anything anymore. It had become impossible to send anything anywhere. What Mike was facing was nothing short of an enigma because not even he knew what was going in.
So he started tinkering. In mid-August, Mike forked the streams repository into something named and branded Forte. He did so so he could rip the Nomad protocol out while still keeping the entire functionality. He had to get rid of Nomad because he had discovered that (streams) got confused juggling all the many IDs it had to deal with, so he had to weed out the Nomad and Zot6 IDs to make things easier. But he couldn't possibly have done that on (streams) proper.
This way, Mike created the very first Fediverse server software that uses ActivityPub for full nomadicity, including cloning.
By the end of August, things got back to normal. But Mike, having spent every free minute in the last few weeks to get (streams) back into working condition, was burned out. He sent an open message around in which he declared that he would completely retire from Fediverse development, and both the streams repository and Forte were up for grabs.
But nobody was found who could take over either. (streams) and Forte probably had way fewer than 100 users combined. Those few who would have been able to maintain either didn't have time. One did have time and was willing to do so, but he didn't know how to code. He eventually did start teaching himself, and he occasionally contributes merge requests, but there was no way he could take over as the only dev for either, much less both. So Mike had to go on, whether he wanted or not, albeit at a somewhat slower pace.
This is why Mike is still developing (streams) and Forte to this day.
By the way: The reason why Mike "abandoned" his old software was because he needed to invest all his time into protocol development and advancement. Mike isn't the one to constantly maintain stable server software unless he absolutely has to.
In 2011, he handed Friendica over to two new developers so that he had time to create the Zot protocol.
In 2015 already, he handed Hubzilla over to two new developers so that he had time to explore the advancement of the Zot protocol. He still contributed to Hubzilla's development.
In 2019, he wanted to hand Osada and Zap over to the community, now that they were stable, so he had time to develop Zot8. But the Osada/Zap community was so tiny that he couldn't get a new dedicated developer team together.
In 2024, he wanted to hand (streams) and Forte over to the community because fixing (streams)' huge identity bug, which led to Forte's creation, had burnt him out. He wanted to quit. But, again, he couldn't because (streams) didn't have a single user who had both the time and the knowledge to take over as the new main dev.
Consider this: Gargron was a young man when he made Mastodon. I think he was still at university. Mike Macgirvin made Friendica, he had some three decades of professional work in IT and software under his belly. Gargron was at the beginning of his career. Mike had quit and moved from the USA to the western Australian outback where he has been living as a farmer ever since. He might actually be older than Gargron's parents.
while nomadic identitity would be cool thing, currently it does not exist
Take off your Mastodon glasses and look at the Fediverse and what it actually is like.
Nomadic identity does exist. Not as a vague idea, not as a concept on paper, but as a stable, production-grade feature that has been used to its full extent for well over a decade now. Just because Mastodon doesn't have it, doesn't mean the Fediverse doesn't have it. And just because Mastodon doesn't recognise it, doesn't mean it doesn't exist.
The Fediverse has loads of features which Mastodon users want "the Fediverse" to have. It has features which many Mastodon users have never wanted "the Fediverse" to have such as quote-posts, introduced by Mike Macgirvin on Mistpark in 2010. It even has features that are completely and utterly unimaginable for Mastodon users, and it has had even these since as early as 2010, 2012 or 2015.
Nomadic identity was invented by Mike Macgirvin in 2011 with the Zot protocol.
It was first implemented by him in mid-2012 when he rewrote Red against Zot. This means that Hubzilla itself has been offering full-blown nomadic identity since 2012, almost four years longer than Mastodon has existed.
This very Hubzilla channel that I'm commenting from right here, right now, is actually nomadic. It is cloned across two servers: hub.netzgemeinde.eu and hub.hubzilla.de. And it has been since before Elon Musk announced to take over Twitter in early 2022. When I sent you this comment, it was automatically sync'd over to hub.hubzilla.de. When you sent the comment that I'm replying to, it was automatically sync'd over to hub.hubzilla.de. The clone has actually been of great help at least once.
Unfortunately, non-nomadic software identifies cloned channels as fully separate accounts with fully separate identities. But rest assured: @Jupiter Rowland on hub.hubzilla.de is my clone. It's the live, hot, real-time, bidirectional backup of the main instance of my channel, @Jupiter Rowland on hub.netzgemeinde.eu that you're following now. They're both one and the same channel with one and the same identity, [email protected], even though Mastodon is unable to see it as such. Go check both. You'll see they've got all the same content in them, including comments from others. Including your comment. How else can [email protected] possibly have one of your comments under a post if you've only sent that comment to [email protected] if it weren't for nomadic identity?
Even nomadic identity via ActivityPub is available as a stable, production-grade feature in stable, production-grade software right now as we speak. Forte was the first to be fully nomadic via nothing but ActivityPub, as of mid-August, 2024. Tootik, based on Gemini instead of the World Wide Web, is fully nomadic at server level, too. Mitra is fully nomadic by means of the Minimitra client.
#Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mastodon #MastodonCentricity #MastodonNormativity #QuotePost #QuotePosts #QuoteTweet #QuoteTweets #QuoteToot #QuoteToots #QuoteBoost #QuoteBoosts #QuotedShares #QuotePostDebate #QuoteTootDebate #ActivityPub #Zot #Zot6 #Zot8 #Nomad #Friendica #Red #RedMatrix #Hubzilla #Osada #Zap #Mistpark #Mistpark2020 #Misty #Redmatrix2020 #Roadhouse #Streams #(streams) #Forte #Tootik #Mitra #Minimitra #NomadicIdentity
Hubzilla is the most incompatible ActivityPub software in Fediverse. You do just lot of things wrong, to put it mildly.
You still seem to think that Gargron invented ActivityPub and the Fediverse, that Mastodon is the one and only reference implementation of ActivityPub, and that everything that doesn't work exactly like Mastodon is broken.
Here are the facts:
Mastodon was launched in January, 2016.
Hubzilla was launched in March, 2015. Counting an earlier incarnation named Red, it was created in May, 2012, when Friendica's creator re-wrote his own fork of a Friendica fork of his own.
Mastodon implemented ActivityPub in September, 2017, when the spec wasn't finalised yet.
Hubzilla implemented ActivityPub in July, 2017. Two months before Mastodon. Hubzilla was the first software to ever implement ActivityPub.
Hubzilla implemented ActivityPub strictly by the book. It has always tried to stick as close to the official W3C ActivityPub spec as possible.
Mastodon, in stark contrast, has always been stretching the ActivityPub spec until it broke. Not only that, but it has always been adding stuff outside the spec. First it did so to take over certain features from StatusNet which was its original protocol. More recently, it did so with the very intention to break compatibility with the rest of the Fediverse and make everything that isn't Mastodon look broken. And people like you keep falling for it because they think they know for a fact that Mastodon is the ActivityPub reference implementation.
The whole Fediverse has to break the ActivityPub spec just to be able to federate with Mastodon.
yes, the Hubzilla author is writing Streams, with nomadic identity, but it also means, that he understands, that Hubzilla approach is kind of dead-end.
You know nothing. Whereas I can rattle down the whole history from Mistpark in 2010 to today.
Mike Macgirvin, creator of Friendica, Hubzilla, (streams) and Forte created his post-Hubzilla server applications because he kept advancing the Zot protocol. And he couldn't implement these advancements into Hubzilla because they bore the chance of breaking compatibility with what already existed.
(streams) is not a completely new development, nor is it a straight Hubzilla fork.
(streams) is a 2022 fork of Roadhouse.
Which was a 2022 fork of either the third Osada or Mistpark 2020 or Redmatrix 2020.
Which were 2020 forks of Zap (or each other, but at least one of them was forked from Zap).
Which was a 2018 fork of either Hubzilla itself or the first Osada, which was a 2018 fork of Hubzilla.
Osada and Zap were created to develop Zot6. In its early stages of concept, Mike expected Zot6 to be incompatible with everything else. Mind you, he didn't see that as something bad. Advancing Zot was necessary because the then-current version of Zot was less than optimal. And Mike's vision was a decentralised, nomadic network named the "Grid", entirely based on Zot. The Grid would have been vastly superior to the existing Fediverse in every way possible.
So the issue with his early draft of Zot6 was that it was quite incompatible with non-nomadic protocols. Nomadic Zot6 content could not be translated into non-nomadic protocols like the diaspora* protocol or ActivityPub.
Thus, developing Zot6 on Hubzilla was out of question. Zot6 would have broken too much on Hubzilla. Besides, Hubzilla was bad as a platform to experiment on due to its wealth of supported protocols and other features, all of which would have had to be made compatible with Zot6.
And this is the real reason why Mike created Osada and Zap. From how I see it, and how I remember what he talked about back in the day (I was there, yes), he first forked Osada from Hubzilla. Then he ripped everything out that he didn't need, including support for all protocols except for Zot itself, ActivityPub, RSS and Atom, including the CMS stuff like articles, planning cards, notes, wikis and webpages, etc. Then he modified what was left against his early version of Zot6.
Then he discovered that a cloned Osada channel couldn't properly send content via ActivityPub.
Then, shortly afterwards, he forked Osada into Zap. He removed nomadic identity from Osada which kept ActivityPub and ActivityPub support from Zap which stayed nomadic.
The idea was to have a nomadic, cloned channel on Zap as your main channel that would only connect to Hubzilla, Osada and Zap, and to have an additional, non-nomadic channel on Osada that would serve as a "gateway" between nomadic Zap and the non-nomadic ActivityPub Fediverse.
Of course, this was highly impractical. But by 2019, Mike found a way to make Zot6 compatible with non-nomadic protocols. So, in early 2019, Mike discontinued Osada and forked a new Osada from Zap which only differred from Zap by having ActivityPub support while still being nomadic. This enabled Mike to have one development platform for Zot6 in conjunction with non-nomadic protocols and another one on which ActivityPub did not stand in the way.
Later in 2019, both Osada and Zap got stable releases. At that point, Osada and Zap were identical in code. Both had ActivityPub support. It was included into their cores now and no longer an add-on like on Hubzilla. They only had two differences. One was the branding. The other one was that Osada servers had ActivityPub activated by default, and Zap servers had ActivityPub disabled by default. Keeping Osada around was unnecessary now, so ActivityPub was activated by default on Zap, and Osada was discontinued. Zot6 was so stable that it was soon backported to Hubzilla.
Mike wasn't done yet, though. He now wanted to develop Zot8. Again, he did not want to develop protocol changes on stable production software that people potentially daily-drove.
Thus, three new forks emerged in 2020: another Osada, Mistpark 2020 (a.k.a. Misty) and Redmatrix 2020 (named after the Red Matrix, the name that Hubzilla bore from late 2012 to early 2015 between being created as Red and being re-branded into Hubzilla). Mike used them to develop Zot8. They were identical in all but brand identity.
This was fully intentional on Mike's part to confuse the hell out of the brand fetishists that were growing more and more numerous in the Fediverse. His goal was for people to declare Osada or Misty or Redmatrix the best Fediverse software and superior to everything else, just for him to tell them that Osada, Misty and Redmatrix are absolutely identical. In fact, the three remained identical to Zap in features.
Zot8 never got stable because Mike kept advancing it further and further. In early 2022, he was at Zot11. But Zot11 was so incompatible with everything else, including previous Zot versions, that Mike declared it a new protocol of its own and renamed it Nomad. In order to test-drive it, he forked Osada or Misty or Redmatrix into Roadhouse. After all, there were people who were daring enough to daily-drive production channels on Osada, Misty and Redmatrix, albeit only few. Roadhouse was still identical in features to Zap, Osada, Misty and Redmatrix.
It was now possible to crossgrade between Zap, Osada, Misty, Redmatrix and Roadhouse by simply rebasing the server code.
Later in 2022, he created a new fork of Roadhouse itself. The reason for this was not further protocol advancement. No, this time, it mostly had branding and licensing reasons.
First of all, he wanted to make that fork as easy for others to fork and adopt as possible. Everything he had developed so far was under the MIT license (he himself had relicensed Friendica under the AGPLv3 in 2011, but he didn't actually develop on Friendica; he developed on a fork named Free-Friendika that was still MIT-licensed and then backported the changes to the Friendica repository, and Red was a Free-Friendika fork). This new repository was released into the public domain. At first, the whole thing was never primarily intended to be installed on servers as it was, but rather to be forked as the base of something new.
At least the core and Mike's own add-ons were. What third-party add-ons from Hubzilla times were still there got to keep their maze of licenses. This was intentional on Mike's part, too. It would make it impossible for commercial players to scoop up the whole thing and relicense it into something non-free and commercial without breaking any licenses, or without pumping tons of money into their legal department to work around that maze of licenses.
Also, Mike removed any and all naming and branding from the software. He absolutely intentionally made it nameless. You've read that right. He did this for two reasons. One, whoever wanted to fork it would have to give the fork an individual name and an individual branding. Two, this was to mess with brand fanbois and brand fetishists even more: This thing had no brand to gush over to begin with.
Furthermore, Mike removed all nodeinfo code that he could possibly get away with removing. Again, this was intentional. One intention was to stop this software from automatically joining the "my Fediverse project is bigger than yours" and "my server is bigger than yours" rat races. He intentionally did everything he could to keep this software away from The Federation, Fediverse Observer, FediDB and the like.
The other intention was for the case of commercial players looking for free code to steal. If this software had really taken off and left its stats proving its popularity everywhere, some big commercial player would have been likely to try and steal this software, make it commercial and non-free and release it as their own original creation. So his intention was for them to not even be able to find it in this case. (This, by the way, was the reason why he relicensed Friendica under the AGPLv3, and why he hardly ever spoke about Free-Friendika: Now that Friendica was growing popular, he didn't want big commercial players to scoop up code of his under a license that they could change to non-free.)
This server application became the first and only one in the Fediverse with no fixed server type identifier, in fact, with none at all by default. It has one text field for the server name, just like Mastodon and Friendica and Hubzilla and the like. But it has an additional field where the server type, i.e. the identifier for the software, can be entered. If none is entered, it's derived from the server name. Mike used to have a server that identified as "Y" because, as he said, "Y is not X."
While the application itself is nameless (for it still is), the code repository did require a name of sorts. Mike named the repository "streams".
Now, the community needed something to call that nameless software when they spoke about it. So they unofficially established "(streams)", complete with parentheses that make sure that this is not actually the name of this software. Those who say, "Streams," with a capital S and no parentheses, and who use that term as if it's an official name, usually sincerely believe that this is the official name.
Mike himself uses "streams" without the parentheses because even he needs something to call his own software by. Before Forte was made, he preferred talking about the streams repository without directly mentioning the software. And he himself denied that (streams) is even a project. It's just a bunch of code that runs.
As far as I know, it was now possible to freely crossgrade between six different server applications because they were still identical in features. Only that Mike also had six server applications to take care of now.
So on December 31st, 2022, Mike discontinued Zap, Osada, Misty, Redmatrix and Roadhouse. Admins who ran either of these on their servers were recommended to rebase their servers to the streams repository. In this case, by the way, the old branding was kept. I've seen a server that still had "zap" as its subdomain which indicated that it was set up as a Zap server, that had Misty branding, but that actually ran (streams).
From then on, Mike dedicated his time to maintaining and developing only the streams repository. He still occasionally helped Hubzilla out, though.
In 2023, the Mitra creator and developer silverpill approached Mike. The goal was to make Mitra nomadic. I guess earlier attempts using a blockchain and crypto technology didn't come to fruition, so it had to be Mike's way which had proven itself stable for more than a decade. However, Mitra was to remain based on ActivityPub.
It was in this exchange that Mike realised that ActivityPub could indeed be used for nomadic identity if a few things were added to it. One outcome was FEP-ef61 "Portable Objects" which introduced decentralised IDs (DIDs) that would not be bound to any one server domain.
Instead of creating a whole new server application to play with, Mike simply made a "nomadic" branch in the streams repository (even though the software was already nomadic) in which he implemented support for nomadic identity via ActivityPub. Support as in (streams) understanding it while internally still using Nomad for nomadicity.
In June, 2024, Mike considered the "nomadic" branch reliable enough and merged it into the "dev" branch.
In July, 2024, Mike merged the "dev" branch into the "release" branch which caused DIDs as per FEP-ef61 to be rolled out to existing production servers. On accounts created on this new version, channels would have a DID internally. On accounts greated on any previous version, even new channels would keep the old ID system for the time being. This way, existing accounts and channels weren't messed with.
However, what had worked under supervised and restricted lab conditions completely blew up under real-life conditions. Again, I was there on (streams) with a pre-DID account and two channels on it. I still have them. (streams) channels wouldn't federate with anything anymore. It had become impossible to send anything anywhere. What Mike was facing was nothing short of an enigma because not even he knew what was going in.
So he started tinkering. In mid-August, Mike forked the streams repository into something named and branded Forte. He did so so he could rip the Nomad protocol out while still keeping the entire functionality. He had to get rid of Nomad because he had discovered that (streams) got confused juggling all the many IDs it had to deal with, so he had to weed out the Nomad and Zot6 IDs to make things easier. But he couldn't possibly have done that on (streams) proper.
This way, Mike created the very first Fediverse server software that uses ActivityPub for full nomadicity, including cloning.
By the end of August, things got back to normal. But Mike, having spent every free minute in the last few weeks to get (streams) back into working condition, was burned out. He sent an open message around in which he declared that he would completely retire from Fediverse development, and both the streams repository and Forte were up for grabs.
But nobody was found who could take over either. (streams) and Forte probably had way fewer than 100 users combined. Those few who would have been able to maintain either didn't have time. One did have time and was willing to do so, but he didn't know how to code. He eventually did start teaching himself, and he occasionally contributes merge requests, but there was no way he could take over as the only dev for either, much less both. So Mike had to go on, whether he wanted or not, albeit at a somewhat slower pace.
This is why Mike is still developing (streams) and Forte to this day.
By the way: The reason why Mike "abandoned" his old software was because he needed to invest all his time into protocol development and advancement. Mike isn't the one to constantly maintain stable server software unless he absolutely has to.
In 2011, he handed Friendica over to two new developers so that he had time to create the Zot protocol.
In 2015 already, he handed Hubzilla over to two new developers so that he had time to explore the advancement of the Zot protocol. He still contributed to Hubzilla's development.
In 2019, he wanted to hand Osada and Zap over to the community, now that they were stable, so he had time to develop Zot8. But the Osada/Zap community was so tiny that he couldn't get a new dedicated developer team together.
In 2024, he wanted to hand (streams) and Forte over to the community because fixing (streams)' huge identity bug, which led to Forte's creation, had burnt him out. He wanted to quit. But, again, he couldn't because (streams) didn't have a single user who had both the time and the knowledge to take over as the new main dev.
Consider this: Gargron was a young man when he made Mastodon. I think he was still at university. Mike Macgirvin made Friendica, he had some three decades of professional work in IT and software under his belly. Gargron was at the beginning of his career. Mike had quit and moved from the USA to the western Australian outback where he has been living as a farmer ever since. He might actually be older than Gargron's parents.
while nomadic identitity would be cool thing, currently it does not exist
Take off your Mastodon glasses and look at the Fediverse and what it actually is like.
Nomadic identity does exist. Not as a vague idea, not as a concept on paper, but as a stable, production-grade feature that has been used to its full extent for well over a decade now. Just because Mastodon doesn't have it, doesn't mean the Fediverse doesn't have it. And just because Mastodon doesn't recognise it, doesn't mean it doesn't exist.
The Fediverse has loads of features which Mastodon users want "the Fediverse" to have. It has features which many Mastodon users have never wanted "the Fediverse" to have such as quote-posts, introduced by Mike Macgirvin on Mistpark in 2010. It even has features that are completely and utterly unimaginable for Mastodon users, and it has had even these since as early as 2010, 2012 or 2015.
Nomadic identity was invented by Mike Macgirvin in 2011 with the Zot protocol.
It was first implemented by him in mid-2012 when he rewrote Red against Zot. This means that Hubzilla itself has been offering full-blown nomadic identity since 2012, almost four years longer than Mastodon has existed.
This very Hubzilla channel that I'm commenting from right here, right now, is actually nomadic. It is cloned across two servers: hub.netzgemeinde.eu and hub.hubzilla.de. And it has been since before Elon Musk announced to take over Twitter in early 2022. When I sent you this comment, it was automatically sync'd over to hub.hubzilla.de. When you sent the comment that I'm replying to, it was automatically sync'd over to hub.hubzilla.de. The clone has actually been of great help at least once.
Unfortunately, non-nomadic software identifies cloned channels as fully separate accounts with fully separate identities. But rest assured: @Jupiter Rowland on hub.hubzilla.de is my clone. It's the live, hot, real-time, bidirectional backup of the main instance of my channel, @Jupiter Rowland on hub.netzgemeinde.eu that you're following now. They're both one and the same channel with one and the same identity, [email protected], even though Mastodon is unable to see it as such. Go check both. You'll see they've got all the same content in them, including comments from others. Including your comment. How else can [email protected] possibly have one of your comments under a post if you've only sent that comment to [email protected] if it weren't for nomadic identity?
Even nomadic identity via ActivityPub is available as a stable, production-grade feature in stable, production-grade software right now as we speak. Forte was the first to be fully nomadic via nothing but ActivityPub, as of mid-August, 2024. Tootik, based on Gemini instead of the World Wide Web, is fully nomadic at server level, too. Mitra is fully nomadic by means of the Minimitra client.
#Long #LongPost #CWLong #CWLongPost #FediMeta #FediverseMeta #CWFediMeta #CWFediverseMeta #Fediverse #Mastodon #MastodonCentricity #MastodonNormativity #QuotePost #QuotePosts #QuoteTweet #QuoteTweets #QuoteToot #QuoteToots #QuoteBoost #QuoteBoosts #QuotedShares #QuotePostDebate #QuoteTootDebate #ActivityPub #Zot #Zot6 #Zot8 #Nomad #Friendica #Red #RedMatrix #Hubzilla #Osada #Zap #Mistpark #Mistpark2020 #Misty #Redmatrix2020 #Roadhouse #Streams #(streams) #Forte #Tootik #Mitra #Minimitra #NomadicIdentity
1