Jupiter Rowland<em>tl;dr: Hubzilla has had at least some of this for over a decade now. And it won't replace any of it with a new standard tailor-made for Mastodon.</em><br><br>@<a href="https://mitra.social/users/silverpill" rel="nofollow noopener" target="_blank">silverpill</a> If you look past projects based on ActivityPub and at projects that have ActivityPub as an additional protocol, some of this already exists.<br><br><blockquote>- <strong>Data portability</strong>. In my opinion, this is the most important problem. I'm in favor of <a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/ef61/fep-ef61.md" rel="nofollow noopener" target="_blank">FEP-ef61</a>, which also solves identity portability and unlocks many new features.</blockquote><br>Exists in the shape of nomadic identity. Invented by @<a class="" href="https://fediversity.site/channel/mikedev" rel="nofollow noopener" target="_blank">Mike Macgirvin 🖥️</a> in 2011 with his Zot protocol and first deplayed in 2012 with the Red Matrix, nowadays known as <a href="https://joinfediverse.wiki/What_is_Hubzilla%3F" rel="nofollow noopener" target="_blank">Hubzilla</a>. Also available on <a href="https://codeberg.org/streams/streams" rel="nofollow noopener" target="_blank">(streams)</a>, Mike's current project at the end of a string of forks from Hubzilla, now based on the Nomad protocol.<br><br>Mike would like to see nomadic identity and other special features of the Zot and Nomad protocols included in the ActivityPub protocol. He has actually submitted a number of proposals for this. They were all rejected. Even though he is a <em>protocol developer</em> first and foremost, and he has both created and worked on more Fediverse protocols than anyone else, so he should be considered competent.<br><br>Nomadic identity with ActivityPub won't come unless either Evan Prodromou and the W3C commission cave in and allow Mike's suggestions, or someone re-invents the wheel from scratch in a way that's utterly incompatible to Hubzilla and (streams). And it won't come to Mastodon unless Eugen Rochko can imply that Mastodon has had it first.<br><br>And there will never be a nomadic identity standard that meets Mike's requirements as well as Eugen's wishes.<br><br><blockquote>- <strong>End-to-end encryption.</strong> <a href="https://en.wikipedia.org/wiki/Messaging_Layer_Security" rel="nofollow noopener" target="_blank">MLS</a> has become a standard, and it would be wise to adopt it. <a href="https://codeberg.org/fediverse/fediverse-ideas/issues/3" rel="nofollow noopener" target="_blank">Issue 3 at fediverse-ideas</a> provides a good overview of what we have at the moment (not much). Some variation of <a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/ae97/fep-ae97.md" rel="nofollow noopener" target="_blank">FEP-ae97</a> is likely needed to make end-to-end encryption work.</blockquote><br>AFAIK, all three of Mike's still existing projects, <a href="https://joinfediverse.wiki/What_is_Friendica%3F" rel="nofollow noopener" target="_blank">Friendica</a> from 2010, Hubzilla from 2012/2015 and (streams) from 2021, have it. Optionally, but still. I think Friendica actually advertises military-grade encryption.<br><br><blockquote>- <strong>Plugins</strong>. Something like <a href="https://docs.pleroma.social/backend/configuration/mrf/" rel="nofollow noopener" target="_blank">Pleroma MRF</a>, but cross-platform (e.g. Wasm-based). Also, pluggable timeline algorithms.</blockquote><br>Friendica, Hubzilla and (streams) have had support for add-ons, including third-party add-ons, plus a number of official add-ons since their respective inceptions. If you want a cross-platform add-on standard, I hope you don't expect these three to throw their own standards over board in favour of the new standard. Otherwise, good luck developing a replacement for Pubcrawl that makes Zot-based Hubzilla compatible with ActivityPub while working on ActivityPub-based Mastodon just the same. Friendica, Hubzilla and (streams) rely on add-ons for all federation beyond their respective base protocols (DFRN, Zot, Nomad).<br><br><blockquote>- <strong>Groups</strong>. We have several competing standards for groups: <a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/1b12/fep-1b12.md" rel="nofollow noopener" target="_blank">FEP-1b12</a>, <a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/400e/fep-400e.md" rel="nofollow noopener" target="_blank">FEP-400e</a>, Mastodon developers are working on their own standard. It would be nice to converge on a single standard, that also supports private groups.</blockquote><br>Friendica, Hubzilla and (streams) have had support for discussion groups/forums since their respective inception. On Friendica, a group is a user account with special settings; on Hubzilla and (streams), it's a <a href="https://joinfediverse.wiki/What_are_channels_on_Hubzilla_and_(streams)%3F" rel="nofollow noopener" target="_blank">channel</a> with special settings. In addition, especially Hubzilla and (streams) have access permission control on a level that most people for whom the Fediverse is only ActivityPub couldn't imagine in their wildest dreams. All three can be used by users from all over the Fediverse already now.<br><br>Good luck forcing Friendica to give up its 13-year-old standard that's used by <a href="https://venera.social/profile/fediversenews" rel="nofollow noopener" target="_blank">Fediverse News</a>, just to name one, and Hubzilla to give up its 11-year-old standard that blows everything else but what (streams) does out of the water. Good luck forcing them to adopt something inferior.<br><br>On the other hand, good luck forcing <a href="https://joinfediverse.wiki/What_is_Lemmy%3F" rel="nofollow noopener" target="_blank">Lemmy</a> and <a href="https://joinfediverse.wiki/What_is_Kbin%3F" rel="nofollow noopener" target="_blank">/kbin</a> to switch to a wholly different standard. Don't forget that these two exist as well. And good luck having the Fediverse outside of Hubzilla and (streams) adopt both server-side and client-side OpenWebAuth.<br><br>And I'm not even talking about how different Fediverse projects handle threads differently. Mastodon has a Twitter-like thread structure: many posts, tied together with mentiones. Just about everything that's built on ActivityPub has taken this over. Friendica, Hubzilla and (streams) have a Facebook/blog/Tumblr-like thread structure: one post, the start post, and many comments which aren't posts. It's similar on Lemmy and /kbin which are Reddit clones, only that they don't allow thread starters to moderate their own threads.<br><br><blockquote>- <strong>Quoting</strong>. <a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/e232/fep-e232.md" rel="nofollow noopener" target="_blank">FEP-e232</a> is a proposed standard, but most fediverse applications still use non-standard properties. Mastodon developers are trying to invent something completely different.</blockquote><br>This is something that almost the whole Fediverse has implemented, save for Mastodon.<br><br>And again, Friendica has had quotes since its inception in 2010, almost six years before Mastodon was launched (which, by the way, federated with Friendica and Hubzilla on the spot). Hubzilla has had quotes since 2012, inherited from Friendica. Their way of quoting is dead-simple: BBcode. <code>[quote][/quote]</code> (streams) supports Markdown and HTML in addition to BBcode, but otherwise it's the same.<br><br>Oh, and by the way: Friendica, Hubzilla and (streams) have also supported quote-posts a.k.a. quote-tweets a.k.a. quote-toots a.k.a. quote-boosts from their very beginnings.<br><br><blockquote>- <strong>Markets</strong>. So far there's only <a href="https://codeberg.org/silverpill/mitra" rel="nofollow noopener" target="_blank">one</a> server implementation capable of processing payments.</blockquote><br>At least two. Hubzilla has a payment add-on, too. It isn't installed on all hubs, but it's there.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFedisplaining" rel="nofollow noopener" target="_blank">CWFedisplaining</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Mastodon" rel="nofollow noopener" target="_blank">Mastodon</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=MastodonIsNotTheFediverse" rel="nofollow noopener" target="_blank">MastodonIsNotTheFediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=NotOnlyMastodon" rel="nofollow noopener" target="_blank">NotOnlyMastodon</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ActivityPub" rel="nofollow noopener" target="_blank">ActivityPub</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Friendica" rel="nofollow noopener" target="_blank">Friendica</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=DFRN" rel="nofollow noopener" target="_blank">DFRN</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Zot" rel="nofollow noopener" target="_blank">Zot</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Nomad" rel="nofollow noopener" target="_blank">Nomad</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Lemmy" rel="nofollow noopener" target="_blank">Lemmy</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=kbin" rel="nofollow noopener" target="_blank">kbin</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%2Fkbin" rel="nofollow noopener" target="_blank">/kbin</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=NomadicIdentity" rel="nofollow noopener" target="_blank">NomadicIdentity</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=OpenWebAuth" rel="nofollow noopener" target="_blank">OpenWebAuth</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Group" rel="nofollow noopener" target="_blank">Group</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Groups" rel="nofollow noopener" target="_blank">Groups</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forum" rel="nofollow noopener" target="_blank">Forum</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forums" rel="nofollow noopener" target="_blank">Forums</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Quote" rel="nofollow noopener" target="_blank">Quote</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Quotes" rel="nofollow noopener" target="_blank">Quotes</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Encryption" rel="nofollow noopener" target="_blank">Encryption</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=E2EE" rel="nofollow noopener" target="_blank">E2EE</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=E2EEncryption" rel="nofollow noopener" target="_blank">E2EEncryption</a>