Skip to content

Latest commit

 

History

History
182 lines (144 loc) · 9.82 KB

CODE_OF_CONDUCT.md

File metadata and controls

182 lines (144 loc) · 9.82 KB

CodenamePHP Code of Conduct

TL;DR: My kingdom, my castle, my rules. If you can stick to the simple "Don't be a dick" rule, we're fine. If you need further clarification of what that means, read on. If you can't, go somewhere else.

Introduction, Purpose and a simple fallback rule (One to rule them all!)

CodenamePHP is a tiny org. In fact, it's just me. It's where I do my "recreational coding" or building stuff I intent to use in my day job when I don't want to have any time or budget constraints.

Since I value my (at times very limited) spare time the primary purpose of this code of conduct is very simple and probably very different from most other code of conducts: It is to cut arguments short in order to keep what's left of my sanity intact and to keep things the way I like them. Therefore, the first and - more importantly - final arbiter is: me.

If I say the earth is flat then - within this org - it is. If anyone can't live with that I'm sure there's a lot of other orgs and projects out there that are a better fit. (The earth is NOT flat btw - don't get any funny ideas!)

Having said all that: I do like to think that my idea of a "civilized interaction with each other" is rather reasonable and that most people can agree with.

Org Standards

This is lifted from the Contributor Covenant Code of Conduct and while I think it's a good start, I will add some more clarification on what my interpretation of these examples are below:

Examples of behavior that contributes to creating a positive environment include:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

  • The use of sexualized language or imagery and unwelcome sexual attention or advances
  • Trolling, insulting/derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or electronic address, without explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional setting

While this all sounds nice it is (probably intentionally) rather vague. But it kind of boils down to my favorite rule for life:

Don't be a dick

Plain. Simple. Still really vague. In fact, everyone has their own interpretation of what this means. But luckily at this point I can just point at the introduction above. When in doubt if what you are about to say or do falls under that rule, chances are: it does! If you still go through with it and the doubt remains then I will resolve that doubt - one way or the other.

To try and get the vagueness out of that I will list some specific examples that probably everyone knows who spent some time around forums or "comment sections".

Sexism/Racism/"Political Correctness"

First off I really dislike the term "political correctness". "Political correctness" sounds like it is removed from our everyday life and just something that applies to others. When I grew up we called it "having good manners". Or once again: "don't be dick".

I guess from this alone you can guess my stance on this and for a long time I used to think this is just "normal" and not something you have to point out. But especially in recent years I learned that reality disagrees with me. So:

I have really no idea how this comes up that often, especially in software projects where none of those have ANYTHING to do with the code that was written, let me just spell it out as clear as I can:

If you think it's a good idea to attack a person or their code because of their

  • sex/gender/identity/<insert other category here I probably don't even heard of>
  • skin color/ethnicity/nationality
  • religious belief (or lack thereof)
  • physical or cognitive disability
  • anything else that relates to "protected classes" or has nothing to do with the code and/or facts at hand

this is most likely NOT the place for you. Feel free to find out but don't be suprised if my patience on these issues is rather short.

Humor

Everything said above also applies to "humor" as well. While I enjoy really dark and "edgy" humor myself, one has to be aware that others might not. This is especially tricky when you can only see what someone wrote. Plus the person reading it will most likely don't know you and doesn't even know that it's meant as a joke and even if so, they might not find it funny. Therefore you should play it safe and when in doubt ... well, see above. And don't even try to hide behind the "It was just a joke" excuse. While intent matters, the effect determines the severity. Also: We don't have time for jokes anyway, we are here for serious business! (This was a joke ... or was it? I'm german after all so you can never know ... see what I mean?)

How to respond to questions

We all know the "stupid" or "lazy" questions that have been answered before or that would have been a simple google search. Still, just answering with "Just google it" is not only incredibly unproductive but - ironically - incredibly lazy. Just answer the question and then - if you still have to - explain to them why it's in their best interest to do some research for themselves beforehand.

Also: Don't answer with "That's the wrong way to do it so let me tell you what your real problem is" or "The question you wanted to ask was this and now let me tell you what you really think and then read my answer to a question you never asked". Again, just answer the question and THEN - if you still have to - explain why you think another approach would be better. And lastly: Don't be butthurt when the other person still sticks to their initial approach.

How to ask questions

Some of the rude responses to questions can be explained (not to be confused with "excused") by the way the question was asked. No one is excited to answer a question that has been answered a lot of times before and where the answer is just one google search away. Do at least some basic research before. It's far more beneficial to you when you solve the problem on your own. It's also far easier to provide additional information or ask more specific questions when you acquired at least some basic knowledge of the issue.

Also: Provide as many additional info as you can with your question. It shows that you want to activly solve a problem and are not expecting to be carried to a solution.

Responsibilities

While of course I am responsible for maintaing the code of conduct and make sure everyone is held to it eventually I fully expect to be dealing with reasonable and - mostly - adult human beings.

That means I expect at least some effort to resolve issues without the "Code of Conduct Police". In short: Talk to each other! And even more important: Listen to each other! I really don't want to be bothered with "He refuses to use my proper pronouns" (only one example of many, but this drives the point home). If you are asked by someone in a reasonable and respectful way to please use a "word" to address them, just try to do it. If that's too much to ask, then don't, but please "don't" somewhere else. To you, it's just a word. To them, it might be much more important than you realize. In reverse: If the other persons at least tries, then don't assume bad intent for no reason and "be the bigger person". Just keep reminding them from time to time but don't expect that you can change everyone.

After all: If 2 people can't resolve their difference it might be necessary to enforce the rules which can mean that only one of them can stick around - at best.

Scope

I'm not a big fan of "screw up in one place, be screwed in all other places". That only isolates people who would benefit from being in reasonable communites. So in general, this Code of Conduct applies to CodenamePHP only. Having that said: If it's known that you act like a dick in other places and you start to act like a dick here too, that might cut "the fuse" rather short. Yes, while I think that it might be benefitial for some individuals to be part of a community and be pulled in what I would think is a "good direction", the community has to take precendence. After all, if you let the community go down in flames because of a few people who "refuse to learn", you have to show those individuals to the door. Which leads to

Enforcement

In general enforcement of this code of conduct is the responsibility of every contributor (see above). If you feel someone failed to adhere to the rules, send them here and remind them that the rules exist. And please do so in a respectful way. Even if they are not respectful, you cannot hold someone to a standard that you are not holding yourself to.

If they fail to respect the rules after, just @ me (@bastianschwarz) at the issue at hand or send an E-Mail to org@codename-php.de outlining the problem, the steps already taken to resolve the problem and any additional information that might be helpful for me to review the issue.

I will review the issue as quickly as I can but please keep in mind this isn't my day job and my day job will ALWAYS take precedence. After review the most likely action is a warning or - depending on severity or repeat offenses - ban from all further contributions. Keep in mind that is in my sole discretion if there will be a warning first. It is very likely since I don't like just kicking people out on first offenses, then again I'm not here to teach you basic rules of human interaction. So yes, a ban on first offenses is possible.

Further questions/Suggestions

While I think I explained everything as well as I can (obviously, or I wouldn't have published it) feel free to contact me if you have any further questions or suggestions. Of course since this is GitHub, the preferred way would be a pull request with the changes you want to see.