When it comes to Future of SocialHub I think it is valuable to define more clearly:
- Scope: What subject matter is relevant to the community, and what is off-topic?
- Purpose: What are objectives? What does the community want to achieve?
I hereby propose:
Proposal: Give SocialHub most compact scope: Focus exclusively on protocol standardization.
And maybe broaden out from there, but not before active community is achieved on the narrow scope.
Achieving a diverse, broad-scoped active and healthy community is possible, but would require super active and involved staff. In the grassroots environment most likely requiring more effort than most volunteers are prepared to give, leading to eventual burn-out. It is the chores that need to be done, that are most problematic.
During my time as moderator I tried to broaden both scope and diversity. A community characterized as:
- āFedizens evolve the Fediverse collectivelyā: Anyone non-technnical or technical has a say, all skills are welcome and needed. Explore potential and possibilities of the Fediverse.
Besides people stating their annoyance with non-technical topics, I also came to see that it wonāt work in the culture and dynamics of our particular ecosystem. Instead I would now prefer a different approach:
- āSocialHub where ActivityPub Rocksā: The smallest possible scope i.e. Protocol level open standards evolution only. The shared common denominator every interoperable fedi app has.
- Decentralized domain/app specific hubs: Are you in a specific domain? Organize your own community and/or ecosystem and develop AP vocabulary extensions and related FOSS projects.
ActivityPub Rocks
What happened after W3C specifications were finalized in terms of open standards evolution? Very little. Nearly all substrate formation within the ecosystem stalled. Ad-hoc and post-facto interoperability were main drivers of evolution and led to much protocol decay. SocialHub is a giant backlog of unresolved open issues.
Only recently thanks to @weex efforts and a number of fedi devs dedicating their time (for which kudos ) the FEP process is gaining traction.
In the smallest possible scope SocialHub is a developer-oriented community, that focuses on evolution of the decentralized interoperability protocols and their open standard specifications.
I always saw this as having 3 interdependent process tracks, with decreasing levels of required formality:
- Open standards track
- FEP process
- Vocabulary extensions
Open standards track
Most formality here. This track will eventually deliver ActivityPub 2.0 and other related standard specifications. Various FEPās might be adopted in them (superceding the FEP).
These next-gen specs should fill in āthe missing partsā in e.g. security, identity, auth/authz, etc. But also might be better organized. Current specs are a mixān match of Transport Protocol, API definition, and core vocabulary that makes the whole more of āframeworkā. You cannot say to someone: āJust implement AS/AP specs and join the Fediverseā.
FEP process
Where most of the work is focused, and a process is already in place (which can be further improved).
The most valuable FEPās imho are those standardizing protocol mechanisms that are common and needed for any fedi app, regardless of the app type or domain that it targets. Valuable also would be: How do we define AP Vocab extensions in consistent manner? How do we discover capabilities of an Actor endpoint? Etcetera.
Vocabulary extensions
ActivityStreams is kind of the core vocabulary of the Fediverse. ActivityPub protocol is based on it, extends it. It is very intertwined. But AS/AP is also a Linked Data standard where machine-readable semantics are supposed to be a key feature. ActivityStreams is handy. It contains CRUD-like activities. And it contains some social media primitives (such as Like
).
However, when it comes to the current fedi, I feel that everyone is too focused on cramming their domain model into existing concepts of ActivityStreams. Only because that is how we started to do things, and it is what the most popular app is using. We never specified in a good way how different well-namespaced vocab extensions can be modeled and then stacked together as lego-like building blocks for different use cases / domains.
Some of these vocab extensions can become FEPās, others may be app-specific or domain-specific. That should be made clear. For instance the current Groups federation FEP imho is an opinionated implementation, that models groups as seen in social media (thereās mention of Forums and optional moderation mechanics).
Decentralized community
For many of these AP vocabulary extensions, when they are specific to a particular domain, ecosystem or even a single app, might be best developed in decentralized fashion. Having their own community of interested people that maintain and evolve them.
In a way this already happens:
- Podcasting has its own separate ecosystem. Their own vocab extensions. They never engage on SocialHub.
- Mastodon does most their work in their own community, only touches SocialHub on common fediverse-wide concerns.
- Peertube developed their extension in-house (Framasoft), having one dedicated developer on the project. (See also notes on Social Video platforms).
I donāt think that is a bad trend at all. If e.g. later on Peertube and Owncast and other projects in a Video related domain feel the need to collaborate and standardize things, they can create their community for that. It will have a narrow scope as well, making it more likely that the members are willing to be active for the community.