Social Coding Knowledge Garden
Mission and Vision
FOSS is very successful. But only on the scope of individual projects. As a sustainable movement it is very weak. It continues to be dependent on and submissive to malign forces of hypercapitalism that exploit it.
- Mission: Support the Free Software Development Lifecycle
- Vision: Liberate Free Software Development
Scope of Social Coding
- FOSS movement, Free culture, The Commons.
- Social coding Principles (CODE GEMās)
- Free Software Development Lifecycle (FSDL)
- Identify challenges, crowdsource best-practices
ā Evolve a pattern library - Find, build, evolve tools and open standards
- Federate software development (The Forgers Guild)
To restrict that vast scope, focus mostly on:
- Address parts of the FSDL where FOSS is weakest:
- Long-term holistic sustainability
- Inclusive healthy community
- Collaboration in larger ecosystems
- Evolving own technology landscape (open standards)
- Target larger (beyond hobbyist) community-driven FOSS projects
The crowdsourced pattern library of Social Coding looks more or less like:
- Challenge [pattern] ā Best-practice(s) { Solution(s) [pattern, tech independent] + Tools support }
Social Coding Practitioners
Practitioners are those:
- People, projects, communities, organizations who adopt Social Coding.
- Who find benefit in the solutions to common challenges the pattern library provides.
- Who get increasing value by their participation, incentivising the crowdsourcing process.
- Especially those projects who build tools that are in support of the FSDL.
How does this work?
- Practitioners embed Social Coding in their own development process.
- They gain awareness of the processes of the FSDL and how to improve them.
- As practitioners improve project and process they upstream to the Knowledge Garden.
- By embedding Social Coding practitioners become incentivised to crowdsource.
Most important points of attention:
- To continuously develop and increase the benefits and value of pracitionersā participation.
- Foster proper conditions, motivations, incentives and expectations for active participation.
- To offer this āvalue packageā such that advantages are clear, and more practitioners join.
Obviously the more crowdsourcing takes place, the more value is added. This is a virtuous cycle.
Most directly and easiest to benefit from being a Social Coding practitioner are projects and ecosystems that are already focused on supporting the FSDL with the software and open standards they evolve.
Letās look at a couple of examples..
Example: Forgejo. Beyond coding. We forge.
(cc: @dachary)
Forgejo is a new community-driven FOSS project that develops a code forge and is a soft fork of the Gitea project. Forgejo is under custody of Codeberg, who will use it to offer their own services.
The domain of Forgejo being Collaborative Software Development and together with its ecosystem focused on the entire FSDL, makes Forgejo an ideal candidate. Being a social coding practitioner can bring many advantages.
All the challenges to FOSS development and their best-practices are direct input to User Research, and - when covered by the product - Forgejo will offer solutions and direct tool support.
Thereās incentive to:
- Have quality pattern docs and improve them as input to product development.
- To document how Forgejo helps solve the challenge with their software (PR).
- To do research and collaborate with other practitioners to create a stronger ecosystem.
Social Coding Movement will help Forgejo in any way it can. For instance:
- Forgejo might have its own top-level forum section for R&D, discuss new UX/UI design, etc.
- Forgejoās solutions / project activity will be actively promoted, encouraged for adoption by others.
I will only briefly give an example of work that Forgejo might conduct as practitioner:
- How FOSS projects deal with bugs/features in upstream and downstream projects is a challenge.
- It is a challenge for Forgejo itself (see Issue #82), i.e. 2-way sync with upstream Gitea project.
- It is an opportunity to 1) find best-practices and 2) to implement supporting product features.
- User research, design prototypes can be discussed on Social Coding forum.
- Challenge, best-practices, Forgejo tool support docs are upstreamed to pattern library.
Example: ForgeFed open standard specification
(cc: @pere)
ForgeFed project is developing open standards for federating code forges. It is directly involved with analysis of FSDL processes in order to design protocol extensions to W3C ActivityPub that will allow to bring software development to the Fediverse. It will open a new paradigm to software development where it is seamlessly tied to global, decentralized social networking.
All the challenges and best-practice patterns are descriptions of domain expertise that are directly relevant to ForgeFed. There is an incentive for ForgeFed to have them properly documented, and to show how federation support can offer additional benefits to any solution.
Social Coding Movement will help ForgeFed:
- In their strategy to gain widespread technology adoption. It is in our Mission to do so.
- In the quality of the models of ForgeFed vocab extensions, as they represent the FSDL itself.
- In Fediverse related efforts to tackle major challenges that are adjacent to ForgeFed.
- By encouraging collaboration with other practitioners (like Forgejo).
Example: Solidground Social experience design
(cc: @realaravinth, @aschrijver)
Solidground aims to make development of new and deeply integrated services for the Fediverse as easy as possible. Instead of a focus on apps, it will offer Social Experience design (SX). A social experience is task-oriented, tailored to fulfill specific needs people have, and may integrate many fediverse services.
Solidground offers Floorplanner, a federated development environment, that increasingly offers more automation as āProcess Recipesā of the FSDL are adopted in a crowdsourced process that is an embedded part of SX. Any Creator of a social experience project will evolve the recipes, and this information is upstreamed to the Social Coding pattern library.
Example: The Forgers Guild ecosystem alliance
(cc: @realaravinth, @aschrijver)
The concepts of Ecosystem Alliances and Software Guilds were both invented by Social Coding Movement, and will become part of the pattern library.
At the same time thereās opportunity to organize the first software guild. It will be called The Forgers Guild and encompass the ecosystem of projects that were inspirede by ForgeFed to work in the field of forge federation.
Implicitly this guild already exists.. thereās great collaboration going on in Matrix channel and cross-pollination across projects, collective fundraising and other collective activities. The goal of The Forgers Guild is to further build these relationship and make the ecosystem as strong as it can possibly be.
Forgejo, ForgeFed, Solidground will likely be part of the Guild. As social coding practitioners dedicated to providing tools in support of the FSDL. They have a stake in the success of Social Coding Movement and crowdsourcing content of the Knowledge Garden.
Example: Sociocracy Guild ecosystem alliance??
(cc: @ivanminutillo, @mayel, @aschrijver)
Earlier this year a meeting was held to talk about Sociocracy 3.0 and Sociocracy for All. The topic was bringing Sociocracy to the Fediverse.
There is much relevance with this topic and Social Coding FSDL. All larger FOSS projects have a form of Governance (especially when considering governance to be the top-level development process). Furthermore FOSS ecosystems and open standards organizations/communities need governance.
The Fediverse as a whole lacks governance mechanisms. It has some Moderation facilities, but they arenāt enough and scale poorly.
The concerns of Governance and Moderation have a broader context than software development alone. Addressing this subject matter is an opportunity to reach a different and broader audience while figuring out challenges, best-practices and - ultimately - ActivityPub vocab extensions.
Hereby I propose investigating the feasability of a Sociocracy Guild, which will be a social coding practitioner.
Update: 29 May 2023 a second meeting was held (which I couldnāt join). The notes can be found here.
Minutes Exploring Self Governance in the Fediverse [2023].odt (44.0 KB)
