Archived
15
23
Fork
You've already forked meta
6

Consider to be a Social Coding practitioner #14

Open
opened 2022年11月06日 22:01:44 +01:00 by circlebuilder · 25 comments
Contributor
Copy link

Social Coding Movement is kicking off. It collects best-practices to common challenges of Free Software projects, their communities, and their ecosystems.

These are brought into a a growing library of patterns in a crowdsourced process, that will speed up as more projects and people join.

As practitioner Codename can learn, discuss with others, apply for help, and upstream / contribute back their own lessons-learned, using the tools the Movement offers.

There are no obligations that come with this. Practicing Social Coding merely constitutes an intent to be and remain in the best shape possible at any time. It is a Kaizen process.

Social Coding Movement is kicking off. It collects best-practices to common challenges of Free Software projects, their communities, and their ecosystems. These are brought into a a growing library of patterns in a crowdsourced process, that will speed up as more projects and people join. As practitioner Codename can learn, discuss with others, apply for help, and upstream / contribute back their own lessons-learned, using the tools the Movement offers. There are no obligations that come with this. Practicing Social Coding merely constitutes an intent to be and remain in the best shape possible at any time. It is a [Kaizen](https://en.wikipedia.org/wiki/Kaizen) process.
circlebuilder changed title from (削除) Consider to be a Social Coding practitioner project + community (削除ここまで) to Consider to be a Social Coding practitioner 2022年11月06日 22:02:00 +01:00
Author
Contributor
Copy link

Here is an example of related project that will be a practitioner after launch, which is mentioned as distinguishing factor on the project's landing page:

Site section that lists the Social Coding Principles and mentions being part of Social Coding Movement

Here is an example of related project that will be a practitioner after launch, which is mentioned as distinguishing factor on the project's landing page: ![Site section that lists the Social Coding Principles and mentions being part of Social Coding Movement](https://codeberg.org/attachments/dd0e2569-4f85-4566-8861-9341946bb5ae)
Author
Contributor
Copy link

Note btw the term "Joyful Creation" in this screenshot, which is a broadening of Dan North's recent CUPID Joyful Coding initiative, to be more inclusive and cover all the different software development roles you likely find in a larger community-driven FOSS project. This more holistic view on the development process aligns with considering the entirety of the Free Software Development Process (FSDL) in order to be more successful and long-term sustainable.

Note btw the term "Joyful Creation" in this screenshot, which is a broadening of Dan North's recent [CUPID Joyful Coding](https://cupid.dev/) initiative, to be more inclusive and cover all the different software development roles you likely find in a larger community-driven FOSS project. This more holistic view on the development process aligns with considering the entirety of the Free Software Development Process (FSDL) in order to be more successful and long-term sustainable.

Given the reason of the fork, as well my personal reason with regards to Gitea. I'm more than happy to see the fork become a social coding practicioner. This, I believe, corresponds to how the fork will be organized, so it makes sense to become an practicioner.

Given the reason of the fork, as well [my personal reason](https://pad.gusted.xyz/s/PoIQp8OfL#) with regards to Gitea. I'm more than happy to see the fork become a social coding practicioner. This, I believe, corresponds to how the fork will be organized, so it makes sense to become an practicioner.
Author
Contributor
Copy link

I will give some more update on how I see Social Coding Movement to evolve.

Currently there are 2 matrix chatrooms, a website, and a Discuss Social Coding forum.

Core activities are:

  • Research what Social Coding means. Explore the FSDL, find challenges and best-practices
  • Based on best-practices go further and find/create supportive tools, wield the Fediverse where possible.

A Social Coding practitioner project:

  • Has the intent to apply those best-practices wherever those are relevant to them.
  • Can use what Social Coding movement already offers, and collaborate with other social coders.
  • Is highly encouraged to 'upstream' their own best-practices or improvements thereof.
    • And it would do so, because it is to their own benefit. A win-win.

For the maintenance of the Social Coding related resources I first planned to have a co-shared community at its heart. But I stepped away from this idea, as it is too hard to make such community be successful. It would require full-time involvement of community facilitators.

Instead Social Coding will be a Knowledge Garden.

A new concept that is yet to be shaped how it works. But the idea is that participation provides enough motivation and incentives to contribute upstream.

I created a first diagram to show the idea:

Social Coding Knowledge Garden

I will give some more update on how I see Social Coding Movement to evolve. Currently there are 2 matrix chatrooms, a [website](https://coding.social), and a [Discuss Social Coding](https://discuss.coding.social) forum. Core activities are: - Research what Social Coding means. Explore the FSDL, find challenges and best-practices - Based on best-practices go further and find/create supportive tools, wield the Fediverse where possible. A Social Coding practitioner project: - Has the intent to apply those best-practices wherever those are relevant to them. - Can use what Social Coding movement already offers, and collaborate with other social coders. - Is highly encouraged to 'upstream' their own best-practices or improvements thereof. - And it would do so, because it is to their own benefit. A win-win. --- For the maintenance of the Social Coding related resources I first planned to have a co-shared community at its heart. But I stepped away from this idea, as it is too hard to make such community be successful. It would require full-time involvement of community facilitators. Instead Social Coding will be a **Knowledge Garden**. A new concept that is yet to be shaped how it works. But the idea is that participation provides enough motivation and incentives to contribute upstream. I created a first diagram to show the idea: ![Social Coding Knowledge Garden](https://codeberg.org/attachments/85da7a7f-30e3-493f-b0ef-3f6844ff4162)
Author
Contributor
Copy link

On the Discuss Social Coding forum I provided my thoughts on activities and scope of Social Coding Movement. In that topic - which I recommend anyone to read - I gave an example of Forgejo as Social Coding practitioner. That particular section, I will copy below:

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.
On the Discuss Social Coding forum I [provided my thoughts](https://discuss.coding.social/t/what-do-you-expect-or-hope-to-see-in-social-coding-movement/212/5?u=aschrijver) on activities and scope of Social Coding Movement. In that topic - which I recommend anyone to read - I gave an example of Forgejo as Social Coding practitioner. That particular section, I will copy below: > ### Example: [Forgejo](https://forgejo.org). Beyond coding. We forge. > > (cc: @dachary) > > Forgejo is a new community-driven FOSS project that develops a [code forge](https://en.wikipedia.org/wiki/Forge_(software)) and is a soft fork of the [Gitea](https://gitea.io) project. Forgejo is under custody of [Codeberg](https://codeberg.org), 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](https://discuss.coding.social/c/documentation/challenges/8) to FOSS development and their [best-practices](https://discuss.coding.social/c/documentation/practices/9) 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](https://codeberg.org/forgejo/meta/issues/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.

There seems to be an appealing idea here, in particular in the context of #82 which is an immediate challenge for Forgejo. What concrete actionable item do you suggest to make progress on that front?

There seems to be an appealing idea here, in particular in the context of https://codeberg.org/forgejo/meta/issues/82 which is an immediate challenge for Forgejo. What concrete actionable item do you suggest to make progress on that front?
Author
Contributor
Copy link

I don't know if you can speak 'concrete actionable item'. But a great opportunity to do product development on a set of (federation-related) features based on a strong user need that exists within the Forgejo project itself.

Any other project in a similar situation will face the same challenge. There are likely multiple good, working best-practices out in the wild to choose from, to adapt and to innovate with forge federation.

Concrete steps:

  1. Discuss all the ins and outs, the pain points (already started)
  2. Document the Challenge in structural way (problem statement)
  3. Investigate solutions, alternative ways of dealing with the challenge
  4. Document the findings as one or more Best-practices (solution pattern)
  5. How can it be implemented with tools that we have + manual procedures?
  6. What are the opportunities for automation / product support in Forgejo?
  7. What innovation can forge federation bring to this.

Wrt the federation opportunity of #82 ...

Given federation, the entire 'database' of project information in the upstream Gitea is local data as it were. Manual sync of remote vs. local issue trackers is a first low-hanging fruit to reconsider.

What links between Issues and PR's upstream exist? And what associations are added when tying them to Issues and PR's in local project? In what task-oriented process would dependencies be handled best? And how could these be best expressed in UX designs? Let's involve diacritical of Penpot and other UX designers in that process.


I am available to help shape this interface to Social Coding, plus very interested in the steps outlined above as these after all will become part of content in the pattern library.

Steps are not all sequential, stuff happens in parallel. I can create top-level Forgejo forum space + admin / mod staff assignment to manage. Might call it "Forgejo Labs" for research track of the project. Part happens on forum, other parts on project boards, trackers, repo's.

I don't know if you can speak 'concrete actionable item'. But a great opportunity to do product development on a set of (federation-related) features based on a strong user need that exists within the Forgejo project itself. Any other project in a similar situation will face the same challenge. There are likely multiple good, working best-practices out in the wild to choose from, to adapt and to innovate with forge federation. Concrete steps: 1. Discuss all the ins and outs, the pain points (already started) 2. Document the Challenge in structural way (problem statement) 3. Investigate solutions, alternative ways of dealing with the challenge 4. Document the findings as one or more Best-practices (solution pattern) 5. How can it be implemented with tools that we have + manual procedures? 6. What are the opportunities for automation / product support in Forgejo? 7. What innovation can forge federation bring to this. Wrt the federation opportunity of #82 ... Given federation, the entire 'database' of project information in the upstream Gitea is local data as it were. Manual sync of remote vs. local issue trackers is a first low-hanging fruit to reconsider. What links between Issues and PR's upstream exist? And what associations are added when tying them to Issues and PR's in local project? In what task-oriented process would dependencies be handled best? And how could these be best expressed in UX designs? Let's involve diacritical of Penpot and other UX designers in that process. --- I am available to help shape this interface to Social Coding, plus very interested in the steps outlined above as these after all will become part of content in the pattern library. Steps are not all sequential, stuff happens in parallel. I can create top-level Forgejo forum space + admin / mod staff assignment to manage. Might call it "Forgejo Labs" for research track of the project. Part happens on forum, other parts on project boards, trackers, repo's.

In the past we've had excellent experiences together when you lead by example. It is quite useful when your advice eludes me (although it feels right and appealing). I do appreciate that doing so is very time consuming for you and that you have other obligations: I would completely understand if you can't right now. Hopefully this piece of wisdom (which currently leaves me with a good impression but wondering what to do with it) will have a positive influence on how I do things in the future.

And maybe other people will be more apt than I am to take action. I tend to go slow and understanding new concepts takes me even longer. One example is when you explained to me how to approach DDD last year.

In the past we've had excellent experiences together when you lead by example. It is quite useful when your advice eludes me (although it feels right and appealing). I do appreciate that doing so is very time consuming for you and that you have other obligations: I would completely understand if you can't right now. Hopefully this piece of wisdom (which currently leaves me with a good impression but wondering what to do with it) will have a positive influence on how I do things in the future. And maybe other people will be more apt than I am to take action. I tend to go slow and understanding new concepts takes me even longer. One example is when you explained to me how to approach DDD last year.
Author
Contributor
Copy link

Hands-on bottom-up vs. strategic top-down are a good combination, and both are needed for a project that has ambitions and a Mission/Vision of where it wants to be.

Forgejo has expressed ambitions wrt how it will be a viable alternative to moloch platforms such as GH/GL. In the hands-on approach you have set up User Research to reconcile the (rather arbitrary) community needs, into a more strategic project direction that can be roadmapped. That is a great first step.

But the ambition is such, that Forgejo can't achieve Mission + Vision on their own. And here Social Coding comes in. Cross-project collaborations already takes place, and can be built out further. With the recognition that "Coding is Social" focus and attention is on all those areas where FOSS is naturally weak. Strengthen in important not-so-technical areas next to doing the technical work, and collaborate beyond direct project scope.. towards co-creating communities and evolving broader ecosystems and open standards.

With forge federation a unique strategic opportunity is open. An opportunity that must be grasped now, as it may no longer exist in some years if not acted upon.

The opportunity that presents itself is for a FOSS developer tool ecosystem to emerge, that goes into new paradigms of 'social software development' and is tailored to the dynamics and culture of FOSS and the broader Commons. Adopting this paradigm means that no longer need FOSS projects follow feature adoption from corporate platforms in a copy/paste fashion, as eternal laggards. Instead the FOSS ecosystem will offer its own unique approach to developing software.

A different road that is more attractive to all those with values different than hypercapitist motives and moving towards post-growth sustainable models, where FOSS can thrive.


Taking this high-level strategic perspective is important, imho, besides doing very concrete work. As a generalist I like doing this, but it is tough challenge to tie things together and get people along on such road. Takes time too. Strategies go slow :)

I will start focus on Forgers Guild + Social Coding. Notice that Mission + Vision between these two differs only in a single word. "Support" vs. "Federate" the FSDL. For Forgers Guild I will soon create its own social coding forum section to elaborate things. I'd love Forgejo in the Guild, and prefer Gitea out of it (non-matching Values and Purpose). Forgejo can lift along this activity track.

In addition I'd love Forgejo to consider having their own forum section e.g. for a "Forgejo Labs" discussing research topics. Then in a single forum topics of FOSS / FSDL challenges, best-practices, their solutions & tool support, and federation concerns all come together.

Concrete first step then would be:

  • Propose "Forgejo Labs" forum section to the Forgejo community.

In terms of who is responsible / committed to this I propose considering this from a Sociocracy perspective. Conceptually that looks a bit like the Double Linking pattern. Where I am representative of Social Coding FSDL and someone else represents Forgejo (but note that both arrows can be multiple persons).

Together we ensure there's smooth transition and info exchange between both.

Hands-on bottom-up vs. strategic top-down are a good combination, and both are needed for a project that has ambitions and a Mission/Vision of where it wants to be. Forgejo has expressed ambitions wrt how it will be a viable alternative to moloch platforms such as GH/GL. In the hands-on approach you have set up User Research to reconcile the (rather arbitrary) community needs, into a more strategic project direction that can be roadmapped. That is a great first step. But the ambition is such, that Forgejo can't achieve Mission + Vision on their own. And here Social Coding comes in. Cross-project collaborations already takes place, and can be built out further. With the recognition that "Coding is Social" focus and attention is on all those areas where FOSS is naturally weak. Strengthen in important not-so-technical areas next to doing the technical work, and collaborate beyond direct project scope.. towards co-creating communities and evolving broader ecosystems and open standards. With forge federation a unique strategic opportunity is open. An opportunity that must be grasped now, as it may no longer exist in some years if not acted upon. The opportunity that presents itself is for a FOSS developer tool ecosystem to emerge, that goes into new paradigms of 'social software development' and is tailored to the dynamics and culture of FOSS and the broader Commons. Adopting this paradigm means that no longer need FOSS projects follow feature adoption from corporate platforms in a copy/paste fashion, as eternal laggards. Instead the FOSS ecosystem will offer its own unique approach to developing software. A different road that is more attractive to all those with values different than hypercapitist motives and moving towards post-growth sustainable models, where FOSS can thrive. --- Taking this high-level strategic perspective is important, imho, besides doing very concrete work. As a generalist I like doing this, but it is tough challenge to tie things together and get people along on such road. Takes time too. Strategies go slow :) I will start focus on Forgers Guild + Social Coding. Notice that Mission + Vision between these two differs only in a single word. "Support" vs. "Federate" the FSDL. For Forgers Guild I will soon create its own social coding forum section to elaborate things. I'd love Forgejo in the Guild, and prefer Gitea out of it (non-matching Values and Purpose). Forgejo can lift along this activity track. In addition I'd love Forgejo to consider having their own forum section e.g. for a "Forgejo Labs" discussing research topics. Then in a single forum topics of FOSS / FSDL challenges, best-practices, their solutions & tool support, and federation concerns all come together. Concrete first step then would be: - Propose "Forgejo Labs" forum section to the Forgejo community. In terms of who is responsible / committed to this I propose considering this from a Sociocracy perspective. Conceptually that looks a bit like the [Double Linking](https://patterns.sociocracy30.org/double-linking.html) pattern. Where I am representative of Social Coding FSDL and someone else represents Forgejo (but note that both arrows can be multiple persons). Together we ensure there's smooth transition and info exchange between both.

I get what you're after, I think. It seems to me that the challenge is to explain why it is useful (vital even) for Forgejo to engage in this.

You have me convinced already even if I don't see exactly where you're going right now and your explanation makes sense to me. Because we're been discussing this for so long, I know all the concepts you refer to (Strategic vision, Coding is Social, co-creation etc.), the names (Forgers Guild, FSDL, Sociocracy, post-growth, Social Coding, Values and Purpose, ...)

I'm however quite sure that most (if not all) people involved in Forgejo won't be interested. Not because they have objections, but because they don't get what it is about. How would you explain to them (and it will also benefit me) what the goal is and how they can engage in this route?

There is a gap to be bridged. The question is how.

I get what you're after, I think. It seems to me that the challenge is to explain why it is useful (vital even) for Forgejo to engage in this. **You have me convinced already even if I don't see exactly where you're going right now** and your explanation makes sense to me. Because we're been discussing this for so long, I know all the concepts you refer to (Strategic vision, Coding is Social, co-creation etc.), the names (Forgers Guild, FSDL, Sociocracy, post-growth, Social Coding, Values and Purpose, ...) I'm however quite sure that most (if not all) people involved in Forgejo won't be interested. Not because they have objections, but because they don't get what it is about. How would you explain to them (and it will also benefit me) what the goal is and how they can engage in this route? There is a gap to be bridged. The question is how.
Author
Contributor
Copy link

There is a gap to be bridged. The question is how.

A good start might be discussing the ambition level of Forgejo. If that level becomes clear, then a mission and vision for Forgejo might be set accordingly.

There are already ambitions like:

  • Forgejo wants to play a key role in ongoing forge federation efforts.
  • Forgejo wants to be a "software forge", which is arguably more than a "code forge" (i.e. covers more FSDL).

That is a whole innovation track right there, which will offer opportunities, open up possibilities that make Forgejo unique as a forge.

Many FOSS-minded people dream of open software, Forgejo et al, to be full-blown alternative to the proprietary walled garden oligopoly of GH/GL. That people stuck on these platforms can make a no-brainer #GiveUpGithub decision, followed by smooth transition to 100% FOSS. I.e. a desire exists to "Liberate Free Software development".

But that won't happen with development as it currently goes. GH/GL aren't all that afraid of open forges, right now. Are positioned differently. Can move faster in terms of product development. Have a humongous ecosystem of vendors that solidify their dominant position.

If there's any ambition to offer true alternative, that is the direction that the fight must be taken towards.. to be able to compete on an equal footing.


PS. Setting a Mission/Vision that is ambitious like that can never hurt, imho. A mission provides common purpose and motivation. A vision provides a common dream to move towards, an outlook of what could be. Even though that outlook may never truly materialize in the way it is imagined. Both mission and vision are ways to rally forces to set course on the same path and towards common goals.

> There is a gap to be bridged. The question is how. A good start might be discussing the ambition level of Forgejo. If that level becomes clear, then a mission and vision for Forgejo might be set accordingly. There are already ambitions like: - Forgejo wants to play a key role in ongoing forge federation efforts. - Forgejo wants to be a "software forge", which is arguably more than a "code forge" (i.e. covers more FSDL). That is a whole innovation track right there, which will offer opportunities, open up possibilities that make Forgejo unique as a forge. Many FOSS-minded people dream of open software, Forgejo et al, to be full-blown alternative to the proprietary walled garden oligopoly of GH/GL. That people stuck on these platforms can make a no-brainer #GiveUpGithub decision, followed by smooth transition to 100% FOSS. I.e. a desire exists to "Liberate Free Software development". But that won't happen with development as it currently goes. GH/GL aren't all that afraid of open forges, right now. Are positioned differently. Can move faster in terms of product development. Have a humongous ecosystem of vendors that solidify their dominant position. If there's any ambition to offer true alternative, that is the direction that the fight must be taken towards.. to be able to compete on an equal footing. --- PS. Setting a Mission/Vision that is ambitious like that can never hurt, imho. A mission provides common purpose and motivation. A vision provides a common dream to move towards, an outlook of what could be. Even though that outlook may never truly materialize in the way it is imagined. Both mission and vision are ways to rally forces to set course on the same path and towards common goals.

But that won't happen with development as it currently goes.

Explaining that problem and why it matters, in a way that resonates with people using Forgejo as well as contributors to Forgejo would be a good first step. Also extremely difficult for me as I'm not much of a writer.

I also need to be convinced that it "won't happen" because I don't see any reason why this won't happen, when and if enough people join forces and work on Forgejo. It feels to me that there only is one thing missing: people to do the legwork.

To be clear, I'm not saying that nothing needs to be improved! And among the things that need improvement is expressing the long term vision of what a constellation of Forgejo instances really means. What I mean is that I can't see anything Forgejo is doing wrong. I don't see anything that will block the vision that you and I share (and that is yet to be written down).

> But that won't happen with development as it currently goes. Explaining that problem and why it matters, in a way that resonates with people using Forgejo as well as contributors to Forgejo would be a good first step. Also extremely difficult for me as I'm not much of a writer. I also need to be convinced that it "won't happen" because I don't see any reason why this won't happen, when and if enough people join forces and work on Forgejo. It feels to me that there only is one thing missing: people to do the legwork. To be clear, I'm not saying that nothing needs to be improved! And among the things that need improvement is expressing the long term vision of what a constellation of Forgejo instances really means. What I mean is that I can't see anything Forgejo is doing wrong. I don't see anything that will block the vision that you and I share (and that is yet to be written down).
Author
Contributor
Copy link

I also need to be convinced that it "won't happen" because I don't see any reason why this won't happen

The crux is in "competing on an equal footing". Breaking open the oligopoly means that not only FOSS forges end up in most shortlists, but the entire tool stack must measure up to this choice of forge. With many 1,000's of devtool vendors having Github integration in some form or other as core product features, that scope is all part of the competitive space that Forgejo is in.

Forgejo, starting off of Gitea, is obviously already a very successful FOSS project. And attractive in itself for clients large and small to host their projects on. But that still doesn't make Forgejo a real competitor to Github or Gitlab. It might compete on app-level, even when it lacks many features GH has, but it will lose on ecosystem level in the foreseeable future.

It's guesswork, but name recognition of Gitea in the entirety of (F)OSS developer community may well be far below 1%. Of those. the projects who seriously consider transitioning may well be yet another minority subset. Consisting mostly of an audience who are already further along on the path to understanding FOSS culture and values.

So the ecosystem level is where FOSS can be competitive and might come out 'victorious'.

I mention 'victorious' on purpose. What does it mean? I mean an ecosystem where FOSS not only provides the software and services, but is also in control in terms of long-term health and sustainability. This is where FOSS' biggest problem is.

The spontaneous emergence of a grassroots movement in forge federation is great. It is a strength of FOSS that these things happen. But the coordinated co-creation of a technology landscape that is able to execute (satisfy needs) and realize an ambitious vision is quite another ball game.

As I mentioned before, the major challenges I identified for the Fediverse are the same ones forge federation ,and basically any grassroots ecosystem, will face. After the standardization of AS/AP no real 'substrate formation' to evolve the technology landscape took place. Only Protocol Decay happened along with post-facto interoperability dictated by Mastodon, the successful de-facto leader who dominates technology direction.

Now, thanks to Mastodon being a well-productized app and Elon Musk's tireless efforts, Fediverse is going mainstream. But if that leads to FOSS being 'victorious' remains to be seen. There's no FOSS ecosystem organization, only loose individual projects. And there's no steering body that has custody and control over standards evolution. If commercial attention comes, then that is the first area where corporate takeover will take place.

Fediverse is unique, in that it was FOSS movement that managed to create the entire open-standards based ecosystem from scratch, and take it all the way to widespread adoption. But if FOSS doesn't manage to stay in control of it, then FOSS may be once again just the enabler of hypercapitalism to take the reigns. While FOSS stays at its same unsustainable spot in the overall IT landscape.

In order to compete it very much helps to have mission/vision similar to:

  • Mission: Support the Free Software Development Lifecycle
  • Vision: Liberate Free Software Development

So that strategic direction can be set and collaborations shaped accordingly.

> I also need to be convinced that it "won't happen" because I don't see any reason why this won't happen The crux is in "competing on an equal footing". Breaking open the oligopoly means that not only FOSS forges end up in most shortlists, but the entire tool stack must measure up to this choice of forge. With many 1,000's of devtool vendors having Github integration in some form or other as core product features, that scope is all part of the competitive space that Forgejo is in. Forgejo, starting off of Gitea, is obviously already a very successful FOSS project. And attractive in itself for clients large and small to host their projects on. But that still doesn't make Forgejo a real competitor to Github or Gitlab. It might compete on app-level, even when it lacks many features GH has, but it will lose on ecosystem level in the foreseeable future. It's guesswork, but name recognition of Gitea in the entirety of (F)OSS developer community may well be far below 1%. Of those. the projects who seriously consider transitioning may well be yet another minority subset. Consisting mostly of an audience who are already further along on the path to understanding FOSS culture and values. So the ecosystem level is where FOSS can be competitive and might come out 'victorious'. I mention 'victorious' on purpose. What does it mean? I mean an ecosystem where FOSS not only provides the software and services, but is also in control in terms of long-term health and sustainability. This is where FOSS' biggest problem is. The spontaneous emergence of a grassroots movement in forge federation is great. It is a strength of FOSS that these things happen. But the coordinated co-creation of a technology landscape that is able to execute (satisfy needs) and realize an ambitious vision is quite another ball game. As I mentioned before, the [major challenges](https://discuss.coding.social/t/major-challenges-for-the-fediverse/67) I identified for the Fediverse are the same ones forge federation ,and basically any grassroots ecosystem, will face. After the standardization of AS/AP no real 'substrate formation' to evolve the technology landscape took place. Only Protocol Decay happened along with post-facto interoperability dictated by Mastodon, the successful de-facto leader who dominates technology direction. Now, thanks to Mastodon being a well-productized app and Elon Musk's tireless efforts, Fediverse is going mainstream. But if that leads to FOSS being 'victorious' remains to be seen. There's no FOSS ecosystem organization, only loose individual projects. And there's no steering body that has custody and control over standards evolution. If commercial attention comes, then that is the first area where corporate takeover will take place. Fediverse is unique, in that it was FOSS movement that managed to create the entire open-standards based ecosystem from scratch, and take it all the way to widespread adoption. But if FOSS doesn't manage to stay in control of it, then FOSS may be once again just the enabler of hypercapitalism to take the reigns. While FOSS stays at its same unsustainable spot in the overall IT landscape. In order to compete it very much helps to have mission/vision similar to: - Mission: Support the Free Software Development Lifecycle - Vision: Liberate Free Software Development So that strategic direction can be set and collaborations shaped accordingly.
Author
Contributor
Copy link

I'm however quite sure that most (if not all) people involved in Forgejo won't be interested. Not because they have objections, but because they don't get what it is about. [..] There is a gap to be bridged. The question is how.

Bit OT'ish wrt Social Coding, but having a relationship nonetheless..

In terms of project positioning consider these two different approaches:

  1. "Code Forge". The current app that evolves gradually by honoring/implementing feature requests of users in the issue tracker.
  2. "Support Software Development". Considers the daily work, development processes and tasks of stakeholders. Automates to streamline them.

Both approaches may end up to remain very similar products. May well be that approach 1) was where Gitea leaned towards. I argue that approach 2) gives highest guarantee of real usefulness to the broadest audience and in the long term. In approach 1) product development is implicit, and in 2) it is explicit.

