Community Social Contract

It’s important that people feel comfortable and relatively safe when contributing to a community. A big part of that is setting an example and clear criteria for what is appropriate. This can commonly be achieved by way of a Contributor’s agreement, Code of Conduct, or similar, but in the case of SourceCred, after doing some poking around, I think that SourceCred would do well with something like a social contract, akin to Debian’s https://www.debian.org/social_contract. I think it would be most appropriate on sourcecred.github.io (hence why I originally posted on GitHub) because (when it’s finished) it will be less a “come and discuss this” sort of thing, but rather “this is our finished document” sort of deal. Of course discussion around it can go on here, but I wouldn’t expect a new user to need to search through these pages to find the current document.

I think ideally we would combine the ideas from the landing page (goals, transparency, etc.) with some basic community guidelines about how to treat one another, and what the project can (generally) promise, and what not. It’s the one thing missing when I visit sourcecred.io.

3 Likes

$0.02: Most of the Debian Social Contract seems to apply constraints on how the Debian project will behave—upholding user freedoms, maintaining transparency—as well as some licensing restrictions. Debian also has a separate Code of Conduct and Diversity Statement, focusing on how community members should behave, which seems more closely related to helping people feel comfortable and safe. Both kinds of documents seem valuable, and seem to pursue different goals: are you suggesting one or the other in particular?

FWIW, I’ve read these three documents, and support everything in all of them. I’d be open to adopting any subset of them wholesale, pending discussion and agreement from others.

I would say that SourceCred needs both. I am starting with a social contract because it seems more imminently important if others are going to use the project. I’ll give examples for each.

Social Contract

If another organization starts using it, and has some misunderstanding about what the tool should do / offer, if something goes amiss the blame could come back to the developer group / general sourcecred community. We should have a clear document that outlines what the initiative can and cannot promise to quickly reference. If money is involved, this feels like a point of risk for the project.

Community Contracts

This is more along the lines of what I detailed previously. Participation in any of the venues should have clear guidelines, and instructions for what to do if a guideline is broken (someone is uncomfortable, hurt, etc.)

I support both having an externally-facing social contract (to projects that depend on SourceCred) and a community-centric social contract (how we expect SourceCred contributors to behave and to treat each other). I think the community-centered one is higher priority since we don’t have any external user yet.

We definitely need an area where we can post “canoncial” policies, documents, guides, etc. I’m giving this a lot of thought and will come up with a proposal shortly.