This SocialHub topic was inspired by Forgefriends (then called FedeProxy) and constitutes a wild brainstorm for envisioning what could be an entirely new paradigm to softwrare development: United Software Development.
Exploration of the idea involves looking from a non-technical perspective at all the possible ways in which Decentralization and fediverse standards (ActivityStreams, ActivityPub, Linked Data) can be leveraged to shape this paradigm.
Preliminary definition of United Sotware Development is “Free, libre software development, processes and culture united,. Sustainable, open and accessible to anyone.”, but I’m sure that can be further improved.
@dachary@lemmy.ml offers a very enticing look into what “Federated Development” might entail. I highly encourage people to read the SocialHub thread, and am very curious about your musings and thoughts.
Maybe a little mental prototyping is in order:
A project based on the fediverse may be created, that:
(Whenever I say Object, I mean an ActivityPub object)
Developers should be able to join and leave a project at any time. And if they are a maintainer, the group should just be able to chose another developer from amongst their members.
(This can be risky, if a project is entirely abandoned and a malicious entity gains control of the project, at which point a “fork” of the project should be created - nobody with a link to the abandoned project should receive releases from that anymore.)
It may be easier to split this into two domains that can evolve separately: Ideation and Project Management.
Just some additional points to the ones you mentioned (obviously it should start minimal, but just brainstorming right now). Going further it may be an idea to diagram these domains, as that’s a good way to slash details and focus on essential process.
Ideation
When a project is created the Ideation still continues. The ideation process goes in parallel.
PS. Something along similar lines is the open-source-ideas GH repo.
Project Management
PS. I’ve witnessed some nasty examples of a maintainer disappearing and not even willing to update the README to point to the newly active fork where stuff continues.
PS2. There may also be a 3-domain split, where you have Community Governance and Project Management separately.
Related ideas on forgefriends: POC: Provisioning Open Communities and ASK: Aggregating Software Knowledge
Those are great ideas. I’ll try to minimize these into minimum viable product requirements based on the three domain split:
MVP
Ideation
A service which allows the sharing, discussion and concretize ideas.
It should achieve these minimum features:
Community Governance
A service closely working together with the Ideation and project management service.
It should achieve these minimum features:
Project Managment
A forge that hosts the repositories of a project and allows for the Community to change the access levels of developers (Maintainers, Contributors, etc.).
It should achieve these minimum features:
I decided for this three division, because Project Management can be seen as a Forge with some additional features (maybe implemented with just a plugin or bot) and the focus of development should lie on Community Governance and Ideation, the new and unique services.
I only include those requirements here, which I think can be reasonably implemented in a first release and nothing more.
Wonderful! Just going to add some remarks / thoughts… we might call this the “Social Coding MVP” and when spinning up an app, it is a “social coding platform”.
Ideation --> Idea Management
solarpunk.community
and avidartists.social
instance.as:Group
on the wire.Community Governance
For a minimal Community vocabulary extension that facilitates having arbitrary ‘Roles’ I suggested modeling them as follows:
Project Management
I think this discussion is outgrowing it’s frame. (Something we need to strictly avoid in a federated Idea, Community and Project Hub.)
I propose moving this into a Repository or Organization on a forge.
Agree. As per your toot, Codeberg it shall be at: