A guide to forgefriends governance

forgefriends is a horizontal community bootstrapped in January 2021 and based on a few rules (8). It takes less than ten minutes for any newcomer to read, understand the manifesto and decide if they are ok with it.

It will take a lot longer to figure out how they influence the actions of community members. Since there is no spokesperson, who should answer questions about forgefriends? Since there is no hierarchy, how can the project be funded? Community members are expected to behave according to the Code of Conduct but what happens if they do not?

According to Wikipedia,

“a flat organization (also known as horizontal organization or flat hierarchy) has an organizational structure with few or no levels of middle management between staff and executives.”

It is worth mentioning that forgefriends is horizontal in the sense that it has no levels of middle management. A horizontal community with even one level of management would be like claiming that a surface is horizontal when it is at a 5° angle.

The most common objection to establish a horizontal community is the claim that it is subject to the tyranny of structurlessness. But it does not compare because the forgefriends community has a structure and a well defined decision process. In 1970, the seminal article explains that

“… the women’s liberation movement has been taking shape, a great emphasis has been placed on what are called leaderless, structureless groups as the main – if not sole – organizational form of the movement.”

and articulates the negative outcome of this choice. It further concludes that:

“For everyone to have the opportunity to be involved in a given group and to participate in its activities the structure must be explicit, not implicit. The rules of decision-making must be open and available to everyone, and this can happen only if they are formalized.” (Jo Freeman, “The Tyranny of Structurelessness”)

The forgefriends community has a transparent, clearly defined and formalized decision making process that is open to everyone. And although it has no hierarchy it has a set of rules that gives it a structure.

There is no definitive and unambiguous document explaining how the governance of forgefriends is derived from the rules found in the manifesto. But there are examples to show how they were interpreted in the past.

Decision making process

Anyone can propose a decision by creating a new topic in the governance category of the forum and wait for a consensus period of at least two weeks to give a chance to community members to raise their concerns and object.

Half of the rules (4) in the forgefriends manifesto are related to decision making:

  • An action that has no impact on others can be carried out unilaterally
  • An action impacting others is advertised in advance and carried out if there is a consensus (or a favorable vote if there is no consensus)
  • Any member of the community impacted by an action is entitled to call for a vote
  • Community members respect consensus and vote results

Writing a series of articles published on the forgefriends forum about working without a GitHub account is a trivial example of an action that has no impact on others. Engaging in a discussion to explore how a company can participate in forgefriends also has no impact on others as long as nobody claims to have authority to decide in the name of forgefriends and only speak for themselves. Fostering diversity is also an individual commitment: forgefriends, as a project, works to improve diversity only to the extent that each member of the community does.

The 5,000€ grant to advance federation in Gitea, although perceived to originate from the forgefriends project, is actually the aggregation of two individual commitments and not a project wide decision, as can be seen in how the funds are approved and wired to the beneficiaries. The decision to allocate these funds did not require consensus from other forgefriends members because it only impacts the two community members that commit to run this grant in the context of the forgefriends project.

Mistakes happen and actions that have an impact on others will sometime be made (in this case editing the post of someone in the forum without their consent). Whatever the reason for the original mistake, the person who made it can organize a consultation to get consensus and revert the action if they do not get it.

Changing the name of the project to forgefriends is an action impacting others and it was advertised in advance. After a three weeks consensus period without any objection, it was carried out. The consensus period ranged from two weeks to four weeks, depending on how significant the impact is perceived to be.

There never was a vote organized in the forgefriends community.

Talking about forgefriends

Since there is no spokesperson, noone can claim to speak in the name of forgefriends, nor in the name of the forgefriends community. Each member of the community can however talk about forgefriends, from their perspective. It boils down to:

There can be occasions where a statement or blog post starts in the first person, as the subjective view of one community member, and the forgefriends community expresses a consensus on the content of the message. It can then be rewritten in the third person and published.

In other words, although there is no spokesperson, it is possible for the forgefriends community to express itself but this is a decision like any other: it requires consensus or a vote.

Funding forgefriends community members

Since there is no hierarchy, forgefriends cannot be represented by an organization. If a democratic non profit was created, there would be a board, elected by the members: this would be a single level hierarchy which is the opposite of the absence of hierarchy.

Funding can therefore only be received by individual forgefriends community members, it cannot be received by an organization that would then distribute the funds to community members. This has a few consequences when applying for funding:

  • forgefriends community members can only apply in their own name
  • the grant applicant cannot claim to have any power to decide in the name of the forgefriends community

For instance the DAPSI grant was received by an individual and a commercial entity, in their own name. The deliverables of this grant were designed to contribute to forgefriends but there was no guarantee they would actually be accepted by the forgefriends community: a vote could decide otherwise.

Donating to the forgefriends project

In the absence of hierarchy, it is not possible to donate money to the forgefriends project. It is however possible for a person to pledge to create a grant to be spent by the forgefriends project. For instance, a 5,000€ grant was created by two community members to further federation in Gitea. Although it appears to originate from the forgefriends project, it really is an individual initiative.

