Positioning Social Coding and Forgefriends

This is a continuation of Decision: Social Coding initiative utilizes Forge Friends community forum to bring clarity to organiation structure.


In Redefining and positioning the forgefriends project - #7 by aschrijver I have outlined how I see the relationship between Forgefriends and Social Coding to be in terms of the who, what, why and how (more or less). As can be seen there’s a Venn diagram with a large overlap between the two, but also differences in scope and positioning. In this:

  • Social Coding does not fit under a Forgefriends umbrella, conceptually.
  • Forgefriends might see itself as under Social Coding umbrella (as an attractive PR/advocacy strategy mostly).
    • If this strategy is chosen then Social Coding will be able to promote Forgefriends more intensively, I think.

Also (again conceptually):

  • ForgeFriends has a Community,
  • Social Coding is a Movement (though contributors might be seen as forming a community).

As I see it:

  • ForgeFriends and Social Coding aim to reinforce each other.
  • Yet they are independent of each other, and each has their own governance model.
    • Social Coding initiative ‘dogfoods’ itself, so that is essential.

For this forum this means that:

  • This is entirely the Forgefriends community forum. All categories belong to it.
  • Except the #socialcoding category, which stands on its own within the forum.
    • If I post outside that category it is as forgefriend member.
    • Within the category it relates social coding initiative and governance.

As I said today on Matrix the above might not have been entirely clear from the original decision topic. If you feel this positioning needs another decision, or want to come back on the earlier one, then I’m fully open to that. Please inform me of your understanding or arguments for a different plan.

I am thinking about ways to fit Social Coding and Forgefriends neatly together.

Social Coding activities right now follow three parallel tracks:

  1. Community: Passionate free software lovers that work together.
  2. Practitioners: Refine a methodology and collect best-practices.
  3. Supporters: Build a fediverse platform with helpful tools. The target audience.

But I have an idea to restructure as: Social Coding → Movement, Ecosystem, MEthodology

  • Methodology (support track): Social Coding Patterns and Practitioners Guide.
  • Ecosystem (community track): Community collaborations in support of Social Coding practices.
  • Movement (practitioner track): Any Social Coding practitioner is part of the movement.

(The MEME acronym thus formed is just for convenience in remembering, but “meme” is appropriately defined as: “an idea or element of social behaviour passed on through generations in a culture”)

In this organization structure:

  • Social Coding is scoped to: 1. Free software → 2. Entire lifecycle → 3. Make more social.
  • Forgefriends is scoped to: 1. Free software code forges → 2. Entire lifecycle → 3. Make interoperable.

Both are very large scopes, though Social Coding’s scope is larger. Managing them requires:

  • Crowdsourced. Inviting and easy for anyone to contribute.
  • Incremental. Gradually evolving and maturing over time.
  • Extensible. Constituent parts form a larger whole, a framework.

Taking these requirements there’s a great match between Social Coding and Forgefriends:

  • Social Coding Patterns → Forgefriends Free Software Development Lifecycle

Now, what does this mean?

Social Coding Patterns

SCP is an extensible pattern library of simple documents that detail how to resolve particular challenges of free software development. Practitioners can decide which patterns appeal to them and pick & choose what they like to adopt (the Practitioners Guides exists to help them with this).

Forgefriends FSDL

FSDL is a set of specifications that define standards for code forge interoperability across the development lifecycle. ForgeFed’s prior work is continued in this standardization track. Issue Management, where forgefriends initial implementation aims for, is too. The specifications are broken into modules that constitute bounded contexts of the software development lifecycle.

And… since I love to create logo’s :wink:

forgefriends-fdsl-logo-square

Making the match

A pattern in SCP might be called “Foster dependencies”:

  • Problem: Software dependencies are good for reuse, but increase system fragility.
  • Effect: The projects you depend on affect your own project’s sustainability.
  • Solution: Consider projects you depend on as peers, and contribute actively.
  • Ecosystem support:
    • Forgefriends ‘IssueWelder’: Create bridges to issue trackers of your peers.

So there are matches from Social Coding patterns, to Forgefriends specifications, and then to ecosystem projects that impement supportive tools based on these specifications.

The Pattern Library

As an example of a pattern library I am inspired by: Sociocracy 3.0. They have their patterns organized in a map:

Sociocracy Pattern Library Map

1 Like

Impact to the Social Coding website

If positioning as proposed above, the Social Coding website needs to be adapted to reflect that properly.

  • Make landing page more succinct, matter of fact. Move texts to introductory blog post Coding is Social.
  • Overhaul of the site hierarchy as reflected in the left-side navigation bar.

The navigation bar will get the following structure:

Top-level

  • Home (landing page)
  • Principles of Social Coding

Methodology

  • Practitioners guide
  • Pattern library
    • Common challenges
    • Patterns and practices

Ecosystem

  • Communities
    • Forgefriends
    • Fedi foundation
  • Projects
    • IdeationHub
    • Delightful gems

Movement

  • Join the movement
  • Blog and news
  • Publish to this site
  • Glossary of terms

Positioning as a Movement

I was a bit lazy and hasty at the time we started social coding initiative and only did domain name checks and a search for “Social Coding” (with the quotes) in DDG which yielded no results. But it appears that was too fast, too quick. There are definitions and sites out there.

However, the application specifically to free software development lifecycle is rather unique. As is on a technical level leveraging the Fediverse to help add social support. And the domain name is quite good. So we’ll stick with the name, and refer to the initiative as “Social Coding Movement” to distinguish from other initiatives.

1 Like