In approach 2) the rationale of aligning with more and more of the FSDL becomes gradually clear, as well as the need to be part of a larger and coordinated ecosystem. Approach 2) has highest likelihood to meaningfully stick to a Mission + Vision.

By having User Research as an explicit project track, Forgejo looks to lean more towards approach 2) for its future (with the Enterprise path of Gitea for sure they will too from now on).

Going back to the quoted text:

  • As long as an approach 1) is followed people will never be interested, because the rationale for doing so is never clear. The project evolves in ad-hoc fashion.
  • When following approach 2) there's a parallel continuous track of product development, from which technical implementation decisions follow. And that is the basis for explaining why things are needed or not.

PS. Wrt current product organization, having a User Research track wouldn't be my ideal approach. I would call it a Product Development track and User Research is part of that. Product Development is broader than the user research.

> I'm however quite sure that most (if not all) people involved in Forgejo won't be interested. Not because they have objections, but because they don't get what it is about. [..] There is a gap to be bridged. The question is how. Bit OT'ish wrt Social Coding, but having a relationship nonetheless.. In terms of project positioning consider these two different approaches: 1. **"Code Forge"**. The current app that evolves gradually by honoring/implementing feature requests of users in the issue tracker. 2. **"Support Software Development"**. Considers the daily work, development processes and tasks of stakeholders. Automates to streamline them. Both approaches _may_ end up to remain very similar products. May well be that approach 1) was where Gitea leaned towards. I argue that approach 2) gives highest guarantee of real usefulness to the broadest audience and in the long term. In approach 1) product development is implicit, and in 2) it is explicit. In approach 2) the rationale of aligning with more and more of the FSDL becomes gradually clear, as well as the need to be part of a larger and coordinated ecosystem. Approach 2) has highest likelihood to meaningfully stick to a Mission + Vision. By having User Research as an explicit project track, Forgejo looks to lean more towards approach 2) for its future (with the Enterprise path of Gitea for sure they will too from now on). Going back to the quoted text: - As long as an approach 1) is followed people will never be interested, because the rationale for doing so is never clear. The project evolves in ad-hoc fashion. - When following approach 2) there's a parallel continuous track of product development, from which technical implementation decisions follow. And that is the basis for explaining why things are needed or not. PS. Wrt current product organization, having a User Research track wouldn't be my ideal approach. I would call it a Product Development track and User Research is part of that. Product Development is broader than the user research.

Now, thanks to Mastodon being a well-productized app and Elon Musk's tireless efforts, Fediverse is going mainstream. But if that leads to FOSS being 'victorious' remains to be seen. There's no FOSS ecosystem organization, only loose individual projects. And there's no steering body that has custody and control over standards evolution. If commercial attention comes, then that is the first area where corporate takeover will take place.

I think I now get clarity about what you're trying to do, thanks a lot for explaining. I may be mistaken... my questions will probably reveal that I am. Please be gentle, I'm getting there 😄

If you had to write a three sentences pitch for a FOSS project to join coding.social ("to be a Social Coding practitioner"), what would that be? Something that would catch the attention of the people most active on such a project. Those three sentences would also convince Forgejo contributors that, of course, joining coding.social is worth their attention and effort.

P.S. I'm already active in coding.social since the early days, you don't need to convince me ;-)

> Now, thanks to Mastodon being a well-productized app and Elon Musk's tireless efforts, Fediverse is going mainstream. But if that leads to FOSS being 'victorious' remains to be seen. There's no FOSS ecosystem organization, only loose individual projects. And there's no steering body that has custody and control over standards evolution. If commercial attention comes, then that is the first area where corporate takeover will take place. I think I now get clarity about what you're trying to do, thanks a lot for explaining. I may be mistaken... my questions will probably reveal that I am. Please be gentle, I'm getting there :smile: If you had to write a three sentences pitch for a FOSS project to join coding.social ("to be a Social Coding practitioner"), what would that be? Something that would catch the attention of the people most active on such a project. Those three sentences would also convince Forgejo contributors that, of course, joining coding.social is worth their attention and effort. P.S. I'm already active in coding.social since the early days, you don't need to convince me ;-)
Author
Contributor
Copy link

