Comment on Nomad-capable server for an NGO
@Jakub Urbanowicz Forte literally is (streams) without Nomad and Zot6.
I was there when Mike created Forte. I saw why Mike created Forte. I felt the consequences of why Mike created Forte. And I was one of Mike's contacts.
Mike got into contact with silverpill who wanted to make Mitra every bit as nomadic as Hubzilla and (streams), but only using ActivityPub. Both figured out that this was actually doable, as in, that even something like (streams) could one day be re-based on ActivityPub.
Mike started dreaming of a nomadic Fediverse in which everything could be cloned to everything.
He created a "nomadic" branch of the streams repository for research and development purposes.
One key element for nomadic identity via ActivityPub was to have server-independent, decentralised Fediverse identities. These, however, would have to be up front. Thus, FEP-ef61 "Portable Objects" was created.
Both Mike and silverpill started implementing it; Mike did so in already nomadic software, namely the "nomadic" branch of the streams repository.
Channels created on accounts that were registered before (streams) supported FEP-ef61 would continue to use the old IDs internally, but decentralised IDs outward.
Mike was confident enough in the "nomadic" branch which worked reasonably well from his perspective. So he merged the "nomadic" branch into the normal "dev" branch.
I created a new (streams) account with two channels.
Shortly after, Mike merged the "dev" branch into the "release" branch. This caused decentralised IDs as per FEP-ef61 to be rolled out to production servers.
But what had worked under controlled lab conditions completely blew up in the real world: (streams) channels on accounts that were registered before FEP-ef61 did not properly federate with anything anymore, mine included. Content wasn't delivered anywhere anymore, not even within (streams). Mike had no idea at first what had happened.
Mike had figured out that (streams) had to juggle so many different IDs that it had started confusing them. He had to sort out the mess.
Mike announced the creation of Forte in a restricted message to his contacts. He had basically taken (streams) and ripped out any and all Nomad and Zot6 support to get at least some IDs out of the way so he could fix the bug.
Nonetheless, Forte was fully nomadic at this point.
The other reason why Mike had created Forte was because he had learned that it was foolish in today's Mastodon-dominated Fediverse to deprive (streams) of a name, a brand identity, an actual license and nodeinfo code. The latter had made it next to impossible to find (streams) servers.
(streams) had started working again. Everyone was relieved.
But Mike was burned out. In another restricted message to his contacts, he announced his retirement from Fediverse software development, effective August 31st, 2024. (streams) and Forte were up for grabs.
Nobody was found who could continue. Waitman Gobble said he'd like to, and he could, but he had no time. Bill Statler said he'd like to, and he had the time, but he didn't know how to code.
So Mike had to carry on, but at a slower pace.
Mike officially announced the existence of Forte in public as opposed to only to his bubble. He would not have done that if Forte hadn't been fully nomadic.
From what I've read, limitations of ActivityPub kept Forte from real-time syncing, so a timer had to be used to trigger the syncing.
Mike publicly announced the first stable relase of Forte. Apparently, at this point, Forte was capable of real-time syncing, i.e. of syncs being triggered by changes in the channel rather than by a timer.
The only limitations now was that it wasn't possible to move or sync between Forte and something else due to how different other nomadic Fediverse software is, and that Forte didn't have an ActivityPub switch as a last-resort anti-Mastodon drawbridge anymore.
I was there when Mike created Forte. I saw why Mike created Forte. I felt the consequences of why Mike created Forte. And I was one of Mike's contacts.
Ca. 2023
Mike got into contact with silverpill who wanted to make Mitra every bit as nomadic as Hubzilla and (streams), but only using ActivityPub. Both figured out that this was actually doable, as in, that even something like (streams) could one day be re-based on ActivityPub.
Mike started dreaming of a nomadic Fediverse in which everything could be cloned to everything.
He created a "nomadic" branch of the streams repository for research and development purposes.
Around early 2024
One key element for nomadic identity via ActivityPub was to have server-independent, decentralised Fediverse identities. These, however, would have to be up front. Thus, FEP-ef61 "Portable Objects" was created.
Both Mike and silverpill started implementing it; Mike did so in already nomadic software, namely the "nomadic" branch of the streams repository.
Channels created on accounts that were registered before (streams) supported FEP-ef61 would continue to use the old IDs internally, but decentralised IDs outward.
June, 2024
Mike was confident enough in the "nomadic" branch which worked reasonably well from his perspective. So he merged the "nomadic" branch into the normal "dev" branch.
July, 2024
I created a new (streams) account with two channels.
Shortly after, Mike merged the "dev" branch into the "release" branch. This caused decentralised IDs as per FEP-ef61 to be rolled out to production servers.
But what had worked under controlled lab conditions completely blew up in the real world: (streams) channels on accounts that were registered before FEP-ef61 did not properly federate with anything anymore, mine included. Content wasn't delivered anywhere anymore, not even within (streams). Mike had no idea at first what had happened.
August, 2024
Mike had figured out that (streams) had to juggle so many different IDs that it had started confusing them. He had to sort out the mess.
Mid-August, 2024
Mike announced the creation of Forte in a restricted message to his contacts. He had basically taken (streams) and ripped out any and all Nomad and Zot6 support to get at least some IDs out of the way so he could fix the bug.
Nonetheless, Forte was fully nomadic at this point.
The other reason why Mike had created Forte was because he had learned that it was foolish in today's Mastodon-dominated Fediverse to deprive (streams) of a name, a brand identity, an actual license and nodeinfo code. The latter had made it next to impossible to find (streams) servers.
Late August, 2024
(streams) had started working again. Everyone was relieved.
But Mike was burned out. In another restricted message to his contacts, he announced his retirement from Fediverse software development, effective August 31st, 2024. (streams) and Forte were up for grabs.
September, 2024
Nobody was found who could continue. Waitman Gobble said he'd like to, and he could, but he had no time. Bill Statler said he'd like to, and he had the time, but he didn't know how to code.
So Mike had to carry on, but at a slower pace.
Mid-September 2024
Mike officially announced the existence of Forte in public as opposed to only to his bubble. He would not have done that if Forte hadn't been fully nomadic.
From what I've read, limitations of ActivityPub kept Forte from real-time syncing, so a timer had to be used to trigger the syncing.
April, 2025
Mike publicly announced the first stable relase of Forte. Apparently, at this point, Forte was capable of real-time syncing, i.e. of syncs being triggered by changes in the channel rather than by a timer.
The only limitations now was that it wasn't possible to move or sync between Forte and something else due to how different other nomadic Fediverse software is, and that Forte didn't have an ActivityPub switch as a last-resort anti-Mastodon drawbridge anymore.
I was hoping for more history up to the present…
So it feels like Forte is still not ready to serve as a work-horse in heavy-use scenarios.