POC: Provisioning Open Communities

I discussed in the past the possible role of Forgefriends server instances with @dachary which imho go far beyond a technnical proxy component between existing forge projects / products. It inspired me to write the idea of United Software Development: A new paradigm? - Fediverse Futures on SocialHub, followed by the creation of this Social Coding Movement and definition of the FSDL, the Free Software Development Lifecycle.

Note: This idea was first posted to the forgefriends forum. Text below has been reformulated to match Social Coding instead.


FOSS Communities

So Forgefriends offers the ability for FOSS projects to be freed from the shackles of a particular forge, right? It liberates a FOSS community that way, and uses a technical protocol (DVCS) and a social protocol (ActivityPub) under the hood. The latter allows it to be broadly integrated in a whole host of other social apps that exist or will exist some day on the Fediverse. One might say:

Forgefriends exists to serve inclusive FOSS communities.

Let’s consider this a bit more holistically. In the following it doesn’t matter whether Forgefriends is an application integrated on a forge, or a self-host instance (a platform). Consider this question:

“Why doesn’t Forgefriends facilitate the creation, hosting and management of FOSS Communities?”

The whole she-bang as a federated social platform where many people can extend this platform with their own modules (similar to how NextCloud works in a different space).

Community Provisioning

Starting a FOSS community has many ins and outs, best-practices and pitfalls to avoid, management and procedures, community-building processes. All of these aspects need to be given proper attention to increase the likelyhood of the community being successful and its projects to take flight.

And this is also the weakness that many of technical-oriented people (mostly developers) have, when starting a project + community. How do you get contributors? How do you do marketing? Where to find designers? How to become a diverse community? How dow I get funding? Numerous things to address, and many different skills involved.

Forgefriends might be the social platform that helps to significantly ease all this, decrease the burden and increase chances for success.

How does it work?

I will just depict some vague notions of how things might work, to hopefully inspire.

  1. Start a new Community by selecting from pre-configured templates.
  2. Guided community wizard takes you through an onboarding process.
    • Provide a bunch of metadata (description, objectives, team, etc.)
    • Define community organization (channels, repositories, toolstack, etc.)
    • Configure software process elements (teams, procedures, artifacts, templates)
  3. Community is bootstrapped by the platform.
    • Project website placeholder generated in appropriate location (maybe hosted on FedeProxy platform itself).
    • Social fediverse integrations are set up.
    • Aggregated Software Knowledge (ASK) channels are set up.
    • Community dashboards are prepared.
  4. Preparation phase starts.
    • The team starts working on providing details for all templates, fine-tunes configs, provides website information, etc.
  5. Launch of FOSS community
    • Platform helps manage the announcement and markeing via social integrations.

And now the new FOSS community is up and running :grin:


Since the above was posted a lot has changed. The scope of the idea / proposal for Forgefriends has become part of the Social Coding Movement and the FSDL it covers. Hence the topic was moved here, for further discussion.

Related:

While we are talking about templates, some guidance on things like COCs and guidance on moderation I think would be handy.

It’s a shame that Aaron Wolf’s talk on “Codes of Conduct and Restorative & Transformative Justice” isn’t online. I attended his talk in 2019 and it was very interesting. Because having a COC is all very well, but you want some moderation procedures and the will to enact them to go with it.

In an ideal world we wouldn’t need it, but setting boundaries does help with community health. So some COC templates would be good as well.

I did find GitHub’s COC template tool handy in that regard.

But we can look to the original sources of some COCs and offer them to any community project starting up. Because if you need a COC because of some bad behaviour, it’s kinda too late.