Thank you Loïc. Yes, I will create such pitch in due time. But first I will list some Forgejo-specific things mentioned above and elsewhere before as a 'do-not-forget' that I will also address later..

  • Forgejo should have a meaningful (and ambitious) Mission + Vision.
    • Product positioning is derived from this and something that rings more like "Support Software Development", task/process-oriented, including all stakeholders (approach 2 above).
  • Consider having separate parallel project tracks (discussed in Governance issue).
  • Consider on project track to be Product Development, with User Research being part of that.
Thank you Loïc. Yes, I will create such pitch in due time. But first I will list some Forgejo-specific things mentioned above and elsewhere before as a 'do-not-forget' that I will also address later.. - Forgejo should have a meaningful (and ambitious) Mission + Vision. - Product positioning is derived from this and something that rings more like "Support Software Development", task/process-oriented, including all stakeholders (approach 2 above). - Consider having separate parallel project tracks (discussed in Governance issue). - Consider on project track to be Product Development, with User Research being part of that.
Author
Contributor
Copy link

Social Coding 'service pack'

Forgejo forum section on Discuss Social Coding

Above I mentioned an offer to have a top-level forum section e.g. named "Forgejo".

This service is available for practitioners that are truly on the same scope as Social Coding Movement (which a "Software Forge" project is). Along with this section come ability to have moderator and admin accounts for people that are in the Forgejo teams.

