ETHMagicians Council of Prague - Integrity ring - Community Code of Conduct



As someone new to the Magicians, terms like integrity and clarity are very vague. I could assume I know what you’re talking about, but I’d rather know. Can you please explain what you meant here?


The nearest we have to “working groups” are called “rings”. Integrity and Signalling already exist - this thread mostly tracks the development of the Integrity Ring, and the Signalling Ring is mostly concerned with ways to gather and measure community intent and ways to effectively signal news and updates in the other direction. I was making the point that there is a linking theme here, clarity.

It’s a fair point, but given the speed of social media interaction, there will be challenges there if it’s not easy to identify who will respond appropriately to a call for independent arbitration.

That is also a fair point - I think the CoC needs to exist as a number of documents - the C-CoC itself, an implementation guide, and the “Questions” section as a Guide to Good Behavior document or something.


Yeah, but what’s “clarity?” Are you referring to stating things is a way that is easy to understand? Transparency? Or something else entirely?

I disagree. If both parties have agreed to the CoC they can go through arbitration. I think that this scenario will be unlikely given that the program is opt-in and the Ethereum community is rather large. Most people will follow the default. That means that if someone flags a comment for moderation, most likely the moderator will be limited to making suggestions to “play nice.” At most the moderator could check the CoC for that communication channel or platform to see if it breaks any rules there.

Essentially, I think that the CoC could serve to help educate and guide the community towards more respectful, constructive, and open dialog. I don’t think that people rolling around with sheriff badges is going to go over well though.

Agreed. An implementation guide would be great because in this case “how” is a lot more complicated than “what” or “why.” Support docs around better communication tactics would be great too :slight_smile:


Excellent feedback!

To answer this one, I agree! HackMD is good for early drafting but eventually it needs to get into better tools (and not even sure if GitHub is as good as others for policy work). I have created a GitHub repo for Integrity Ring projects, and the first piece of it is this CoC. Perhaps it can evolve into something like EIPs for policy-making and coordination between teams on integrity-related issues.


So should we move our discussions to GitHub issues? Or keep talking here but have the repo be a public facing reference point?

Also, the repo readme points to the HackMD doc rather than the doc that’s actually in the repo. Is that a feature or a bug?


Good point about the pointing to HackMD file, the process should be more clear. I saw the HackMD as the live working doc, which I was periodically syncing with commits on my fork of the repo, then pull requesting.

IMO it is better to have the discussion in a multi-threaded Forum, as messy as it can get. GitHub issue comments are linear.


If the process is supposed to be community driven and open for anyone to collaborate on, wouldn’t PRs to the repo make more sense? Then anyone can participate. It also makes it easier to see everyone’s contributions. You could also include explanations under each PR as to why something was or was not merged into the doc. Might help with transparency. Otherwise people have to read through a huge comments thread just to know what’s going on. Having been in the later position, organization really helps to make things approachable and collaborative for newcomers.

Perhaps general discussions could happen on the forum, but when someone wants to make a change they submit a PR to the repo along with an explanation as to why they think it’s important. Then it can be accepted or not along with an explanation.


I think I did a poor job of explaining my model for this, although some of your points are still valid. I anticipated that most of the activity around the C-CoC would be between people who had both agreed to abide by it, which is why I suggested some form of tagging. Not to indicate who is an arbitrator, but to show who had agreed to follow the CoC - in my model, I also did not make much distinction between followers and arbitrators. I admit there are challenges with this approach, but it could also be a talking point and example for further adoption.

You may be right here, that actually most of the dialog around the C-CoC will involve a non-participant in that code. As you point out, this does raise its own challenges - I imagine that some would be hostile to having a third party intervene. However, it could also be an opportunity for learning.


PRs is exactly the right way to do it. All of my changes after the initial commit are run through PRs, so definitely propose changes to the policy in that way. Proposing changes to a text document is different from code changes however, PRs are good for structured changes, so we may have to put more structure into how we make changes.

One way to start is to declare principles, goals, and requirements. Also, system-level design (the policy won’t work in isolation). We may have proposed too early, so right now we probably should take a step back and work on basics.


Understood. The project workflow and tooling is a good place to start - like any project, setting up your environment is the first and critical step. It may be too early to switch to a fully PR-driven, single-issue-discussion setup, but as we already know there will be a number of interlinked documents, I still think it would be worth making the Integrity-Ring repo the “live” version. To encourage collaboration and quick convergence during this initial, more fluid phase of development, it may be worth allowing multiple editors for a time (much like the HackMD document currently allows). Once the C-CoC proposal reaches “final” status, it can be locked down, and then further changes can be done through the PR mechanism.

Edit: Just had a look at the repo, I see you’re already ahead of me here :slight_smile:


Just had an idea. What if the CoC was split into 2 sections: preventative and reactionary?

  • preventative: best practices for communication, collaboration, inclusive language, things to not do, etc…

  • reactionary: how to ask for help, conflict resolution, consequences, etc…

Here’s my thinking. The whole thing is opt-in and volunteer based, so it’s not a binding legal agreement. Even if it was, the community is globally decentralized so it would be unrealistic to try enforce. This means that we can’t do much after the fact when things don’t go well.

The purpose of the CoC is to make the community safer, more diverse, and more collaborative. The best way to create that is via preventative measures and education. Also, people generally react well when you make their experiences better, but react poorly when you try to tell them what to do. We might get a higher ROI by cultivating the positive aspects of the community rather than trying to enforce rules or arbitration. It’s still important to have “rules” and consequences, but there’s a lot more we can do to create a better experience for everyone.


This is a really good point, it is important to keep in mind the bigger goals of the policy. Preventative actions and training do help a lot in traditional situations, so it should be seriously considered.


I think it would also help a lot with community engagement and buy-in.

When looking at something that says don’t [insert extreme negative thing here], no one is going to push back on that. It’s kind of a dead end because everyone agrees. It’s more of a conversation ender than a conversation starter.

When looking at best practices for communication and collaboration, it’s easier for people to share their ideas and get involved. Humans have been working to communicate and collaborate ever since humans were a thing. Here’s the tangible benefits I see from this approach:

  • people have a clear way to contribute value,

  • the mental/emotional direction is positive,

  • and if people help write the “best practices” they’re way more likely to actually apply and adopt them.


Just submitted a PR to the repo. It adds a folder called Community Development that will hold best practices for communication, values, and questions.

Also, added a version control system for the CoC. This can help us document major and minor changes more effectively. As the CoC evolves it’s important that people are opting in to the latest version. This makes it an active process rather than a one time thing that people forget about. Hopefully this will result in more engagement and more real world application of the principles we’re working to cultivate :slight_smile:

Also, added some feedback to the open issues on the repo. I really think we should move to GitHub as fast as possible. It’s much easier to keep things organized there. This makes it easier for people to understand the CoC and contribute feedback. It also makes it easier for us to have discussions around specific ideas rather than having them all mixed together in a thread.


Also, I was trying to find a definition of “Integrity Ring” to add to the repo. This way people who are coming from Twitter, Reddit, etc can get caught up all in one place. I didn’t see a flag for “Integrity Ring” when I searched for it on the main page of this forum though. Can someone please explain exactly what the “Integrity Ring” is?


You’re right, the Ring needs a charter! I’ll add that to the issues :slight_smile: