gvwilson / 10-newcomers

Ten Simple Rules for Helping Newcomers Become Contributors to Open Source Projects
Other
46 stars 3 forks source link

Make governance explicit #9

Closed gvwilson closed 5 years ago

gvwilson commented 5 years ago

Be clear about who has the authority to decide what (e.g., who has the right to merge or reject PRs) so that newcomers know whether the person who's talking to them is a decision-maker or not, and if not, who to appeal to.

dsholler commented 5 years ago

In this section, we might provide some examples of how projects make governance explicit (and commentary on the benefits/drawbacks of different approaches). Roadmaps, text on the project website, or a separate governance repo all come to mind. The recent "vote" for governance mechanisms for Python would be a good case to reference as well.

gvwilson commented 5 years ago

Raymond's "The Cathedral and the Bazaar" was one of the most influential documents in the history of open source. It described an egalitarian world in which everyone could contribute equally to the greater good, but as Bezroukov pointed out in "A Second Look at the Cathedral and the Bazaar", that description ignored the realities of how power arises, becomes concentrated in a few hands, and is then used to perpetuate itself. Bezroukov's criticism drew on Freeman's influential 1970 essay "The Tyranny of Structurelessness", which explained how an apparent lack of structure in organizations "...too often disguised an informal, unacknowledged and unaccountable leadership that was all the more pernicious because its very existence was denied."

Two decades later, we can see how unequal and unwelcoming the supposedly egalitarian "bazaar" of open source can be if authority lies with those willing to shout loudest and longest. Making a project's governance explicit is therefore essential to making that project inviting and welcoming to newcomers with diverse backgrounds. The most basic way to do this is to adopt something like the Contributor Covenant, which lays out groundrules for interpersonal interaction within the project. At the opposite end, large, well-established projects that incorporate as non-profits are required to promulgate bylaws, such as those for the Python Software Foundation.

What lies between these two extremes is less well documented, but the "Social and Political Infrastructure" chapter of Fogel's Producing Open Source Software is a good place to start. It describes two models:

No organization wants to become mired in red tape of its own making, but equally, no one has ever said, "I wish we had waited longer before making our rules explicit." Should any reader wish to make a significant non-coding contribution to open source, a series of three or four successively more elaborate models for governance, each annotated to explain when and why the extra complexity should be added, would be extremely valuable.

This rule brought to you by Annie Lennox's version of "Train in Vain".

dsholler commented 5 years ago

Starting a thread here about Python's recent change in governance as a generative example to draw out in this section. This page has most of the info we'll need, but there are also some commentaries and blog posts out there that I'll try and sort through: https://discuss.python.org/t/python-governance-vote-december-2018-results/546

gvwilson commented 5 years ago

Incorporated into rules.tex in 97f6773.