Social Coding and how it embeds in the processes / governance of Forgejo are the scope. This means that the forum section is not intended to be a general project forum (for e.g. user question about installation, etc.)

So what topics are in scope? These are some that come to mind (there may be more):

  • Governance: Anything related to the governance of the totality of software development processes in Forgejo. Procedures to be followed, project structure + organization.

  • Forgejo Labs: Research track. Any R&D of concepts, technologies, experiments that are far off from roadmap planning. Maybe research discussion related to ongoing grants. Work in forge federation field.

  • Fundraising: Discussion and preparation of grant proposal, available grant programs, past proposals and status thereof, strategies for fundraising, best-practices.

  • Product development: User research and analysis, UX/UI prototypes for new features, product strategy and positioning, marketing and PR strategy.

Forgejo site section on Social Coding

On the Social Coding website Forgejo will have a documentation section under Ecosystem / Projects. Forgejo is entirely free to do with this what they wish.

  • Might be used as a simple introductory / PR page for project + product.

  • Might be a "Forgejo Labs" documentation site, with long-form sub-pages describing ongoing research and findings, presenting UI prototypes, user research outcomes, etc. All the long-form stuff that might be discussed in the forum sections.

Social Coding PR channels

All the activity that happens on either the Social Coding forum or the website, are part of Social Coding Movement just as well as they are part of Forgejo project itself.

Hence they are all candidate for receiving PR via all the Social Coding community channels. Forgejo benefits from the additional attention this raises with the public.

## Social Coding 'service pack' ### Forgejo forum section on [Discuss Social Coding](https://discuss.coding.social) Above I mentioned an offer to have a top-level forum section e.g. named "Forgejo". This service is available for practitioners that are truly on the same scope as Social Coding Movement (which a "Software Forge" project is). Along with this section come ability to have moderator and admin accounts for people that are in the Forgejo teams. Social Coding and how it embeds in the processes / governance of Forgejo are the scope. This means that the forum section is not intended to be a general project forum (for e.g. user question about installation, etc.) So what topics are in scope? These are some that come to mind (there may be more): - **Governance**: Anything related to the governance of the totality of software development processes in Forgejo. Procedures to be followed, project structure + organization. - **Forgejo Labs**: Research track. Any R&D of concepts, technologies, experiments that are far off from roadmap planning. Maybe research discussion related to ongoing grants. Work in forge federation field. - **Fundraising**: Discussion and preparation of grant proposal, available grant programs, past proposals and status thereof, strategies for fundraising, best-practices. - **Product development**: User research and analysis, UX/UI prototypes for new features, product strategy and positioning, marketing and PR strategy. ### Forgejo site section on [Social Coding](https://coding.social) On the Social Coding website Forgejo will have a documentation section under Ecosystem / Projects. Forgejo is entirely free to do with this what they wish. - Might be used as a simple introductory / PR page for project + product. - Might be a "Forgejo Labs" documentation site, with long-form sub-pages describing ongoing research and findings, presenting UI prototypes, user research outcomes, etc. All the long-form stuff that might be discussed in the forum sections. ### Social Coding PR channels All the activity that happens on either the Social Coding forum or the website, are part of Social Coding Movement just as well as they are part of Forgejo project itself. Hence they are all candidate for receiving PR via all the Social Coding community channels. Forgejo benefits from the additional attention this raises with the public.

This is most interesting because it reminds me similar offers I made to other projects earlier this year. People were not responsive to my offer because, it turns out, it just did not match their need of the moment. I was kind of frustrated at the time because they just stayed silent and said nothing.

This is part of the reason why I asked for a three sentence pitch above.

The offer proposes to host a forum section dedicated to Forgejo within coding.social. That would be appealing if Forgejo contributors expressed the need for a forum. But this was not expressed so far. If they did, it will likely be resolved by self hosting a forum (which is low effort) under forgejo.org.

Do you see what I'm getting at?

This is most interesting because it reminds me similar offers I made to other projects earlier this year. People were not responsive to my offer because, it turns out, it just did not match their need of the moment. I was kind of frustrated at the time because they just stayed silent and said nothing. This is part of the reason why I asked for a three sentence pitch above. The offer proposes to host a forum section dedicated to Forgejo within coding.social. That would be appealing if Forgejo contributors expressed the need for a forum. But this was not expressed so far. If they did, it will likely be resolved by self hosting a forum (which is low effort) under forgejo.org. Do you see what I'm getting at?
Author
Contributor
Copy link

Yes, I know. It is just to make sure the offer exists. I realize it tough to get things going. There are similarities to SocialHub, which lists numerous projects where most do not use their space.

But by not collaborating all these projects are now at the mercy of forces beyond their control with the Fediverse going mainstream. If a couple big corporations decide to organize the standards landscape from chaos, the FOSS projects can only swallow and hopefully take a modest role. Still if they are just in it for the "joy of coding" they may not mind that too much.

Social Coding is about the areas where FOSS is weakest. Thinking about why Big Industry can set up hyper-complex global supply lines and huge factories profitably, and a small FOSS project can hardly sustain itself.

With Social Coding Movement not under steam it is hardest to convince 'early adopters' to weigh in and start ecosystem-level collaboration, I realize that.

This is part of the reason why I asked for a three sentence pitch above.

It will come, but later. This issue can be open on the backlog a bit longer :)

Yes, I know. It is just to make sure the offer exists. I realize it tough to get things going. There are similarities to SocialHub, which lists numerous projects where most do not use their space. But by not collaborating all these projects are now at the mercy of forces beyond their control with the Fediverse going mainstream. If a couple big corporations decide to organize the standards landscape from chaos, the FOSS projects can only swallow and hopefully take a modest role. Still if they are just in it for the "joy of coding" they may not mind that too much. Social Coding is about the areas where FOSS is weakest. Thinking about why Big Industry can set up hyper-complex global supply lines and huge factories profitably, and a small FOSS project can hardly sustain itself. With Social Coding Movement not under steam it is hardest to convince 'early adopters' to weigh in and start ecosystem-level collaboration, I realize that. > This is part of the reason why I asked for a three sentence pitch above. It will come, but later. This issue can be open on the backlog a bit longer :)

Still if they are just in it for the "joy of coding" they may not mind that too much.

I quite sure this is not true for any of them. People who are just in for the "joy of coding" make a living doing proprietary software. There is so much more money there, it would make no sense for them to earn less.

With Social Coding Movement not under steam it is hardest to convince 'early adopters' to weigh in and start ecosystem-level collaboration, I realize that.

It is more about properly articulating, in a way that is clear to potential early adopters, why and how getting together and unite is worth their attention. Although it is a little abstract and would benefit from being polished, I find the way you explain why quite clear. There still is a lot of work to do to explain how to go forward.

Maybe discussing in a forum alongside other projects could work. But as SocialHub showed, that did not work as expected. Having someone helping with communication between projects that have similar long term goals has a positive effect: that's what you are spending a fair amount of time on. But it requires continuous efforts on your part, there is little momentum and when you stop the communication bridges you built are less and less busy.

This discussion belongs to coding.social really. But it is relevant here too as a reminder of the work that needs to be done to conclude this discussion with a positive outcome.

> Still if they are just in it for the "joy of coding" they may not mind that too much. I quite sure this is not true for any of them. People who are just in for the "joy of coding" make a living doing proprietary software. There is so much more money there, it would make no sense for them to earn less. > With Social Coding Movement not under steam it is hardest to convince 'early adopters' to weigh in and start ecosystem-level collaboration, I realize that. It is more about properly articulating, in a way that is clear to potential early adopters, why and how getting together and unite is worth their attention. Although it is a little abstract and would benefit from being polished, I find the way you explain why quite clear. There still is a lot of work to do to explain how to go forward. Maybe discussing in a forum alongside other projects could work. But as SocialHub showed, that did not work as expected. Having someone helping with communication between projects that have similar long term goals has a positive effect: that's what you are spending a fair amount of time on. But it requires continuous efforts on your part, there is little momentum and when you stop the communication bridges you built are less and less busy. This discussion belongs to coding.social really. But it is relevant here too as a reminder of the work that needs to be done to conclude this discussion with a positive outcome.
Author
Contributor
Copy link

People who are just in for the "joy of coding" [..]