In other words, individuals donating to the forgefriends project can do so by:

  • Pledging to spend a given amount as decided by the forgefriends community
  • Agreeing the forgefriends project claims it is the origin of the fund without mentioning the original donor

For instance, communicating about the 5,000€ grant is done without mentioning the donors.

Exclusive resources and people with access

Community members with access to an exclusive resource are listed publicly because there currently is no way for a project such as forgefriends to run without them. They are a challenge because they are an obstacle to the benefits of horizontality and ongoing discussions explore alternatives.


I think it would be worth creating a governance category with this document as an introduction. This category would be where decisions are made so they can easily be found later on. Which is not currently the case.

One thing forgefriends might need to tackle better is keeping track of things for which there’s already tacit approval. Take e.g. my Community building and channel feedback. It has a bunch of points in it that found agreement. But they were not recorded as decision points on which others can now act.

Suppose someone new jumps into the community and says: “Hey folks, I have some time now and will work on a website revamp”. A new website impacts the project. Maybe it needs 2 week approval. Can the person already start? Does the person risk the work done was in vain, if not approved? And the person is available now, not in two weeks.

1 Like

You might have a ‘Community action’ or something repo where you create placeholder issues, that refer to forum discussions where points of consent are reached, paste these issue URL’s in the forum thread to cross-ref. Now you have an issue tracker that you can point anyone to to pick their favorite tasks to work on.

Add a kanban board for good measure, to see who’s working on what.

1 Like


1 Like

Cool, that was quick. Maybe there’s need for some labels. You want to create issues on-the-fly in an active discussion, and then they are ‘Pending’ or something. Maybe a label that indicates consent period, and then a label ‘Approved’ when that period expires. Discussion can then commence on implementation details, and only when new high-impact stuff is encountered there’s need to create additional community action issues (and maybe a dependency between them).

1 Like


1 Like

The governance category was created and the latest decisions moved there. This draft should really be a wiki topic in this category: it’s not like there will be a final version, it needs to evolve over time.

1 Like

There indeed are many ideas that led to action and will in the future, an important post :slight_smile: Some of those actions do not require consensus. For instance, changing the banner was the outcome of a discussion, not a formal consensus:

I’m interested to know which part of Community building and channel feedback specifically has “tacit approval”?

A link to this topic was added to the manifesto.

Maybe wrong word choice. Not referring to community consent. Just that there was overall agreement that some community building effort was needed, discussion followed, but since there were no clear action points all the 1-2-3 week consent seeking that may be in there still need to happen.

1 Like

I have the strong feeling that the guide that starts this topic is only a theoretical artifact. It describes something that does not work like that yet, and in order to make it work a planned transition from current reality to the desired organization structure is needed.

Try for instance to answer this question: If @dachary tomorrow announced they can no longer be part of Forgefriends for whatever reason… would the initiative live on and pick up pace without him? Or would it peter out and die?

I said before, elsewhere on this forum, two things:

  1. The Achilles Heel is on productization and community building.
  2. I didn’t feel like I was a community member, but just a passer-by giving feedback.

I am now typing this because in a different context, I came to re-read “The Tyranny of Structurelessness” again. Thought to make a separate topic on it, only to see it already quoted above.

Some improvement to community decision-making was made, by @dachary creating this #governance category and the issue tracker for approved decisions. I think on a revamped website the governance could be further clarified in a 1-2 page ‘cheat sheet’, and without all the hyperlinks that make the above post seem quite daunting and TL;DR for most people, I guess. A new website might benefit from having a Just-the-Docs ‘Forgefriends Handbook’ where all documentation is intuitively collected.

But anyway this refers to point 1), and there are many easy and obvious ways to bring improvement there. I wanted to say something about 2), because here the Tyranny kicks in most.

I got a reply along the lines of “you are very much a community member”. Well, I guess it is all about definition then. Having a forum account technically makes me a member already. But that doesn’t entail any commitment. In what role do I see myself? In what role do I see other members? It is completely unknown, and it is Unstructured. It comes with all the downsides discussed in the article, if not very careful about it point for point.

The unclarity has caused me to not jump in on a possible opportunity that existed for DAPSI grant on the community-building side. And it may have cost the opportunity for someone after that to pick up the 12,500 Euro that @dachary had available, before returning it to the consortium. Because there was no one who understood forgefriends well enough, apparently. This hints at an inclusion and onboarding problem.

In forgefriends you’ve chosen to adopt a highly experimental organization structure, which you recognize yourself might be unique, only to give due attention to the ‘how-it-works’ very late in the project. I think 2nd stage DAPSI is a proper place to address it, but it must be TOP-priority now.

(And to highlight the experimental nature even more… when I say “which you recognize yourself” that is an impossible reference. As there’s no one that represents forgefriends. It is utmost Unstructured).

I feel that parts of the governance description above set up the project for failure. Take for instance this:

This commicates to me: There is no forgefriends community. There is no “we” in this. We are not in this together. No one has any commitment and the project can fall apart at any time.

