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

What is a “Twitter ADR Rider?”

Also, I’m not sure I understand what you’re saying with (ii). The general idea seems to be that if someone violates the CoC a community member can flag it. Then a moderator from that channel will take a look at it and evaluate it against the latest CoC right? What would a ‘dispute thread’ hashing out a Twitter offense look like?

Yeah, I should define my terms better.

When I say ‘Rider,’ I basically mean concise statement that folks might adopt in addition to CoC language … laying out mechanism to enforce CoC on Twitter and get folks to selfcensor/delete harmful Tweets because Twtr might be unreliable moderator (despite this being perhaps broadest, most active forum for Ethereum discussions…). Still definitely just tossing out ideas to the wind though; glad to try and think through other particulars.

A dispute thread might look like this:

*Offending Tweet

Bob: Hey @Carl19283, this tweet ^^ would seem to violate CoC, could you remove?
Carl: I don’t see a problem here; also, just trolling :wink:
Bob: Meh, it’s good to just clarify these things for the community. @John129283, can you #ArbCoC this biz? Does that work for you @Carl19283?
Carl: Fair enough!
John: This is a doozy and certainly would violate CoC as I understand it. Alright Carl, will you be chill and delete?
Carl: Fine fine.
John: #ArbCoC success!

1 Like

Not sure if this is the best place to share feedback. If not please let me know. Anyways, hope this is helpful :slight_smile:

It’s great that the community is creating a Community Code of Conduct. Even cooler is that it’ opt-in. When organizations and individuals buy-in they’re doing so against the default. They’re taking action. That’s meaningful.

I agree with everything in the doc and it all makes sense, except the part on Unwelcomed Behavior. This part is very vague. What is unpolite or unprofessional to one person might be honest to another. As Linus said “On the internet, nobody can hear you being subtle.”

Also, too often smart people will hide ill intent behind polite speech. They’re very good at it. Also, sometimes those who are rough around the edges are the most caring. They say things that are less than eloquent, but have good intentions and honest feedback. They’re willing to say the truth, and sometimes that’s hard. The world isn’t this black and white, but it’s important to keep these things in mind.

In the CoC doc there’s a list of “questions to ask yourself.” These are a good start, but I can see a whole host of situations where this could get complicated. Everything’s relative. Human’s operate on subjective viewpoints, but there’s no global “truth”. It comes down to how people feel. This is treacherous confusing territory.

With these questions the goal seems to be to reduce drama and increase empathy? If so, here’s a few more questions that have helped me avoid conflict and drama. These questions do not directly address more hostile forms of negative behavior. They address what often leads to conflict and drama: miscommunication. For me, thinking about incentives and playing to win a positive sum game is much easier and more compelling than thinking about “feelings.” Here’s a few ways I frame that:

Am I playing a positive sum game?

  • Do I feel like it’s a game of “us/me vs them?” If so, are there any ideas or solutions that would be a win/win?

  • Am I taking into consideration the interests of all parties involved, or just my own?

Am I talking about the person, or their ideas/actions?

  • It’s always a good idea to be easy on people, but hard on ideas.
  • Am I taking someone’s criticism of my ideas as an attack on me as a person? If so, try re-reading/thinking about it, but imagining it’s someone else’s idea. Does it look different from that perspective?

Am I creating value?

  • If I am highlighting a problem, am I also proposing a solution? If so, is that solution supported by facts as well as feedback from the community? If not, am I seeking out feedback to create a win/win scenario or trying to sell people on my idea vs theirs?

  • If I am highlighting a problem, what would have to change for that to no longer be a problem. What needs to happen to make it better? Sharing this feedback with other party could help facilitate constructive conversations rather than being stuck in the land of opinions and emotions.

  • If I am proposing a solution, is it a solution for me or for all parties involved? If all parties involved would not be happy with this idea, is there a way to change it where they would be?

Are we talking about facts, or opinions?

  • Can I back my idea up with facts? If so, what are those? Share them. If not, why? More research would make for a more persuasive discussion.
  • Can I argue for the other side of this issue as well, or do I only understand my own viewpoint?

I don’t know much about Ethereum Magicians or rolling CoCs, but I hope this is helpful. Also, if this isn’t the right place for feedback or this direction isn’t useful please let me know! :slight_smile:

1 Like

And what about the other scenario where Carl is not so chill and does not delete it? What then?

  • note: I think that overall having a system like this is 10X better than having no system, but it’s good to design for failure. Curious what failure and conflict looks like in this context and how it can be minimized.

@ross, agreed, I am starting to think that this should be in its own repo once the proposal reaches “final”, in order to ease in the release, adoption, and forking process.

1 Like

I also support this. As someone new to the Magicians and C-CoC, a GitHub repo would make it easy to find the latest version of the doc. It also adds transparency and lets anyone to see the history and evolution of the C-CoC over time.

I agree. This is powerful.

Also agree.

As far as indication goes, a social media flare might be a little weird. It would create an “us” and “them” group. Whether or not that’s the intention, anything that allows for differentiation also allows for discrimination.

What about a file in the repo like what Aragon did, or like the people who supported the Pitchforks are for hay not hate letter? You could even bake it into a smart contract. People would opt-in by sending a tx to the contract. The action shows they really care, it’s publicly verifiable, and you can’t sign someone up without their consent. It’s also completely open so anyone can choose to join and contribute :slight_smile:


It’s essential to put thought into how disputes would be resolved. Otherwise at the first sign of trouble the entire system will devolve into a sea of confusion and frustration. If the system doesn’t work, no one will trust it. It needs to work. Do you guys have any ideas how we could test that out? Like would we have to role play various scenarios in a red team / blue team game like the infosec community? lol


Also, glad my suggestions were helpful. I don’t think it makes sense to put them in the main CoC doc, but they could become part of a supporting doc. That way if people opt-in to the CoC they’ll have the latest CoC doc to refer to, but also a set of supplementary guides. These could include:

  • tips for conflict resolution,
  • communication best practices,
  • values the community shares, etc…

The CoC says what not to do. The supplementary guides could provide suggestions on what to do. This would help cap the downside of negative behaviors, but also provide support and direction for positive growth. It works for tomato plants ¯\_(ツ)_/¯

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?

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.

1 Like

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.

1 Like

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.

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.

1 Like

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.

1 Like

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.

1 Like

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?

1 Like

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

1 Like