What I meant to express was that a (hobbyist) fedi FOSS project may not mind if corporations deliver a next-gen version of the open-standards (which they see as beyond their project). They will just be thankful that AS/AP protocol evolves and use new capabilities in their own app. (A weakness in FOSS is the individualism caused by app-only focus).

It is more about properly articulating, in a way that is clear to potential early adopters, why and how getting together and unite is worth their attention. Although it is a little abstract and would benefit from being polished, I find the way you explain why quite clear. There still is a lot of work to do to explain how to go forward.

Yes, it is good to have this discussion here, but more elaboration and preparation on Social Coding Movement side is needed to make things easier to understand and benefits clearer. I think part of that work is to do some iterations to update the website with latest insights..

> People who are just in for the "joy of coding" [..] What I meant to express was that a (hobbyist) fedi FOSS project may not mind if corporations deliver a next-gen version of the open-standards (which they see as beyond their project). They will just be thankful that AS/AP protocol evolves and use new capabilities in their own app. (A weakness in FOSS is the individualism caused by app-only focus). > It is more about properly articulating, in a way that is clear to potential early adopters, why and how getting together and unite is worth their attention. Although it is a little abstract and would benefit from being polished, I find the way you explain why quite clear. There still is a lot of work to do to explain how to go forward. Yes, it is good to have this discussion here, but more elaboration and preparation on Social Coding Movement side is needed to make things easier to understand and benefits clearer. I think part of that work is to do some iterations to update the website with latest insights..

People who are just in for the "joy of coding" [..]

What I meant to express was that a (hobbyist) fedi FOSS project may not mind if corporations deliver a next-gen version of the open-standards (which they see as beyond their project). They will just be thankful that AS/AP protocol evolves and use new capabilities in their own app. (A weakness in FOSS is the individualism caused by app-only focus).

This does not match any project or person I know (but I confess that I know only a fraction of what exists out there 😅 ). Do you have a specific example in mind?

> > People who are just in for the "joy of coding" [..] > > What I meant to express was that a (hobbyist) fedi FOSS project may not mind if corporations deliver a next-gen version of the open-standards (which they see as beyond their project). They will just be thankful that AS/AP protocol evolves and use new capabilities in their own app. (A weakness in FOSS is the individualism caused by app-only focus). This does not match any project or person I know (but I confess that I know only a fraction of what exists out there 😅 ). Do you have a specific example in mind?
Author
Contributor
Copy link

This goes too much OT. But the entire web is built from standards developed under mostly corporate control, and we don't mind much. Whether that's a problem or not is a whole big discussion.

This goes too much OT. But the entire web is built from standards developed under mostly corporate control, and we don't mind much. Whether that's a problem or not is a whole big discussion.

... and we don't mind much.

I do mind and I'm pretty sure everyone involved in Forgejo and the fediverse minds. I understand the need for Forgejo and other projects to unite. And I also understand this is extremely difficult to achieve (it has never been done really).

But I think it can be done because most people involved in Free Software are in it for the interest of the general public, to foster interoperability and to improve standards. I do not know what is the root cause that keeps Forgejo and other projects appart. But I do know it's not that.

> ... and we don't mind much. I do mind and I'm pretty sure everyone involved in Forgejo and the fediverse minds. I understand the need for Forgejo and other projects to unite. And I also understand this is extremely difficult to achieve (it has never been done really). But I think it can be done because most people involved in Free Software are in it for the interest of the general public, to foster interoperability and to improve standards. I do not know what is the root cause that keeps Forgejo and other projects appart. But I do know it's not that.

I feel this is still an ongoing discussion and I'm still thinking about the best way to convey to a new Forgejo contributor why they should be supportive of this idea.

I feel this is still an ongoing discussion and I'm still thinking about the best way to convey to a new Forgejo contributor why they should be supportive of this idea.
Commenting is not possible because the repository is archived.
No Branch/Tag specified
readme
No results found.
Labels
Clear labels
[Decision] Building proposal(s)
We're in a decision-making process, buiding one or more proposals to address the shared aim based on the criteria
[Decision] Gathering criteria
We're in a decision-making process, gathering criteria, considerations and needs
[Decision] Integrating concerns
We're in a decision-making process, working with a proposal, trying to integrate concerns and create modifications/support such that the proposal works for everyone
Accessibility
Relates to Accessibility (a11y) of product, project and process.
Agreement proposal
Forgejo agreement proposal, following a discussion
Communication
Relates to all channels, social media, website, blog posts.
Election
Process of appointing a person into a role or team (if choosing people just for a specific one-time task, use the Entrustment label)
Entrustment
Process of choosing/approving specific people to do a critical/high-impact one-time task (if choosing people for an ongoing role/team, use the Election label)
Governance
Relates to processes, procedures and decision-making.
Meeting
An upcoming team meeting
User research - Accessibility
Requires input about accessibility features, likely involves user testing.
User research - Blocked
Do not pick as-is! We are happy if you can help, but please coordinate with ongoing redesign in this area.
User research - Community
Community features, such as discovering other people's work or otherwise feeling welcome on a Forgejo instance.
User research - Config (instance)
Instance-wide configuration, authentication and other admin-only needs.
User research - Errors
How to deal with errors in the application and write helpful error messages.
User research - Filters
How filter and search is being worked with.
User research - Future backlog
The issue might be inspiring for future design work.
User research - Git workflow
AGit, fork-based and new Git workflow, PR creation etc
User research - Labels
Active research about Labels
User research - Moderation
Moderation Featuers for Admins are undergoing active User Research
User research - Needs input
Use this label to let the User Research team know their input is requested.
User research - Notifications/Dashboard
Research on how users should know what to do next.
User research - Rendering
Text rendering, markup languages etc
User research - Repo creation
Active research about the New Repo dialog.
User research - Repo units
The repo sections, disabling them and the "Add more" button.
User research - Security
User research - Settings (in-app)
How to structure in-app settings in the future?
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo/meta#14
Reference in a new issue
forgejo/meta
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?