The reality is much different: Everything hinges around @dachary who is taking most of the initiative here, as the Tyranny article predicts would happen.

If you want to do well in the 2nd DAPSI round you have to address these issues to greater extent.

The guide is a recollection of how the forgefriends manifesto was applied by community members since the beginning of the project, with links to facilitate fact checking. I’m curious about what makes you think it is theoretical because it should be the opposite.

There is a clear distinction between the lack of structure and the lack of hierarchy. The forgefriends community has no hierarchy, by design. But it has a structure, defined by the manifesto. The organizations that are the subject of the article did not have such a structure.

I’m not sure it compares. A this point in time if forgefriends was a project with a hierarchy and a governance similar to most Free Software projects, I think the dynamic would likely be the same. Because that’s typical of new organizations: there are very few people and often one or two do most of the work.

Before responding I want to stress that I only have best intentions for the project. Not criticising, genuinely concerned…

This stems from my observation that most things that have happened in the project were with you in a de-facto leader role. And that few if any people have jumped in on the basis of the flat hierarchy and became active contributors, even though the objectives are friendly & safe community (inclusiveness), sustainable & scalable, and - I suppose - easy access & onboarding. This while the reception of the project vision is astoundingly good in the dev community, and many people stressed “how important” they felt the project was.

It may be because people don’t understand the process, or that these requirements aren’t as inclusive as they should be, posing barriers to onboarding with people feeling lost, unsupported.

If I look at the examples related to the decision making process…

Ok, this might work. A member explains a perspective / vision / idea to the community and a fruitful discussion may commence. Decisions and requests for consent may result. Though there hasn’t been response to your 3-part article it sits there being informational, and PR’s have spun off, so it was useful.

But Ceph clearly stands separately. If I write something that more directly impacts the project e.g. describe how I would like particular things to work, then the process becomes less clear. Should I seek consent from the whole community? How do I know where things deviate from the plans that active contributors have in their head? Should I research to forum to find mismatches in roadmap planning? If there’s no response does it mean I can go ahead? Am I on my own in doing so, or is it now a ‘carried decision’?

But anyway… how this works could mature and streamline.

So Heptapod says, paraphrasing “Is the goal [of Mercurial integration] too far away… we only have limited resources?”. Should I see this discussion as individuals negotiating commitments? It seems like no collaboration came forth from this, but it would be interesting to describe the process as if there was an agreement. How would that be presented to the community, as it wouid clearly have big impact?

How many community members are there, and how many votes?

I struggle to clearly formulate my arguments, because there’s so many points to address. But I guess it boils down to that there currently is a mental model of how the organization should work, that you an @pilou clearly understand, but imho still has to prove itself in practice wrt the objectives you have with them. It could become a wonderful FOSS model, idk, but streamlining organization and process constitutes a project in itself and needs to be monitored. E.g. just like you asked user feedback on the product you should ask it on the process, for instance by doing a retrospective with Heptapod.

What were their expectations? How did they perceive their role? Why didn’t it come about? Etcetera.

Yes, as per the manifesto.

You don’t and it does not matter: if it is not written down one can assume it does not exist. If something really significant is on the works and has existed for a long time in the head of someone and was never expressed, noone cannot be expected to act differently because of that.

Yes, and all other space where the project lives. It occurs to me that Gitea pretty much works in the same way as forgefriends, even though it has a hierarchy. Figuring out the roadmap and how to fit in requires a significant amount of observation. And whenever I was able to figure out something about the roadmap, I was careful to share my conclusions publicly to get feedback and verify I did not miss anything.

It depends. In the case of forgefriends yes, definitely, because there are very few people and they would object within two weeks if something felt wrong or conflicting with something else.

I assume that by ‘carried decision’ you refer to someone else but you doing the legwork. If that’s a correct interpretation on my part, then yes you are on your own. A decision that requires action cannot be enacted unless someone does the action. If you’re not able or willing to do so and noone else is, the decision will have no impact (or a negative impact if it blocks other actions because it is not acted upon).

A good example of coordinated decision and action involving more than one person is the name change: you came up with the name & logo, I proposed to do the legwork and the consensus period started the next day.

The DAPSI grant is one such process with a big impact. I would not know how to abstract the process that led to it. And I don’t know how one could describe the process that leads to an agreement in the abstract.

It requires guessing. Right now I’d say there are less than five people who will read and maybe respond / express themselves if a decision is proposed for consensus. There is no obstacle for someone to take part in the discussion so it could be more. As for votes… there has not been any yet but if I was to propose a vote because I object to a decision, it would be that the proposition with most votes wins. Maybe this should be set in the manifesto to avoid a blocker if people disagree on how the vote should be carried away ?

This is work in progress and I’m sure about one thing: there is nothing in my head that was not written down on that topic :slight_smile: If anything the way the community works unfolds as time passes: it stands on the manifesto. This works for as long as the community is true to the manifesto. Should it begin to act against it, it will become something else.

1 Like