re: ​Linus Torvalds takes a break from Linux VIEW POST

FULL DISCUSSION
 

A "code of conduct" usually leads to a big influx of SJWs, destroying even the last remaining bit of meritocracy. This could be the end of Linux as a technically oriented project. In my (not entirely relevant) opinion, the only "Code of Conduct" needed by any technical project is "don't be a dick".

The new "Code of Conduct" includes this phrase:

Using welcoming and inclusive language

According to my own experiences with people who feel discriminated against by not being praised for their sheer existence, this will inevitably lead to more focus on a contributor's gender than on their code quality.

All of my own projects have a Code of Merit, basically stating that I don't care who you are or how you feel as long as your contributions have an acceptable quality. I fail to understand why people want to carry purely technical projects into a social safe space. If you are too nervous around people who don't obviously love you, you should just stay away from them instead of making your emotions their problem.

jm2c


post scriptum: The DEV moderators consider this comment to be unnecessarily harsh - and it is my most popular one. Hmm!

 

"don't be a dick"

I think this can be made less offensive: "Don't be a Richard"

 

Dicks are gender-inclusive according to gender theorists!

 

I honestly had you pinned for the sjw, what with your unconventional version control suggestions and your spec-compliant(what appalling statism/appeal to authority) email validator.
Interesting how easy it is to be deceived.

 

"Not using Git is feminist!" is my new favorite joke about SJWs. (No, you did not say that directly.) ;-)

 

Seems to me that you think that there are only 2 choices how to behave:

Proffesionally and ugly
Or
Nice and unprofessional

But wat about the option to tell someone that his code is not good without insulting him?

 

There is a thin line between "your code is not good" and "sorry, but I think your code is not good". The latter is probably "professional" - but why should I say sorry for having my time wasted with bad code?

It's actually a bit more like:

  • Professional: "your contribution has the following failings..."
  • Unprofessional "your code sucks. Fix it or fuck off."

The former's tone's basically neutral and identifies what is particularly lacking. Latter is both insulting and lacking in specificity in what is wrong. Unless someone's being a total ass in their approach to you, no point not being marginally solicitous in return.

...and that's coming from me, whose social medial profiles all basically carry a "beware" element in them, somewhere.

Unless someone's being a total ass in their approach to you, no point not being marginally solicitous in return.

I have followed some of the heated debates on LKML and Linus's antagonists are mostly very convinced that their code is the best thing since sliced bread. And they communicate like that.

Heh... Yeah. But, if you go back in the mailing list far enough, Linus hasn't exactly always waited to escalate.

It's all in how you want to spend your energy. Me? I prefer that, even once I start down the nuclear-annihilation path, to be colder about it. =)

 

... basically stating that I don't care who you are or how you feel as long as your contributions have an acceptable quality.

I share the same opinion. Same with this community: I don't really care if your sexual orientation points to male, female, or a frying pan. I just want to read and discuss about software 😞

 

Here's my two cents about inclusiveness in a CoC, or technical work in a team in general.

Whenever I see something like

Using welcoming and inclusive language

I try to take a step back from the bad experiences things like that can bring. On the one hand, yes, there are people out there who make a big deal out of discrimination and end up being a pain to deal with. On the other hand, there are also people out there who are too condescending, or just plain insensitive, for a lot of people to work with. They may not actually be all that arrogant, they may just deliver critique in a way that sounds arrogant:

fix whitespace and resub the pull req. see coding standards in wiki

This is completely technical, but it makes you sound like you're talking down to the contributor. You made the assumption that the contributor didn't bother to read your coding standards, and somebody could read it as "didn't bother reading the formatting standards, huh?". It can be quite condescending.

Please follow the guidelines in the wiki limiting characters per line.
Our devs use many different editors and monitor setups, and we cannot
accept contributions with lines that are too long.

That one is a bit long winded, and it isn't perfect, but it shows you bothered to actually read their pull request and pick out exactly what it is that needs to be fixed. More importantly, it's very specific about why a rule exists in the first place, and removes the knee-jerk everybody can still have from "because I'm your parent and I said so" moments in childhood.

 

Id really recommend you to watch this. youtu.be/7lzpYQFdk-c

It really explains why someone doesn't really care about the formulation of comment in pull request or any kind of criticism.

This explains why certain groups of people may not care, like those who come from cultures that are very explicit in criticisms. But doesn't it also highlight that on the other end of the spectrum, you should be even more careful?

Some additional context, I'm Chinese American, so according to her, I'm from the two extremes of the communication explicitness spectrum. I'm also from the middle and explicit end of the feedback explicitness spectrum.

That explains why most modern tendencies feel so alien to me

@zhu48 It does highlight. I never meant that negative criticism should be always given and taken directly. This has to be mutual and both parties have to aware of what they're dealing with. Basically, don't end up in a situation where fix whitespace and resub the pull req. see coding standards in wiki doesn't have any hidden meaning, such as because I'm your parent and I said so but is just a request to meet project contribution guidelines.

Also, being Chinese American. Speaker also mentioned that her numbers apply for majority of the nation and that that's the tendency she has found. My humble guess is that she really means not the nation itself, but the country and the community someone has grown in. Remember her own children example. They're American French, but since they're growing up in France, they are used to the way French people communicate.

Well I'd agree with you that the situation should be avoided in the first place. To me, that means when you talk with strangers, you should default to being very explicit and overly respectful, and become more loose as you get to know people better.

Yes, that's exactly it. Just don't look for hidden meaning when there's literally none :)

 

