FSDL Ecosystem Alliance

For a while now I am arguing fiercely that the Forge Federation ecoystem needs to forge (no pun intended) an Ecossytem Alliance. With the involved projects entering entire new domains on the Fediverse, now is the best opportunity. And the best chances to avoid the major challenges that plague the Fediverse at large.

Today in Forge Federation chatroom I reacted to a comment by @Gusted which was in reaction to prior discussion about Mastodon:

And IIRC other Fediverse projects complained about [Eugen] pushing [Mastodon-specific] protocol extensions or something.

This is a real problem, in which something I mentioned earlier. Going from a toy project to a more “community” project, Mastodon is undoubtedly grown up software, however like with these actions it still acts as a “toy project” where decision get made overnight.

My response was:

It is true that Mastodon creates their own protocol extensions. Less true that they are “pushing them”. It is just that they are the biggest player, and others need to follow them to be compatible. This is called post-facto interoperability, where a dominant player leads the ecosystem.

Contrary to many others, and despite the fact that broader ecosystem collaboration would be a win-win to them, I do not hold their approach against them. They are their own FOSS project, make their own strategy, and they deliver a Microblogging app, so will design extensions that match new app features.

I feel it is the responsibility of the Ecosystem Alliance to be interesting enough and offering sufficient incentives for a broader collaboration beyond project scope. The Fediverse at large, unfortunately, has no alliance at all. It is everyone for themselves in completely ad-hoc, inward / project-focused anarchy. And it may be what eventually fully stalls the progress of fedi, sets it on a death march.

If a well-organized alliance was established from the start, with well-defined processes to turn project-specifics into ecosystem knowledge and tools, then outlook may be different. It would be a no-brainer to be part of the larger whole.

But, what is hopeful is that, more decentralized form of organization, i.e. ecosystem alliances in specific domains may be way more successful and much easier to organize and keep together. After all the scope of “Fediverse” is too large. If e.g. ForgeFed is discussing an AP Issue Tracking vocabulary extension, why would Mastodon have any interest in that at all? But Forgefriends, ForgeFlux, Gitea et al would pique their ears and listen intently.

You feel it coming… I am advocating - again - for such alliance to be forged for Federated Free Software Development. And I want to be part of the alliance with Social Coding and the Social Coding FSDL.

I also would like to mention that without a well-oiled ecosystem alliance in place, the forge federation space will imho almost certainly get in a similar post-facto intreroperability situation, where a major player dominates the space.

This will be like e.g. Mattermost Focalboard or Trelly finally gaining interest to federate their boards, to find all kinds of Gitea specific stuff in it. Or, if Trello is first in some new area of the FSDL vice versa, when that is also stuff that happens to be available in Gitea.

Below, knitting subsequent related comments together, so as to archive the discussion here (will not 1-to-1 copy the chat, too much work):

[if only a] well-organized alliance was established from the start, with well-defined processes

I’ll have to add that this should match the dynamics of the playing field, i.e. the culture we have. So not arguing for formal steering bodies and all that.

@Gusted responded:

Less true that they are “pushing them”. It is just that they are the biggest player, and others need to follow them to be compatible.

Which is in fact pushing IMO. It’s like Google with Manifest V3 extensions, you could choose to still use Manifest v2, but as user you will need to use side-loading and as a browser(e.g. Firefox) you will need to be compatible, without having a say into that standard, which is just forcing something down to someone with extra steps.

I do not hold their approach against them

Their approach are in my book a factor of a toy project, to which I circle back to that there is no willingness to move away from being a toy project which implies certain problems as ^^ mentioned.

My follow-up:

I think it would be smart to care for the ecosystem, and it would be social too. But FOSS projects are independent, and they are not restricting the 4 freedoms or anything. I agree that it is very regrettable. But in the case that there’s no productive alliance that can make any decision and set practical steps forward at the ecosystem level, should Mastodon be responsible to arrange that? Or spend long lengths of time involving in the discussions, if they don’t yield furtile results for their project?

Though I hate to mention it, I’ve found there to be a different kind of “Tragedy of the Commons”. One that works at protocol level, not the usage of FOSS itself. Where people must reach beyond the scope of their own work, to uphold the health of the ecosystem that they ultimately depend upon. The substrate below their project. There is a need for substrate formation where this is organized and people collaborate.

Later, in response to @Gusted:

Well I can’t speak for Eugen of course, there should be a willingness for participation. If that works or doesn’t work out is pure speculation.

Here you could argue that the willingness exists. Both Claire (core team) and Nightpool are giving good feedback and mingling in the discussion where things are core to Mastodon’s concerns. Eugen himself is sort of doing so too, but that communication is in the Mastodon issue tracker, so not really accessible and insights not reaching the wider ecosystem for richer/broader interactions.

And of course, for any Fediverse project holds… any extension made is ultimately only found in codebases and, sometimes, short blurbs of docs, and aboveall cross-linked closed issues on the trackers. Every project is doing in small ways, what Mastodon does on larger scale because they are bigger, move faster.

Currently “Adding Fediverse Support” is becoming like this:

  • Implement AS/AP et al
  • Ensure compatibility with App A, test
  • Ensure compatibility with App B, test
  • …
  • Fix breakage with new release of App C
    • Arbitrage: Who is at fault?
    • Risk: Both point to each other as incompatible
  • Rinse and repeat in maintenance cycle that gets worse and worse

Ad-hoc interoperability means ever growing complexity, and going to an asymptote of having no interop at all, just one-by-one app integrations.

The protocols must be nurtured, be maintained, updated. There’s a ton of challenges there, as can be witnessed in popular protocols that cannot mature anymore as it would break to many old installs.

A recent, and imho very important insight, is to not consider AS/AP as an open standard to just implement. As implementer you must realize that you are holding a framework. Which means that you have to design for each and every new domain and if you want any interop with other projects at all, that must be a collective and sustained effort.

2 Likes

Sorry for the late response, some cookie issues caused by a too aggressive uBlock origin filter (oops).

I agree that this is a good time that a ecosystem alliance would be made now, as an “major”(I’m biased) forge will be implementing federation and recently the Forge Fed protocol has been become active again. It would IMO also likely improve the likelihood of other forges(excluding the major proprietary ones) considering to implement federation. If there’s a community to help them with the protocol & federation part and a alliance to make sure the protocol will move along with the needs.

Mastodon might be partially a good example of when federated software have their own interpretation of a protocol, which can cause issues with other federated software. Which would hopefully be prevented if there’s an ecosystem alliance to make sure everyone is and will stay on the same team.

2 Likes

Thanks for Ta180m, other potential parties that would like to be involved are pagure & vervis. Both are forges that currently implements federation.

2 Likes

Nitpicking: pagure has a federation plugin (see here) but does not include federation by default.

1 Like

This is very cool, @Gusted :rocket:

As mentioned on the chat we should organize a vidcall soon’ish to discuss ideas for shaping the alliance and steps forward. It doesn’t have to be in super hurry, as both @realaravinth and me are still quite busy on a bunch of other things. I intend to give Social Coding a boost in Q4, and relevant to forge federation is getting forg.es going, where Aravinth wants to engage with and I can help.

The alliance can get top-level space at this forum, as well as introduction on the Social Coding website in the Communities section:

As for getting top-level space on this co-shared community forum I have a somewhat outdated notepad that explains (this should be turned into a proper forum topic + site page):

2 Likes

Preparing a Kick-off Meeting

I created a public HedgeDoc pad to prepare for a Kick-off Meeting later this year…

1 Like

I’ll attend and happy about the opportunity.

1 Like