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.
@email@example.com 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.
This is a companion to Fediverse Futures on Social Coding to elaborate the Fediverse from high-level, non-technical perspectives, brainstorming our visions and dreams.
We need a more holistic approach to fedi development and evolution. We need product designers, graphics artists, UX / UI / Interaction designers, futurists and visionaries to join the dev folks. Everyone is encouraged to join here and enrich our views on what Fediverse can be with diverse and different viewpoints, and to stimulate brainstorming, creativity, thinking out-of-the-box and crazy, wild ideas.
Please read the Social Coding Community Participation Guidelines for more information.
#Peopleverse #FediverseFutures #Web0 #SocialNetworkingReimagined #UnitedInDiversity #Fedivolution2022 #SocialCoding #ActivityPub
Why not look at how free software is currently developed, to define what a United Software Development paradigm might look like?
The traditional free software development process can be divided into three parts:
This process has several problems first amongst which is the reliance on the individual, that started this whole project. In order to reach step 3, at which point the project could maybe survive without them, this individual has to be able to develop the project, document the project, provide Q&A, collaborate with other developers, provide potential up front costs (server costs, etc.). And all that without earning a penny for their work in most cases.
And after step 3, this individual might not be quite as relevant to the project as it used to be, but it is often still vested with an enormous burden and authority over a project (the title “Benevolent Dictator for Life” describes this situation quite well).
Thereby it is no wonder, that free software is struggling: It’s development has to overcome extreme burdens, that have nothing to do with the quality of the project and it’s idea, before reaching adoption and a developer community.
This makes starting a new free software project extremely unattractive for developers committed to free software. And those that do decide to start a new project often waste their energy, time and other resources developing projects, that fail at one of the hurdles described above. Making their efforts futile.
Thus I understand the United Software Development paradigm as an answer to this current situation, creating a path for developers to create new free software that is successful based on the merits of the project and not the ability of it’s founder.
But in order for this to be achieved, the United Software Development paradigm has to include not just the actual development of the software, beginning with the creation of a repository, code and corresponding to step one in the traditional free software development paradigm.
It has to begin before that and give people the ability to find a group, an idea, and a basic organization together and to create a software from the beginning as a team effort and gain team members along the way.
The modern forges have become centers for open source software, but they do not provide developers with a way to connect, find like minded people, ideas and develop projects from these ideas as a team, because forges today (especially GitHub) are suited to the needs of big tech companies benefiting from the voluntary work done by open source developers.
Free software can only survive if free software developers can develop their own projects in a cost efficient manner and without being a Swiss army knife of a developer / designer / Q&A / security researcher / devops.
Yess!! A super follow-up to this brainstorm idea 💚
I’ve been interacting with Fedeproxy community, which is now called Forgefriends and came up with the idea of “Social Coding” which encompasses the entire process from earliest idea to mature and healthy software + communities. And ideally this process involves a broad range of people with all kinds of backgrounds and experiences, and lowering the barriers for them to participate as much as possible, and in any way they want and feel comfortable to while ‘onboarding’ them further.
Gitea is the first code forge that embraced the idea of forge federation and becoming part of the Fediverse. First steps have been made and this will progress next year. Hopefully with funding from NLnet via a NGI0 grant they applied for.
So in fact, they’ve become a true “forge friend”. What we are hoping to achieve is to have Gitea team realize the absolutely “unique selling point” (USP) nature that offering federation support entails. It goes way beyond a mere technical capability that is added, and towards a vision on what “Social Coding” really means.
I agree fully with your take on this, and from your text there are countless points where Fediverse could facilitate these social processes in various different ways. It is very exciting. On fedi various apps are maturing Groups support now (including Lemmy) and a step further is solid Community support and facilitating Community Governance. That comes a long way into the direction of having FOSS initiatives be native citizens on the Fediverse that any fedizen can hop onto very easily.
And federated forges are just one part of this story. There’s more and more FOSS hosting providers that supply infra and bundled services. And there are people interested in organizing dev circles that hop from project to project to program on it. For example @csddumi explaining in this toot:
Exploring the possibilities further is really uplifting exercise. This all goes beyond Microblogging into the thus far untapped potential of the Fediverse to enter new domains.
Update: I was quoting your own toot @firstname.lastname@example.org without noticing you were the author here as well. Also added that to the fedi thread 🤣
My post is incomplete though: I’ve defined problem that the united software development paradigm should set out to solve, but I didn’t provide much information as to how that problem might be solved.
For that I suggest a new definition of the free software development process:
At no point during this new process does the success of the project depend on an individual. Indeed each step of this process could theoretically be done by a different person or persons. Thus requiring a whole new definition of what a maintainer is, how they become one and forge software has to change accordingly.
And there should be software to support the first three steps of this process especially, software where you could publish ideas (1), make them concrete (2) and find developers to work on a project together (3). Federating this software and embedding it in Gitea or another federated forge would probably be the best approach.
Since Big tech cannot use this process really, since it includes giving away your ideas and not just your code to the commons.