In effect, they're really counterproductive, and the only reason Linus is now openly on "their side" (for lack of a term that better describes what I mean), is because the "other side" also was really nasty, pushing him away from them.
It took a while for me to realise what privileges I have had that some others have not. The first step to realising that was being open to that even being possible, and shouting contests do not encourage that.
I'd love it if Linus' approach here would lead to less-heated discussions and actual insights on the subject, but the hate and vitriol I've seen spewed in his direction after his announcement doesn't make me hopeful...
There is right and wrong way to be inclusive and PC.
You have to minimize the number of principles that everyone must share to be maximally inclusive and then stick to them. Typically the mandatory shared principles include fairness, neutrality in certain issues, and tolerance.
Tolerance means tolerance, not acceptance. The community where people can tolerate each other is much larger than the the community where people like each other and share common ground. Inclusiveness works best when you use relatively neutral language and avoid any discussion that is not related to the forum's purpose or concrete matters that arise.
The wrong way to do it is to think that once you require tolerance and PC language, it allows more free discussion.
The big problem with the internet and modern social networks is that they suck at filtering the noise and getting the interesting bits. In the end if we're not careful we only hear those who shout the loudest and most provocative things. A well researched essay on gender studies will have a hard time getting traction, however a single "I drink white male tears" tweet is sure to get a ton of attention from people on either of the fence even though it's effectively void of meaning.
My solution is to spend less time focusing on people and more time focusing on ideas. You'll find that the vast majority of people are vastly less extreme than what twitter and reddit would have you believe.
Yep. The medium itself makes everybody look about 100 times more radical than they actually are.
Look at it this way: if you're busy working on a small technical detail, your conversation will be around that detail, right? You may be an asshole, and it looks like he's working on that, but you're an asshole trying to make something useful. That is, you have a goal that you can be measured against. "I am not able to fix this problem because I cannot talk to people online without pissing them off" is a problem with delivering tech that you can identify and fix.
Sounds like your filter works for a while, as long as everybody agrees on some larger value structure.
Where all of this falls apart is when there's no larger structure that agreed upon. You see this in startups or academic/political discussions. Sometimes you know something's wrong, and you feel strongly about it -- but you're unable to articulate it in a manner that can be easily consumed. That's almost always going to come out wrong. But it needs to come out.
Contrast this with the rest of the internet, where people are not creating a small detail inside an agreed-upon value structure. There's no evaluation criteria except for bike-shedding. They've got nothing to do but to look at whatever your communication is in the abstract. There's no overall gain that might be weighed against bad phrasing. It's all downside. "I don't think that was a very nice thing to say" This can be both a true and non-productive thing to say in certain circumstances. That reality sucks, because people don't want to hear it -- after all, they don't share your value structure -- add to that plenty of time on their hands and an unlimited ability to look back on anything you've written. The system itself has problems.
When I think about effective leaders I've known in my career, this is as good of a description of their defining skill as I've heard.
They have the ability to correctly identify an issue and then communicate it in a way that others also recognize it.
We're not all so lucky, though. Many times I've had to tell teams "This is going to sound right. Please forgive me because I'm concerned about X". You can't replace that kind of give-and-take with wordsmithing.
The second skill I've noticed is to be a storytelling master. Great leaders tell engaging stories that emotionally draw you into their way of seeing things.
*A problem occurs when the leader thinks they know what's going on but they are mistaken. In this case better leadership skills can actually lead to poorer overall results. I've seen good people with mission-critical ideas get "facilitated" out of them by well-meaning, nice, and intelligent people who don't know what the hell they're talking about and are unable to accept that fact. Obligatory link: https://www.youtube.com/watch?v=BKorP55Aqvg
The ideas don't get to you, you get to them. The rest is just entertainment. That's the whole problem really, the path of least resistance leads you to stupid one liners. A random Trump tweet reaches more people than the entirety of the works of any philosopher or economist.
Now... we don't. And I fully cast the blame at the feet of those who have found a way to profit from starting and participating in shouting matches online. This includes 95+% of journo-bloggers.
Perhaps a better wish would be to be able to hear what insights they have that I don't, without it being wrapped in a package that makes me angry.
I think the issue is that you are measuring value differently than the social networks. What you're calling "noise" is grouped under what they measure as "success." If a million people retweet an epic burn, that's "success" from Twitter's perspective, even if it doesn't add any value to the discourse. In fact, the more it damages discourse the better, because the feedback loop means you're more likely to retweet the next epic burn. More people are inclined to try to post epic burns so they can get those retweets/credibility.
I'll go one further. "The nasty one" is a role that usually begs to be filled, even in a good cause. Sometimes it's even essential to progress. "Good cop, bad cop" works. I'm more likely to play "bad cop" myself, though at least I'm usually aware of it being a situational role. I've definitely said things that would have violated a CoC if there had been one in those situations, so I do understand the fear of them, but here's why I chose that particular metaphor: even the bad cop is usually working within limits. That dynamic can still exist, and still be effective, even within the limits of a CoC. People can still be demanding, critical, even abrasive ... and they will. They just can't be bigots or harassers and expect to keep getting away with it.
That's funny, because the goal is often to get at the truth. Is that an agenda you find objectionable? Do you see something noble in people who are harmed by the truth becoming known? "Bad cop" is not far from "devil's advocate" and the tension either creates is often useful to all involved. Is role-playing the same as deception?
> It's a way to behave toward an adversary
"Adversary" is very situational, and doesn't necessarily imply ill feeling - certainly not to the game theorists or jurists who often use the term. It's pretty common to have someone you generally want to work with be an adversary in a particular context. It's a role, and civil people get over it. In fact, codes of conduct - formal or otherwise - are often the very thing making that possible. They keep the adversarial role "in scene" and prevent it from turning it into permanent antipathy. Again, consider the "adversarial" nature of our justice system, one of the most formal and rules-bound environments most of us will ever see, whose participants are often on quite cordial terms outside the courtroom.
Yes, I think that's the wrong agenda to have when you're collaborating on software. A pull request shouldn't normally be an interrogation to figure out whether the person who wrote the code is lying.
That type of behavior has no place in a team setting.
Only if you forget that it's a metaphor. I suppose there's always someone who will take things super-literally and complain that the literal version doesn't match the current situation exactly, as a way of scoring points.
Well, guess what? I don't actually carry a badge and wear a blue uniform either, and I'm not suggesting that anyone here should. Nonetheless, I've been in many situations where having one person play skeptic/adversary and another play advocate can be productive. Not everyone is good at poking holes in their own idea so they can be fixed, or at defending their own decisions in an unfamiliar environment where others might have more expertise. Sometimes it's more extreme vs. moderate than aligned vs. opposed, but it still works. As I've pointed out in another thread, it's how our (USA) justice system works. It's how a thesis defense works. It's not the right approach for every situation, but it's not invalid either.
Or maybe I'm just playing devil's advocate here, to see how much others follow their own advice to act collaboratively. ;)
Another example: where I work, I recently took someone to task for saying "your shit is broken" in a very public thread. It's a phrase I've seen too many times at this company. Sure, it might just seem casual to a California millennial, no big deal, but it can come across very differently to someone from a higher-context and more status-conscious culture - e.g. most of Asia, and therefore a significant portion of our workforce. It can have strong and lasting effects on their willingness to engage with you personally, or with the broader community.
Am I saying that we should all dumb down our language to the blandest common denominator? F* no. The important thing is to calibrate your behavior to the environment. If you know the people you're talking to, and the subject of the comment is not personal, let fly. Knock yourself out. If you're talking to someone you don't know, in front of many others you don't know, and the comment could be interpreted as personal (hint: if "you" or "your" is in it), then maybe you should apply a measure of decorum and cultural sensitivity.
In fact, your attitude is highly patronizing and condescending, the fact that you don't see it, is problematic.
Linux Kernel was being run ok so far. Sure there were rants from Torvalds which went overboard sometimes but accept it as a quirk of the maintainer and move on.
Including this COC is a huge can of worms though. Now you can be Brendan Eiche'd out of any open source project.
When that happens, perhaps you'll be celebrating a win for your progressive values but a more real happening at that point would've been loss of good open source software which some of your pet minorities could have used.
Nor was I making you one. There's nothing patronizing about pointing out how language can affect different people differently. Surely you're aware that others do need and appreciate people who will use whatever advantages they have to help raise awareness of these issues. Please don't use your own personal good fortune to promote an agenda that prevents others from following you up the ladder.
Also, I'm not some super rich privileged person. As a matter of fact, I'm unemployed right now but privilege or no privilege, there's no reason to cripple good open source software which is already one of the most equalizing resources that has been produced by mankind.
Nobody is doing that. No one. That is not happening at all. I'm sorry, but people not being assholes to each other is not going to affect the quality of software in a negative manner.
(Unless of course you consider that patronising as well, in which case, my non-patronising advice would be: deal with it. Either way, I hope they'll still be able to make comments like the above in the future :) )
BTW, sarcasm is really helpful when dealing with non-native speakers. Your sincere concern for their well being just shines through.
To the extent it is politicized, it's politicized the way evolution and climate change are: groups who are politically opposed have opinions about the consequences of these studies. One or the other group sometimes finds empirical reality to be in conflict with the arguments they wish to make in support of their preferred policies.
There are typically many arguments for and against a particular policy, many costs and benefits. These costs and benefits don't hit everyone equally, which explains most of the difference in political opinion. One category of argument in the political debate is to claim that particular costs or benefits are illusory or of a different scale. The empirical evidence can show that this is false. This does not eliminate the debate. One would hope it would then proceed on different arguments, because denying empirical reality makes any resolution other than physical domination of one party by the other impossible. But even if it does, costs and benefits still fall unequally on the participants, meaning the political division remains. This difference in opinion is normal and legitimate.
[ETA I do not think it is pure coincidence that the group that believes it is more likely to win a contest of physical dominance is the one more likely to deny the validity of empirical evidence.]
This is hard for me to wrap my head around, because in almost any social or work environment I've ever been in, cis-white-hetero-males make up a small subset of the population.
> exclusionary behaviour are the exception and most people abide by the golden rule
So the question for this has to be: when do you think the date was at which "most people" started to do this? Was it a mass conversion at the enactment of the US Civil Rights Act, or a much slower battle?
or TL;DR: bias is mostly a learned behaviour, with probably some inherent subconscious bias from our evolutionary roots.
The majority of people where at what times?
Does it actually matter why people hate, only that they do?
Your argument seems to be that all racism etc is systemic and structural, and therefore there's no individual responsibility?
Do you expect me to be an expert on the moral history of every group on earth? I'm not going to specify in exact detail, but my point is that I think people naturally default to ambivalence and have to learn (or be taught) to mistreat specific groups of people.
> Does it actually matter why people hate, only that they do?
Yes, it matters if you want to do anything about it.
> Your argument seems to be that all racism etc is systemic and structural, and therefore there's no individual responsibility?
Yep, pretty much. Or at least, most racism. Individuals are responsible for forming the opinions but to make any real difference you need to take away the reason they formed the opinion.
If you want to reduce oppression at scale, you need to address the systemic issue. Do you think a racist hates some set of people arbitrarily? Or do you think he might have a (obviously invalid) reason to hate them, such as feeling they are a threat, are inferior, can be exploited, are ridiculous and so on? Dig down into those reasons and I believe you will find a systemic root most of the time. Obviously that person shouldn't hold those views, but how are you going to address the problem? Attempt to force everyone with a bad opinion to change that opinion? Or do you address the reason they acquired the perception in the first place, meaning that the next generation has less reason to discriminate? I think the latter is more viable.
If I'm in a room full of (in my case) people much posher than me, and they all treat everyone in the room as they wish to be treated, that can easily create an oppressive atmosphere. Also, if I try treating them as I wish to be treated, and can easily be seen as a troublemaker.
Now I try to treat people as they wish to be treated (within reason).
I certainly have my own political leanings and find more agreement with those on "my side", but I would much rather spend time with someone from the "other side" who can be polite and civil and magnanimous than a "fanatic" from "my side" who cannot.
When people say that they wanted to do the right thing but got pushed away because the advocates were jerks, that just sounds like an excuse.
That’s not to say that it’s ok to be a jerk just because you’re telling people to do the right thing. I’m just tired of this line people like to pull out of, it’s not my fault I’m hurting the vulnerable, those SJW jerks made me do it.
That's why Gandhi, King, and Mandela effected change.
And so many passionate others did not.
King railed against people who spoke like you to quiet the people fighting for justice:
"I am further convinced that if our white brothers dismiss as "rabble rousers" and "outside agitators" those of us who employ nonviolent direct action, and if they refuse to support our nonviolent efforts, millions of Negroes will, out of frustration and despair, seek solace and security in black nationalist ideologies--a development that would inevitably lead to a frightening racial nightmare."
And before I'd dare to selectively quote the finest and most comprehensive American Civil Rights document from that period (written from memory and without reference material, no less), I would spend more time reading and understanding all of Dr. King's remarks in that letter.
(And its context: local white Christian leadership had published a newspaper piece blaming "outside agitators").
> "In any nonviolent campaign there are four basic steps: collection of the facts to determine whether injustices exist; negotiation; self purification; and direct action."
I could easily list examples of individuals who effected great change and were NOT civil. Neither list would prove anything. An actual analysis of leaders who were then classified according to their civility and rated on their effectiveness would tell us a lot, but I haven't seen such an analysis.
I'm not saying civility is a bad idea -- it is the approach I usually use. But you haven't convinced me of anything by listing 3 famous names.
- The objective of any movement is to effect a change
- The number of people pro- or anti- change is always dwarfed by the number of ambivalent or mostly-ambivalent bystanders (aka those who don't really care)
- The shortest path to the object is therefore converting the bystanding mass to your side
- You convert people more easily if you don't scare them
- Overthrowing the system and militancy always scare people
I don't have my books on designing effective protest movements in front of me, but I'll post the names when I'm home later. The above ideas are all cribbed from reading.
PS: Not that militancy doesn't have a place. But unless you're willing to start a civil war and have substantial economic and popular backing before initiating hostilities, the state is always going to have more power (see point about silent bystanders).
In any case, you’re missing the point. The point is that if you use someone’s incivility as an excuse to behave badly, you’re not doing it right. It’s fine if you don’t like them, it’s fine if you want them do change their approach, but if they push you away from treating people well, that’s on you, not them.
Furthermore, both had substantial popular support, larger political apparatus backing them (the Continental Congress and remaining US Congress respectively), and almost lost.
I could care less about me. I care about the masses out there who are swayed by civility -- if you show me a pattern of disagreements that have been won by a minority alienating a majority, then I'll concede the point.
Why did Lincoln resupply Fort Sumter? If he did not want to initiate hostilities, he could have evacuated it.
By demonstrating a forceful and armed alternative to peaceful protest, they (to use the parlance of our day) pushed the Overton window in such a way that the SCLC and NAACP Legal Defense Fund seemed more mainstream.
But their effectiveness in the broader effort and end result was absolutely predicated on the existence of a more moderate and palatable (to those on the sidelines) alternative.
If we're talking about post-Mecca Malcolm X, then I think it's an excellent example of someone who has found that love triumphs over hate, both in the world and in ones own character, even when fighting terrible injustice.
The problem is a lot of “sjw” stuff is basic identity that is considered political. Wanting to be seen as a woman is political to a lot of people, but it’s not seen as political to ignore someone’s requested pronouns. Being gay can be a firable offense with no repercussions in many states, but it’s not considered political to talk about your hetereosexual marriage at work. The definition of “bringing politics to work” is inconsistent except to consistently inform minorities that trying to achieve equal treatment is political, but continuing to contribute to systematic erasure of minorities is not.
How many social and political movements, and even revolutions came out from workplaces and worker communities?
The 8-hours revolution, Fascism in Italy, Bolshevism in Russia, and the list goes on.
When you say most people leave this stuff at home, that seems to imply that the status quo is neutral. It isn’t. Continuing to treat people the way you always have is just as much of a statement as saying you should treat people differently. It’s just easier to find agreement.
I’m not saying anything about how they behave or whether it’s acceptable or helpful. I’m saying that how you behave should not be determined by them. If you’ve decided not to encourage people to do the right thing (or, worse, stop doing the right thing yourself) because some other people are jerks, you’re just making excuses for behaving badly.
There is a useful discussion to be had about persuasion. Phrases like “it pushes people away” are perfectly fine of that’s what happens. But when it becomes “it pushes me away,” well, take some responsibility for your own beliefs and actions.
But do you see the box you're building? I'm either 100% on board with an ever-more-extreme program, or I'm somehow revealing the evil nature of my heart by being turned off by them?
I'm very serious about the persuasion component, and the fact that it's pushing EVEN ME away ought to set off alarm bells. If they're annoying and unpersuasive to me, how on earth would they be perceived by someone in Ohio? Have they ever met someone from Ohio?
incidentally, the people who did decide to do this became the alt-right.
A stand up comic said something a while back that I liked "Tyranny is the absence of nuance".
Why is it not fair?
Are you talking about kernel development or Linux as a consumer OS?
Said every wife beater who ever lived.
> I'm still not exactly the most empathetic person.
> But I'm hoping I can at least 'fake it until I
> make it'.
If you ask me, "faking it" is really just as good as "actually" being a more helpful or empathetic person.
What do you think "actually" being a helpful or empathetic person is like? It's basically just continually expending the effort to be helpful and empathetic.
Let's say my brother calls me up on a Saturday morning. He needs help moving some furniture. Do I really feel like doing that? Fuuuuuuuuuck no. Will I say "yes" anyway? Probably, because even though I'd rather play tennis or sleep or play video games I want to help him. So I will consciously expend the effort to go do the good thing for him.
Am I being "actually" good there or am I just "faking it"? I don't really think there's a difference. Nobody really wants to spend a day off moving furniture for free.
Same thing with reviewing a pull request. I am not known as a caustic reviewer, but that's because I spend the effort to try and make sure I'm not caustic. What is the difference between me consciously expending the effort and Linus consciously expending the effort? (I mean, y'know, besides Linus being 1000x more productive and talented than me) Is one of us more "authentic?" I would say there's no difference.
It is important to make the distinction between this and what Linus actually said, which was "fake it *until I make it" (emphasis added). The latter is essentially practice or exercise to develop empathy. The former is essentially how high-functioning psychopaths work.
> Let's say my brother calls me up on a Saturday morning. He needs help moving some furniture. Do I really feel like doing that? Fuuuuuuuuuck no. Will I say "yes" anyway? Probably, because even though I'd rather play tennis or sleep or play video games I want to help him. So I will consciously expend the effort to go do the good thing for him.
> Am I being "actually" good there or am I just "faking it"? I don't really think there's a difference. Nobody really wants to spend a day off moving furniture for free.
You haven't really made a comparison here, because you just say, "I want to help him." What is your motivation? You can definitely help him without having any empathy for him at all.
Empathy doesn't mean "being nice" or "being helpful". It means understanding, feeling, or experiencing the feelings of others. Being an empathetic person is largely orthogonal to being nice. It can help you be nice, because you understand how people feel. It can also help you be a huge asshole, because you understand how to really hurt people.
> It is important to make the distinction between this and what Linus actually said, which was "fake it *until I make it" (emphasis added). The latter is essentially practice or exercise to develop empathy. The former is essentially how high-functioning psychopaths work.
While it's certainly possible to exercise all of the things we're talking about (empathy, kindness, etc) for nefarious purposes ("I'm going to figure out Mrs. Smith's feelings and try to understand them... so that I can get close to her and con her out of her life's savings!") I really don't think that's what we're talking about here.
> You haven't really made a comparison here, because you just say, "I want to help him." What is your motivation? You can definitely help him without having any empathy for him at all.
> Empathy doesn't mean "being nice" or "being helpful".
Your brother scenario is silly. If someone calls and I don't want to help, but can. I'll be honest and make my own choice. If they ask if this is what I'd truly like to be doing, I'll always say no. However, in most cases, I don't actually care what I'm doing. Could I come up with something more fun? Maybe, but just being social in any way is typically its own ends.
I'm like you, I say yes often, and I'm honest about how excited I am to do it... but it comes at a social cost.
Sometimes its better to fake it and be nice, even when you're bad at faking it.
That is, you aren't faking it by being nice. You are just not bringing in extra crap to the discussion. Can you do dinner tonight? Yes or no. Not, I'd rather go do something with someone else, but if I have to be social with you, I can.
It is tough, because society is actually highly rewarding on bringing extra crap to the discussion many times. In humor situations, everyone actually enjoys it. And for situations where there is a jerk, society actually rewards it by putting up with it.
Linus has been a tough one. Often the community has relied on his behavior to help keep other jerks in check. People like to talk about how he is abrasive to nvidia, but they really are somewhat abusing the spirit of the crowd, as well. Problem seems to be that it is tough to know when to use a tool in your disposal.
People like to talk about how he is abrasive to nvidia
I left angle that out of my original post because I really don't think anybody is doubting Linus' motives here.
I'm aware that some people think his attempt at self-improvement is misguided or silly, but I haven't heard a single person question whether his motives are negative.
Sure, analogies are pretty flawed usually. I sort of regret typing it. Let's get back to Linus. What's the difference between:
(a) A person staying respectful in their emails because it is natural and effortless for him
(b) Linus staying respectful in his emails because he's putting in conscious effort to stay respectful
I think we would all agree that (b) would be creepy IF Linus was being deceptively nice for some sort of dubious or dishonest reason. Like a con artist trying to develop bonds so they can rob you or something. But, that doesn't seem to be the case. I'm taking him at his word here, but all indications are that Linus is just trying to get better at treating people respectfully because he thinks it's the right thing to do.
That is, in this case, I'd argue he isn't "faking" it to not bring in outside crap. Just leave it out. Stay on point for the topic at hand and he does amazing. I'd go so far as to say I think he is a bit of a role model in those situations. Deservedly so.
> Part of that 'faking it' is definitely going to be a filter on my outgoing emails
That's about 95% of what people asked for over the decades. You can get your point across without incendiary language and belittling comments, and merely scanning for sensitive words is enough for most cases
I do not need SJW's to defend me. Please do not destroy our culture.
All of a sudden this movement to add "diversity" and other crap is just not right. I agree there is some casual racism/racism for the sake of racism in the community, but I am personally not even bothered and it has never affected me (I ignored them and they stopped and some of them now are my close friends). When I joined the industry, I felt a bit unwelcome, but just in a months no problem was ever there. I saw that people had a different culture then me, so I just over few months I adapted the same culture subconsciously.
The maintainers should always value merit over "diversity" or "women in tech" agendas and other stupid similar things. We're not a playground for your political agendas.
My personal contributions have been blocked several times, but it never bothered me. I did what I loved, and my contributions were committed after trying for a few times.
Instead of wondering why my commits weren't merged and blaming on xenophobia/racism/fascism/blameism/bla bla bla , I decided to look at the patterns of commits that were successfully accepted.
Every community has a different culture so if you cannot adopt what everyone is following, maybe this industry is not right for you.
All the SJW issues are like that, a group of people who feel they need to defend someone else. Like these people have solved all their own problems and can move on to "helping" everyone else.
I'm not going to get too fired up about it. But... I really cringe when I read "We're trying to change the predominately white face of programming". But, they aren't saying they'll do that by promoting people of color, or by opening a new distro that designed to be contributed more by people focused on social justice.
IDK... At some point I wonder why the color of my skin is so important to the people "trying to help".
edit: LOL shy downvotes. Because you can't tell me my skin color or physical features are important to my work - but you can't say that's not what this is all about either. Hackernews is becoming more and more like reddit :(
Improving inclusivity through exclusivity filters.
Being accepting of everyone by closely monitoring all parameters of all individuals to determine if they should be accepted.
This applies equally to whites and people of color, rich and poor, nationalities, and more. I have yet to find a culture that didn't have both problems and benefits when you generalize about them.
I've also yet to have that generalization be actually useful when evaluating an individual.
But I have to ask: If I stop someone from discriminating against you, with or without your knowledge, is that really "destroying your culture"? If I'm in a meeting and stop someone from ruling out a potential candidate because of skin color, did I harm their culture?
I can't see how that's possible.
I could see how "culture" changes over generations as economic status changes. But I'm certainly not going to refrain from helping someone because I think there's a chance it'll change the culture of their grandchildren.
That said, I've been in situations where I could "help" someone avoid some racial prejudice and was asked not to by that person. As they wished, I did nothing. I didn't like it, and I still wish I could have helped them, but I felt I had to honor their wishes first. (The person I'm thinking about eventually quit from stress and moved out of state.)
How could you possibly know the candidate is being ruled out for skin color?
But even without that, it's possible to recognize weasel words that people are using to rule them out that have more to do with skin color, nationality, or anything other than skill and personality. And even personality can be iffy, depending on what they decide isn't acceptable.
When I was growing up, being a nerd or a geek or, in fact, any kind of intellectual was regarded as a bad thing. I found some outright harassment, a considerable amount of belittling, and a whole lot of lack of interest. (The 57th time you are asked if you play football or basketball, you say "no", and someone immediately looses all interest, you may be forgiven for wondering if it's you.) Thinking about it, I don't remember ever seeing the inside of the restrooms in my jr. high or high school.
I learned to keep myself to myself. I learned to avoid talking about my interests to anyone; they didn't understand and didn't care to, and I'm not a good communicator. I never had any serious abuse, but I learned to pity those who couldn't put a mask on when necessary.
Fortunately, I picked the right time and have had a career making roughly twice the median household income. (And I've made some poor choices there; I could have done much better.) (There weren't many darkies where I grew up, but I sometimes wonder how many of the wetbacks who went to even worse schools than I did can say something similar.)
Now, the situation is reversed. Not playing video games will get you looked at funny. Being a geek or nerd is a good thing. It's certainly the easiest way to make money. But one thing I've also learned is that every social group puts barriers up to keep out people who are not different in the right way.
So here I sit, a professional programmer and a tolerably good one, and I find the defense, not of the right to be a jackass, but of the act of being a jackass troubling. I don't necessarily think the added layers of a code of conduct are a good thing. On the other hand, your last paragraph is spectacularly unappealing. If you can't not be a jackass in public, maybe this industry isn't for you.
"But if people at least realise that I'm not part of the disgusting underbelly of the internet that thinks it's OK to show the kind of behaviour you will find if you really have been reading up on the 'discussions' about the code of conduct, then even that will be a really good thing."
Yes indeed, if you look at many of the anti-CoC comments (e.g. in the "killswitch" thread) you get to see a lot of that underbelly. There are people who will oppose any kind of general rule restraining behavior, because that would prevent them from exercising their own more personal and arguably more subtle kind of coercion against those they don't like for whatever reason. The other alternative is for an even bigger bully to keep them in line, but I shouldn't need to explain how "might makes right" is even more problematic. Linus is deliberately stepping away from that bigger-bully role to give the alternative a try, but in the above excerpt he makes it pretty clear that he thinks there's a problem to be addressed. The creeps should consider themselves on notice, whether there's a CoC or not.
Do you really, truly believe this is the reason why so many people are against Codes of Conduct in open-source projects? Can you point me to this mass of disillusioned bigots, expressing frustration at their inability to continue to act bigoted while within proximity to open-source?
Either you've been going to wildly different parts of the Internet than I have recently, or your understanding of the side of the argument opposite you is based on a practically-nonexistent strawman, which is causing you to be completely unable to understand where "the other side" is actually coming from.
I think there are many reasons. This is certainly not the only one, but it's one I've run into quite a bit. Keep in mind that people usually don't realize how their behavior, or their acquiescence to others' behavior, is harming or excluding others. They feel no need for a CoC to support their side in any dispute, because the in-group already supports them. If any piling-on occurs, it's on their side. Thus they see only how a CoC might inhibit them in some (usually hypothetical) scenario, while remaining blind to how it might enable others. They oppose it "on principle" but it's a flawed principle.
But the point is not that I believe that. The point is that Linus clearly does (see quote) and he's willing to do something about it. If a CoC doesn't work, then I would expect to see him coming down personally on some of the worst offenders. I've known and worked with a few of them, so I for one would welcome that.
He is referring to overt white nationalists and racists. Like storm front types.
You seem to be referring to subconscious bias, which seems to be literally an endless accusation.
I can attest that the people GP refers to exist, but it's more complicated than that. Codes of Conduct are established sometimes without a problem actually existing in the community in question, which raises the implication that the community hasn't been welcoming thus far (and often enough, that's wrong). They're also often seen as a way to legitimize a "we can silence you for any reason we choose" behaviour that is far too frequent in community moderators.
This is all very context-dependant. Point is there are legitimate concerns over codes of conduct. Unfortunately, those concerns disproportionally affect the category of nasty people mentioned in GP, and that category gets way more defensive and, since this is the internet, tends to jump into these issues even when they're not part of the community in question and hijacking the topic.
... and since this is the internet, this also happens on the pro-CoC side. Which basically results in 95% outside noise on both sides of any sensitive topic that happens to catch public wind.
It's super easy to point to nasty people on both sides of the issue. It's also very easy to get radicalized by seeing how nasty the "other side" is and becoming part of the problem. And those getting caught in that filter tend not to, as you say, "understand where the other side is coming from".
Edit: Downvotes are very telling of the behaviour I describe, btw. This post has gone between -3 and +3 and back without a single reply. It's not about discussion, it's just about whether people think I'm part of their "camp".
No room for mixed arguments.
I don't understand the word sometimes. I have yet to be shown an example where a woman, trans person, person of color, Muslim, or someone on whatever the oppression index is today was discriminated against when pushing code to a project. No one knows what you are unless you tell them - and it's always been 100% irrelevant to the topic of coding.
This is absolutely trying to solve a problem that doesn't exist while flat out saying things like "we're trying to change the predominantly white face of programming"... wtf.
>They're also often seen as a way to legitimize a "we can silence you for any reason we choose" behaviour that is far too frequent in community moderators.
Because that was IMMEDIATELY what actually happened.
I don't care one way or the other. I don't contribute to FOSS because my job isn't really conducive for that to be part of my activities. But I see people who are looking for a fight just to fight, and that's a bad idea.
Well, we're not just talking about commit logs. Projects usually need discussion, and depending on the environment, that might be one where real names, professions, photos and various other bits of real life seep into (or are a pillar of). In those environments, discrimination can 100% be present.
Saying "it's just code" dances around the issue IMO.
> while flat out saying things like...
That is also what I refer to in my post above. It's noise, not signal.
> Because that was IMMEDIATELY what actually happened.
You clearly have an example in mind. I don't. Keyword is once again sometimes.
"Code of Conducts" are the software community rediscovering what we used to call "community guidelines" or "forum rules" in other fields. They're not necessarily oppressive or progressive. They're not necessarily helpful. And they're often unnecessary.
They don't give enough credit to the positive message that "be good to each other" sends. They give far too much credit to bigots by suggesting that merely because "the rules say not to be a bigot", they won't be.
Until I left, I ran a ~30k user strong gaming chat community. We still don't have "community guidelines", and the prevailing rule is "don't be a jerk". Very few people have been banned. (It is getting right about the correct size to introduce community guidelines, though)
The health of a community is primarily determined by how it's moderated. If you allow bigots to be part of it, bigotry will run rampant. If you allow personal attacks to fly freely, it'll be a tense environment. If you start silencing any form of criticism, it'll turn into an extremist echo chamber.
Either way, CoC documents tend to be just talk. Only recently, I tried to contribute to a project, only to be completely ignored and shut down without any discussion because the project owner didn't like my feature proposal. When I pointed out the owner's attitude didn't match what he promoted in the code of conduct he himself had added to the project, I was ignored.
Because this came about on Linux specifically, where are the examples of someone refusing code or discussion because of another's physical traits... -OR- is this all at it's very base an accusation that can never be proven? (edit: Because no one is going to come out and say "I shut down this conversation because its a bunch of <derogatory names> just yammering")
I think the obvious specific example is of Google's Ted Tso who was targeted to be banned from submitting - and at the same time breaking their own new code of conduct by smearing him as a "rape apologist".
> Either way, CoC documents tend to be just talk.
I'm not seeing that here, I'm seeing deliberate actions. My example above, Torvalds letter here. Are you seeing just talk?
>Only recently, I tried to contribute to a project, only to be completely ignored and shut down without any discussion because the project owner didn't like my feature proposal.
So, you're saying you were discriminated against because of some physical feature or that he just didn't like your proposal? If the latter, isn't that kind of how it's supposed to work? It's his project and if he doesn't like your contribution you're sometimes free to fork it, or make your own? There is no right for people to like you or your ideas. The internet would not exist if everyone's ideas have been given equal opportunity.
Sure. Just take a look at the trainwreck that is the CoC commit ”discussion” at GitHub. Of course, almost nobody participating in it has anything to do with Linux kernel development. But they do appear to be rather unpleasant people.
Yep, no politics here. No us-vs-them tribalism. No power plays. No jeering and celebrating a "victory" over "the other side". Just improving the community and making it more welcoming to everyone, that's what it's all about.
I'm no friend to some of the people pushing this. Just a couple of days ago, I was in a Twitter argument with some of them as they tried to turn this into part of their "kill Linux Foundation" feud. They definitely do have their own faults, but I still think there's a difference. They're willing to put in place a set of rules that could very well be used against them in their own immoderate moments. Some have already pointed this out. The anti-CoC crowd accept no explicit limitation. I'm not trying to put one above another, but those positions are different.
Ah, no, the anti-CoC crowd wants the status quo antebellum, which DOES have explicit limitations; for example: GPL-2.0, and of course whether your contribution is accepted or not by the main kernel dev team. Of course, all these limitations are of CODE, not behaviours, but is it important for an open source project (theoretically) open to all members of humanity to contribute, no matter how evil or repugnant their personal views are, to regulate this? Does the fact that ReiserFS was developed by a murderer mean that we need to explicitly delete all his contributions to the kernel?
>Wikipedia: ReiserFS is currently supported on Linux (without quota support) licensed as GPLv2. Introduced in version 2.4.1 of the Linux kernel, it was the first journaling file system to be included in the standard kernel
Good for Linus, I'm happy that he's not looking to adjust his technical expectations:
"technically wrong is still technically wrong, and I won't start accepting bad code just to make people feel better about themselves."
""...should be retroactively aborted. Who the f+ck does idiotic things like that? How did they not die as babies, considering that they were likely too stupid to find a tit to suck on?""
I believe it's well known that people tend to curse more in a second language, applying that theory to some Finns is going to lead to a very colorful and explicit language.
Personally I barely swear, I find it somewhat pointless.
However I have never really been bothered in the least of what he writes. I'm wondering if it is because English is a second language to me? Maybe because I have at least a cursory knowledge of Finn culture, or even because it felt so blindingly obvious to me that regardless of the superficial content of the profanities, they were rarely ( if ever ) a statement of value regarding people, only their contribution.
I really don't know, but it is interesting because I think I would have reacted quite strongly to most people saying what you quoted above!
Language and communication, it's perplexingly complicated.
* This code is idiotic.
* You are an idiot.
* You should be dead.
If you view software development as entertainment.
If you view it asa profession, maybe not.
I think Linus was actually trying to be funny with those statements. Some of us understand that humor, some of us don't.
Generally, it's probably not a good idea to use such language with an individual. But if it's 'not good' - you can say that.
But finally there's no reason to demean individuals arbitrarily.
This discussion is wayward: it's not about groups, minorities or being PC ... it's really just about being 'honest' vs. 'being sensitive'.
Some people perceive some honest remarks as insensitive, while others perceive 'politically sensitive' remarks as dishonest, and therefore a little offensive.
Personally I'm in the 'candid' camp, but I don't mind people who are a little indirect with the intention of being nice.
This has nothing to do with arbitrary douchebaggery - there's never any reason for that. Ok - maybe you scan scream at a big, faceless corporation now and again, but not individuals.
I think there's too much intellectualize of this subject and so many are missing the point.
You can be candid or sensitive, that should be your choice.
But you can't be an arbitrary jerk.
If Linus wants to be candid at the cost of not being well received, then fine. But he shouldn't be attacking people.
Why not? Who invented that rule?
As to the topic, I don't think it's ever been a mystery to Torvalds why people might not like him. Doesn't really change anything about the product.
Not to compare him to anyone else, but who really thinks that talented artisans throughout history were great people to be around?
Did anyone seriously, with good faith and without political goals, believe that that was going to happen?
I've personally found an increase in instances in which I think, "The likelihood of X is so low," and then bam! X occurs.
Couldn't he still not be a people person _(perhaps a poor communicator)_, and still manage a successful community? I say that because historically it's been a bit of a meme around how forceful and abrasive Linus is. Yet, he's often right, or at the very least very informed.
He's a very smart man who has done very smart things. I'm not sure if the Linux community inherently means he's a gifted communicator. Eg, I don't think I could behave like Linus and make a Linux-like community - I think his talent and intelligence carry his lack of communication skills. Which is not a discredit to him, we're all different.
Despite that, I'm sure that when he says he's "not a people person" there's something to it. Maybe a certain difficulty reading people or anticipating their responses?
That those two things live together side-by-side, that's what I personally meant by "interesting".
This talk is also back in 2016, and even then, he talks about not being proud of the way that he reacts to people sometimes. So, while his recent announcement may come as a surprise to some, it's something he appears to have been giving a good deal of thought for a while now.
Not all, since some people take criticism of their code poorly, but if you aren't committed to the highest quality code possible then you probably shouldn't be working on something like kernel development. There are some ways to reduce problems with those kinds of people though. Asking probing questions to get the person to think through the problems on their own to fix them for example. Or having a standards document that all kernel code is expected to conform to so you can just point out parts that don't conform to the standard.
My impression that most of his blow ups happen after he has tried this approach unsuccessfully.
I am just a little tech lead but over the years I have found that with some people you have to yell at them from time to time because they don't understand feedback that was given nicely.
You are very correct, he is very good at conveying information. I think he's poor at placating people and handling people in ways that ease tension, lesson aggressive tones, etc. Great communicators need to do both if they want the information to be conveyed as effectively as possible - even though it stinks to have to placate/etc people, sometimes.
Some people are are task oriented and some people are relationship oriented. I think he cares more about the project than making people happy.
From my casual view, he's not a great communicator in the sense of communicating with the public. That requires measured response and dealing with issues in a particular way.
He is a master of his craft, and very effective technical communicator. As a non-kernel programmer, I can read something that he writes about and understand it enough to answer questions I have about how things work.
It's one of the challenges of working in big groups of people. He is dealing with a huge community, all with their own interests and agendas in pursuit of his vision of excellence. In a private company he would be able to exert (directly or indirectly) control over the conduct of community members. In this public forum, he has the ability to influence rhetorically or control what gets past him. That's a different and more difficult form of control, especially when you have to do it in public.
Communication skills doesn't necessarily mean to be smooth and agreeable. It's one facet of it but not everything. On the other hand some people may think his style works because he is abrasive and emulate that (like some people didnand still do with Jobs).
In the end as a leader you need to have a vision where things should go and be able to communicate that. You need to give people freedom to do what they need to do but also sometimes clearly say "no" and risk to alientate some people.
In a huge part of development of distros you don't come into contact with Linus anyway, and they are part of the reason why Linux is popular.
So I would not attribute the whole Linux effort and community to him. (He had a huge part in getting it off the ground though and I do not wish to minimize his influenve and input)
Have you ever worked with someone who is both skilled and a good communicator? It’s an excellent experience, because good people skills are like a force multiplier on those technical skills.
I don’t see why the two need to be correlated in some way.
Adding a large ego onto being sensitive makes for a very unpleasant and volatile combination. It causes them to take disagreement personally and then it becomes a religious discussion along the lines of vim vs emacs (obviously vim is superior and if you think otherwise, go back to sociology you moron). I think Linus is just like that.
That's my two bits.
I suspect we would be better served by just admitting that engineers are people to with all the flaws that come with it.
Some engineers do. But all are still people who have feelings, and the sentiment of the message can definitely affect and hurt them.
Being a "people person" and a mass murderer are not at all incompatible. It all depends what that person thinks of as "people".
My imho of course.
I can somewhat justify using a very corrosive tone if you're not in a place of power and you want to be sure that you're not ignored (I'm not a fan of it but pragmatically it sometimes gets the job done). However it's clearly not the case here, he has the power to reject any contribution he doesn't fancy. And his developer clout is huge enough that he'd still be heard if he criticized third party projects he doesn't maintain.
From a purely pragmatic point of view I don't see what his corrosive tone gets him. Actually I can easily see what it cost him, some devs have resigned from their maintainer position in the Linux kernel and probably many more who gave up contributing at all because they were worried they were going to be shot in flight.
You can do something that makes people upset without being an asshole.
It's really that simple.
"No, I won't merge this pull request because of X, Y, and Z." Somebody's probably not going to be happy. But you have not needed to stoop to insulting them. You have not been an asshole. You have done your job, you have kept whatever level of high technical quality you care about. But you have not been an asshole.
It is not hard to do both, and if you are but-forring Linus's decision to maybe be less of an asshole it's probably look-in-the-mirror time.
And what of questions about their process? I've seen LKML questions along the lines of, "This code produces many warnings when compiled; did you even compile it?" It's a valid question, if a little terse, and almost certainly insulting.
I think that you are arguing apples and apple pies.
Questions of process are made valid when it becomes clear there may be a flaw in the process which was applied. Asking them if they compiled the code is warranted, is it not?
"This code has more warnings than we accept under our process; please remedy." You aren't telling onlookers that they will be lit on fire for the temerity to contribute, you aren't causing anyone to lose face and you aren't hurting anyone. No aspersions, no chilling effects, and a positive path forward. Done and done. Everyone wins. To do otherwise is inhumane.
That fails to address the possibility that their process is broken, and so achieves the possibility of inducing technical debt when these issues will inevitably arise again.
Fixing process can be as important as fixing code.
There have been a lot of electrons perturbed dancing around that that's what we're talking about, yes?
I'm not pro-insult, not by any means.
It seems you think one approach is clearly worse.
But as a thought experiment can you imagine how each approach might have real tangible advantages?
I understand the point of view that yes, it may have advantages to abuse people for your immediate and short-term desires. The attempt to cast abuse as valid for those advantages belies the truth of a nasty participant in the body politic.
I’ve wotked with people who genuinely respond well to that kind of feedback. It seems you think one-size fits all, and fits every situation?
If you want to tell somebody in a 1:1 "this sucks" when you know--know, not assume--that that is their preferred mode of communication? Sure. Fine. I think that resorting to such modes of communication makes you a lousy leader because it's important to train your people out of high-tension and low-value communications, but fine. But y'know what? Nobody here is talking about that situation, so table it and move on.
I won't reply to your diversion again.
It is better to respond coolly to assholish behavior. But it is not better to allow it to remain unchallenged. Not challenging assholish behavior means that it becomes a community norm and is then incumbent upon everybody else to "train" themselves, as you say, to ignore the behavior of a minority of assholes. It hands the responsibility of defining what the culture is to those assholes.
Letting the assholes normalize the culture is bad. It decreases uptake. It increases, even if people "train" themselves, the likelihood of burnout and of departure. And it makes the world, even if incrementally, a worse place.
The culture and the world always evolving and changing, it can be worse or better or whatever, most importantly for me is how can I make myself adapt to the every situation and make the best of it.
"Changing yourself" and letting rot fester is of little value to anyone. Be so mildly discomforted as to push back on other people's nasty behaviors and you make the world a better place.
Do what is right.
In some cultures e.g. Japanese, being publicly accused and insulted is worse than insulting - it's a mark of shame that doesn't go away.
Unfortunately people simply can't rewire their brain, especially as adults, and that's why good manners exist.
Sure, but I can always make the effort and try
>Unfortunately people simply can't rewire their brain, especially as adults
I think It works both way. Some asshole can't simply be not asshole.
Someone's ingrained bad habits may make this harder.
It's a choice; make it.
I don't know whether it actually, but I think Linus becomes "corrosive" to get rid of someone. Certain developers disappearing is not a side effect, it's the intended effect.
If you have a "contributor" who keeps submitting the same faulty patch over and over, who doesn't listen, but keeps making a fuss about his "contribution" not being accepted, what can you do? You tell him that his code is no good and won't be accepted, and you tell him that his making a fuss about it is not welcome. But he doesn't stop, so now what? Block him from the mailing list? He just comes back with a new address. What's next? You decide to be so unpleasant to him that he leaves.
Anecdotally, this sequence happened with certain engineers at Redhat, who kept dumping their bad code at Linus so that it may be maintained upstream. They could have cleaned it up, but that's exactly the maintenance cost Redhat wanted to outsource to the community.
Not typing insults saves time. We are not talking about psychologist-grade emotional communication, just basic manners.
It would be nice if we could find a person who was a world class 100x programmer AND project organizer AND had decades of sustained high productivity AND had absolutely perfect social skills.
But in real life people like this are hard to find, so we have to deal with imperfect people.
The question is: Which kind of imperfection do you prefer for this purpose? Someone who is technically weak? Disorganized? Can't stand the pressure of leading a massive organization? Can't sustain effort over time? Writes unnecessarily mean criticism that drives some people away? Writes too-soft criticism that fails to correct technical failings? Choose at least one.
It's not a false dichotomy, because nobody's perfect. You're gonna have flaws, they're gonna come out on bad days, and at that point you've got a few options for what kinds of flaws you prefer.
In any case, I find there is way too much focus on words instead of actions. It's the same in politics and in business. You have people who get nailed for cursing but the standard for company leadership seems to be to use nice words while at the same time stabbing people in the back. I would be more concerned if Linus physically abused people or laid off people with one day's notice "It's just business".
That seems to be what's missing from this whole SJW movement; context. These people watch from the sidelines, pick up on a few "trigger" words, and then burn your house down because they didn't understand the context of your comment.
*Actually, they do in some societies, such as for example Japan, or my own native Java. People insult each other with more esoteric means instead.
Why is it such a prevalent idea that someone has to be an asshole in order to give negative feedback, or to take an action that someone doesn't like?
Alternatively, we can spend a year debating if me using a word "suck" is appropriate or triggering because you found out based on the DNA testing of your twice removed uncle that his grandfather was lactose intolerant which caused you to develop an emotional response while your code continues to suck and create problems, causing the company to lose money or a project to lose users.
It should be pretty obvious that this thread is going nowhere good. Can we please stop wasting our time shouting past each other? If we're not receptive to learning something new we should just go elsewhere because that's what this site is for.
Here's a novel idea, how about instead of directly resorting to "Your code sucks." we instead say something like "I think there's still some work to do here. Here's the way I would have done this." It's really not that hard to give constructive criticism.
"Your code invokes undefined behavior and may fail in the following ways. These corner cases are handled incorrectly. There are a few other cases I'm not sure about, because I have trouble following the logic."
"The code is fine. I have tested it!"
"It happens to work on you current machine. That's the nature of undefined behavior. It might fail in the future without warning."
"I tested it, it works. Now merge it!"
"Sorry, man, the code is crap. Go and fix it."
Nobody resorts directly to "your code sucks". Engineers love to give constructive criticism, but they hate to give marks for effort. And where constructive arguments fall on deaf ears, they give up and either ignore you or tell you to GTFO. Both are perceived as impolite, but what else could they do?
In your scenario, the person saying this is being the bad contributor, and should be told to explain what they disagree with in the review. If anyone shuts down in a code review like that more than once, they should be finding a new place to work. And that really goes for both sides to be fair -- if I put in effort into a PR I deserve a good constructive review. If it's a public project and this stranger refuses to follow the rules, no harm done in closing the request and telling them to come back later when they're ready to discuss things.
Or you know, however you discipline them. I think we're in agreement that there's no need to resort to personal attacks and frankly someone telling me my code is crap is probably better than being told I should have been aborted in a code review.
The end. No need to call it crap, no need to burn a bridge.
Personally, I just stop responding after the technical arguments have been exchanged. There is no point in repeating what was ignored already, no point in ELI5, no point to using swear words, silence is what works best.
By the way, if you told me "I understand your passion, but...", I'd be angry beyond belief. That's the way you talk to children, and even my mother is no longer allowed to talk to me like that. I consider that a stronger insult than my code being called crap. Which probably shows that shutting up in time is the best response.
The end is “nothing more to talk about,” and then you stop replying. As to time and energy, if you’re so depleted than an extra few sentences will materially impact you, then that is a problem. Healthy humans won’t be exhausted by expressing themselves in a half paragraph rather than a muttered “crap”.
Some people are persistent and will blame you for explaining badly when they don't understand. These discussions never end; usually not even after things got labelled as crap.
So don’t call it crap, just clearly state that you’re not interested anymore and hit ignore. The rest is their problem, not yours, and you’ll gain a reputation for being forthright and firm rather than hysterical.
Personally, I just stop responding after the technical arguments have been exchanged. There is no point in repeating what was ignored already, no point in ELI5, no point to using swear words, silence is what works best.
By the way, if you told me "I understand your passion, but...", I'd be angry beyond belief. That's the way you talk to children, and even my mother is no longer allowed to talk to me like that. I consider that a stronger insult than my code being called crap. Which probably shows that shutting up in time is the best response.
The person in the example was acting like a child, and deserved to be treated (politely) like one. Either way though, my particular wording was just off-the-cuff and only an example.
The code was obviously bad enough to not get accepted and should be fixed. What is so bad in saying it like it is instead of dressing things up with layers of words?
Even with that long reply everyone will understand the intent behind it.
Maybe it is a cultural thing in the end. North American culture is very different from, say, Finnish culture (from which I am from, too).
Merge my code! It’s great!
Hell, that “no” could even have been a silent stare, or a grunt and it would have worked. Sadly much of the World finds that crosses the line fopekm taciturn and direct, into either rudeness or lack of communication. Dressing things up with layers of words, while tedious, is also the basic way many cultures keep arguments from turning into murders. North America (and the UK and some other parts) probably do take it a bit far. Not as far as Japan, but still, too far.
All of which is to say, yes it’s probably cultural, but it’s also a matter of people who are invested in something missing the obvious. Sometimes you really have to drive a point home, and my general recommendation was that it’s better to do so directly and civilly, rather than rudely.
I have fired "nice and really trying" people. Because they were decent people, I have also then recommended them to my personal network for positions that are better suited to their skills (and more than once have they gone on to success at a friend's company), because hiring somebody who can't do the job is management's fault.
I also fire people who are toxic assholes. I do not recommend them to my network because I would not inflict them upon people I like. Even if they're competent.
You can, in fact, do both, and hats off to Linus for at least making a goddamned attempt to not be the latter.
You're pretty close to behaving a certain way mentioned in this comment yourself. Could you please, like we've asked before, try not to be so mean to other users?
It's important to not be a toxic asshole.
There is a real and obvious difference between the assertion I made and the assertion you are attempting to say that I made.
First: I've never had to fire somebody I hired. I have had to fire people I inherited. It doesn't suck less, but given your odd attempt at turning this into a referendum on people who aren't big on jerkass coworkers, I feel like it helps complete the picture.
Second: firing people is rather unlike "coddling".
Third: that I have fired people does not mean I do not think that they are decent people. It does not mean that I think they are fit for no job. And it does not mean that I, as somebody with a working empathic function, don't want to help them to land as softly as possible in a job where they can be happy and productive.
Fourth: the notion that a reference can't be honest because somebody puts forth the above idea is entirely and only in your goddamn head. You are projecting. On the other hand, I've told somebody who asked (off the record) something along the lines of "I would not hire this person as a team lead because I've observed deficiencies in X, Y, and Z, but their strengths in A, B, and C make them good for role R" because honesty does not require being a prick.
Fifth: somebody who is fired for being an asshole--and, yeah, I've done that, and again, nobody I've ever hired--has no value to my network. I'm not going to inject the toxin I have spat out into somebody I actually like. Because I actually like those people and I want them to succeed. It isn't hard.
Were I in your shoes I'd be looking in the mirror right now. You're projecting something real ugly onto me and its source is worth thinking about.
So I address for this being a dig. It is an observation. Those who are empathetic eventually spend all of their time talking about feels rather than addressing issues. Time is a finite resource. Sooner or later ( typically sooner rather than later ) one needs to decide what he or she is going to value more : competency or empathy.
Also, I apologize if me noticing a bad cert was hurtful.
I want to dig, though: is this what you think an argument is, from you? Do you think you're saying something meaningful? I can guarantee you've fucked up something quite a lot bigger and quite a lot more expensive in your career--or you haven't done anything, anything, of note. (Hell, I have. And I talk about it regularly! That's how you learn things.)
And yet that doesn't diminish your argument. Your argument falls on its face on its merits.
There is a pretty obvious difference between "giving feedback in a respectful, polite and constructive manner" and "giving feedback in an aggressive, disrespectful and unhelpful manner". The former isn't "coddling" – it's "being a decent human being".
The problem I see is that too many people seem to confuse "having strong views and standing by them" with "being an unnecessary dick about it". You don't have to do the latter to achieve the former, and I'd argue that it is almost universally harmful.
>It's much better to have "strong views, weakly held" than to have "weak views, strongly held".
Meaning that you should be confident in your opinions but at the same time be willing to concede defeat if someone can show you why your opinion is wrong or not the most optimal one. Rather than persistently defending a view that you also over time come to realise was wrong.
Since you've invested so much time and are holding onto the weak view strongly, you would not want to abandon the view due to the feeling that it was all a waste.
If the code is too clever for you, ask them to refactor in a simpler way rather than rejecting outright.
A possible alternative is to do what Pieter Hintjens recommended: Accept everything, wait for the community to clean it up. Somebody might outright revert the bad patch... you accept that reversion patch, too, because you don't judge, you accept everything. This approach supposedly worked well for Pieter, but 0MQ isn't nearly as big or as visible as Linux.
The goal of better communication (in this case) is not to be the offensive asshole. It is not to ensure the other person isn't pissed off. I've pointed it out in earlier threads, but do try to read some good books on communication. While they do talk about phrases that lead to defensive behavior and how to avoid them, the focus is always on ensuring your perspective gets out, and i a way that is most likely to be heard.
As one book said "Do not make a metric how upset the other person becomes. That is giving too much control to the other party, and you have limited control over their behavior".
When people use the word "constructive", what they actually mean is "nice" and "won't hurt my ego."
Saying something is 'crap' may be true, but it's definitely not constructive. 'Constructive' feedback helps you understand why it's wrong. So, 'constructive' would be: "hey that code was very problematic, and here are the reasons why: etc. etc. etc.."
"When people use the word "constructive", what they actually mean is "nice" and "won't hurt my ego.""
No. Saying something is 'crap' is generally not useful and counterproductive. It's also subjective. You can say 'It doesn't work' or 'it doesn't meet requirements' and that's more objective.
Sometimes people need to be reminded just how badly they screwed up, and to purposely avoid offending people is pretending that some work isn't crap. Of course words like crap are subjective; to the person reviewing my work, my code was crap, and that actually means something to me if they think that it's crap.
Not constructive? Nonsense. Sometimes you need language like "crap" to punctuate the issue. It got me to take the issue more seriously. If I tried to ship some really awful code, I don't need someone to tell me "Gee, Ravenstine, let's talk about this, m'kay? So this part of your code is... problematic." People the word "problematic" gets thrown around all the time, even when referring to very minor bugs in public projects. But words like "crap" actually mean something because they're reserved for times when you really need to know what you did was wrong.
I'm irrational, as are all human beings. Not everything I do can be treated as an engineering puzzle with a fixed set of inputs that yield a deterministic return value. You can tell a human being that something "doesn't meet the requirements" like they're some kind of robot, but depending on who you're talking to, you may get the result you want by not talking to them like they're robots.
This is definitely not to say that people should be uncivil, I find that sometimes a kick in the rear is very helpful.
Not sure about "This code is crap", but claiming it is less constructive than your example is a very superficial reading. A supervisor who told me "Your code is crap" would seem a lot more inviting than one who put the condescending remark you offered. It's a lot more constructive because it reminds me (a) that my supervisor expects more and (b) my supervisor expects more from me (i.e. both I know what to do to fix it and my supervisor thinks this is a lapse and I'm competent).
Saying something is 'problematic' is not remotely condescending. It's just a reasonably objective way of saying there are problems.
Saying something is 'crap' is neither more authentic nor more informative, it's absolutely not constructive and it certainly isn't polite.
I think you may have difficulty interpreting communication when you take things literally the opposite of what they are i.e. 'problematic' as some kind of 'crypto-speak' when it's not, and 'crap' - which is actually and objectively condescending and objectively not constructive.
If a piece of code needs work in a more general way, your manager's best option is to communicate that candidly in an impersonal and clear manner. Maybe with a tiny bit of sugar coating depending on the situation.
So 'the code needs a lot of work, specifically in these areas: a, b, c '. Or 'the code needs a lot of work and I see some ugly patters in there, maybe due to some habits you have developed elsewhere, let's work on these things specifically: a, b, c etc..' is appropriate.
The only time you can say code is 'crap' is when you have a very good relationship with someone, and a fair degree of mutual respect, and you also know that they'll never interpret it too negatively. As in 'heyzeus Joe that last checkin was abysmal, see: a, b and c ... and no more watching the pro-bowl while coding for you my man!' ... is what I could get away with someone I've known for quite a while.
You could use 'crap' in a public forum directed maybe at a group or company, but never publicly towards any individual.
If you're in charge of a major open source project, you can tell your staff that 'Joe from Montana's code is crap and we basically should ignore is pull requests' ... but you wouldn't say that to Joe himself.
I was reacting to @stemc43 who said "I'd rather work with...". Why wouldn't you rather work with kind and honest people? If you are picking your ideal scenario already anyway why not pick the positive version instead of the negative one?
On the other hand the idioms identified point to a long-standing understanding that sometimes, they are in conflict; a corollary of which is that one who always chooses complete honesty has likely failed to be polite from time to time, and one who is unfailingly polite has, like the curate describing his egg, likely given less than the total truth.
Most of us tend towards the politeness side of the tradeoff - we might, for example, describe a potential process failure when a more honest appraisal is that carelessness was the root cause.
But we all know all that has nothing to do with honesty, it's about political control, in and outside a informal community. Open source is defacto an easy target since most projects don't have real organizations. The people who pull these stunts in the open source world have no power of persuasion in private businesses, they can't impose their dubious code of conducts,contributor covenants and other "post-meritocracy" manifesto there.
In other words there may be much fewer people who are truthful, kind and technically skilled at the same time.
If kindness were constant among people we wouldn't say that some people are different.
If kindness is trainable and important, why is it not taught in schools?
Do you think other free operating systems are full of "nice spoken liars"? It's not like Linux is the only game in town.