Your Code of Merit is basically a Code of Conduct with another name, and has things in there relating to language used, etc. (and it's good, I may steal parts of it :) )

The thing about Code of Conducts is that they are not really for the people you already have in your project, but for the people that aren't in it yet - your language and behaviour on whatever platform your community uses is the first signal to any potential contributor. Any language on there that is sexist or racist or ableist or just not inclusive will lead potential skilled contributors from deciding that it's just not worth it and go somewhere else.

For me, it is not about preventing any technical discussion (if your code is bad, your code is bad) but making that discussion one that helps the person on the other end rather than belittling and discouraging them.

Additionally, I think that believing that any project with more than one contributer can be a purley technical project is just wrong - if there are people, it is social.

 

Any language on there that is sexist or racist or ableist or just not inclusive will lead potential skilled contributors from deciding that it's just not worth it and go somewhere else.

A programming project is not a good place to discuss social skills. Discussions like that only distract from technical progress.

The linked Code of Merit is not mine though - but I love it, that's why I use it.

How one engages with another (ie: communicates) is the fundamental skill needed to organize, plan, and inform others the intent and purpose of a project, what quality of code is needed, what steps are necessary to ensure the code measures up to that quality, etc.

If your claim that communication as a "social skill" should not be discussed in a programming project because it's a distraction, then I think you've failed to grasp just how different each person communicates.

Yes, right now, I am communicating to you via text, but that is the medium by which we communicate. I am striving to press onto you that the tone, context, syntax, and other variables factor into how a message is constructed by the originator, but once that message is sent, the originator has no control over how the receiver(s) interprets it.

If the receiver is insulted, then you may chalk them up as a "SJW" (whatever that is) and ignore them. But you may have unwittingly used words and/or arranged the words so that your original tone and intention is lost and can instead be read as demeaning.

In my own career, I struggle with expressing my thoughts off the cuff. I tend to do well when I can take the time to write, review, and refactor my message. Perhaps remove sections related to a separate topic. We are not created nor grow with the same skills as anyone else at communicating let alone anything else.

In my last project of over 2 years, our team of 10+ individuals had to build up a common terminology for our project. Between the technical teams, the business folks, and our designers, we needed to ensure we were talking about the same thing and able to express, sometimes with diagrams or drawings, what we were saying. Eventually, we got on the same foot. But communication had to be a topic of conversation because that was one area where we had a problem, not a big problem, but a problem just the same.

And we were professional enough to be able to communicate our confusion and misunderstandings without being insulting. Though one person did leave after two months because he joined the project under the mistaken belief that he was the only backend engineer when, in fact, he joined our existing backend team. That misunderstanding caused him to feel insulted that "non-backend engineers" (ie: the lead backend engineer and the two other backend engineers) were giving him feedback, critiques, or expressing doubts about the work he wanted to do.

I believe communication is important whether at your job or on side projects hosted online. I would even say it is more important when everyone is just online, because that limits the means by which to communicate and no one shares the same corporate culture or direction.

If you want to excel at getting your point across, you have to be able to understand the limitations of the medium by which you communicate, your own limitations at communicating, how your initial message may be mis-read and refactor it to reduce confusion, so the core message is imparted.

This. Being toxic to coworkers doesn't produce better work. Sure, don't hand hold them, but being professional and encouraging doesn't mean you're bowing down to all the precious snowflakes out there, it means you are not a sociopath.

 

A number of months back, I'd gone through and added the following CoC to all or our company's projects I do work on:

GitHub seems to recommend that projects should include a "code of conduct" — they even provide handy templates. However, the two that are currently on offer seem a bit officious and heavy-handed.

I'd quote Wil Wheaton on this. However, while the sentiment is correct and nicely to the point, some people might not like its specific wording. Suffice it to say, "we're all adults here, please act like it." Translation, "hatefully childish behavior won't be tolerated."

No time has been specifically allocated to broadening this project's contents nor allocated to their support beyond our specific use-cases. Project contents are provided "as is" - so, "buyer beware". Try to be nice and we'll try to return the behavior. Contribute or otherwise help us improve the project and we'll try to figure out a way to send you a virtual beer.

I think it gets the point across. Plus, it allows me to check off one more box on projects (slowly forcing teammates to GPG-sign all their commits is the current project).

 

GPG sign their commits? For what purpose? Be aware that I do understand what the whole GPG toolset can do and for what reason. I just don't see the point with signing commits, unless you are a large open source software project.

It will be more difficult to start contributing as a new member on the team = it will be longer until they start delivering value. It will be a constant annoyance to have to GPG sign your commits, unless you actually take the time to fully automate it, which by the sound of your post doesn't seem to be the case.

For what purpose?

Our customers want the appearance of traceability/non-repudiation.

It will be more difficult to start contributing as a new member on the team = it will be longer until they start delivering value.

It's literally a five-minute setup task.

It will be a constant annoyance to have to GPG sign your commits,

Have you ever actually taken the five minutes needed to set up git for commit-signing?? gpg-agent and similar tools make signing commits — whether you're a multiple-times-per hour or a "once at the end of the day" type of committer — pretty much transparent. Enter the key's password into the key-agent once during the session and that's it for the day.

 

This. These types of CoC statements have been abused for gate-keeping in the past with other OSS projects. I personally think we should keep identity politics out of anything it's not immediately related to, especially highly technical things where most of the interaction is through a (potentially) anonymous profile. A "don't be a dick" clause should be enough to filter out racism, sexism, etc. because those behaviors are universally understood to be "dick-ish."

 

I’m curious about what something with no politics looks like.

I suspect that ‘no politics’ means a watered down version of some persons politics. The alternative possibly is some objective, non-biased politics. This would be nice but what does it look like?

Don’t be a dick is equally problematic - without an agreed upon definition, who’s to say when someone is being a dick? The person who has been offended? The person who is offended that someone else has been offended?

In general, communities will draw boundaries for what is and isn't offensive without needing anything written. This can often be pretty easy to see based on reactions to GitHub comments, for example. It's pretty hard to overlook an overwhelming number of 👎's.

I didn't say no politics, I said identity politics. Someones identity has nothing to do with how well they code, it is not relevant to most technical conversations. That being said, I think avoiding politically charged statements/topics in general when dealing with those I'm not either actively engaging in political debate with or am close friends with is best practice. Ultimately, any sort of community interaction will boil down to politics in some form or another, which will generally be mandated by either the core maintainers for a project, or the owner if it's an individual. This is fine.

Offense is a tricky topic because anyone can be offended for any reason. People don't have the right to not be offended, despite the current political landscape trying to push otherwise. It's up to the offendee or others in the community to either call out the offender or to deal with it and move on, and the offender to respond accordingly in a calm and civilized manner.

code of conduct - report abuse