Yeah, this was discussed about an hour ago, and it hit the flame filter pretty fast. I'd suggest that it won't last very long on the front page.
Incidentally, I find it very sad that we can't discuss this on HN. What has happened to Lennart, and the behaviour of Linus Torvalds as a bully, is probably something decent to talk about.
It's a real shame because it's really true and really needs to be addressed. We've had these conversations about gamers, about startups, about tech in general, but when it comes to Linux (and related open source projects) it's somehow impossible to talk about. The community just isn't friendly and isn't inclusive, and that bad behavior goes far enough as to shut down any talk of the bad behavior.
I don't know about anyone else, but when I read Linus write:
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE F✦CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the f*ck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?"
Linus is great enough, and known enough, to be allowed some idiosyncrasies. If you follow LKML long enough you realize these hard language comments do not carry one tenth the negative message a primary read would convey.
Note that this happens because you can read it with knowledge of the writer's personality. If it were an anonymous author, your impression would be perfectly correct.
No, I know that the standard reply here is that no one is above being polite. I disagree. This is a Linus' flaw, of course, but one we can live with in the context of his hugely positive net contribution.
Be reasonable. Do you seriously read that meaning into Linus' message? Couldn't it have an interpretation other than a literal one? I know a lot gets lost in written format, but ... come on!
It takes an extreme lack of understanding of how people actually use English to believe that Linus was actually advocating murder with the message he made, no matter the literal content.
If you seriously believe he was advocating murder, I presume you have reported the matter to the police, as in that case it is a criminal offence.
On the other hand, I don't consider this bad. Sure, it's offensive, but he has quite a good reason to be upset - reading one byte at a time will be really slow. Could he say it in a better way? Obviously. Could you interpret his words in a less literal way? Obviously.
I don't know Linus, but he seems a good, selfless guy, with the best intentions at heart. If he's not politically correct, who the fuck cares? Sometimes I get the feeling that even murderers are more respected, as long as they talk nice.
In my opinion the insistence on political correctnes has much more chilling effect than some passionate, if insulting, words.
I don't think "political correctness" has anything to do with suggesting that someone is so braindead that they ought to have starved to death. Rather, you appear to be using it as a strawman to discredit the notion that we should treat people like decent human beings.
As for his "passion", I don't think that resorting to public humiliation is any way to lead a project. Rather, it sounds like an item out of that "How To Minimize Employee Retention" article that made the rounds last week.
Linus certainly has many good qualities that have contributed to the success of Linux. He's diligent, he's technical, and he's great at solving problems. But it's important to acknowledge that Linux has thrived despite his abrasive outbursts, not because of them.
> But it's important to acknowledge that Linux has thrived despite his abrasive outbursts, not because of them.
No, you don't really know that! These outbursts may bother you and other people but it is also possible that they have been very, very beneficial to the community. Like it or not, they are a form of humor to many people and that may improve team cohesiveness.
I for one think that the reaction to this particular retroactive-abortion-outburst as "not treating people as human beings" is taking things absolutely way too seriously.
It's really not political correctness to just keep technical discussions calm and non-personal. Meanwhile, consider the chilling effect that kind of attitude has. I know quite a few skilled engineers who would just walk out if their boss talked to them like that, regardless of the merits of the underlying discussion. It's just wildly unprofessional and when Linus does that kind of thing, it sets the tone for all the other Linux-wannabe's who think "great engineers flame people!! i should flame people too!!".
In this case Linus had tried for quite some time to get the person in question to stop pushing crap. Linus eventually told him he'd stop merging his code. From that point of view, if he'd walked after being talked to like that, it'd have been seen as a benefit by many.
EDIT: I find it quite amusing that I get downvoted for a fairly dispassionate and mostly objective explanation of context, yet several of my far more subjective and controversial comments elsewhere in this thread have gotten heavily upvoted. Figures.
It's quite possible to make it clear that he'd stop accepting code without descending to abusive language. Erecting a 'safety barrier' against someone who was doing a poor job and being verbally abusive are entirely unrelated.
You say that blocking these merge requests would benefit many; so be it. Being polite about doing that would benefit the same set of people, and may others at the same time.
In my opinion, there is a huge distance between politely pointing out the faults and problems with something and sugar-coating.
And maybe this approaches the crux of the problem. It seems that there is a false dichotomy at work here.
Being polite (or, indeed, just not being verbally abusive) takes less time and energy, and is overwhelmingly more effective, than being overly abrasive.
I don't believe 'Sugar-coating' has anything to do with being polite and accurate. 'Sugar-coating' is all about being less accurate and on point.
When we're dealing with someone who repeatedly have ignored advice, instructions and admonitions and continues to cause major breakage, then yes, it would be sugar-coating to write something similar to what you suggested.
The point is that the person in question was being rude and disrespectful by continuing to ignore the instructions he'd been given in the past, and repeatedly caused a lot of very real, very heartfelt anger from a lot of people over the time he wasted for them.
Pretending not to be angry over that is very much sugar-coating to me.
Now, there are nicer ways of being direct and expressing anger, but pretending there was no anger and no valid reasons to be angry would be flat out dishonest. And I really don't think the recipient in this case had any reason to expect any civility from Linus at this point, even if others might choose less direct language.
Exactly. And I'm not impressed with the way the "professionalism" police are so quick to condemn Torvald for one justifiably angry email while giving such a conspicuous pass to a sustained pattern of passively aggressive, measurably destructive, and flatly un-collegial behavior that is the true definition of unprofessional.
In other words, there's a pretty egregious double standard being applied here. In my experience, that typically favors the kinds of abusive personalities who have discovered some easily-exploited aspect of the social system to simultaneously provide cover for their own bad behavior while limiting their target's ability to retaliate.
If I were on a team stuck with this guy, and required by professional norms to bite my tongue, I can safely say I'd take supreme satisfaction in seeing such a nasty employee get this severely excoriated. And make no mistake, this isn't about "feedback" or "criticism". It's about driving the guy out of the shop in a way that provides a suitable catharsis for everyone who has had to put up with his actual and sustained unprofessionalism.
Of course, tf this were an arbitrary, unjustified, or otherwise baseless response, I could see how it would be hugely damaging to Torvald's authority, and the trust he relies on. But in a case like this, the opposite seems true. And if it puts others who present similar problems on notice, so much the better.
For most people the difference between being a complete jerk and a normal guy is simply what they say.
Would you tolerate a manager who talked to you this way? I wouldn't. Not even Linus. And then I'd point out all the pretty crappy code Linus had checked in.
Then you'd point out all the pretty crappy code Linus had checked in? That would be your, what, revenge? And a way of showing how not to be a jerk?
I don't think Linus would care. Everyone makes mistakes. Linus is a gatekeeper of sorts and he has to "point out crappy code" whether people like his language or not. The outside world just needs to decide how seriously they take these outbursts. I don't think there's any evil dimension in that.
There are certainly evil outcomes when potential contributors actively avoid the Linux kernel and/or other open source projects because the culture can be so hostile.
It's a double loss. It makes the code weaker and less innovative, and it makes the culture seem unappealing to outsiders.
You might not think that's significant. But how can you know what you're missing by not being more exclusive?
Consider: open source could be set up on a semi-formal apprentice/mentor basis. It could easily become a way for programmers at all levels to develop professional standing.
Code on a GitHub profile is not the same as being able to say "I worked on X and was mentored by Y and Z."
And "You're a moron, fuck off" is maybe not the best way to create a culture of collaborative support.
You're talking about the Linux Kernel, one of the most productive cultures of collaborative support ever created by humans. If you're going to argue against success, you're going to need to bring a lot of evidence.
I don't see any evidence of a huge number of people, that could otherwise contribute anything meaningful, avoiding Linux kernel because it's "hostile". They avoid it because they simply don't have anything meaningful to contribute, or are not able to contribute with the level of quality required in Linux kernel, or they are unable to handle the inevitable criticism.
Also, I'm pretty sure Linus has never used those words to tell people to get lost. Don't invent stuff. He might use strong language but in many cases it is humor or he knows the receiver personally.
Whoa. Timeout. This isn't political correctness--it's basic human decency. Political correctness is replacing the use of a term for a euphemism. Even putting this in euphemistic terms should be completely unacceptable. If I told somebody at work that they were so stupid, I wasn't sure how they survived childhood, I'd be asked to leave, post haste.
I think that the OSS community (and IT community in a broader sense) has this idea that "they're just words," and so therefore, they should just be able to say what they want without consequence. But, words matter. A whole lot. Empires are built upon words. People rally around words. Words convey ideas, thoughts, feelings, and everything that goes with them. Why is rampant bullying accepted in this culture? Why is it the norm?
I'm not saying that things have to be all sunshine and rainbows. Yeah, sure, it's stupid to read a byte at a time, but you don't have to be an asshole about it. You can say, "Hey, that won't work," and be done with it. People should be treated with a modicum of decency. Remember the human, and all of that.
Contrary to this, I find myself envious of a person who can dress down another in a flagrant and creative way.
If I got dissed in such a hyperbolic way from a boss that was paying me, I would leave.
In a situation where I've toiled in a position of importance in a project I work on in my free time, and I screwed up, I think I'd be hurt if I was dismissed lightly and without creative ire. I mean, I want to know that if I screwed up, I screwed up enough for someone to admonish me creatively, since there isn't any method of management. Your tool is primarily shame, you can't suspend someone without pay from a mailing list.
Well, presumably a job well done is the primary motivation, or perhaps the recognition of your peers. It is only when you have previously achieved importance and are now in a position to have face to lose; here is where shame can come into play.
Constructive criticism is helpful and should always be the first stop on the train. But if you should already know better, or that ground has already been well-trodden, then it just sounds patronizing. This is where being told to shape the fuck up is the kind of message I would expect to receive.
What would be even worse is being ignored or shunned.
Whenever I hear complaints about Political Correctness, I'm reminded of this:
> Disdain for "political correctness" is often positioned as a concern that some important truth is not being spoken for fear of offending someone. But that concern is nothing but smoke and mirrors. To invoke "political correctness" is really to be concerned about loss of power and privilege. It is about disappointment that some "ism" that was ingrained in our society, so much that citizens of privilege could express the bias through word and deed without fear of reprisal, has been shaken loose. Charging "political correctness" generally means this: "I am comfortable with my privilege. I don't want to have to question it. I don't want to have to think before I speak or act. I certainly don't wish to inconvenience myself for the comfort of lesser people (whoever those people may be--women, people of color, people with disabilities, etc.)"
* Whenever I hear complaints about Political Correctness, I'm reminded of this:*
I really hope you aren't. Posts that recast and interpret someone else's opinions like this are toxic to any political discussion. The framing makes the topic into an caricature you can easily oppose all while whispering in your ear "this is what's _REALLY_ going on."
Maybe you don't think this interpretation is wrong. Maybe you think I (like they) just can't realize or admit it's right. Maybe you don't think it's such a bad thing if this armchair psychologist is just a bit wrong. But have you ever seen someone post about how stupid social justice is when the thing they're trash talking isn't social justice at all? Have you never had someone disagree with you assert that you believe something you don't? Posts like that are exactly how it happens.
Not to excuse this, but this involved a person with a Finnish name who specifically CC'd Linus complaining about a perceived regression when doing things a wrong way. Note that there is even a phrase about a Finnish phenomenon, "management by perkele," referring to a militaristic managing style which steamrolls dissent with a lot of profanity.
Therefore, I doubt that a random person on LKML that wasn't CC'ing Linus to complain about the bad performance of doing things wrong would draw random fire from Linus about his ability to suck a tit.
Meanwhile, Steve Jobs was a total asshole to many people, including family, and this has been approved in his hagiography as a condition for his incredible inventions which revolutionized all mankind. If that is true for Apple then presumably it is also true for Linux?
Or maybe we should be more uniform in criticizing for people being assholes, rather than singling out Open Source with an implicit double standard.
There's no double standard here. It's a conversation specifically about jerkish behaviour in the open source world, and merely having this discussion does not ignore jerkish behaviour in other companies, communities, etc.
I have no idea who these people are that you think celebrate Steve Jobs' asshole behavior. Those are not people who actually know anything about him; those are randos on crappy tech forums if they exist at all. He was an unusual person with many good and bad qualities, not all of which were factors in his success.
Usually when people cite Steve Jobs' (or Linus', or anyone's) asshole moments as being somehow constructive, it's because they wish they could act the same way towards the people around them but they can't get away with it due to their own lack of power. It's not an attractive quality for someone to have. It's one thing to be somebody's lousy manager, it's another thing entirely to be envious of lousy managers.
> (p.s. the irony of posting such an offensive post by starring out the u in fuck... does he not see the irony?)
Linus is fully capable of writing "fuck", as evidenced by e.g. [1]. If he stars it out, assume it is a stylistic choice for that particular message.
> then I don't think I'd ever contribute to the LKML.
If you can't handle a message like that, then perhaps it's just as well. Note the context (though I can appreciate it may not matter to you, and that you simply won't contribute regardless of it):
A senior developer who have repeatedly made Linus exasperated by submitting code that Linus have had massive issues with, up to and including unacceptable levels of breakage, appears to have written code so idiotic that it should not even have occurred to him. 1 byte reads with sys-calls is a beginner mistake. Kay was/is not a beginner. He also had at that point had repeated complaints from Linus about the quality of his code, and showed no sign of listening.
This conflict eventually culminated in Linus making it clear he'd had enough, and will no longer merge code from Kay until he cleans up his act [2]
While I don't think I'd be as caustic as Linus, I can totally understand the level of exasperation that saga must have caused him given the series of issues in question. And at the point of this outburst, nothing appears to have worked: the stream of crap had kept on coming.
> While I don't think I'd be as caustic as Linus, I can totally understand the level of exasperation that saga must have caused him given the series of issues in question. And at the point of this outburst, nothing appears to have worked: the stream of crap had kept on coming.
I don't mean to put words in your mouth, but are you saying that being exasperated is justification to be arbitrarily caustic?
There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
It's a style choice, and I think both the choice to utilize it and the reception to it are heavily dependent on the participant's cultural background and upbringing. A lot of people see this kind of message, applied to someone who Really Should Know Better, as a form of tough love and half-tongue-in-cheek way to place extra emphasis on an important message.
Some people can form that understanding as the basis of their relationship and continue on happily, able to both give and receive this kind of criticism. To others, it is completely foreign and incomprehensible and they don't see the tongue-in-cheek at all and just interpret it as blatant, outright hostility, which is generally not the actual subtext.
I'm saying that sufficient exasperation makes it understandable whether or not it is justified. Linus is human. Humans are not flawless.
> There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
And a lot of people who "do not talk this way" are a lot worse by dealing with these kind of issues through backstabbing or veiled insults.
While some are saint-like and never say or do a bad thing to contributors, I don't buy that the lack of abrasive language in any way is a reliable indicator of civility.
I think Linus (and others) choose to stay verbally abusive because there they exist in a community that both facilitates and defends that poor behaviour.
There is a choice to be made. The choice stems from the basic mindset: am I fundamentally ok with verbally abusing people around me, or should I try to stop doing that?
I don't know what's in Linus' mind. Perhaps he is utterly incapable of never resorting to verbal abuse. But I doubt that's true.
It is in part a cultural issue. Realise that this form of "abuse" does not carry much weight in a lot of cultures. A lot of the strongest criticism of Linus comes from a cultural background where people are hyper-sensitive to direct language.
"I am upset and angry that you keep making the same mistakes."
No, remember the context: you've already used nice, direct words, and Kai has ignored them multiple times. Now you need to shake Kai's cage. Linus might have gone overboard, but his technique has more chance of success than yours.
Also, this is not a sterile corporate environment. The LKML is more like a dive bar than Applebee's and that's the way they like it.
If you equate 'sterile' with 'not verbal abuse', I suppose that's true.
Given that direct words were ignored multiple times, I would suggest that the next action is simply to not merge, without comment, after a final "You are ignoring us, we can't the time to keep correcting you. Your bad merges will be ignored without comment."
Such a path will get a developer's attention, and it involves no verbal abuse.
A problem with flinging abusive words around is that it artificially and needlessly limits the diversity of your community. Though, it might be that that's t
he intent:
"The LKML is more like a dive bar than Applebee's and that's the way they like it."
This debate exists on a spectrum of gray areas, but I'm pretty sure "you should be retroactively aborted" crosses the line from "shaking someone's cage" to "flagrantly excessive verbal abuse", if for no other reason than it equate's the target's worth as a human being with their skill as a developer, which is obviously not a healthy viewpoint.
I'm a big believer in 'spectrum of gray areas'. This particular quote from Linus is particularly bad.
What I want to firmly point out is the general community's level of acceptance of verbally abusive language.
There could be a debate about what constitutes verbal abuse, on a case by case basis. And that would turn into a mess.
What I'd love to see is the community acknowledge that using and even encouraging such language is bad for everybody, and it's bad for the open source movement, big time.
I agree with you. The problem I'm seeing in this thread relates to this point:
> There could be a debate about what constitutes verbal abuse, on a case by case basis. And that would turn into a mess.
Right now, a lot of people simply do not make the distinction between verbal abuse and direct language. In other words, they are arguing that we should not bother discouraging verbal abuse because it "shouldn't" affect targets any more adversely than direct but non-abusive language.
I guess it's a debate one can approach from many angles. But maybe you're right, perhaps focusing on highlighting why one thing constitutes verbal abuse and others don't is too semantic of an argument, and it's more productive to focus on the fact that just because one person has never been truly bothered by verbal abuse doesn't mean that should be the universal expectation.
Universal expectation? It seems you two are railing against a straw man. Abusive behavior, even on the LKML, even by Linus, is rare. If you feel as strongly as you seem to, please subscribe, form a first-hand opinion, and maybe contribute to positive change. (I contributed around 2001-2003 and really enjoyed it; I don't subscribe now).
Too many misunderstandings have been caused by well-meaning people reading too much into cherry-picked HN comments.
Hm. Because these comments are WAY off topic and have now drowned out the article and any rational discussion, I won't comment any further. Diederich, I hope you'll show more restraint with the Reply button.
The problem isn't that it's too abundant. The problem is that people make excuses for it every time it happens, instead of just saying, "Yeah, that was really verbally abusive."
I'm not trying to be pedantic here but, despite your quote marks, Linus never said that.
My interpretation of that email chain reads: anyone who is stupid enough to continue reading byte-by-byte after being told that it's a bad idea should be retroactively aborted.
The implied subject makes a big difference. (I still think it's over the line but I understand that everyone makes mistakes in the heat of the moment)
WRT what specifically Linus did and didn't say, that's a fair reading.
And everybody, myself included, says things out of frustration, in the heat of the moment. That's not what I'm talking about here.
I'm talking about how many (most?) open source technical communities are very much ok with language that is abusive. Indeed, many take pride in that fact.
When I say something that's inappropriate, I'll make a point of retracting it later on when I'm calm.
In the same video interview where Linus famously gestured toward Nvidia, he also said that he believes people capable of being offended should be offended. I suppose one could think of it as a way of filtering out people who focus too much on the messenger and medium rather than the actual message.
Random theory time: People who are harmful to the project, should be removed from the project. If you're not a company but an "open" project that can't fire people, you pretty much have to do this my making them not want to say. So if someone causes enough trouble, just pile on the verbal abuse until they get fed up and leave.
I think this is another false dichotomy. It's quite possible to efficiently limit the damage someone can cause to a project without resorting to verbal abuse.
Most simply, refuse to merge their stuff unless it has quality. You don't have to hold their hand; say: "You are making the same mistakes over and over again. Your stuff isn't going to get merged, and we're not going to spend any time explaining to you why."
For such a smart guy, Linus was being extremely dumb in this. Ok, I admit that's my opinion.
Most people are not going to see the context of that statement. I'm sure he had his issues with the developer and the relevant code, but that doesn't excuse such a public display. All he did in that matter is make himself look bad and, to a degree, made his project look bad. As it's been stated elsewhere, such actions most likely just drives people away.
Open source software, especially the big projects, are a public facing entity. Just like any large corporation. A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
> Most people are not going to see the context of that statement.
Most people are never going to contribute to the Linux kernel in the first place. Anyone who is likely to, is likely to 1) actually get at least some cursory knowledge about the community and the process, 2) not deal directly with Linus until they've spent a lot of time getting up to scratch, including submitting patches to sub-system maintainers, 3) get only polite responses from Linus if/when they do deal with him.
I don't think Linus has any reasons at all to be concerned about whether or not people see the context of the statement. The people who don't are not likely to affect his ability to do his job.
> All he did in that matter is make himself look bad and, to a degree, made his project look bad.
Any reasons why Linus should care?
> As it's been stated elsewhere, such actions most likely just drives people away.
Linux does not have a problem with lack of developers trying to get stuff into the kernel. If it drives away some good people, then so be it. If it makes some shitty developers think twice about ignoring repeated admonitions from Linus, then it seems to me like good use of his time.
> A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
From my point of view, the negativity tends to show up in discussions like this, rather than in forums where people are actually concerned with these projects. The level of desire for political correctness annoys me greatly. I find a lot of the responses here far worse than the direct language Linus sometimes uses because of insinuations and underlying implications of the statements.
I got it. Since so few people are likely to see the conversation then I suppose it's okay for him to belittle someone in such a manner. If no one sees you behave badly, then all's good.
If someone involved in a public facing project open to the masses doesn't care in any way how they appear in public, then that's just a problem that will likely never go away. I suppose as long as people are willing to accept the abuse then it won't negatively affect the project that much in terms of contributions.
Another one, got it. As long as people still continue to desire to contribute then other people's behavior is totally acceptable.
So far, I have yet to see any one person's comment reach the level of the quoted statement. If you can't see that then I guess we'll have to agree to disagree. Also, you are assuming quite a lot about my level of tolerance for political correctness. Simply pointing out that someone behaves in a bad manner and suggest that maybe there was a better way is not political correctness.
Again, we shall have to agree to disagree. Projects will carry on regardless.
>1 byte reads with sys-calls is a beginner mistake. Kay was/is not a beginner. He also had at that point had repeated complaints from Linus about the quality of his code, and showed no sign of listening.
This conflict eventually culminated in Linus making it clear he'd had enough, and will no longer merge code from Kay until he cleans up his act
Then this is all Linus had to say. This, exactly, is a great sentence on why you'll no longer be accepting code from a party, and sums up both what they can do to get back in, and what other developers can learn from this. There's no need to sink to insults, especially at the level Linus can dish out.
We have to deal with clients so clueless, I don't know how they manage to even email us with the stupid questions. But we're polite to them and when speaking about them publically. We keep the abortion-comments private, between the developers whenever we go out for happy-hour. It's not very hard for the open-source community to do the same. (I know the majority of the open source community does not do this. But a vocal minority do, and the rest of the community seems to be okay with this, when it's not okay).
Yeah, me too. We're paid for the lip service - that's our incentive.
Linus has no incentive, financial or social, to be nice to Kay. Chewing him out, however, probably lowers his blood pressure and saves him the time of refactoring his immediate emotional reaction into a polite response, both of which are probably critical metrics to him.
> If you can't handle a message like that, then perhaps it's just as well.
Such conduct is not tolerated in workplaces, where people are paid to contribute, why do you consider it acceptable in an environment where people contribute for free?
Okay, fine, remove workplace if you want to quibble about semantics and broaden it to "Most human interactions". Most human interactions consider a modicum of respect for the other party to be a basic requirement.
Because, you know, in your workplace, you are in an actual inferiority position. Your boss is the one that says how much are you going to be paid next month (or IF your are going to be paid), or whether you are going to work in a nice project or maintaining a 20 years old codebase. If he bullies you, verbally or otherwise, facing up or quitting might have dire consequences.
On the other hand, in most open source projects you contribute what you want, where you want, and if you don't like the project lead, it takes you as much as closing the browser window to quit.
That said, I don't really know if this is the situation of the people working directly under Linus. ¿Aren't the key kernel developers usually paid by big corporations to work there?
> Because, you know, in your workplace, you are in an actual inferiority position. Your boss is the one that says how much are you going to be paid next month (or IF your are going to be paid), or whether you are going to work in a nice project or maintaining a 20 years old codebase. If he bullies you, verbally or otherwise, facing up or quitting might have dire consequences.
Even between two coworkers of equal status, this behaviour would not be tolerated by a good employer.
Note that the above referenced "retroactively aborted" rant was not directed at Kay. It was instead directed at some unnamed developer who had set up kernel log handling in Debian with a "dd bs=1 if=/proc/kmesg of=/var/run/klogd/kmsg", which was copying the kernel log one byte at a time to a FIFO (presumably because something reading the log was better able to deal with a FIFO than whatever strange semantics /proc/kmesg has).
Kay had then made /proc/kmesg semantics somewhat weirder, by not blocking but instead returning 0 when the available buffer wasn't big enough to read into; normally, returning 0 to a read indicates that the file has been closed, while if there simply isn't data available yet the call is supposed to block until it is.
So Linus was asking Kay to fix the issue, but also making an aside about how stupid it is to try to read one byte at a time from the kernel.
Now, there was the other incident you mention, in which Linus did get upset enough at Kay for not responding very well to a big report, but this one was not that; he was merely asking Kay to fix a bug, and cursing out some unnamed other developer for having done something as dumb as byte-at-a-time reads.
Not really defending either side here. I find Linus excessively caustic on these issues, and Kay a bit too unwilling to admit when he needs to fix a bug. I feel like Lennart gets way more hate than he deserves; he can be a bit difficult to work with sometimes, but it's crazy how some people think that he's single handedly out to destroy the Linux ecosystem.
I run a lot of software originally written by Lennart (Avahi, Pulse, systemd, heck, I recently even started using ifplugd on systems that still needed to use ifupdown but we wanted to respond properly to network cables being connected and disconnected), and find that it tends to be higher quality, more well designed, and more stable than a lot of the other code in the stack. Due to the fact that much of it changes the "traditional" way that systems worked to a very different but friendlier way, there tend to be a few integration issues along the way for early adopters; if you don't want such integration issues, it's probably best to use a stable distro like RHEL/CentOS or Debian Stable, rather than a quickly updating distro that ships code that's not yet ready for primetime like Ubuntu, Fedora, or Debian testing/unstable.
Why is is that each time offensive Linus quotes are used only a handful of them show up ? Over the thousands of emails that have been exchanged in the last fifteen years there surely must exist a bigger variety.
1. very nice.
2. receiver of whatever shit (including good shit) people send.
3. productive.
4. responsible to make a critical system work.
5. a filter of bad code.
6. ...
I'm wondering what kind of world you would like instead? Would you like those mailing lists to be an environment similar to what you have in the mass media, where political correctness and hypocrisy is rampant, and anytime someone crosses the boundary we use words like 'hate'?
Wait.. but what the guy did (whoever is) is really stupid; of the unbelievable type..
Now i imagine that Linus suffer a tremendous pressure to not let any bug pass, cause everybody in the world would eat his liver if there's a smallest security hole in the Kernel
Millions of lines of C code, that run in every gadget we can think of, the guy is stressed out; and you have a "code terrorist" do deal with?!
Also Linus has a strong personality, everybody knows that; so i dont see this as something bad as its being painted here; And we have to take the cultural background into account; i prefer the German/Nordic tought/transparent way than the hypocrisy/"you are great, but i will stab you when you turn your back" kind of culture (and im from a relaxed kind of culture)
Incidentally, I find it very sad that we can't discuss this on HN. What has happened to Lennart, and the behaviour of Linus Torvalds as a bully, is probably something decent to talk about.
It's not that we "can't" discuss it, you just have to be prepared for the discomfort of disagreement from both reasonable and unreasonable positions. Bad positions will be argued well, and good positions will be argued poorly.
The empathy to understand issues from stances you disagree with is necessary to make arguments that sway people to your position. The ability to be as critical of your own positions as those you disagree with is how you ditch silly ideas and improve the defense of your good ideas.
The reader has to put in more effort than looking at a salty conversation and coming out the other end saying "gee, that was frosty, therefore I don't have to think about the issue seriously and can conclude the position I had going in was right all along." It may not be ideal, but making the best of a bad situation is a practical approach often necessary to get anything useful done. Do you want to change minds or do you want to indulge in the comfort of showing everyone just how right you are?
I think the parent was referring to HN's ranking system's tendency to apply a penalty to posts with many comments, in an effort to keep flame wars off the front page (if I recall correctly - it's been a while since I saw a "how HN ranking works" post and I can't find a source url, sorry).
This has the side effect of divisive issues not getting the same exposure as stuff everyone agrees on.
No, really, historically it's been impossible to discuss. People flag the article off the front page or downvote anything negative about Linux or open source the same way they do anything positive about Microsoft.
Linus Torvalds is not a bully. He's in charge of one of the biggest and most successful project out there. And this project is open-source, and anyone can contribute to it. Anyone. Even your cat. Imagine the Windows codebase being opened to anyone, with anyone being able to suggest fixes and send patches, or ask questions, or make suggestions.
You do not want any idiot to commit insane things. You need to have some barriers. And these barriers are related to technical skills.
You have to understand that the alternative to "Linus is mean" is "Linus let a fucking patch enter the kernel, and it broke millions of machines around the world, causing millions of dollars worth of damage". Every single line committed in the kernel must be carefully checked, and if you lack the skills, just go away, because it will (1) spoil the precious kernel maintainers time and more importantly (2) do damages to millions of users.
So I am personally very glad Linus is "abrasive", because when someone screw up, he makes it perfectly clear, and this is totally appropriate considering how critical the linux kernel is nowadays.
And yes, if you want to live in a politically correct, nice, cheerful project, this is not the project you need to work for.
[Having said that, I do not think Linus has ever been dishonest (such as refusing a patch only because he did not like its author, unlike some C-library guy), which is precisely the reason why his abrasiveness is perfectly fine to me]
You realise that there are large, commercial projects that are just as high stakes as the Linux kernel or arguably even higher stakes, and they manage to operate with reasonable team dynamics? There is no correlation between "runs an important project" and "must be an asshole" even though certainly everyone has off days from time to time (I've been known to flame people when reaching the end of my tether but usually regretted it later).
I think this notion - which Linus pushes - that the alternative to yelling at people and generally being short tempered is always "political correctness" ... well it's quite harmful. Yes, it CAN get that way, if people interpret criticism of their work as personal criticism and try to shut it down by complaining about it. I've seen that happen before. Some people don't know how to handle someone implying, even if politely, that their work sucks and can't handle it. But that doesn't mean it has to be that way and well functioning teams manage to avoid it.
You realise that there are large, commercial projects that are just as high stakes as the Linux kernel or arguably even higher stakes, and they manage to operate with reasonable team dynamics?
I wonder about those projects sometime. If we took all of the conversations that ever took place at their office and stuck them online and in public. What would that be like? How many journalists and bloggers would find inflammatory quotes that can be published out of context to shame the person who spoke those words? How would Linus stack up next to John Doe of the Foo project?
Or, think about everything you read, said, wrote or heard at work over the last month. Now imagine hand wringing blogposts about all of it. Especially the things that you want to exclude from this thought experiment because they would have never been said if your only communication method was a public mailing list.
I don't understand this perspective. One can be a very effective guardian of quality without being an asshole about it.
For example, this is what Linus wrote:
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE FCKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the fck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?
Linus"
Instead, he might have been able to write something like this:
"It is a very bad idea to read one byte at a time with a system call, for a variety of reasons, including and especially performance."
I would love to hear how being an abusive asshole actually does any good? I see it as a way to artificially limit the size and diversity of the potential contributor pool.
Had this been Kay's first mistake of this magnitude, it would indeed have been reasonable to expect Linus to have been more civilised. Anyone who has followed this more closely would know that this was nowhere near the first time Linus had issues with his code. Yet he did not appear to be interested in listening no matter what Linus told him.
The old writers' saw runs "Show, don't tell". It speaks to effective communication. It applies here.
Consider which is more effective in person - the phrase "I am angry" uttered in a calm tone of voice or profanity and insults in an angry tone of voice. One of those states anger. The other communicates anger.
Kalium, you bring up the strongest point in favor of defending and using verbally abusive language.
I've been through military basic training, and such language is routinely used because it is quite effective at communicating error by breaking down mental resistance and barriers to correction.
In that case, the potential for emotional harm is outweighed by the net reduction in the probability for physical harm on the battlefield if such lessons aren't learned absolutely.
Make no mistake: the kind of language Linus (and so many others in our community) uses can and does cause emotional harm, primarily to people who might be called 'thin skinned'. This is discriminatory against some personality types.
In the balance between using verbally abusive language to more effectively communicate error and not doing that, I believe there's no question: verbal abuse is wrong, and should be avoided, and not defended. There are other ways to accomplish the same thing, without all of the toxic side effects.
I agree, there are other methods to accomplish the same thing without the toxic side effects. That is not in question. The question is if those methods produce superior outcomes, as a lack of the side effects in question does not by itself represent a superior outcome.
Remember, the goal of an open source project is useful code. A friendly and emotionally supportive community is only desirable if it aids in achieving that goal.
This is, I think, a variant on the 'ends justify the means' argument. But sure, we can talk about that.
I concur that open source projects' primary and over-arching goal is and should be to produce good code.
When the leader of a project freely (though not so frequently in this case) uses verbally abusive language, that has the strong effect of limiting the diversity of potential contributors to the project.
I'm willing to assume that a more diverse project tends to be a project that will produce better code.
In this particular case, bad code wasn't included in the project. The abusive language did nothing to stop merge of bad code.
So did verbally abusing this developer somehow cause his/her future contributions to be of higher quality? I don't know the answer to that.
Or perhaps did this verbal abuse generally raise everyone else's code quality, because they didn't want to become a victim as well? Perhaps.
One thing I am certain of, though, is that such choices artificially and severely limit the possible side of the contributor pool, and that's bad.
An open, warm, inviting, inclusive, and friendly community that cannot author useful code is of immense social value but very little technical value.
I'm not willing to assume that a more diverse project and larger potential contributor pool will automatically produce better code. Not all contributors are of equal value. Some contributors are of net-negative value, particularly those like Kay who persist in such. It is highly desirable to limit the potential contributor pool to as few of those individuals as possible.
Size is not the sole meaningful measure of a contributor pool. Quality is equally - and often more - important.
When dealing with matters tangential to a core purpose, sometimes the ends do justify the means. When was the last time you thanked an open source developer for stopping development on features you needed (perhaps permanently so) in order to encourage the surrounding community to be nicer to one another?
The diversity that I am talking about has nothing to do with the variability of code quality. Like you, I want to produce and to consume the best possible code.
The diversity I'm talking about is in personality types. There's a lot of people, even on Hacker News, even in this thread, that would be excellent technical contributors to the Linux Kernel, except they have a personality type that requires them to spend more emotional energy dealing with verbal abuse, either directed at them, or just being flung about.
As you say, size isn't the most important measure of a contributor pool.
In my mind, angry, hateful language, especially if it is accepted by the whole, will greatly limit the amount of talent available.
Good development and merge practices has and will continue to keep bad code out.
And note, I have not said anything about being warm, friendly or inviting. I'm not necessarily suggesting those be specific goals.
Finally, nowhere have I suggested that anybody stop working on features, and instead 'encourage the surrounding community to be nicer to one another'.
A diversity of personality types doesn't guarantee better code either. I'm suggesting that there's a tradeoff to be had with the various aspects of open source that require time and energy. Spending an increased amount of time and energy on supporting a personality-diverse community (and less on other things, such as writing code) should not be assumed to automatically equate to better code.
There is a very real possibility that angry language results in an increased ability to ship code by discouraging more net-negative contributions than net-positive ones.
I disagree. He can produce the same excellent product without his childish name-calling. His ability to read and accept commits does not depend on his menacing replies to bad commits.
Just curious - have you read some of Linus' posts referenced?
I personally don't think that a reasonable person who is familiar with such emails could honestly say that Linus is not a bully or that such behaviour is ever acceptable.
Being in charge of a very important project doesn't make it OK to tell people that they're so stupid they should have been aborted.
>> You have to understand that the alternative to "Linus is mean" is "Linus let a fucking patch enter the kernel, and it broke millions of machines around the world, causing millions of dollars worth of damage". Every single line committed in the kernel must be carefully checked, and if you lack the skills, just go away, because it will (1) spoil the precious kernel maintainers time and more importantly (2) do damages to millions of users.
This is a false dichotomy. You can tell people to go away or get better without telling them it'd be better if they'd never been born or wishing violence upon them. I honestly don't have a problem with Linus telling somebody their code is terrible. Linus has often taken it to another level in belittling and abusing the people around him.
Linus has a pattern where his first (or second) reaction to an issue is to START SHOUTING AND NAME CALLING in an attempt to shut down discussion. If the issue blows up he comes back and gives a reasonable, considered response. It's a pattern that's not helpful.
He's just one guy. Not an apologist; the guy is straight out not a great communicator and not really expected to be. But somebody has to be gatekeeper. Whoever that is, should do it to the best of their ability. This is likely the best he has to offer.
I work on a project which sells millions of units each year. You could also argue that idiots committing code to the code base should be stopped. Yet I am very certain that if my manager started calling anyone an idiot and telling them they should have been aborted, he would very likely end out of work very quickly. Yet somehow it's acceptable of Torvalds? How? Good quality work can be done without telling people they are pieces of shit.
I think another issue here is that those who idealize the Jobs/Torvalds way of doing things automatically assume that they're going to be on the "good side" of things. The same way people who idealize things like eugenics know that their genes will, of course, be allowed to spread.
What they don't seem to realize that its more likely they'll be on the receiving end of the negative traits they applaud. Either by an occasional screw up or because Mr Bossman is having a bad day. To be humiliated in public like this is often very painful, even for the thick-skinned. The day that happens, they're lawyering up and getting HR involved because, how dare someone yell at them. In their minds, the yelling only happens to someone else, the imagined dumb peons they see themselves as being above.
I think way too many techies seem themselves as John Galt-like supermen, and that the negative consequences are for the sub-humans. There's a real dynamic of here of dehumanizing others that's often swept under the carpet. I think this dynamic is sociopathic.
To get some insight behind linus behavior, I can strongly recommend his Q/A for latest debconf (https://www.youtube.com/watch?v=1Mg5_gxNXTo). It was quite interesting in how much he seems to like to exaggerate things, like the retroactively aborted comment, or how he can make two following sentences with "it is a horrible license" and "it is a great license" regarding the same license.
Linus do not seems to be a person one should quote, as context seem to be critical important for anything he says.
Linus' behavior is one that is necessary in order to work with the dominant culture in OSS, particularly white males. The open forum insults to establish the pecking order, and to deter thin skinned people is one that is also abundant in other cultures where open forums are used for establishing the hierarchy. One such example are some East-Asian cultures, such as the Chinese.
The question is, is this method of selection conducive and is the use of obsessive aggression costing open forum projects like OSS through selective acceptance? There may have never been an alternative to the extremely abusive nature of white-male dominated cultures in the first place in regards to projects in open forums.
It has little to do with "white males" and more to do with Open Communities with no barrier of entry needing to be extremely dismissive when a standard is not met, to make up for said lack of barriers of entry.
The vast majority of OSS projects that don't start from a strong core fail miserably and it's because of this. People extrapolate their real life professional behaviour to a virtual, open scene where assumptions of competence and commitment fall flat massively.
If anything, OSS needs more people like Linus Torvalds and Theo de Raadt managing projects and not post modern clowns with "white male" guilt. It's not by chance that Linux is possibly the biggest success in OSS history with real community contribution, and most of the others have been carried out by their respective cores with very little external output.
American PC behaviour is a disaster for OSS and that's why a lot of OSS is "awful" where it matters, which is in quality, in competitiveness and in leading the industry. Companies like Google and Mozilla lord it over OSS projects that are basically "glass house" corporative projects with extremely little external contribution (other than forking code from Linux, Apache, BSD, etc).
If anything the OSS is not dismissive enough of shit and this is holding us back.
> in particular ones where losing face is a major issue
This touches an interesting point. Feedback must be accurate. If you are actually provably wrong, I am not doing you a favor by telling you you that you are "not right". Losing face is a fact of life. When I'm wrong, I want to know I am wrong, what I am wrong about and just how wrong am I. If possible, tell me what can I do to be right the next time.
It must also be kind. You do not point someone is wrong to humiliate the person and you should take care not to (I try and I fail more often than I'd like to) fall into the trap of judging a person for his or her first efforts.
Having said that, I am almost sure all the exaggerated discourse on the Linux kernel mailing list is not really part of the message, but should be understood as more like a sport, a game, where the one with the most elaborately crafted insult wins. When Linus says you should be retroactively aborted he most likely wants to say you are very wrong and your idea is really bad and that, maybe, you should be more thorough the next time you submit a patch. Their time is a finite resource.
Is this the most efficient way to run the community? Probably not. We just don't know what is the most efficient way to do it and it can just be that Linus found a local maximum.
>If you are actually provably wrong, I am not doing you a favor by telling you you that you are "not right".
Saying "you're wrong" isn't the issue here. Saying "your mom should have aborted you and i hope you die" is the issue. I don't think people in cultures where losing face is a big issue much care if they're told they're wrong. They care is they're told they are so wrong they should kill themselves or be killed. Honor killings are unfortunately still a big deal in some parts of the world.
What you say in defense of the mailing list insults is the same thing that has been said about casual racism or casual misogyny in other groups normally dominated by white men. It scares away other groups and cultures, and it's not acceptable anywhere.
> Saying "you're wrong" isn't the issue here. Saying "your mom should have aborted you and i hope you die" is the issue. I don't think people in cultures where losing face is a big issue much care if they're told they're wrong. They care is they're told they are so wrong they should kill themselves or be killed. Honor killings are unfortunately still a big deal in some parts of the world.
This. Absolutely. The issue is the personal attacks. I've considered delving more deeply into the linux world, but why would I want to willingly go into a place where my constitution is insulted by those who know little-to-nothing of my constitution, let alone my character.
To the individual who commented on the fact that "time is a limited resource" ... so are intelligent people. That you would sacrifice a person (sacrifice them from your project, or committing to your work) by insulting them shows me to avoid your organization.
Maybe, just maybe, "your mom should have aborted you and i hope you die" is just an overly elaborated form of saying you are wrong and should not be taken literally.
> They care is they're told they are so wrong they should kill themselves or be killed. Honor killings are unfortunately still a big deal in some parts of the world.
Nobody is wrong enough to warrant that. I see the "elaborate insult" thing can get out of hand, but, still, it should not be taken at face value. I believe the proper way to deal with this is to either engage in an escalation of extremely elaborate insults (provided you accompany that with technical argument defending your "bad" idea) signalling the insult is not the topic being discussed (but it's "adorning" the arguments) or stating, privately, that the insult crosses a line and asking the person to please not to that again. It usually works.
Disclaimer: I am a caucasian straight married male in his mid-40's. I probably belong to the demographic least susceptible to bullying and some of the situations described here are probably very alien to me. I appreciate constructive feedback, however. I do not know how the moderators would react to an insult war, however, so I advise against it, even if you think it proves your point.
Even LKML is a generally pleasant place. Linus' well-crafted insults gets a lot of attention because technical discussions are not interesting to people not involved in kernel development.
LKML gets thousands of emails every day. The bulk of the discussion is actually very civil.
How common is it that people are provably wrong, in the logical sense? Most disagreements aren't of the form "here is a black swan that disproves your statement that all swans are white". In OSS the controversies tend to be disputes about which use cases are important and which subjective requirements of software (usability, licensing, interoperation) are met.
I googled his name and as soon as I read what projects he works on I instantly knew his complaint was perfectly valid. Probably the most hated Linux projects ever devised, and for purely political reasons.
I wouldn't say his projects were hated for political reasons. They were hated because they were a central piece of software (sound for PA the init for systemd) and they were released unfinished.
It's certainly wrong to turn that to personal attacks against him, but I can understand why people disliked PulseAudio then Systemd - and even hated these projects because they caused breakage in numerous systems, hours to try to fix it, and ended up with justifications like "it's by design" or "you don't understand why but it's better this way".
Isn't that how open source is /supposed/ to work? TBH, as a Debian user, I'm quite happy with the "Lennart releases theoretically brilliant but practically buggy apps, Ubuntu / Arch users suffer for a few months, Debian integrates the system once it's stable" workflow :)
Nowadays the workflow is more or less back to the reverse direction: Debian first and Ubuntu later, with the added benefit that Debian maintainers are rather more dependable when choosing the version to be packaged. :)
systemd has always worked quite well for me and the transition in Debian has been incredibly smooth, so I wouldn't consider it "unfinished".
PulseAudio was unfortunately released in Ubuntu even before Lennart & co. declared it releasable, so it was Ubuntu's fault if it gained a reputation of being "unfinished" (indeed it was, but it was not a fault of the PulseAudio team).
I agree. It's disgusting. Luckily he's a brilliant engineer and was able to withstand the flames long enough for people to recognise how good his software is.
Pulseaudio and systemd are two of the best things to happen to Linux in years.
Pulseaudio took way too long to get ironed out, IMHO. ALSA was bad in a lot of ways, but was workable. I agree moving forward is good, but the issue with alot of OSS software is it's used a replacement for working software when it's not quite ready. PA was not ready for primetime when it was initially released. Everyone knows this. It works fine now after many fixes and considerable time. systemd is the same. A lot of people dislike change and systemd is a radical shift from the init that was. While I still prefer the old init, I'm not shying away from using Debian because of it. What I don't like is the hooks that systemd places into software it has no business touching, like Gnome. Userland software should not be touched by this. Full stop. An init system should do one thing well. Userland software shoudl do what it does well. In too many growing instances, systemd is a requirement for userland software and this should never be.
> Pulseaudio took way too long to get ironed out, IMHO.
Have you considered that a flexible, high-quality OS audio subsystem might be difficult to bang out in one weekend?
> ALSA was bad in a lot of ways, but was workable.
Are you kidding? Every desktop install before pulseaudio was a crapshoot when it came to audio.
> I agree moving forward is good, but the issue with alot of OSS software is it's used a replacement for working software when it's not quite ready.
No-one forced anyone to switch to pulseaudio, and has any software ever been perfect in release 0.1? I personally upgraded straight from Debian squeeze (default ALSA) to wheezy (default Pulse) without a single issue, because pulseaudio wasn't integrated until it was stable.
> What I don't like is the hooks that systemd places into software it has no business touching, like Gnome.
It's not like systemd people sneaked their "hooks" into Gnome. Gnome switched to systemd interfaces (e.g. logind) because they fixed real bugs!
> Userland software should not be touched by this. Full stop.
It isn't! Developers are just switching because it is better.
Wow. This post is a good example of the baseless accusations Lennart has to put up with.
With PulseAudio's development methods it'd be difficult to bang out a flexible, high-quality OS audio system in any finite amount of time. For example, they merged a patch in I think 4.0 that was literally incomplete - it changed the undocumented and uncommented internal interface between resamplers and the rest of PulseAudio without updating all of the resampling code to match, so if anything used the non-updated resamplers PulseAudio crashed. Their official volume control app used one of those resamplers; using it caused PulseAudio to crash randomly. This was eventually fixed in 5.0 by reverting the offending change, but of course it came with a bunch of new features of questionable quality. (Not sure if there were any regressions this time around; I gave up trying to track down PulseAudio crashes after that one.)
What he's done to many people's systems, mine included, is pretty horrible. He doesn't deserve death threats. But users should be able to opt out of his software, and he's deliberately making that as hard as possible.
OK, that's a technical matter. That's not what he's upset about, the issue is bullying. I think, also, that you are pretty unreasonable yourself there - he's not making things deliberately as hard as possible. Nobody told the Debian guys to standardize on systemd.
It's not purely technical. Pottering absolutely has attempted to force adoption, if not directly with the distros then with the gnome integration. Systemd has succeeded where technically better alternatives failed by encouraging downstream software to hard-depend on systemd, rather than offering/conforming to a standardized interface, which is a dirty tactic, user-hostile and technically damaging. And the refusal to accept patches to add support to non-linux systems to systemd is technically indefensible and completely antithetical to the spirit of open source.
Lennart didn't force anything on GNOME, please stop these false claims.
The GNOME developers simply had two choices: keep using the old, bug-ridden and still-unmaintained ConsoleKit or switch to the simpler, more powerful logind D-Bus interface.
ConsoleKit is still more-or-less supported upstream, but given it's extreme bugginess many distro choose to disable it and rely on logind interfaces.
Note that this does not mean that GNOME depends on systemd: as long as something else is implementing the needed logind interfaces (eg. systemd-shims) GNOME will happily run.
And no, a maintainer refusing patches is absolutely not "antithetical to the spirit of open source". The spirit of open source is that you can fork if you don't agree with a maintainer. It's simple as that.
As someone who thinks systemd, as well as the entire OSS practice of "we're bored, let's re-invent the wheel"[1], is taking everything in the wrong direction: you still don't handle this with abuse. You deal with it via forking.
If systemd was willing to conform to a standardized interface, published on freedesktop.org or similar, so that it was possible to swap out compatible implementations, I would agree with you. But instead the systemd folks deliberately make incompatible changes that they know will break non-systemd systems (e.g. Gentoo). At that point a fork does no good; it's "dos ain't done 'till lotus won't run" all over again.
The good old "design by commitee", catering for a still-unexisting alternative init system implementing the same interfaces?
No, thanks. systemd's interfaces are publicly available and with good enough documentation. Most of them are even declared stable, only the internal ones are obviously free to change.
In fact many project are now attempting to reimplement systemd's interfaces as this is how FLOSS work.
You don't have to design by committee, but you do have to publish your interface and commit to keeping it stable. Yes, this slows down development, but it's essential for interoperability.
Of course the alternative doesn't exist yet when the interfaces change every week.
And systemd's definition of "internal" is rather dubious; to most of us, udev or journald should be separate components that can be swapped out.
Open source projects often have small numbers of people who know each other quite well. Even these projects can have toxic people as members of the group.
And people are capable of being assholes under their real name. Read comments in any online newspaper for examples.
Online communities need to work their way between no vested contributors and avoiding concern trolls.
I'm not sure how this pertains to Open Source communities across the board..? Seems to be a pretty targeted indictment of the Linux dev community. There are plenty that don't stand for the type of bad acting described here.
The problem is that the Linux kernel is one of the longer running and most influential open source communities so too many people have picked up the idea that because Linus can say something mean, it's okay for them to do it, too — as long as they're technically correct, of course, but which flame-warrior doesn't believe that they're correcting an error?
It's easy to see that in some quarters this is certainly true. People are allowed —even encouraged— to smack people down if they're being ridiculous... But this isn't the rule.
As an Ubuntu member, I'm expected to behave. In our derivative communities, we try to ensure that people adhere to these principles too. Ask Ubuntu (part of Stack Exchange, not Canonical), for example, also requires people to adhere to the Ubuntu CoC. Ubuntu Forums and IRC have similar behaviour guidelines.
Does that mean it's always civil? Of course not... But it does mean that nobody's surprised when people are tossed out for being needlessly rude and the non-technical flame wars of the late 90s just don't happen.
I'm not an Ubuntu contributor, but I have to give credit to the Ubuntu community in that they do try to create a welcoming place for contributors. Of course, no one's perfect and I'm sure someone will dig up a counterexample, but this has been my experience over the course of many years of interactions with the community.
I agree somewhat with Lennart. The Libre/OSS community is full of egotistical asshats -- generally western and in their 30s and 40s. What's funny, though, is that not all camps in the community are that bad. The Linux camp has deteriorated in recent years -- I've noticed it myself on several occasions. The BSD camps don't suffer near as much from the nonsense that occurs on the Linux side. I think there are several reasons for this. One I have notice in person working on both sides is that the BSD crews tend to be more professional overall. They love UNIX and the goal has always been to create the best UNIX-like OS around. The BSD license is arguably better IMO as well. Quite a few Linux devs, both kernel and userland, are grossly immature and tend to be vocal closed-source opponents for the sake of being vocal. The world cannot be all closed source or all open source. There is room for everyone. Most of the issues with people I have had over the three decades I've been in IT have been with Linux-based devs and users. Without exception all BSD guys and girls have been the pinnacle of professionalism. I think this speaks volumes and is quite telling. This is not observation from one workplace -- this is over many, many years in different work spaces, different cultures, states, whatnot.
All things considered, I have been seriously thinking of moving my core infrastructure over to FreeBSD/OpenBSD to avoid the coming (well, here already) continued balkanisation of Linux. The code quality of Linux has deteriorated of late as well. I've noticed it. My BSD test boxes running the same software suffer nary a hitch. Debian seems to be sane still, as does Slackware, but for how long. This ridiculous systemd battle is bonkers.
Interesting viewpoint; I don't have the same perception, but communities are big, so you might be right. Do you mean purely the sysadmin community in workplaces, or also the developer community? For developer communities, the BSD world seems to have a pretty wide range of community friendliness, but I wouldn't describe it as uniformly pleasant and professional. Certainly the OpenBSD community is not that: there are many good things about de Raadt, but the tone he sets is more one of combative-and-right than pleasant-and-professional (and he's not the only one in the community with that tone). He's no less prone to flamage than Torvalds, anyway. The only really friendly BSD developer community I've encountered is the NetBSD one, which seems to make an active effort at cultivating a certain ethos. FreeBSD is maybe somewhere in between, though I think trending friendlier compared to some years ago. Some sub-communities are also quite pleasant, like the ZFS one (which lives a bit more in Illumos-land, but has a lot of BSD contributors as well).
I'm talking devs and sysadmins. I agree with you that NetBSD is the friendliest of the bunch.
Theo de Raadt is a great guy. He gets a bad rap when it's undeserved. What the OBSD guys is very serious stuff. He gets a lot of flak but running an OS and security software project as successfully as he does takes a strong personality. He has that, and in the real, he's a nice, friendly guy. He simply has no tolerance for people with no merit and nothing to add. Anyone would be the same.
I've met a couple of snarky FreeBSD admins, but they were also Linux and Windows admins at the same time. These two guys were full of themselves regardless of platform.
BSD (in general) tends to be more polished than Linux and suffers fewer bugs out of the box. Again, this is what I've noticed. I've yet, in almost 20 years of using FreeBSD off and on, ever had an issue with it that was a deal breaker. I cannot say this of the various Linux distros.
I've never used BSD before, but from reading FreeBSD's BSD vs Linux [0], I can't see a major difference aside of the license, and the number of distributions available. Can you please explain what made you go on off using BSD/Linux?
I have noticed over the last ten or so years that FreeBSD in particular is ridiculously stable -- far more so than any Linux distro I have tried, including Red Hat, CentOS, and Debian.
I have stable Linux machines running Debian and I have FreeBSD test machines running the same software. FreeBSD uses less resources (exact same HW), tends to be slightly faster, and is arguably easier to admin on a daily basis. Let's not even mention ZFS, which is remarkable in its own right. I'm impressed. I once ran an OpenBSD pf firewall that supported almost 200 users on some seruously underpowered HW. This thing's load average was always ridiculously low. Ditto FreeBSD now. What will cause the Debain machines to peak out sometimes, FreeBSD doesn't seem to notice. Interesting and a bit impressive.
I also like both FreeBSD and Debian (have no real experience with the others). But on performance it varies a lot by workload. To take two examples: over the years at any given point in time, FreeBSD has had a better networking stack than Linux, but worse scalability to large numbers of cores. Though there is some ongoing sponsored work on the latter [1,2].
I really don't appreciate the ageism in this comment. It's unbelievable that in this industry you don't meet 20-something asshats so that you have to single out people in their 30s and 40s.
Grown men? You could've just said "adults". You're making an implication you don't want to, I hope, and one which needlessly maligns a whole group of people. That's the same thing pekk was responding to, albeit less explicit. Nobody likes reading "your demographic, specifically, is horrible." Saying it is unproductive and damages the speaker's credibility as someone with politesse - a particularly bad thing in this conversation, given its topic. It is entirely possible to call out ashattery without resorting to prejudice.
But what about young men? Or young women? Or grown women?
While I don't necessarily agree with pekk that saying "30s and 40s" is ageism or discriminatory at all, saying "[people] are never offended at stuff like this" is exactly the problem the tech community is trying to solve with being more inclusionary of other people and cultures. Yes, people do get offended at offensive remarks. No, not everyone sees them a joke.
You tried to open a flame war over licenses in discussion about hostile attitude in the open source community. Great work.
"The GPL license is arguably better IMO as well. Quite a few BSD devs, both kernel and userland, are grossly immature and tend to be vocal copy-left opponents for the sake of being vocal."
This post would be interesting if there wasn't the “all others do it except us” accusation. Systemd zealots are exactly the same with any other open source community's zealots and systemd's diva devs are exactly the same with any other open source diva devs.
Seriously why would you work on open source if the community is that bad. It's not open source in general though. Some projects are great fun to work on. Just change which project you're working on.
Absolutely. I'm not saying it's acceptable, only giving background. "I'm being blunt." "I'm just being honest". etc. These are not excuses for being an asshole. The same information can be shared without being an asshole about it. Being an asshole towards others publicly on the mailing list is just another form of bullying. If he wanted to be blunt or whatever, he could do it in private messages. There is no need to publicly shame people.
The whole post is just a weak assertion. Linus does run a really large project with many, sometimes random, contributors quite efficiently and it's not possible to tell whether it's because, despite, or regardless of his style with a sample of one.
I'm also reasonably sure that Lennart Poettering's experience does not generalize. He is rather unique within the Linux community.
Exactly. If there are some guys that tell you that what you do is wrong, you may be right. If everybody tells you you are wrong, maybe, well, you are wrong.
Coming from almost anyone else this might be reasonable, but him? Just pointing out someone else is an asshole does not negate you being an asshole.
Honestly, it's people like him and the systemd noise on all sides that have made me lose faith in Linux. By contrast Linus has git too, which is potentially as big a contribution as Linux was in the first place. History may even demonstrate git is the more important contribution, because as it stands Linux as a potential platform for end user deployment, except as part of Android or Chrome OS, is basically dead now.
His entire m.o. is passive aggressive asshole, whereas Linus is balls out asshole, but has the relatively unique quality of being right more often than not.
I'd even argue this post is lennart using the genuinely disgusting antics of others as a way to deflect potential criticism of his work in future. This is why, like Drepper, many view him as a long term liability to the ecosystem as a whole.
That's odd... I thought passive-aggressive is when you're deliberately failing to do something you're supposed to do and capable of doing, but what he's usually accused of is actually doing too many things - please clarify this apparent contradiction.
Here is one of his more infamous statements: http://lwn.net/Articles/430699/ "What I actually suggested in that interview was not so much that the BSDs should adopt the Linux APIs, but instead that people should just forget about the BSDs. Full stop."
He's also been an annoyance in Steve Langasek (Upstart developer)'s Google+ feed, and his post regarding the inseparability of systemd-logind as a main argument for why Debian should adopt systemd, at the time of the heated debates, is another. Among plenty of other examples.
That said, Lennart does not deserve the death threats and the extremer vitriol, but the jabs and sardonic humor are par for the course, given he is a divisive figure, and has made a lot of people mad for good reason.
He's not as abrasive and destructive as Drepper is, certainly, but some people actually find indirect and passive-aggressive attitudes to be even more offensive.
Linux has become simply the invisible platform upon which so much runs. This is true by virtue of not only Android, but other stuff. Take notice, though, that more and more businesses are shunning Linux in favour of BSD. PS4, most routers, switches, increasing numbers of embedded chips now run NetBSD and OpenBSD (esp. in wi-fi security space). Businesses are also increasingly wary of the GPL and using maximally free licenses like the BSD/ISC/MIT. I'm considering this myself.
Can you elaborate on why this is a concern for you now as opposed to 10 years ago? As far as I'm aware, nothing significant about licensing, best practice, or case law has changed. (Linux didn't adopt GPLv3, so...)
Developers in the Linux space the developers get nervous when vendors want to take it and graft DRM/black box components on the side and not document them or allow others to do the same. You can do this under GPL with a hardware-assisted solution, but not in pure software. If you treat your firmware as part of a black box where the keys to the kingdom are baked into the firmware, then you're probably better off with something that isn't copyleft.
Me too. The platform for end-user deployment is largely the browser. That's not Linux but the servers behind them are. And with 80% of smartphones on Android, along with a slew of other embedded devices, Linux truly does stand in a strong position. Further, most 'big data' is driven by Linux.
I think this is an important point for people to accept, acknowledge, and keep in mind as a reason to strive harder to be open and accepting to people, especially those you don't agree with.
I got a bunch of attacks from members of the open source community, due to developing my XML parser. ( Grant McLean and others ) I also got attacked by Poul-Henning Kamp, and then threatened that he would "shame" me for pointing out bugs in his software that he refuses to acknowledge. Additionally, the founder of Perl Mongers, Brian D Foy, argued with me about the naming of my application framework, and then refused to approve the naming of my module even after other people on the newsgroup discussed it with me and we came to a good resolution. ( which led to the vanishing of "registered" modules on cpan imo )
The open source community, at large, is not a happy helpful place, and I have gone through a lot of harassment just contributing my own free open source stuff to the world. Also, I can't say I have ever been thanked for contributing. Just kicked in the face.
I am referencing names of individuals so that people can lookup these events and see the truth in what I'm saying; NOT to shame these people. They are all good developers, and I value their contributions ( don't necessarily like these people but what does that matter ). There should be respect in the community regardless of whether you like or dislike people's projects.
Thank you. Unfortunately the FBI and Secret Service have a different opinion, and so the FBI is still holding onto $5000 of my gear. For myself, I can't say I would try to "do the right thing" again, because it simply isn't in my best interest to try to get people to listen to what is reasonable.
The internet in general has problems with this, but I suspect it's much worse in the open source world where unmoderated forums are standard. If you look at the moderation tools available in something like mailman, they're very poor. It's just not been a priority for technical discussion forums at all. And the social convention is to leave forums largely unmoderated anyway, so it's easy to get into a downward spiral where behaviour gets more and more extreme as people try to make their opinions stand out amongst the crowd.
What's worse, the fact that this scares off contributors is hard to spot, because you by definition cannot easily measure contributions that would have happened but didn't because of a community problem.
If you look at non-technical forums like Facebook, newspaper comment sections etc there's usually some form of moderation that imposes house rules like "be civil". This sort of thing can clean up individual forums but the wider problem remains: some people are just nasty and they often believe they can influence the development of their favourite project by being sufficiently nasty to developers they disagree with. If they can't do that in the project's own forums they'll do it elsewhere.
The Bitcoin community has pretty severe problems with this too, it's not just a Linux thing.
They're smaller communities, but I've been on a few developer lists that are fairly strict about the dev list being only for developers. That doesn't solve the "dev who's a jerk" problem, but it does raise the barrier to entry by excluding people who want to only argue and not develop: if you subscribe and immediately start arguing, without having contributed anything, you get booted.
You cannot moderate mailing lists because they are not centralized. When you hit "reply all" in a mailing list, the replies go directly to everyone who is on the To: or Cc: list. The list robot is just one of those parties. And of course, private replies are possible that the list robot doesn't even see.
Some lists try to fix this by abusing Reply-to: to try to steer discussion replies to the list address, but that is fundamentally broken.
About all you can do in a mailing list is to cull the junk from the permanent web archive.
[Edit: look, you can downvote all you like. I know how mailing lists work and stand by what I wrote. I have used mailing lists for almost a quarter century, and I run mailing lists of my own. I know the ins and outs, and ways they can be configured.]
I've never used a mailing list that didn't possess a centralized address like foo-discuss@example.com. And these all require explicit approval to submit messages to the list, in order to keep out spam.
No, they do not all require explicit approval to keep out spam. In GNU Mailman, this is a config option: you can allow non-subscribers to post or not.
All of the mailing lists that I operate on my own mailing list server allow non-subscribers to post. Due to my anti-spam configuration, this isn't a problem.
Traditional mailing lists, before the rise of spam, were usually this way.
And anyway, this is a separate issue. A list which does not re-mail postings from non-subscribers can nevertheless not do Reply-to: munging. So once you are on the list and participate in discussions, you're still sending messages to the list, as well as directly to those in the discussion.
Earlier this year I was involved in a mailing list discussion in which one of the parties was actually (unbeknownst to me for a while) a "persona non grata": someone banned from posting to the mailing list. His postings were not being seen by the subscribers, but only those in the debate. This list does use Reply-to:; he just (trivially) circumvented it.
Reply-To is a special header that is normally not present.
It has a valid use case (what it is designed for). It's used when someone composes a message on behalf of someone else (like a secretary on behalf of the boss). It says that another person is the real author; please reply directly to that person.
When it's added by a mailing list robot, it wrecks the traditional operation of the mailing list.
For one thing, it becomes hard to reply privately. You hit "reply", and the message is composed to the mailing list.
A mailing list non-subscriber is not able to get a reply to a question posted to a mailing list. So the Reply-to trick is only compatible with subscriber-only mailing lists, which are a pain in the butt.
Reply-To is a wrongheaded solution to a mailing list problem: and that problem is people using "reply" instead of "reply all", generating private discussions that do not go to the list, but unintentionally.
Today, a feature is showing up in mail clients (at least open source ones): "reply to list". This addresses the problem in a better way. The mail client recognizes, from the headers, that the message being replied to is a mailing list item, and presents this clear way of replying. Furthermore, the mail client extracts the correct list address from the headers.
Unfortunately, "reply to list" implementations are still not kind to non-subscribers. The feature assumes the subscribe-only style of mailing list. (What is needed is a list header by which the re-mailing robot can tag the message as being from a non-subscriber, so the mail client can know to keep that person in the loop.)
Also, the direct, back-channel replies sent among participants do not carry the list headers, so "reply to list" does not work for those: it's back to "reply" or "reply all".
"'Reply-To' Munging Considered Harmful" is twelve years old, and I don't think the list of mail clients containing "reply to list" includes any of my favorites - much less making it the default, as it should be, since at least on the mailing list I manage, it's an extremely niche case to want to reply to someone privately.
And if you do so, you run the risk of the recipient not noticing the To header and thus getting confused about whether the message was private or not - especially in the many modern clients that use a linear rather than hierarchal view of threads, where you'd end up with a "conversation" randomly interspersing private and public parts. Much better to just compose a separate email.
> Unfortunately, "reply to list" implementations are still not kind to non-subscribers. The feature assumes the subscribe-only style of mailing list. (What is needed is a list header by which the re-mailing robot can tag the message as being from a non-subscriber, so the mail client can know to keep that person in the loop.)
Allowing non-subscriber threads using "reply to all" is a fundamentally limiting feature, though.
- The most important point: if you're not CCed by someone else, you have to start a new thread; if you are browsing archives, you can't just 'forge' a reply to a message you didn't receive, or at least I haven't used a client that lets you do this. And you should be browsing archives, because the alternative is asking questions without knowing if 10 people have asked the same thing recently. If you are CCed, you only get replies strictly hierarchally located under yours; you can't really join the discussion as a whole.
A better system would allow you to join a thread at any point and start to receive followups sent anywhere in that thread (but only that thread).
- In lieu of such a header currently, or in case of clients which don't support it, if someone does reply to the list, you will silently be cut out of the loop.
- There's no way to stop receiving reply-alls. Not the end of the world, since even Gmail lets you mute conversations, but it's more clunky than necessary.
In my ideal system, all mail would be forwarded through the robot so you're cut out of the loop iff you want to be.
- Not as "fundamental", but there's no guarantee the list in question even has a usable archive browsing interface. (I don't pay enough attention to which interface I'm using to name names, but there seems to be a common archiving UI which does not wrap messages - of course they should be sent wrapped, but in practice I've often seen one-line-per-paragraph messages.)
For the record, my ideal system is somewhat approximated by Discourse, which is a forum, but gives you the option to receive all messages as email and reply via email. However, there are various implementation defects which make me not really want to promote it.
The basis for modern email, RFC-822, has this to say about Reply-To:
4.4.3. REPLY-TO / RESENT-REPLY-TO
This field provides a general mechanism for indicating any
mailbox(es) to which responses are to be sent. Three typical
uses for this feature can be distinguished. In the first
case, the author(s) may not have regular machine-based mail-
boxes and therefore wish(es) to indicate an alternate machine
address. In the second case, an author may wish additional
persons to be made aware of, or responsible for, replies. *A
somewhat different use may be of some help to "text message
teleconferencing" groups equipped with automatic distribution
services: include the address of that service in the "Reply-
To" field of all messages submitted to the teleconference;
then participants can "reply" to conference submissions to
guarantee the correct distribution of any submission of their
own.*
(emphasis added to the last sentence) So, Reply-To munging isn't out of the realm of possibility. Also, the BNF for Reply-To does allow multiple email addresses to be specified. RFC-2822 and RFC-5322 both say the same thing about Reply-To:
3.6.2 Originator Fields
... When the "Reply-To:" field is present, it
indicates the address(es) to which the author of the message suggests
that replies be sent.
It could be argued that Reply-To munging is not allowed by this, but I could still see munging as adding an address to a mailing list email seems a reasonable thing to me.
Also, the "Sender" header is meant for the example you gave (composing and sending an email on behalf of someone else), not Reply-To.
That's not what a mailing list is. What you are describing is an email message with multiple recipients, not a mailing list. Mailing lists don't include the email addresses of all of the recipients in the distributed messages To or CC fields, and the From and Reply-to is the address of the mailing list, never a list of all users on the mailing list.
Mailing lists are centrally managed, and have a "reflector" or central distribution point (what you call a "robot") which maintains the email addresses of all the people on the mailing list. In order to add or remove yourself to the mailing list, you typically have to send a message to name-of-mailing-list-REQUEST, not to the whole mailing list of course. Now days there are usually web pages that people can use to subscribe and unsubscribe and view the archives, and which the administrator can use to moderate messages, but in the old days the moderator was a human and administered the list via email. To save bandwidth (in the days that it mattered, i.e. over the slow ARPANET and over international connections and expensive dial up modems) there would be redistribution lists for regions and organizations, which users or local administrators would have to manage themselves (or the central administrator would have to forward requests to the redistribution list administrator), so only one copy of the message had to be sent to each redistribution list.
An electronic mailing list or email list is a special use of email that allows for widespread distribution of information to many Internet users. It is similar to a traditional mailing list — a list of names and addresses — as might be kept by an organization for sending publications to its members or customers, but typically refers to four things:
1) a list of email addresses,
2) the people ("subscribers") receiving mail at those addresses,
3) the publications (email messages) sent to those addresses, and
4) a reflector, which is a single email address that, when designated as the recipient of a message, will send a copy of that message to all of the subscribers.
What you're describing is a particular mailing list configuration (one often seen today); not what mailing lists are.
Traditional mailing lists (such as ones created by a vanilla install of GNU Mailman) do not work they way you describe.
They work like this:
1. You send a message to a mailing list address. This address belongs to a software agent which sends the message to everyone. Your From: header is clearly preserved. The mailing list robot adds itself to the Cc: line to stay in the loop.
2. Someone who wants to continue your discussion publicly hits Reply All. At this point, the mail software composes a a new message which To: you, From: this person, and Cc: to the mailing list.
3. You receive the message directly. The robot also receives it because it is in the Cc: loop, and sends it to the subscribers. (If you're also one of the subscrbers, and the list is configured that way, it will avoid sending you a "list copy").
4. And so it goes.
But what do I know; I have only used mailing lists for 25 years, and run mailing lists of my own on my own server.
What you describe certainly used to be common, but it's not anymore. You didn't say why the old style is better.
I find it frustrating for a mailing list because invariably a long thread is going to have missing messages. In the context of a mailing list the default behavior should be to reply to the list and setting the Reply-To takes care of that nicely.
Btw, the "because I've been doing it for n years" argument gets less effective as n increases. Ok, it's probably a bell curve but it peaks long before 25.
Reply-To does not take care of anything nicely. There is no "default" behavior about how to reply; you have to think about whether to reply privately or publicly based on the topic and your intended content. (If anything, the default should probably be privately, unless the response really is of interest to the whole multitude of subscribers. All too often, mailing list discussions devolve to the point that it's not the case.)
Reply-To: stomps over the option of replying privately. It can still be done, with manual steps. Worse, someone might not be paying attention, and just use Reply out of habit, thinking it's a private reply, when in fact it is being broadcast to the list. It's very sneaky!
The old style is better because it is more convenient and non-broken. It keeps conversations intact by letting people have a debate with the mailing list without subscribing to it, and doesn't rudely re-program your Reply button into doing Reply All.
I only described the technical back-drop for mailing lists. The behaviors of setting Reply-To: headers, and of rejecting posts from non-subscribers, are still implemented as hacks against the old mechanism. These configuration features have not changed how mailing lists work.
My original original point is that moderating mailing lists is not possible. I have not seen an effective counterargument. Reply-to munging and subscribe-to-post do not add up to effective moderation, and are easily circumvented.
I have seen it happen: someone banned from posting to a mailing list harassing discussion participants anyway. Perhaps he subscribed with a phony e-mail address to collect the list traffic, and then just composed replies as himself to everyone in the debate, but excluding the list robot (which would reject the copy).
"Modern" mailing lists still pass through the Cc: material which makes this possible, even though they set Reply-To, and disallow posts from non-members.
I don't care how you set up your mailing list; you're not going to easily be able to moderate out persistent trolls. You can't use IP block banning easily, because trolls don't contact your server directly; they can go through any number of e-mail service providers. If a troll keeps coming back over and over again, using different gmail addresses, are you going to ban everything from gmail?
In a 'modern' mailing list a troll will be able to spam people on the list, but they won't really be replied to. They won't be able to participate. The actual conversations will be moderated.
Does anybody remember the nettime mailing list, and the amazing ascii graphics code-poetry performance art trolling (and excellent personalized customer support) by Netochka Nezvanova aka NN aka antiorp aka integer aka =cw4t7abs aka m2zk!n3nkunzt aka punktprotokol aka 0f0003, the brilliant yet sociopathic developer of nato.0+55+3d for Max? Now THAT was some spectacular trolling (and spectacular software).
http://www.salon.com/2002/03/01/netochka/
The name Netochka Nezvanova is a pseudonym borrowed from the main character of Fyodor Dostoevski’s first novel; it translates loosely as “nameless nobody.” Her fans, her critics, her customers and her victims alike refer to her as a “being” or an “entity.” The rumors and speculation about her range all over the map. Is she one person with multiple identities? A female New Zealander artist, a male Icelander musician or an Eastern European collective conspiracy? The mystery only propagates her legend.
Cramer, Florian. (2005) "Software dystopia: Netochka Nezvanova - Code as cult" in Words Made Flesh: Code, Culture, Imagination, Chapter 4, Automatisms and Their Constraints. Rotterdam: Piet Zwart Institute.
https://web.archive.org/web/20070215185215/http://pzwart.wdk...
Empire = body.
hensz nn - simply.SUPERIOR
per chansz auss! ‘reazon‘ nn = regardz geert lovink + h!z !lk
az ultra outdatd + p!t!fl pre.90.z ueztern kap!tal!zt buffoonz
ent!tl!ng u korporat fasc!ztz = haz b!n 01 error ov zortz on m! part.
[ma!z ! = z!mpl! ador faz!on]
geert lovink + ekxtra 1 d!menz!onl kr!!!!ketz [e.g. dze ultra unevntfl \
borrrrrrr!ng andreas broeckmann. alex galloway etc]
= do not dze konzt!tuz!on pozez 2 komput dze teor!e much
elsz akt!vat 01 lf+ !nundaz!e.
jetzt ! = return 2 z!p!ng tea + !zolat!ng m! celllz 4rom ur funerl.
vr!!endl!.nn
ventuze.nn
/_/
/
\ \/ i should like to be a human plant
\/ _{
_{/
i will shed leaves in the shade
\_\ because i like stepping on bugs
What is true is that the troll's message will not appear in the list's archive. (That's how I became aware that one person was actually a troll; I went to the archive, and, huh? This guy is not there! And neither are my replies to that guy. What the .... Then it immediately dawned on me!)
But, yes, trolls will be replied to. Because, remember, they are not even going through the mailing list robot. They are just sending mail. Of course the troll's mails can be replied to and go back to that person, and to everyone on the CC list that he or she put in.
Not only that, but the troll can include the list address on the CC: line! A reply to the troll will include quoted material from the troll (typically), and since the person responding is a valid subscriber who is allowed to post, that quoted material gets to the list.
So all the list subscribers end up seeing:
On Monday, October 6, 2014 T. Roll wrote:
> Inflammatory crap ...
I disagree with your inflammatory crap!
Nobody on the has the original message with the full inflammatory crap (except those on the CC: list of that troll thread including the person writing the above response). But thanks to this reply and others like it, everyone on the list continues to have glimpses into what T. Roll thinks. (They are is even trimmed nicely to give the list members just the most inflammatory parts!)
But if the list is set up differently you can get it so people don't use reply all by default, and even better they can tell at a glance if a mail came from the list or not.
Yeah, I'm old too. I subscribed to INFO-COBOL@MC (which was not about COBOL, but used that name because joke mailing lists were forbidden on the ARPANET), DB-LOVERS@MC (maintained by the tty of Geoffrey S. Goodfellow, specializing in dead baby jokes, not databases), ITS-LOVERS@MC aka UNIX-HATERS@MC, and I also ran a large international mailing list NeWS-makers@brillig.umd.edu, with lots of redistribution lists as well as usenet subscribers (routed via uunet) for many years during the 80's.
My point is that an email message that has a bunch of people's addressed in it, but no central server or list of email addresses, which you reply to by copying all the addresses in the To: and CC: fields, is not a mailing list, no matter how sophisticated your email reader is. It's just an email message, and you're doing all of the work in your email reader. (Hello, Emacs!) That's not a mailing list. It's just an email message with a list of recipients. There's nothing preventing any recipient from adding or removing any address from the list, and there's no central archive or administration or moderation.
Here's what mailing lists looked like in the 80's:
Who remembers Mark Crispin's oft-repeated catch phrase, "MM is not at fault!"
JWZ's Law of Software Envelopment:
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
My point never was that an e-mail message is a mailing list.
What is a mailing list? It is an "emergent phenomenon"(+). It is not just the mailing list manager; it is not just the handling of a single message. It's not the set of subscribers. It's the whole situation.
My favorite instance of emergent mailing list behavior was when a trouble maker named GUMBY created a "PLEASE-REMOVE-ME" mailing list, just for people who sent email to another entire mailing list asking to be removed from it, instead of sending their request to the administrator at mailing-list-name-REQUEST.
Whenever somebody would make that faux-pas, he'd add them to the PLEASE-REMOVE-ME mailing list, and the emergent behavior was that those people would discuss amongst themselves the fact that they really wanted to be removed from the PLEASE-REMOVE-ME mailing list, until they eventually learned that the way to get removed from a mailing list was to simply send email to PLEASE-REMOVE-ME-REQUEST, instead of the entire mailing list.
> Mailing lists don't include the email addresses of all of the recipients in the distributed messages To or CC fields, and the From and Reply-to is the address of the mailing list, never a list of all users on the mailing list.
Counterexample to your claim: browse the linux kernel mailing list archive at https://lkml.org/
On any message you can click [headers] to view the headers. You can see rich Cc: lines full of addresses. Well, you can't see the addresses because they have been scrubbed. But you can count the commas! For instance:
Cc: Rusty Russel <>, , , , John Smith <>,
means that it was CC'd to 6 e-mail addresses, four of which were in the "local@domain" format, with no display name, not wrapped in angle brackets.
Sounds like a terrible idea. Is it a bug or a feature? Why would anyone want to do that? I'd be afraid that some mail readers would choke on the empty addresses, and I can't think of any reason you'd want them, or any purpose they'd serve. It doesn't ever include actual email addresses in the cc does it? Because those poor users would get at least two copies of every reply.
The empty addresses are just in the public mail archive that is exposed through the web. They were scrubbed away by the archiver software. The recipients of the original message got it with all that information intact.
Users do not get two copies because the mailing list software is smart enough to calculate a set difference between the expanded mailing list, and the set of addresses which are already in To: or Cc:
GNU Mailman makes this a configurable preference (per subscriber, I think!) The reason is that some people prefer to get the duplicates. A possible reason is that they want the official list copy, which is subject to some custom mail processing rules based on its list headers, or rewritten subject line.
By the way, some people also prefer to get only mailing list digests. For users who receive only digests, discussion participation is still possible because the discussion is based on the normal To/From/CC mechanism of e-mail.
Sounds too clever by half. How can the mailing list software know that the direct reply actually got through to the people in the To: and CC: list?
Didn't the intended recipients occasionally miss replies to their messages, and wasn't it a bad idea to put the responsibility of re-sending bounced (or un-routable) email to the person you're replying to in the hands of the person writing the reply, not the mailing list itself? I doubt it would have worked very reliably with usenet addresses or the early internet with all those relays.
Remember when all the UK's host names were backwards, and you'd route mail through nss.cs.ucl.ac.uk (or uk.ac.ucl.cs.nss, depending which side of the pond you were on), which would swap the host names around on the way through?
The Brits drive on the wrong side of the road too, so I suppose backward domain names made sense to them.
Yes, one might think that; I understand where you're coming from. And it would be a valid argument if mail clients and mail protocols worked differently today compared to a quarter century ago.
How mailing lists operate is constrained by how e-mail works. E-mail is very conservative.
(Yes, various things are there that weren't there a quarter century ago, like parsing out MIME-attached HTML and rendering it. Sure, SMTP is optionally authenticated and encrypted now. And in the routing and delivery infrastructure we have things like DKIM, SPF and DMARC. And we have DNS-based anti-spam databases. But by and large it's the same. The way a client sends and receives has not fundamentally changed.)
E-mail is a mine-field for people who think they have some great idea about some quick fix to a perceived problem.
About fifteen years ago, it seemed---to multiple people at the same time---like a brilliant idea to write an extension for a mail client (or a procmail script or whatever) to automatically answer all e-mails from senders who are not on a white-list, and challenge them to verify that they are real. That would solve all forgeries and spams, they thought! Oops ...
You make it sound like moderated development is the best style; if you preselect people through a standardized interview process (like a software firm), or prune messages based on some algorithmic filter, you trade off diversity. In the extreme case, the community can be caught up circle-jerking on the same set of ideas.
The key idea in an open community is organic moderation. The currently influential people in the community "bless" the threads with interesting ideas/ patches; they decide how much deviation from "civil" behavior they can put up with. In a good community, attention-seeking behavior would be condemned by the influential people in the community. The health of the community depends a lot on the initial contributors.
It's true that this kind of model scares of a lot of contributors, but it also attracts many others who would have been eliminated in a pre-selection.
The main takeaway from Lennart's post is that more community building work is required: they don't automatically become good communities.
I find it (mo/i)ronic that you reference people with full name "XYZ attacked me", only for verification of course, but you forgot to include your own name.
Still not cool. Proper way is to reference commits and bugs. Just imagine someone Google your name and first link is to this comment: XY attacked me....
Go ahead and Google my name. You'll find that it is mostly just attacks on my character related to an incident with UMD and the FBI. Unfortunately people don't reference facts; news ( and people in general ) just believe what they want.
Once again, my point in referencing these people is to say that negative attitudes and attacks are widespread, and happens by many professional ( the people I mentioned ). I don't blame them; it is a hard community; I'd just like us all to have better attitudes.
But I do not care that some guy refused to approve your name or whatever. I do care, that you are shaming people you do not like on public forum. It is pretty much same behavior as Linus and other a*holes in OS community.
I'd like to point out that I have a lot of respect for the developers I named; my point is that we should all play nicely, not that I wish for these people to be shamed. People get hurt. I was hurt. I'm not attacking; I am saying it still hurts to be treated that way by members of the community, and that I agree with the notion that you need to have a thick skin. It shouldn't be this way; the entire open source community should strive to improve the world together, not fight about which project is better.
Notice above comment from mst ( Matt S Trout ). I appreciate him saying sorry and it actually means a lot to me. I have even more respect for those who recognize when their actions have been misunderstood and hurt people. He didn't need to apologize, but it helps the community and I wish more developers were willing to see that there are many different opinions and we need to respect them all.
Better might be to provide links to the cases where he feels hard done by.
Re: the app framework naming, there's some partial conversation involving Brian Foy at https://www.mail-archive.com/modules@perl.org/msg34595.html. It doesn't seem to merit nanoscopic's comments, so I wonder if there's more to the story or if nanoscopic is being unfair.
I tried to find archives of the Grant McLean XML stuff, but cursory Google searches were unsuccessful.
If you want to name and shame people (and let's be honest: if you're naming people, saying they did bad things and inviting others to Google it, you are shaming them, explicit disclaimer of shaming intentions notwithstanding), you should (a) use your name and (b) provide adequate breadcrumbs for others to see that your position is just.
I didn't provide a ton of details because I think it is important to be constructive and just make the point that people should be more caring and positive. I don't want or need to try to bash these people. All I am saying is that they were somewhat mean to me. It is my personal perspective. I'm not sure what anyone will get out of reading this stuff in detail.
If you are so interested, I requested repeatedly to Brian and the list to approve the module after the name "Ginger" was agreed upon, but nobody with authority was willing to move it to the registered list. The leaders of CPAN basically stopped approving stuff. Registered modules were dropped entirely shortly after that.
I tried to talk reasonably to Brian, but he seemed oversensitive, likely due to being overwhelmed with his tasks. I am more sad that registered modules were dropped than anything.
It is likely that Grant McLean's comments attacking my module are no longer around; due to the changes to CPAN and the related bug tracking. He publicly stated that my XML parser has no right to call it an XML parser, in reaction to me including benchmarks showing how slow his parser is even when backed with LibXML.
Honestly, the registered list had been on its way out for quite a while by the time that happened; by the point of the discussion, I was only monitoring registrations because I cared about helping people find better names rather than because I thought the final registration click was relevant in and of itself.
You were, and are, totally welcome to upload the module anyway (and in fact I'd encourage you to do so), and you have my apologies if that part wasn't made sufficiently clear at the time.
Thank you for your comment; I appreciate the acknowledgement. I do intend to do as you say and change the name properly, since basically it doesn't matter now that "registered modules" are gone. I have not done so yet simply because the framework is poorly documented ( as far as what is published ) at the moment, and I wanted to add the documentation properly when I take over a whole root namespace. Also; I am a bit unclear as to -how- exactly to claim the whole root namespace, since the way it is done is different among several of the modules I observed.
I assume I simply register a module with a root name to claim it, as sort of a placeholder pointing to all the component pieces. I don't want to include the actual pieces in the root module; just use the root module itself as documentation as I see it done among other CPAN modules.
I would like to point out that I realize that my feeling hurt through the discussion is mostly my perspective; hence stating that I recognize you have many other things to do. My frustration was that I had no knowledge that registrations "were on their way out" and my requests at the time to get it registered properly seemed to be ignored. ( I assumed because there were not enough people who cared about registrations at that point to handle doing it )
Once again thank you and I hope to move forwards and be an active member of the community.
There is not, and never has been, any enforcable means of claiming a whole root namespace; the demise of the registered modules list hasn't changed that at all.
Basically, just upload the thing, and document whether you want other people's extensions to live under the root namespace or somewhere else - e.g. DBIx::Class extensions are mostly just under DBIx::Class:: whereas Moose extensions live in MooseX:: - and a hybrid would be Catalyst, where certain types of extensions live under e.g. ::Plugin::, ::Model::, etc. and then things that don't fit in any of the usual extension namespaces go into CatalystX::
You'll find, generally, that people writing an extension to your code will respect your choices, and that any violation of them will usually be an accident and quickly resolved by filing a bug saying "hey, could you follow the policy please".
I did, honestly, mean to email you off list explaining what was likely to happen wrt the registered module list (starting a thread about it at the time on modules@ would likely have been ... unproductive).
Unfortunately, I completely forgot, a failure for which I'm hoping my responses to you today will at least partially compensate :)
I'm confused, did he force you or anyone else to utilise his "crap?" If it is "crap" why are you using it? And what's more why are you UPSET that you're voluntarily using his contributions? What you just said literally makes zero sense to me...
Also he hasn't (according to him nor Wikipedia) contributed to the Linux kernel, yet you moved kernels to avoid his "crap." Makes zero sense. The Linux kernel isn't one of his projects.
So isn't your beef really with the distro's which aren't fulfilling your needs?
Maybe you should start your own branch with Systemd specifically excluded. That is how many currently popular distro's because popular (mostly relating to different windowing systems, etc but still). You could also move to Gentoo Linux which doesn't (and has no plans) to utilise Systemd as the default.
Last point; systemd is so "crap" that every single distro' is moving to it? Either they have VERY low standards or there is more to this story than that.
This comment needs a disclaimer that I think it's possible to be opposed to the use of systemd, and not be flamey about it. And I don't mean to suggest that you're the flamey sort of systemd opposer.
That out of the way, I really hope that the FreeBSD community is not inundated with the flamey kind of systemd refugee.
> Also, I can't say I have ever been thanked for contributing. Just kicked in the face.
Really? My contributions to the open source world are certainly modest, but I get thank you emails perhaps once a month for applications I've released. People are quite pleasant.
Yes, for many years I intentionally did not release more open source due to only having people contact me to ask for help or criticize and never to simply say thank you.
Most recently I have decided that releasing open source is what I want to do, because it is what I want. I don't expect anyone to appreciate it any more.
The parser I wrote has actually made it into several linux distributions ( as well as on the distributed discs ). Several people benchmarked it and said it was amazingly fast. I'm pretty sure it is used by a fair amount of people, but since it is mainly distributed through CPAN I have no idea who really uses it or how many.
I think this is the case for what I wrote because it is a component. People in general I think appreciate tools much more than components, especially if the component is one of many somewhat inter-compatible other options. There is little love for "another thing added to the pile" even if it is different in fundamental ways.
>only having people contact me to ask for help or criticize and never to simply say thank you //
I wonder if in part this is due to solicitation - you [by which I mean 'one', a person, not specifically you] have a "support" forum for problems, you have a note asking for contacts with bugs but generally OSS projects don't have a "comment with thanks" or a tip jar or whatever.
Guestbooks used to be the way people could offer a quick comment of thanks.
But as you say this is more likely to work for frontend user-facing projects. Stars on github or similar will show at least that people appreciate your work if they've not explicitly thanked you.
Are these end-user applications? I suspect developers can tend to be less grateful than end-users, and this guy was writing an XML parser.
I've also had people thank me for a FOSS app, but that was also a consumer application. The fact that it was open-source was actually incidental though, I don't think anyone have actually forked or looked at the code. If they did, maybe I'd have gotten some hate mail ;)
I failed to understand this line of criticism. Open Source is a software development model. It's not a model of society and does not guarantee to consists of only well-mannered people. There are ugly, difficult people everywhere, not just in Open Source projects.
Open source is a software development model. It is also a community. If you bill yourself as a "movement", you're building a community around yourself, like the open source movement.
"Gamer" is a hobby, but it can also refer to a community that is much, much different from the broad spectrum of people who just play video games.
Most of us did not bill ourselves as a movement though. Some money grubbing people did back in the .com bubble days. I did not make the OSI. I am not part of any movement. I write software I want, and give the source away freely for others to use if they find it useful. That's it.
Genuine question: Did you read the article? I feel like the author's main point is that there seems to be a higher abundance of toxic interactions in Open Source than other communities.
> Genuine question: Did you read the article? I feel like the author's main point is that there seems to be a higher abundance of toxic interactions in Open Source than other communities.
I'm not the same person you responded to, but regardless I'd argue that there probably isn't much more toxic interactions in open-source then there is in any other communities. People tend to fight and get angry over stuff they care about, that happens everywhere. The thing with open-source is that all of those communications are open, and thus it's much easier to see.
The thing is though, how many times do you think anybody on here has actually looked at the Linux Kernel mailing list for a reason other then a post on here about Linus getting angry? I'd wager not many. Everybody loves to see a good fight, but it's rare to see someone being helpful and nice highlighted. I've only seen one post on HN highlighting Linus being nice and helpful, even though that's the bulk of the posts he makes, and I see one every time he gets angry. For example, looking at some ones he sent yesterday, I'm seeing this (https://lkml.org/lkml/2014/10/5/96), this (https://lkml.org/lkml/2014/10/5/112), and this (https://lkml.org/lkml/2014/10/5/107), all of which are generally nice and well mannered questions, and explanations of things people may need to do differently.
I don't think the Open Source community is nearly as toxic as people make it out to be.
I failed to understand this line of criticism. Open Source is a software development model. It's not a model of society and does not guarantee to consists of only well-mannered people. There are ugly, difficult people everywhere, not just in Open Source projects.
You make a lot of good points, but I take issue with:
> me for pointing out bugs in his software that he refuses to acknowledge
Sometimes this is a perspective thing. It's not always a bug just because some user reports it as a bug in their opinion. Don't know the story behind that anecdote, but perhaps you didn't understand the codebase like you thought you did, or what the expected behavior should of been?
In any regard, if the project maintainer does not consider it a bug and won't accept a PR, then that is their prerogative. You are [usually] free to fork the codebase and fix it yourself if you had a PR that wasn't accepted. With closed source, that isn't even a remote possibility.
The specific bug was in the Varnish reverse proxy. It had to do with the non-functionality of the ESI ( Edge Side Includes ) "support". I really like Varnish and was making great use of it, and was happy to learn it supported ESI. I thought that if you change the contents of an ESI file, and then invalidate that file in Varnish, that Varnish would know the files that include it and invalidate them as well. Nope. Varnish seemingly has no recognition of ESI in regard to invalidation and simply includes the contents of the file, in effect treating them like regular SSI ( server side includes ).
I reported this behavior properly, and I was told that I don't know what I am talking about and there was no problem. The bug I filed was then closed without the issue being fixed or addressed in any way.
I can and will make a competing reverse proxy; because ESI is important IMO, and disregarding supporting it properly is silly.
I think Varnish is great; I'm happy it exists; I think it is silly to close a reported bug on the codebase without addressing it properly. The proper address to it is to simply say "No we don't really support ESI", just as I have said "No my parser is not really an 'XML' parser, because it doesn't really follow the spec."
Perhaps you missed it, or perhaps this anecdote took place prior to this page's posting.
In either case, seems it was a misunderstanding - which goes back to my first comment about a reported bug is not always a real bug just because one (or a few) users believe it to be.
There is zero mention in varnish documentation of how ESI and forced cache invalidation occur. ( because it simply doesn't support it ) That was and is my point, and is not addressed on that page or anywhere else.
I realize that would require more extensive changes to support; my only point is that I wanted to use ESI specifically in relation to forced invalidation.
I reported the bug quite clearly, and the main dev said I was wrong and to this day refuses to acknowledge that forced invalidation does not work sensibly in regard to ESI.
I would like to point out again, that this is water under the bridge. I still support Varnish and respect the developer. I simply wish we could all get along and acknowledge limitations of what we do, rather than denying valid points made about software.
That is the true source of the anger in open source; developers refuse to acknowledge that people use their software in ways they didn't expect, and that you have to listen carefully to appreciate what people want. As a developer, it is unreasonable to brush off and ignore people who are trying to help.
ESI is not a very well designed protocol, and cache invalidation is hard. You could look at Ledge[1] which has an aim of supporting the cache use cases for ESI fragements.
Well, if you didn't like their denying your improvement, you could always make a fork, that's the beauty of the open source.
It is usually advised to people who manage open source projects to stay focused on their vision, and not accept random improvements that do not help towards their self-imposed goal.
Lord of the Flies. Regrettably, human interaction, in the context of the achievement or retention of power, can devolve into scenarios of violence that range from verbal and psychological to the unthinkable. Open Source is obviously not immune to this.
I wasn't exactly polite when he attacked me. I responded in turn because it was absurd and silly to me to be threatened. To know anything about me is to know that threatening me is a joke; I'm not afraid.
To this day I'm unclear why he didn't understand the problem with ESI include files being invalidated not forcing the main including file out of the cache as well. ( in Varnish ) I think he was just in a bad mood and didn't have the time nor care to understand what I was pointing out at the time.
He was pretty mean though, and refused to play nicely to the bitter end of that particular argument. Just google "Lots of Configs" if you want to read the whole silly debate.
Here is what I want: A cache where it supports ESI... File A ESI includes file B. Both A and B are in the cache. If I forcibly tell the cache to invalidate file B, I expect that file A will automatically be invalidated as well, since the cache should know that file B was included into file A. Varnish does not do this. That was my statement to PHK, but apparently he doesn't want to hear it and somehow things this is an unreasonable request.
I am disappointed to learn that you feel I have attacked you in the past. I apologise unreservedly for any offence I caused you. I always try to be civil and professional in my interactions and to be mindful of the difficulty of conveying the intended tone over an electronic medium.
If I have voiced some criticism of your code it is certainly not because I wished to belittle your efforts or to make any value judgements about your worth as a person.
Thank you for expressing this. It helps me to be able to move past it. I have always thought you were angry at my contributions to the community. You will note that I applaud the simplicity of your module, and even went so far as to create a SAX streaming version of my parser that works together with XML::Simple so that those who wish to stick with your interface can do so. I didn't maintain it much, but can do so if there is any real interest in it.
I named you simply because you are the first person to state that my XML parser is "invalid", despite my having worked very hard to ensure that it does parse XML meaningfully.
I do acknowledge freely that I am disregarding the specs to some extent for the sake of raw speed. You will see that I have altered the documentation to make this clear so there is no confusion.
For myself, with your apology I consider that extremely adequate to address the past. I don't really remember clearly, but I know that it was a very rough entry into the open source world to have my parser attacked ( considering it is the first meaningful thing I contributed to the community )
I would like to point out that communication and understanding between members of the community is exactly what I am asking for. I thank you for stepping out and attempting to resolve this. There is no way I would ever know that you felt this way without you expressing it, and unless I did I would have lived forever thinking you have bad feelings towards myself and the code I have created.
For all the people who imply that I was attacking any of the named people, including Grant, see that was and is not my intention, and I am very happy today to have some of these things addressed.
I will throw this out there for consideration; it boggles my mind how wikipedia has banned the article on my parser, considering there are entries for many other equivalent parsers. The article was up for years then removed suddenly for no legitimate reason imo... Do you have any opinion on the clear favoring of certain parsers in the information community? ( such as on wikipedia or in excluding specific parsers from being mentioned as related codebases )
Odd, I've never had a problem from the open source projects I've developed or contributed too. In fact, I've made more friends from it than enemies.
I suppose the pressure of these projects is small compared to something important like a driver or operating system... but perhaps that says more about people than open source.
> By many he [Linus] is a considered a role model, but he is quite a bad one.
I give Linus a pass. Given the success of the project and the size of the team, I would rather have a foul mouthed Linus than perhaps no kernel and no Linux.
It is not a positive characteristic. I wish he wasn't as abrasive but that is his personality.
What I feel Poettering is doing here is a bit of a "well on technical merits Linus was right but I'll attack his abrasiveness instead". I suspect this is related to the 'debug' flag and Linus chewing out one of the systemd developers. I think Linus was justified in chewing him out. Maybe shouldn't have used expletives, but still justified. And I understand it was a pattern of behavior of leaving bugs in their wake and so on.
> If Linux had success, then that certainly happened despite, not because of this behaviour.
Hard to say. Maybe so. Maybe if he wouldn't be as critical and as abrasive we would have had a different OS or different community. Maybe better. Maybe worse. hard to say.
> I give Linus a pass. Given the success of the project and the size of the team, I would rather have a foul mouthed Linus than perhaps no kernel and no Linux.
This attitude is precisely the problem. Being a smart or successful human being does not alleviate your obligation to be a decent human being - neither does having strong opinions and good reasons for them.
The argument you have made comes in another form, and I hope when I phrase it this way you'll see why I disagree strongly: "Do you know who I am?!"
I think there's another facet to the argument he made that he didn't make. When you're in a position of power and you have to deal with the work of other people you want to waste as little time as possible on people making stupid mistakes that shouldn't be made in the first place. You want to bring the quality of your contributors up.
One way of doing this is making people fear making mistakes. Society does this all the time: if you are a racist/homophobe/sexist people will ostracize you publicly in a number of ways. Essentially you get rid of racists/homophobes/sexists by making them fear voicing those opinions.
I personally don't think this is a particularly good way of dealing with problems, but it's what society does and it's how it works: based on mostly punishment. To then go on to say that what Linus does is somehow bad or any different seems kinda weird.
Fear, as you seem to realize, is a crappy motivator. It only work in limited circumstances and for limited periods of time. It doesn't really change behavior permanently. That "society" does it doesn't make it any better (and when was the last time a judge cussed out a defendant for receiving a guilty verdict?)
But I would argue that motivating through fear isn't even relevant to this situation. Is making death threats in order to convince somebody to stop doing something a valid way to motivate through fear? Is cursing somebody out on a mailing list really all that terrifying? If it is, is that the reason Linus, for instance, does it?
I think the answer to all of these is no.
Further, it may be appropriate to shame racists, homophobes or sexists into changing their ways (or, I would argue, just not espousing their views publicly). But is it really appropriate to do this, to this extent especially, to programmers who wrote bad code?
Programming relies on rational, careful cognitive consideration of problems. That's the opposite of what fear inspires. Fear-based "motivation" is lousy in general, and doubly lousy for open source software.
>Is making death threats in order to convince somebody to stop doing something a valid way to motivate through fear?
I don't remember Linus ever sending death threats to anyone. As for the people who did send it to the OP, I think most people agree that death threats are not OK under any circumstance and that whoever did do it is an outlier and not an example of how the community behaves.
>Is cursing somebody out on a mailing list really all that terrifying?
I think it is since public shaming tends to be effective in preventing whatever behavior was shamed, as per the racist/homophobe/sexist argument.
>If it is, is that the reason Linus, for instance, does it?
I can't speak for him but if I were in charge of an important and sizable project I can see myself doing it for that reason.
>But is it really appropriate to do this, to this extent especially, to programmers who wrote bad code? Programming relies on rational, careful cognitive consideration of problems. That's the opposite of what fear inspires. Fear-based "motivation" is lousy in general, and doubly lousy for open source software.
I don't follow why it's doubly lousy for software in general. Software has its fair share of opinionated debates that are more about differences of philosophy rather than careful cognitive consideration of problems. And as for it being the opposite of what fear inspires, I'm not sure I agree. The educational system world wide uses fear effectively and it seems to mostly work (despite whatever problems you may have with it), so I don't see what would make programming special in that regard.
>I don't remember Linus ever sending death threats to anyone. As for the people who did send it to the OP, I think most people agree that death threats are not OK under any circumstance and that whoever did do it is an outlier and not an example of how the community behaves.
In this statement I was referring to the issue being discussed in this particular thread, not to Linus. Sorry, should have been clearer.
> I think it is since public shaming tends to be effective in preventing whatever behavior was shamed, as per the racist/homophobe/sexist argument.
But as I said - it doesn't change behavior, it only changes whether or not one publicly displays one's thoughts. And even then, it's a temporary effect at best.
> I don't follow why it's doubly lousy for software in general. Software has its fair share of opinionated debates that are more about differences of philosophy rather than careful cognitive consideration of problems. And as for it being the opposite of what fear inspires, I'm not sure I agree. The educational system world wide uses fear effectively and it seems to mostly work (despite whatever problems you may have with it), so I don't see what would make programming special in that regard.
It's lousy because it doesn't inspire real change. People don't change their opinions because they got chewed out, even if it was rightfully so. They just learn to resent the people doing the chewing out and oppose them more subtly.
You use our education system as an example - but I don't know that I'd say the education parts of the system (as opposed to the discipline parts, whose effectiveness I would frankly dispute) aren't fear-based. They're generally built to be merit-based (whether they succeed is outside the scope of this discussion).
>It is not a positive characteristic. I wish he wasn't as abrasive but that is his personality.
You can't just say this. I mean, where do you put the limit? Imagine if we let all kinds of aggressive and violent behavior slip on the account of "eccentric personality". I enjoy reading Linus's rants as much as the next guy, but it makes you wonder how the other person feels. And "grow a thick skin" isn't good advice, because if something doesn't bother you doesn't mean it can't bother someone else. For example, I've long ago grown out of taking stuff on the Internet personally. But I remember how it was, and I would often be very close to just giving up on doing whatever I was being hated for. (In fact, I can bet that happened at least once.)
There is some norm of decency you have to follow when talking to someone you don't know. It's how you show that you can accept others' opinion and argumentation, and sometimes accept you weren't right. I have a hard time imagining Linus Torvalds admitting that he was wrong about something he ranted about. (If you know of any examples, I'd love to see them.) And that's not a good thing. Either he's never made a mistake, or he doesn't want to admit it. I'm willing to bet Linus has god complex issues, and instead of recognizing it as something that needs to be toned down, he just embraced it and amplified it. Some people will still say that it's cool, sure, but I, for one, would like to see him be a tad more humble. Even when you've achieved as much as he did, you can very much be wrong about stuff. That's, in fact, by definition of the human being :)
> I give Linus a pass. Given the success of the project and the size of the team, I would rather have a foul mouthed Linus than perhaps no kernel and no Linux.
This appears to be a false dilemma. I don't think the success of the kernel and Linux depends on Linus' foul mouth. And I think the point was that he, as a role model may influence and inspire others to adopt the same behavior.
Linus is clearly not malevolent, not ill-intentioned, but he's closed-minded somewhat. He hasn't seen what the effect might be if he was a little more inhibited about cursing people out.
I think of this as the nice vs angry coach sorta thing. There are sports coaches who are nice people and ones who are assholes and both groups include legendary successful coaches. Clearly, this is not a make-or-break issue, but also it's clear that being an asshole doesn't help, even though assholes often claim it does. Like successful asshole coaches, Linus clearly wants the best for the community, he just has this asshole way of thinking about how to achieve it, and he's wrong enough that he's clearly out of balance. And if something could convince him to just temper things or apologize a little, it would be a helpful step. He still deserves honor and respect overall regardless, but it would be better if we didn't have to qualify that.
Every single time someone brings up Linus' "abrasiveness", they never fail to leave out the thread preceding it, where the target of Linus' ire inevitably was being obtuse or childish. How long would it take you to stop being polite if someone refused to respond to anything but invective? And in kernel land, there are some simple rules that must be kept to very strictly, else you can forget about things like reliability.
Does Linus ever swear in Finnish? Because from what I've been told people in some Nordic countries will happily say fuck and fucking all day, but would be reluctant to use local language versions.
This doesn't pertain to "Open Source" in general, the same argument can be said about companies and closed-source products, which can be just as well run by jerks. I have a couple of small projects published on GitHub and the people that interacted with me have been very professional and thankful for my work. I am also a part of big open-source communities which are very professional and asshole behavior is definitely an exception and is being punished in general.
A comment like "How did they not die as babies, considering that they were likely too stupid to find a tit to suck on?" is only tolerated if you're Linus Torvalds or somebody like him that has contributed a lot and that is tolerated in spite of his character. And yes, the world is full of jerks that want to copy Linus Torvalds, or Theo de Raadt, or Richard Stallman, or Steve Jobs, or David Heinemeier Hansson, or whatever else ruthless leader with strong opinions that happened in this industry, but without the track record to back up their strong thoughts. Open Source is only special because the discussions are often public for anybody to see.
I do find Linus' behavior regrettable, as he's a very public person in this industry, his opinions do have legs and he is a role model for others. And I'm personally against PC talk, for example I think usage of the word "fuck" is totally legitimate because it implies passion, it implies that you care, but I think critiques should never be ad-hominem and people breaking this rule should get social punishment, including Linus.
The difference is that in a corporate setting, if you're fired that's the end of it.
Fortunately or unfortunately, in an open source setting, if you act like an asshat you can still contribute and discuss and continue to be an asshat. And then other people ignore you. So you convince people that they're the asshat. And people believe you because you're still there.
I'm not sure it's really a flaw. It's just the way it is. I feel as if it's simply one of the tradeoffs that you make with an open source project. People can hang around and be annoying and abusive and there isn't all that much you can do to totally get rid of them if they're determined. On the other hand, you can get brilliant programmers who come out of nowhere and have no qualifications that would never get past the interview stage in a large company.
It depends - usually the thinking is that this has an impact on the company's bottom line, therefore employees are forbidden to act like this in public. Internal dialogs are an entirely different matter on the other hand.
And in open-source I actively avoid projects that are run by jerks, because my thinking is that an open-source project has less chance of surviving and flourishing when being led by jerks, plus the community's support will probably be frustrating. So that's part of the cost analysis I'm usually doing, with the exception being big projects that are very well established.
Not really, the same rule basically applies. If you have clout, people will tolerate your abuse (e.g. Steve Ballmer). If you don't you might get fired.
I think it's actually better in open source because the way to earn clout is through solid contributions. That is not really true at most companies -- you have clout through your title/position on the ladder, which may or may not be earned.
Or you get promoted. It depends greatly on company culture.
What I've tended to see in companies, though, is that instead of venting like this and getting it over with, there is backstabbing, intrigue, and much worse insults veiled in language that provide deniability.
Personally, I'd prefer being on the receiving end of Linus' approach to most of the "nicer" hostility I've seen in corporate settings.
Except that Linus isn't fireable in this analogy. He's on the top of the hierarchy, equivalent to a major shareholder and CEO of a company. Such a person can certainly act like an asshole every second inside his organisation and keep his position.
The notable difference is that due to the nature of the enterprise, Linus pours shit in public. In a company, it might perhaps happen in a smaller gathering, like a board meeting.
For all its flaws I must credit the various open source codes I've come to study along the years for all I know in CS. Long term, it's more important than degrees and schools.
For instance I vividly remember how hard for me it was to learn and code in Objective-C for iOS back in 2009, at this time there was only few related open source projects available to study and learn how good UI were implemented and such, it was mostly a closed source world.
Also for instance one thing I consider great about Rust, not only Rust is open source but better its compiler and standard libraries are developed in Rust and thus you just have to read them to learn from probably the most skilled Rust developpers so far. I can't fathom how painful it must be for current Swift developers to develop in a young (so far) closed project where you can't see nothing and bang your head against every walls to find your way.
> Also for instance one thing I consider great about Rust, not only Rust is open source but better its compiler and standard libraries are developed in Rust and thus you just have to read them to learn from probably the most skilled Rust developpers so far.
Last I saw, reading the compiler wasn't recommended (by someone) since the code is apparently old and not idiomatic.
A psychologist friend mentioned that invoking 2nd person (you) often escalates conflict. I wonder what it would take to write a thread parser that bounces comments with "you" as the focal point?
Sentiment analysis probably has some utility if bad commits are clustered around a particular contributor. Would it be more product to represent sentiment as a graph? What would it look like?
I don't think it is fair to generalize this to all of Open Source. The Linux kernel and the Systemd controversy in particular do not represent all of Open Source. That said, I do think Lennart has very valid and important points about the Linux kernel and the Linux community and specifically the Systemd controversy. It's too bad.
But switching to Mac OS doesn't fix this, if we wanted to talk about that then there is a whole set of separate issues there.
Open source is not awful. It's perhaps the most important thing to happen to computing, ever. Multi-billion dollar companies have formed largely around open source. It enables millions of people to do business. Learning how to code is easier than ever.
Saying open source is awful because you've encountered assholes is like saying free market economies are awful because some vendor overcharged you one time, or saying cars are awful because some guy cut you off yesterday, or saying free speech is awful because some guy insulted you in public the other day...
Open source is merely the idea that sharing code is good. Well, a little more than that, but that's the basic gist.
I've personally had nothing but great encounters with FOSS. The few times I've found a bug I sent a bug report, the maintainer was super friendly (maybe because I wasn't a whiny douche-bag complaining about something that I got for free), and fixed it in an absurdly short amount of time (less than a day). Even if it wasn't fixed for a month I'd have been more than happy.
Anyhow, the open source community is much like the world at large. Many very nice, friendly people, and a few assholes. Same thing if you step outside. It's best to think of FOSS not as some community that replaces your interactions, but rather as a sharing philosophy in the same way free markets are an economic philosophy.
Surely you can understand the intent of his message and of the phrase which you partially quote.
"Some elements of the open source community are awful to contributors"
"Open source is an awful place to be if you don't have a thick skin"
"The behavior I have observed as a prolific contributor to open source is awful"
All of these statements, I believe, accurately summarize his experience. All of these statements can be summarized "Open source is awful in many ways" for purposes of titling an article.
He's not trying to say that the concept of open source is awful. You don't have to jump in and defend that cause.
It might be more accurate to say "the state of the open source community is awful", but for some folks that are deeply involved in that community that might simply be synonymous with open source itself.
In either case, I think the author made it fairly clear that he was referring to the community and not the concept.
Your response is completely off the mark because in many ways "open source" is as much a community as it is a philosophy. Programming is as much a social activity as it is a technical one. You can release open source works, but if you don't use any social platform to distribute it, who's going to find and use it?
> Your response is completely off the mark because in many ways "open source" is as much a community as it is a philosophy.
Open source is as much a community as the park outside I run in. Other people show up there, some say hi, I meet my friends there sometimes, but the park is not a community.
He specifically said 'in many ways', then elaborated on some of these ways. You're doing nothing more than fighting a strawman.
> Open source is merely the idea that sharing code is good
This is just an argument from being pedantic - he's obviously talking about the open source community at large (and specifically, some sub-communties), and I can't honestly believe you don't know that.
> I've personally had nothing but great encounters with FOSS.
Another classic false argument that comes up all the time - do you think your good experiences cancel out his bad ones, or the other bad ones discussed elsewhere in this thread?
> It's best to think of FOSS not as some community that replaces your interactions
More weird phrasing that seems a bit of a strawman. Who said that the open source community 'replaces' one's interactions? Can a community not have bad characteristics simply because it's not the only community you're involved in? This really makes no sense.
> but rather as a sharing philosophy
Again, this is an argument from nothing more than being pedantic. It's incredibly obvious that the original post isn't referring at all to the general philosophies of open source, but to the actual communities he participates in, in terms that are not remotely unusual. Even if you're adamant that open source as a term must only refer to the philosophy and none of the practical details, you've done nothing to affect the original argument, because it's still about the communities that exist around it in practice.
Overall, I think your post is a bit of a mess of bad arguments and classic fallacies.
And Lennart's post is bit of a mess of over generalisation.
Both arguments have qualitative merit, but also large quantitative holes.
There are many open source communities (and there are many altogether; good and bad) that don't have any of this sort of behaviour. It would seem that the Linux kernel / systems arena would have more than its fair share.
> He specifically said 'in many ways', then elaborated on some of these ways.
But none of those ways have anything to do with open source. You need to look no further than #gamergate to see that people act like assholes on the internet.
> This is just an argument from being pedantic - he's obviously talking about the open source community at large (and specifically, some sub-communties), and I can't honestly believe you don't know that.
I know that, but equating a concept with people is like equating the corner block outside with the drug dealer that sells there. "Street corners are awful!"
> t's incredibly obvious that the original post isn't referring at all to the general philosophies of open source, but to the actual communities he participates in, in terms that are not remotely unusual.
So instead of saying those communities suck, he says open source can be awful in some ways...
Communities can suck in any industry/hobby/interest/etc...
> But none of those ways have anything to do with open source
More bad arguments! He didn't say that open source is unique. Perhaps he's simply talking about the communities he's actually involved in.
> equating a concept with people
I don't think you do get it. Nothing about Lennart's terminology is particularly unusual - the 'open source community' in standard parlance is a fairly well defined set of people, organisations and forums that isn't particularly controversial to refer to.
I think you really are just using different words as everyone else to mean the same things.
> Perhaps he's simply talking about the communities he's actually involved in.
Then he should have said 'The communities I'm involved in are awful'. And I'd agree. I didn't realize he made PulseAudio and Systemd (or was involved in some way). I personally don't mind either project (neither have harmed my Linux experience, Pulse is convenient for my uses), and I think both get a lot of unwarranted criticism. Not least for the fact that, with open source, you don't HAVE to be stuck with anything you don't want to be.
> I don't think you do get it. Nothing about Lennart's terminology is particularly unusual - the 'open source community' in standard parlance is a fairly well defined set of people, organisations and forums that isn't particularly controversial to refer to.
I think you really are just using different words as everyone else to mean the same things.
See, this is the thing. I'm not part of that community. I could care less. But the reason why conversations like this aren't useful, is that you're equating a specific group of people with a concept, but criticizing the concept.
Posts like this find their way outside the community. They give fodder to those who would like to see all software be closed source. They aren't helpful.
Again, he should be far more explicit in what he's actually criticizing...
> Luckily he doesn't need to, because (as above) he's obviously talking about the open source community.
Which open-source community? The Linux kernel community is very different from say, the Haskell community (which is also very invested in open-source).
> You couldn't care less.
You accuse me of splitting hairs on semantics, yet you choose to correct me here. You understood what I meant, local slang here (for better or for worse) is to say what I wrote (even if it's not 100% gramatically correct), but you are more than willing to criticise me for not 'accepting' ambiguous language for something that should be 'obvious' to 'the open-source community'...
>I've personally had nothing but great encounters with FOSS.
Same here. That doesn't mean there isn't a problem, though. I mean, I'm pretty much a nobody. I haven't contributed to the kernel or created a perl module or created systemd so of course I haven't had any issues.
I'm sure Poettering isn't making this stuff up. People are so pissed at him for systemd and it makes no sense. And he's right to call out Linus for saying those things. Whether you think the people deserve this kind of abuse or not it's just toxic for the community at large and there isn't any reason to say stuff like that (I'm talking death threats or the most hurtful insults you can think of). If someone drops the ball don't take their work and ask them to leave - if they don't, you should be able to ignore them.
>Saying open source is awful because you've encountered assholes is like saying free market economies are awful because some vendor overcharged you one time, or saying cars are awful because some guy cut you off yesterday, or saying free speech is awful because some guy insulted you in public the other day...
What he's actually talking about is a pattern of bad behavior. Of course there are going to be random assholes on the internet - that's not what he's talking about. He's talking about all of the abuse he gets from the actual community on a regular basis. Systemic abuse and vitriol.
I love open source. I owe my career to Linux and my passion about it. But that doesn't mean we can't make it better. And this internet bullying stuff is a real problem - it's very well documented. Ignoring the problem is the worst thing you can do short of contributing to it.
If we're going to have a real community then we have to make sure people feel safe and welcome.
He's not saying open source is categorically awful, but that there are awful things about it. Pointing out these deficiencies is a way to foster communication to fix shortcomings that may exist in the community. You're right, FOSS has allowed a great many things to happen, but that doesn't mean FOSS and its methods are perfect. Continually revisiting and refining processes should be at the forefront of FOSS.
As a data point and a side note: I've been participating in open source discussions for more than 15 years now. This issue seems to come up more and more, and it seems that many communities are deteriorating. Lennart is right about Linus setting a bad example.
But not all is gloomy. As a positive example, the Clojure community has always impressed me with its maturity. People are incredibly nice and helpful, discussions are constructive. Bad tone is immediately struck down. And it is true that a lot depends on the leader — Rich Hickey sets the example here and people follow.
Exactly. Project leaders have the power to set the tone of discussions within their communities. If abusive people are moderated, they don't propagate, and the community gets more welcoming.
However this does not address the inter-project nastiness that the OP refers to.
486 comments
[ 1.5 ms ] story [ 286 ms ] threadIncidentally, I find it very sad that we can't discuss this on HN. What has happened to Lennart, and the behaviour of Linus Torvalds as a bully, is probably something decent to talk about.
https://news.ycombinator.com/item?id=8414859
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE F✦CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the f*ck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?"
https://lkml.org/lkml/2012/7/6/495
then I don't think I'd ever contribute to the LKML.
(p.s. the irony of posting such an offensive post by starring out the u in fuck... does he not see the irony?)
Note that this happens because you can read it with knowledge of the writer's personality. If it were an anonymous author, your impression would be perfectly correct.
No, I know that the standard reply here is that no one is above being polite. I disagree. This is a Linus' flaw, of course, but one we can live with in the context of his hugely positive net contribution.
Said in response to a comment by Linus directly stating that someone should be retroactively aborted (murdered).
If you seriously believe he was advocating murder, I presume you have reported the matter to the police, as in that case it is a criminal offence.
Just kidding, I hope you die in a couch fire.
I don't know Linus, but he seems a good, selfless guy, with the best intentions at heart. If he's not politically correct, who the fuck cares? Sometimes I get the feeling that even murderers are more respected, as long as they talk nice.
In my opinion the insistence on political correctnes has much more chilling effect than some passionate, if insulting, words.
As for his "passion", I don't think that resorting to public humiliation is any way to lead a project. Rather, it sounds like an item out of that "How To Minimize Employee Retention" article that made the rounds last week.
Linus certainly has many good qualities that have contributed to the success of Linux. He's diligent, he's technical, and he's great at solving problems. But it's important to acknowledge that Linux has thrived despite his abrasive outbursts, not because of them.
No, you don't really know that! These outbursts may bother you and other people but it is also possible that they have been very, very beneficial to the community. Like it or not, they are a form of humor to many people and that may improve team cohesiveness.
I for one think that the reaction to this particular retroactive-abortion-outburst as "not treating people as human beings" is taking things absolutely way too seriously.
EDIT: I find it quite amusing that I get downvoted for a fairly dispassionate and mostly objective explanation of context, yet several of my far more subjective and controversial comments elsewhere in this thread have gotten heavily upvoted. Figures.
You say that blocking these merge requests would benefit many; so be it. Being polite about doing that would benefit the same set of people, and may others at the same time.
There are also people involved on both sides, and people get angry and frustrated.
> Being polite about doing that would benefit the same set of people, and may others at the same time.
And a lot of people believe that sugar-coating it would reduce the benefit by signalling that Kays behaviour wasn't so bad after all.
And maybe this approaches the crux of the problem. It seems that there is a false dichotomy at work here.
Being polite (or, indeed, just not being verbally abusive) takes less time and energy, and is overwhelmingly more effective, than being overly abrasive.
I don't believe 'Sugar-coating' has anything to do with being polite and accurate. 'Sugar-coating' is all about being less accurate and on point.
The point is that the person in question was being rude and disrespectful by continuing to ignore the instructions he'd been given in the past, and repeatedly caused a lot of very real, very heartfelt anger from a lot of people over the time he wasted for them.
Pretending not to be angry over that is very much sugar-coating to me.
Now, there are nicer ways of being direct and expressing anger, but pretending there was no anger and no valid reasons to be angry would be flat out dishonest. And I really don't think the recipient in this case had any reason to expect any civility from Linus at this point, even if others might choose less direct language.
This is also revealing: the idea that it is somehow dishonest if one chooses to not publicly verbalize one's own internal state.
We should think about that for a moment. This is the proposal: "I am being dishonest unless I verbalize my anger about a topic."
I would submit that dishonestly would require a more direct statement.
"I am not angry about your continued choices for ignorance."
That would be dishonest.
In my opinion, not saying anything about one's internal state can't be dishonest. No information was given.
In other words, there's a pretty egregious double standard being applied here. In my experience, that typically favors the kinds of abusive personalities who have discovered some easily-exploited aspect of the social system to simultaneously provide cover for their own bad behavior while limiting their target's ability to retaliate.
If I were on a team stuck with this guy, and required by professional norms to bite my tongue, I can safely say I'd take supreme satisfaction in seeing such a nasty employee get this severely excoriated. And make no mistake, this isn't about "feedback" or "criticism". It's about driving the guy out of the shop in a way that provides a suitable catharsis for everyone who has had to put up with his actual and sustained unprofessionalism.
Of course, tf this were an arbitrary, unjustified, or otherwise baseless response, I could see how it would be hugely damaging to Torvald's authority, and the trust he relies on. But in a case like this, the opposite seems true. And if it puts others who present similar problems on notice, so much the better.
Would you tolerate a manager who talked to you this way? I wouldn't. Not even Linus. And then I'd point out all the pretty crappy code Linus had checked in.
It becomes a lot harder to call someone a 'fucking moron' if you imagine it as a guy standing in front of you.
I don't think Linus would care. Everyone makes mistakes. Linus is a gatekeeper of sorts and he has to "point out crappy code" whether people like his language or not. The outside world just needs to decide how seriously they take these outbursts. I don't think there's any evil dimension in that.
It's a double loss. It makes the code weaker and less innovative, and it makes the culture seem unappealing to outsiders.
You might not think that's significant. But how can you know what you're missing by not being more exclusive?
Consider: open source could be set up on a semi-formal apprentice/mentor basis. It could easily become a way for programmers at all levels to develop professional standing.
Code on a GitHub profile is not the same as being able to say "I worked on X and was mentored by Y and Z."
And "You're a moron, fuck off" is maybe not the best way to create a culture of collaborative support.
I don't see any evidence of a huge number of people, that could otherwise contribute anything meaningful, avoiding Linux kernel because it's "hostile". They avoid it because they simply don't have anything meaningful to contribute, or are not able to contribute with the level of quality required in Linux kernel, or they are unable to handle the inevitable criticism.
Also, I'm pretty sure Linus has never used those words to tell people to get lost. Don't invent stuff. He might use strong language but in many cases it is humor or he knows the receiver personally.
http://arstechnica.com/information-technology/2013/07/linus-...
http://www.attendly.com/linux-founder-linus-torvalds-deliver...
(And that was where I got bored.)
I just think his hyperbole is a way of expressing good discussion and reason.
I think that the OSS community (and IT community in a broader sense) has this idea that "they're just words," and so therefore, they should just be able to say what they want without consequence. But, words matter. A whole lot. Empires are built upon words. People rally around words. Words convey ideas, thoughts, feelings, and everything that goes with them. Why is rampant bullying accepted in this culture? Why is it the norm?
I'm not saying that things have to be all sunshine and rainbows. Yeah, sure, it's stupid to read a byte at a time, but you don't have to be an asshole about it. You can say, "Hey, that won't work," and be done with it. People should be treated with a modicum of decency. Remember the human, and all of that.
If I got dissed in such a hyperbolic way from a boss that was paying me, I would leave.
In a situation where I've toiled in a position of importance in a project I work on in my free time, and I screwed up, I think I'd be hurt if I was dismissed lightly and without creative ire. I mean, I want to know that if I screwed up, I screwed up enough for someone to admonish me creatively, since there isn't any method of management. Your tool is primarily shame, you can't suspend someone without pay from a mailing list.
Constructive criticism is helpful and should always be the first stop on the train. But if you should already know better, or that ground has already been well-trodden, then it just sounds patronizing. This is where being told to shape the fuck up is the kind of message I would expect to receive.
What would be even worse is being ignored or shunned.
> Disdain for "political correctness" is often positioned as a concern that some important truth is not being spoken for fear of offending someone. But that concern is nothing but smoke and mirrors. To invoke "political correctness" is really to be concerned about loss of power and privilege. It is about disappointment that some "ism" that was ingrained in our society, so much that citizens of privilege could express the bias through word and deed without fear of reprisal, has been shaken loose. Charging "political correctness" generally means this: "I am comfortable with my privilege. I don't want to have to question it. I don't want to have to think before I speak or act. I certainly don't wish to inconvenience myself for the comfort of lesser people (whoever those people may be--women, people of color, people with disabilities, etc.)"
> http://www.whattamisaid.com/2010/02/conservatives-political-...
I really hope you aren't. Posts that recast and interpret someone else's opinions like this are toxic to any political discussion. The framing makes the topic into an caricature you can easily oppose all while whispering in your ear "this is what's _REALLY_ going on."
Maybe you don't think this interpretation is wrong. Maybe you think I (like they) just can't realize or admit it's right. Maybe you don't think it's such a bad thing if this armchair psychologist is just a bit wrong. But have you ever seen someone post about how stupid social justice is when the thing they're trash talking isn't social justice at all? Have you never had someone disagree with you assert that you believe something you don't? Posts like that are exactly how it happens.
Therefore, I doubt that a random person on LKML that wasn't CC'ing Linus to complain about the bad performance of doing things wrong would draw random fire from Linus about his ability to suck a tit.
Meanwhile, Steve Jobs was a total asshole to many people, including family, and this has been approved in his hagiography as a condition for his incredible inventions which revolutionized all mankind. If that is true for Apple then presumably it is also true for Linux?
Or maybe we should be more uniform in criticizing for people being assholes, rather than singling out Open Source with an implicit double standard.
Usually when people cite Steve Jobs' (or Linus', or anyone's) asshole moments as being somehow constructive, it's because they wish they could act the same way towards the people around them but they can't get away with it due to their own lack of power. It's not an attractive quality for someone to have. It's one thing to be somebody's lousy manager, it's another thing entirely to be envious of lousy managers.
Linus is fully capable of writing "fuck", as evidenced by e.g. [1]. If he stars it out, assume it is a stylistic choice for that particular message.
> then I don't think I'd ever contribute to the LKML.
If you can't handle a message like that, then perhaps it's just as well. Note the context (though I can appreciate it may not matter to you, and that you simply won't contribute regardless of it):
A senior developer who have repeatedly made Linus exasperated by submitting code that Linus have had massive issues with, up to and including unacceptable levels of breakage, appears to have written code so idiotic that it should not even have occurred to him. 1 byte reads with sys-calls is a beginner mistake. Kay was/is not a beginner. He also had at that point had repeated complaints from Linus about the quality of his code, and showed no sign of listening.
This conflict eventually culminated in Linus making it clear he'd had enough, and will no longer merge code from Kay until he cleans up his act [2]
While I don't think I'd be as caustic as Linus, I can totally understand the level of exasperation that saga must have caused him given the series of issues in question. And at the point of this outburst, nothing appears to have worked: the stream of crap had kept on coming.
[1] https://lkml.org/lkml/2012/12/23/75
[2] https://plus.google.com/u/0/111049168280159033135/posts/Kd57...
I don't mean to put words in your mouth, but are you saying that being exasperated is justification to be arbitrarily caustic?
There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
Some people can form that understanding as the basis of their relationship and continue on happily, able to both give and receive this kind of criticism. To others, it is completely foreign and incomprehensible and they don't see the tongue-in-cheek at all and just interpret it as blatant, outright hostility, which is generally not the actual subtext.
> There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
And a lot of people who "do not talk this way" are a lot worse by dealing with these kind of issues through backstabbing or veiled insults.
While some are saint-like and never say or do a bad thing to contributors, I don't buy that the lack of abrasive language in any way is a reliable indicator of civility.
There is a choice to be made. The choice stems from the basic mindset: am I fundamentally ok with verbally abusing people around me, or should I try to stop doing that?
I don't know what's in Linus' mind. Perhaps he is utterly incapable of never resorting to verbal abuse. But I doubt that's true.
Direct language, without verbal abuse:
"I am upset and angry that you keep making the same mistakes."
That's clearly communicating how he feels, without verbally abusing his audience.
No, remember the context: you've already used nice, direct words, and Kai has ignored them multiple times. Now you need to shake Kai's cage. Linus might have gone overboard, but his technique has more chance of success than yours.
Also, this is not a sterile corporate environment. The LKML is more like a dive bar than Applebee's and that's the way they like it.
Given that direct words were ignored multiple times, I would suggest that the next action is simply to not merge, without comment, after a final "You are ignoring us, we can't the time to keep correcting you. Your bad merges will be ignored without comment."
Such a path will get a developer's attention, and it involves no verbal abuse.
A problem with flinging abusive words around is that it artificially and needlessly limits the diversity of your community. Though, it might be that that's t he intent:
"The LKML is more like a dive bar than Applebee's and that's the way they like it."
What I want to firmly point out is the general community's level of acceptance of verbally abusive language.
There could be a debate about what constitutes verbal abuse, on a case by case basis. And that would turn into a mess.
What I'd love to see is the community acknowledge that using and even encouraging such language is bad for everybody, and it's bad for the open source movement, big time.
> There could be a debate about what constitutes verbal abuse, on a case by case basis. And that would turn into a mess.
Right now, a lot of people simply do not make the distinction between verbal abuse and direct language. In other words, they are arguing that we should not bother discouraging verbal abuse because it "shouldn't" affect targets any more adversely than direct but non-abusive language.
I guess it's a debate one can approach from many angles. But maybe you're right, perhaps focusing on highlighting why one thing constitutes verbal abuse and others don't is too semantic of an argument, and it's more productive to focus on the fact that just because one person has never been truly bothered by verbal abuse doesn't mean that should be the universal expectation.
Too many misunderstandings have been caused by well-meaning people reading too much into cherry-picked HN comments.
Hm. Because these comments are WAY off topic and have now drowned out the article and any rational discussion, I won't comment any further. Diederich, I hope you'll show more restraint with the Reply button.
My interpretation of that email chain reads: anyone who is stupid enough to continue reading byte-by-byte after being told that it's a bad idea should be retroactively aborted.
The implied subject makes a big difference. (I still think it's over the line but I understand that everyone makes mistakes in the heat of the moment)
And everybody, myself included, says things out of frustration, in the heat of the moment. That's not what I'm talking about here.
I'm talking about how many (most?) open source technical communities are very much ok with language that is abusive. Indeed, many take pride in that fact.
When I say something that's inappropriate, I'll make a point of retracting it later on when I'm calm.
Most simply, refuse to merge their stuff unless it has quality. You don't have to hold their hand; say: "You are making the same mistakes over and over again. Your stuff isn't going to get merged, and we're not going to spend any time explaining to you why."
"any more time", please. The context should imply this, but some situations require high clarity.
Most people are not going to see the context of that statement. I'm sure he had his issues with the developer and the relevant code, but that doesn't excuse such a public display. All he did in that matter is make himself look bad and, to a degree, made his project look bad. As it's been stated elsewhere, such actions most likely just drives people away.
Open source software, especially the big projects, are a public facing entity. Just like any large corporation. A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
Each to their own I suppose.
Most people are never going to contribute to the Linux kernel in the first place. Anyone who is likely to, is likely to 1) actually get at least some cursory knowledge about the community and the process, 2) not deal directly with Linus until they've spent a lot of time getting up to scratch, including submitting patches to sub-system maintainers, 3) get only polite responses from Linus if/when they do deal with him.
I don't think Linus has any reasons at all to be concerned about whether or not people see the context of the statement. The people who don't are not likely to affect his ability to do his job.
> All he did in that matter is make himself look bad and, to a degree, made his project look bad.
Any reasons why Linus should care?
> As it's been stated elsewhere, such actions most likely just drives people away.
Linux does not have a problem with lack of developers trying to get stuff into the kernel. If it drives away some good people, then so be it. If it makes some shitty developers think twice about ignoring repeated admonitions from Linus, then it seems to me like good use of his time.
> A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
From my point of view, the negativity tends to show up in discussions like this, rather than in forums where people are actually concerned with these projects. The level of desire for political correctness annoys me greatly. I find a lot of the responses here far worse than the direct language Linus sometimes uses because of insinuations and underlying implications of the statements.
If someone involved in a public facing project open to the masses doesn't care in any way how they appear in public, then that's just a problem that will likely never go away. I suppose as long as people are willing to accept the abuse then it won't negatively affect the project that much in terms of contributions.
Another one, got it. As long as people still continue to desire to contribute then other people's behavior is totally acceptable.
So far, I have yet to see any one person's comment reach the level of the quoted statement. If you can't see that then I guess we'll have to agree to disagree. Also, you are assuming quite a lot about my level of tolerance for political correctness. Simply pointing out that someone behaves in a bad manner and suggest that maybe there was a better way is not political correctness.
Again, we shall have to agree to disagree. Projects will carry on regardless.
Then this is all Linus had to say. This, exactly, is a great sentence on why you'll no longer be accepting code from a party, and sums up both what they can do to get back in, and what other developers can learn from this. There's no need to sink to insults, especially at the level Linus can dish out.
We have to deal with clients so clueless, I don't know how they manage to even email us with the stupid questions. But we're polite to them and when speaking about them publically. We keep the abortion-comments private, between the developers whenever we go out for happy-hour. It's not very hard for the open-source community to do the same. (I know the majority of the open source community does not do this. But a vocal minority do, and the rest of the community seems to be okay with this, when it's not okay).
Linus has no incentive, financial or social, to be nice to Kay. Chewing him out, however, probably lowers his blood pressure and saves him the time of refactoring his immediate emotional reaction into a polite response, both of which are probably critical metrics to him.
Such conduct is not tolerated in workplaces, where people are paid to contribute, why do you consider it acceptable in an environment where people contribute for free?
On the other hand, in most open source projects you contribute what you want, where you want, and if you don't like the project lead, it takes you as much as closing the browser window to quit.
That said, I don't really know if this is the situation of the people working directly under Linus. ¿Aren't the key kernel developers usually paid by big corporations to work there?
Even between two coworkers of equal status, this behaviour would not be tolerated by a good employer.
Kay had then made /proc/kmesg semantics somewhat weirder, by not blocking but instead returning 0 when the available buffer wasn't big enough to read into; normally, returning 0 to a read indicates that the file has been closed, while if there simply isn't data available yet the call is supposed to block until it is.
So Linus was asking Kay to fix the issue, but also making an aside about how stupid it is to try to read one byte at a time from the kernel.
Now, there was the other incident you mention, in which Linus did get upset enough at Kay for not responding very well to a big report, but this one was not that; he was merely asking Kay to fix a bug, and cursing out some unnamed other developer for having done something as dumb as byte-at-a-time reads.
Not really defending either side here. I find Linus excessively caustic on these issues, and Kay a bit too unwilling to admit when he needs to fix a bug. I feel like Lennart gets way more hate than he deserves; he can be a bit difficult to work with sometimes, but it's crazy how some people think that he's single handedly out to destroy the Linux ecosystem.
I run a lot of software originally written by Lennart (Avahi, Pulse, systemd, heck, I recently even started using ifplugd on systems that still needed to use ifupdown but we wanted to respond properly to network cables being connected and disconnected), and find that it tends to be higher quality, more well designed, and more stable than a lot of the other code in the stack. Due to the fact that much of it changes the "traditional" way that systems worked to a very different but friendlier way, there tend to be a few integration issues along the way for early adopters; if you don't want such integration issues, it's probably best to use a stable distro like RHEL/CentOS or Debian Stable, rather than a quickly updating distro that ships code that's not yet ready for primetime like Ubuntu, Fedora, or Debian testing/unstable.
1. very nice. 2. receiver of whatever shit (including good shit) people send. 3. productive. 4. responsible to make a critical system work. 5. a filter of bad code. 6. ...
Without offending anybody?
Now i imagine that Linus suffer a tremendous pressure to not let any bug pass, cause everybody in the world would eat his liver if there's a smallest security hole in the Kernel
Millions of lines of C code, that run in every gadget we can think of, the guy is stressed out; and you have a "code terrorist" do deal with?!
Also Linus has a strong personality, everybody knows that; so i dont see this as something bad as its being painted here; And we have to take the cultural background into account; i prefer the German/Nordic tought/transparent way than the hypocrisy/"you are great, but i will stab you when you turn your back" kind of culture (and im from a relaxed kind of culture)
I Think this is more of a cultural clash
https://www.debian.org/code_of_conduct
It's not that we "can't" discuss it, you just have to be prepared for the discomfort of disagreement from both reasonable and unreasonable positions. Bad positions will be argued well, and good positions will be argued poorly.
The empathy to understand issues from stances you disagree with is necessary to make arguments that sway people to your position. The ability to be as critical of your own positions as those you disagree with is how you ditch silly ideas and improve the defense of your good ideas.
The reader has to put in more effort than looking at a salty conversation and coming out the other end saying "gee, that was frosty, therefore I don't have to think about the issue seriously and can conclude the position I had going in was right all along." It may not be ideal, but making the best of a bad situation is a practical approach often necessary to get anything useful done. Do you want to change minds or do you want to indulge in the comfort of showing everyone just how right you are?
This has the side effect of divisive issues not getting the same exposure as stuff everyone agrees on.
Linus Torvalds is not a bully. He's in charge of one of the biggest and most successful project out there. And this project is open-source, and anyone can contribute to it. Anyone. Even your cat. Imagine the Windows codebase being opened to anyone, with anyone being able to suggest fixes and send patches, or ask questions, or make suggestions.
You do not want any idiot to commit insane things. You need to have some barriers. And these barriers are related to technical skills.
You have to understand that the alternative to "Linus is mean" is "Linus let a fucking patch enter the kernel, and it broke millions of machines around the world, causing millions of dollars worth of damage". Every single line committed in the kernel must be carefully checked, and if you lack the skills, just go away, because it will (1) spoil the precious kernel maintainers time and more importantly (2) do damages to millions of users.
So I am personally very glad Linus is "abrasive", because when someone screw up, he makes it perfectly clear, and this is totally appropriate considering how critical the linux kernel is nowadays.
And yes, if you want to live in a politically correct, nice, cheerful project, this is not the project you need to work for.
[Having said that, I do not think Linus has ever been dishonest (such as refusing a patch only because he did not like its author, unlike some C-library guy), which is precisely the reason why his abrasiveness is perfectly fine to me]
I think this notion - which Linus pushes - that the alternative to yelling at people and generally being short tempered is always "political correctness" ... well it's quite harmful. Yes, it CAN get that way, if people interpret criticism of their work as personal criticism and try to shut it down by complaining about it. I've seen that happen before. Some people don't know how to handle someone implying, even if politely, that their work sucks and can't handle it. But that doesn't mean it has to be that way and well functioning teams manage to avoid it.
I wonder about those projects sometime. If we took all of the conversations that ever took place at their office and stuck them online and in public. What would that be like? How many journalists and bloggers would find inflammatory quotes that can be published out of context to shame the person who spoke those words? How would Linus stack up next to John Doe of the Foo project?
Or, think about everything you read, said, wrote or heard at work over the last month. Now imagine hand wringing blogposts about all of it. Especially the things that you want to exclude from this thought experiment because they would have never been said if your only communication method was a public mailing list.
For example, this is what Linus wrote:
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE FCKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the fck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?
Instead, he might have been able to write something like this:"It is a very bad idea to read one byte at a time with a system call, for a variety of reasons, including and especially performance."
I would love to hear how being an abusive asshole actually does any good? I see it as a way to artificially limit the size and diversity of the potential contributor pool.
Nonetheless, my question still stands: how is a verbally abusive diatribe in any way better than a shorter, more reasoned, and perhaps final response?
It could have been "This code is bad. I will not accept this code.". Except that would not have communicated the same message.
It's not always desirable to strip away emotional content.
"It upsets and angers me that you're continuing to make the same mistakes over and over again."
vs. 'abortion', etc.
Both examples communicate emotional content. Only one of them is verbal abuse.
Consider which is more effective in person - the phrase "I am angry" uttered in a calm tone of voice or profanity and insults in an angry tone of voice. One of those states anger. The other communicates anger.
I've been through military basic training, and such language is routinely used because it is quite effective at communicating error by breaking down mental resistance and barriers to correction.
In that case, the potential for emotional harm is outweighed by the net reduction in the probability for physical harm on the battlefield if such lessons aren't learned absolutely.
Make no mistake: the kind of language Linus (and so many others in our community) uses can and does cause emotional harm, primarily to people who might be called 'thin skinned'. This is discriminatory against some personality types.
In the balance between using verbally abusive language to more effectively communicate error and not doing that, I believe there's no question: verbal abuse is wrong, and should be avoided, and not defended. There are other ways to accomplish the same thing, without all of the toxic side effects.
Remember, the goal of an open source project is useful code. A friendly and emotionally supportive community is only desirable if it aids in achieving that goal.
I concur that open source projects' primary and over-arching goal is and should be to produce good code.
When the leader of a project freely (though not so frequently in this case) uses verbally abusive language, that has the strong effect of limiting the diversity of potential contributors to the project.
I'm willing to assume that a more diverse project tends to be a project that will produce better code.
In this particular case, bad code wasn't included in the project. The abusive language did nothing to stop merge of bad code.
So did verbally abusing this developer somehow cause his/her future contributions to be of higher quality? I don't know the answer to that.
Or perhaps did this verbal abuse generally raise everyone else's code quality, because they didn't want to become a victim as well? Perhaps.
One thing I am certain of, though, is that such choices artificially and severely limit the possible side of the contributor pool, and that's bad.
I'm not willing to assume that a more diverse project and larger potential contributor pool will automatically produce better code. Not all contributors are of equal value. Some contributors are of net-negative value, particularly those like Kay who persist in such. It is highly desirable to limit the potential contributor pool to as few of those individuals as possible.
Size is not the sole meaningful measure of a contributor pool. Quality is equally - and often more - important.
When dealing with matters tangential to a core purpose, sometimes the ends do justify the means. When was the last time you thanked an open source developer for stopping development on features you needed (perhaps permanently so) in order to encourage the surrounding community to be nicer to one another?
The diversity I'm talking about is in personality types. There's a lot of people, even on Hacker News, even in this thread, that would be excellent technical contributors to the Linux Kernel, except they have a personality type that requires them to spend more emotional energy dealing with verbal abuse, either directed at them, or just being flung about.
As you say, size isn't the most important measure of a contributor pool.
In my mind, angry, hateful language, especially if it is accepted by the whole, will greatly limit the amount of talent available.
Good development and merge practices has and will continue to keep bad code out.
And note, I have not said anything about being warm, friendly or inviting. I'm not necessarily suggesting those be specific goals.
Finally, nowhere have I suggested that anybody stop working on features, and instead 'encourage the surrounding community to be nicer to one another'.
There is a very real possibility that angry language results in an increased ability to ship code by discouraging more net-negative contributions than net-positive ones.
I personally don't think that a reasonable person who is familiar with such emails could honestly say that Linus is not a bully or that such behaviour is ever acceptable.
Being in charge of a very important project doesn't make it OK to tell people that they're so stupid they should have been aborted.
This is a false dichotomy. You can tell people to go away or get better without telling them it'd be better if they'd never been born or wishing violence upon them. I honestly don't have a problem with Linus telling somebody their code is terrible. Linus has often taken it to another level in belittling and abusing the people around him.
Linus has a pattern where his first (or second) reaction to an issue is to START SHOUTING AND NAME CALLING in an attempt to shut down discussion. If the issue blows up he comes back and gives a reasonable, considered response. It's a pattern that's not helpful.
What they don't seem to realize that its more likely they'll be on the receiving end of the negative traits they applaud. Either by an occasional screw up or because Mr Bossman is having a bad day. To be humiliated in public like this is often very painful, even for the thick-skinned. The day that happens, they're lawyering up and getting HR involved because, how dare someone yell at them. In their minds, the yelling only happens to someone else, the imagined dumb peons they see themselves as being above.
I think way too many techies seem themselves as John Galt-like supermen, and that the negative consequences are for the sub-humans. There's a real dynamic of here of dehumanizing others that's often swept under the carpet. I think this dynamic is sociopathic.
Linus do not seems to be a person one should quote, as context seem to be critical important for anything he says.
It is intensely but shallowly interesting. Previous attempts to discuss it devolve into bad tempered argument.
No one learns anything from these discussions. No one has their mind changed.
The question is, is this method of selection conducive and is the use of obsessive aggression costing open forum projects like OSS through selective acceptance? There may have never been an alternative to the extremely abusive nature of white-male dominated cultures in the first place in regards to projects in open forums.
The vast majority of OSS projects that don't start from a strong core fail miserably and it's because of this. People extrapolate their real life professional behaviour to a virtual, open scene where assumptions of competence and commitment fall flat massively.
If anything, OSS needs more people like Linus Torvalds and Theo de Raadt managing projects and not post modern clowns with "white male" guilt. It's not by chance that Linux is possibly the biggest success in OSS history with real community contribution, and most of the others have been carried out by their respective cores with very little external output.
American PC behaviour is a disaster for OSS and that's why a lot of OSS is "awful" where it matters, which is in quality, in competitiveness and in leading the industry. Companies like Google and Mozilla lord it over OSS projects that are basically "glass house" corporative projects with extremely little external contribution (other than forking code from Linux, Apache, BSD, etc).
If anything the OSS is not dismissive enough of shit and this is holding us back.
This touches an interesting point. Feedback must be accurate. If you are actually provably wrong, I am not doing you a favor by telling you you that you are "not right". Losing face is a fact of life. When I'm wrong, I want to know I am wrong, what I am wrong about and just how wrong am I. If possible, tell me what can I do to be right the next time.
It must also be kind. You do not point someone is wrong to humiliate the person and you should take care not to (I try and I fail more often than I'd like to) fall into the trap of judging a person for his or her first efforts.
Having said that, I am almost sure all the exaggerated discourse on the Linux kernel mailing list is not really part of the message, but should be understood as more like a sport, a game, where the one with the most elaborately crafted insult wins. When Linus says you should be retroactively aborted he most likely wants to say you are very wrong and your idea is really bad and that, maybe, you should be more thorough the next time you submit a patch. Their time is a finite resource.
Is this the most efficient way to run the community? Probably not. We just don't know what is the most efficient way to do it and it can just be that Linus found a local maximum.
Saying "you're wrong" isn't the issue here. Saying "your mom should have aborted you and i hope you die" is the issue. I don't think people in cultures where losing face is a big issue much care if they're told they're wrong. They care is they're told they are so wrong they should kill themselves or be killed. Honor killings are unfortunately still a big deal in some parts of the world.
What you say in defense of the mailing list insults is the same thing that has been said about casual racism or casual misogyny in other groups normally dominated by white men. It scares away other groups and cultures, and it's not acceptable anywhere.
This. Absolutely. The issue is the personal attacks. I've considered delving more deeply into the linux world, but why would I want to willingly go into a place where my constitution is insulted by those who know little-to-nothing of my constitution, let alone my character.
To the individual who commented on the fact that "time is a limited resource" ... so are intelligent people. That you would sacrifice a person (sacrifice them from your project, or committing to your work) by insulting them shows me to avoid your organization.
> They care is they're told they are so wrong they should kill themselves or be killed. Honor killings are unfortunately still a big deal in some parts of the world.
Nobody is wrong enough to warrant that. I see the "elaborate insult" thing can get out of hand, but, still, it should not be taken at face value. I believe the proper way to deal with this is to either engage in an escalation of extremely elaborate insults (provided you accompany that with technical argument defending your "bad" idea) signalling the insult is not the topic being discussed (but it's "adorning" the arguments) or stating, privately, that the insult crosses a line and asking the person to please not to that again. It usually works.
Disclaimer: I am a caucasian straight married male in his mid-40's. I probably belong to the demographic least susceptible to bullying and some of the situations described here are probably very alien to me. I appreciate constructive feedback, however. I do not know how the moderators would react to an insult war, however, so I advise against it, even if you think it proves your point.
LKML gets thousands of emails every day. The bulk of the discussion is actually very civil.
It's certainly wrong to turn that to personal attacks against him, but I can understand why people disliked PulseAudio then Systemd - and even hated these projects because they caused breakage in numerous systems, hours to try to fix it, and ended up with justifications like "it's by design" or "you don't understand why but it's better this way".
Isn't that how open source is /supposed/ to work? TBH, as a Debian user, I'm quite happy with the "Lennart releases theoretically brilliant but practically buggy apps, Ubuntu / Arch users suffer for a few months, Debian integrates the system once it's stable" workflow :)
PulseAudio was unfortunately released in Ubuntu even before Lennart & co. declared it releasable, so it was Ubuntu's fault if it gained a reputation of being "unfinished" (indeed it was, but it was not a fault of the PulseAudio team).
Pulseaudio and systemd are two of the best things to happen to Linux in years.
Have you considered that a flexible, high-quality OS audio subsystem might be difficult to bang out in one weekend?
> ALSA was bad in a lot of ways, but was workable.
Are you kidding? Every desktop install before pulseaudio was a crapshoot when it came to audio.
> I agree moving forward is good, but the issue with alot of OSS software is it's used a replacement for working software when it's not quite ready.
No-one forced anyone to switch to pulseaudio, and has any software ever been perfect in release 0.1? I personally upgraded straight from Debian squeeze (default ALSA) to wheezy (default Pulse) without a single issue, because pulseaudio wasn't integrated until it was stable.
> What I don't like is the hooks that systemd places into software it has no business touching, like Gnome.
It's not like systemd people sneaked their "hooks" into Gnome. Gnome switched to systemd interfaces (e.g. logind) because they fixed real bugs!
> Userland software should not be touched by this. Full stop.
It isn't! Developers are just switching because it is better.
Wow. This post is a good example of the baseless accusations Lennart has to put up with.
EDIT: Other than that, it _does_ work quite well nowadays.
The GNOME developers simply had two choices: keep using the old, bug-ridden and still-unmaintained ConsoleKit or switch to the simpler, more powerful logind D-Bus interface.
ConsoleKit is still more-or-less supported upstream, but given it's extreme bugginess many distro choose to disable it and rely on logind interfaces.
Note that this does not mean that GNOME depends on systemd: as long as something else is implementing the needed logind interfaces (eg. systemd-shims) GNOME will happily run.
And no, a maintainer refusing patches is absolutely not "antithetical to the spirit of open source". The spirit of open source is that you can fork if you don't agree with a maintainer. It's simple as that.
[1] http://www.jwz.org/doc/cadt.html
Consolekit could live on top of any and all inits out there. Logind balks if it does not have systemd sitting as pid1.
No, thanks. systemd's interfaces are publicly available and with good enough documentation. Most of them are even declared stable, only the internal ones are obviously free to change.
In fact many project are now attempting to reimplement systemd's interfaces as this is how FLOSS work.
Of course the alternative doesn't exist yet when the interfaces change every week.
And systemd's definition of "internal" is rather dubious; to most of us, udev or journald should be separate components that can be swapped out.
Of course internal interface are not stable and sparsely documented, but they are just that, internal.
Reimplementors should only bother about the public interfaces.
Note that udev does not use systemd internal interfaces and happily runs on non-systemd systems.
Journald can be disabled if you don't want it, or you want to run it on non-systemd?
Open source projects often have small numbers of people who know each other quite well. Even these projects can have toxic people as members of the group.
And people are capable of being assholes under their real name. Read comments in any online newspaper for examples.
Online communities need to work their way between no vested contributors and avoiding concern trolls.
http://meatballwiki.org/wiki/VestedContributor
http://www.ubuntu.com/about/about-ubuntu/conduct
As an Ubuntu member, I'm expected to behave. In our derivative communities, we try to ensure that people adhere to these principles too. Ask Ubuntu (part of Stack Exchange, not Canonical), for example, also requires people to adhere to the Ubuntu CoC. Ubuntu Forums and IRC have similar behaviour guidelines.
Does that mean it's always civil? Of course not... But it does mean that nobody's surprised when people are tossed out for being needlessly rude and the non-technical flame wars of the late 90s just don't happen.
All things considered, I have been seriously thinking of moving my core infrastructure over to FreeBSD/OpenBSD to avoid the coming (well, here already) continued balkanisation of Linux. The code quality of Linux has deteriorated of late as well. I've noticed it. My BSD test boxes running the same software suffer nary a hitch. Debian seems to be sane still, as does Slackware, but for how long. This ridiculous systemd battle is bonkers.
Theo de Raadt is a great guy. He gets a bad rap when it's undeserved. What the OBSD guys is very serious stuff. He gets a lot of flak but running an OS and security software project as successfully as he does takes a strong personality. He has that, and in the real, he's a nice, friendly guy. He simply has no tolerance for people with no merit and nothing to add. Anyone would be the same.
I've met a couple of snarky FreeBSD admins, but they were also Linux and Windows admins at the same time. These two guys were full of themselves regardless of platform.
BSD (in general) tends to be more polished than Linux and suffers fewer bugs out of the box. Again, this is what I've noticed. I've yet, in almost 20 years of using FreeBSD off and on, ever had an issue with it that was a deal breaker. I cannot say this of the various Linux distros.
[0]: https://www.freebsd.org/doc/en/articles/explaining-bsd/compa...
I have stable Linux machines running Debian and I have FreeBSD test machines running the same software. FreeBSD uses less resources (exact same HW), tends to be slightly faster, and is arguably easier to admin on a daily basis. Let's not even mention ZFS, which is remarkable in its own right. I'm impressed. I once ran an OpenBSD pf firewall that supported almost 200 users on some seruously underpowered HW. This thing's load average was always ridiculously low. Ditto FreeBSD now. What will cause the Debain machines to peak out sometimes, FreeBSD doesn't seem to notice. Interesting and a bit impressive.
[1] http://www.ixsystems.com/whats-new/freebsd-foundation-and-ix...
[2] https://news.ycombinator.com/item?id=8123512
While I don't necessarily agree with pekk that saying "30s and 40s" is ageism or discriminatory at all, saying "[people] are never offended at stuff like this" is exactly the problem the tech community is trying to solve with being more inclusionary of other people and cultures. Yes, people do get offended at offensive remarks. No, not everyone sees them a joke.
"The GPL license is arguably better IMO as well. Quite a few BSD devs, both kernel and userland, are grossly immature and tend to be vocal copy-left opponents for the sake of being vocal."
Linus's approach is a cultural thing.
I'm also reasonably sure that Lennart Poettering's experience does not generalize. He is rather unique within the Linux community.
s/Open Source community/human race/
Also: https://en.wikipedia.org/wiki/Sayre's_law
Maybe one reaps what one sows.
Coming from almost anyone else this might be reasonable, but him? Just pointing out someone else is an asshole does not negate you being an asshole.
Honestly, it's people like him and the systemd noise on all sides that have made me lose faith in Linux. By contrast Linus has git too, which is potentially as big a contribution as Linux was in the first place. History may even demonstrate git is the more important contribution, because as it stands Linux as a potential platform for end user deployment, except as part of Android or Chrome OS, is basically dead now.
I'd even argue this post is lennart using the genuinely disgusting antics of others as a way to deflect potential criticism of his work in future. This is why, like Drepper, many view him as a long term liability to the ecosystem as a whole.
He's also been an annoyance in Steve Langasek (Upstart developer)'s Google+ feed, and his post regarding the inseparability of systemd-logind as a main argument for why Debian should adopt systemd, at the time of the heated debates, is another. Among plenty of other examples.
His hijacking of Wolfgang Draxinger's CCC talk: https://www.youtube.com/watch?v=CmPKDeo9Oow
Announcing udev becoming systemd-only while referring to potential detractors as "systemd-haters": http://lists.freedesktop.org/archives/systemd-devel/2014-May...
That said, Lennart does not deserve the death threats and the extremer vitriol, but the jabs and sardonic humor are par for the course, given he is a divisive figure, and has made a lot of people mad for good reason.
He's not as abrasive and destructive as Drepper is, certainly, but some people actually find indirect and passive-aggressive attitudes to be even more offensive.
That's a rather .... interesting position.
Developers in the Linux space the developers get nervous when vendors want to take it and graft DRM/black box components on the side and not document them or allow others to do the same. You can do this under GPL with a hardware-assisted solution, but not in pure software. If you treat your firmware as part of a black box where the keys to the kingdom are baked into the firmware, then you're probably better off with something that isn't copyleft.
I got a bunch of attacks from members of the open source community, due to developing my XML parser. ( Grant McLean and others ) I also got attacked by Poul-Henning Kamp, and then threatened that he would "shame" me for pointing out bugs in his software that he refuses to acknowledge. Additionally, the founder of Perl Mongers, Brian D Foy, argued with me about the naming of my application framework, and then refused to approve the naming of my module even after other people on the newsgroup discussed it with me and we came to a good resolution. ( which led to the vanishing of "registered" modules on cpan imo )
The open source community, at large, is not a happy helpful place, and I have gone through a lot of harassment just contributing my own free open source stuff to the world. Also, I can't say I have ever been thanked for contributing. Just kicked in the face.
I am referencing names of individuals so that people can lookup these events and see the truth in what I'm saying; NOT to shame these people. They are all good developers, and I value their contributions ( don't necessarily like these people but what does that matter ). There should be respect in the community regardless of whether you like or dislike people's projects.
http://arstechnica.com/information-technology/2014/05/why-he...
What's worse, the fact that this scares off contributors is hard to spot, because you by definition cannot easily measure contributions that would have happened but didn't because of a community problem.
If you look at non-technical forums like Facebook, newspaper comment sections etc there's usually some form of moderation that imposes house rules like "be civil". This sort of thing can clean up individual forums but the wider problem remains: some people are just nasty and they often believe they can influence the development of their favourite project by being sufficiently nasty to developers they disagree with. If they can't do that in the project's own forums they'll do it elsewhere.
The Bitcoin community has pretty severe problems with this too, it's not just a Linux thing.
Some lists try to fix this by abusing Reply-to: to try to steer discussion replies to the list address, but that is fundamentally broken.
About all you can do in a mailing list is to cull the junk from the permanent web archive.
[Edit: look, you can downvote all you like. I know how mailing lists work and stand by what I wrote. I have used mailing lists for almost a quarter century, and I run mailing lists of my own. I know the ins and outs, and ways they can be configured.]
All of the mailing lists that I operate on my own mailing list server allow non-subscribers to post. Due to my anti-spam configuration, this isn't a problem.
Traditional mailing lists, before the rise of spam, were usually this way.
And anyway, this is a separate issue. A list which does not re-mail postings from non-subscribers can nevertheless not do Reply-to: munging. So once you are on the list and participate in discussions, you're still sending messages to the list, as well as directly to those in the discussion.
Earlier this year I was involved in a mailing list discussion in which one of the parties was actually (unbeknownst to me for a while) a "persona non grata": someone banned from posting to the mailing list. His postings were not being seen by the subscribers, but only those in the debate. This list does use Reply-to:; he just (trivially) circumvented it.
http://woozle.org/~neale/papers/reply-to-still-harmful.html
Reply-To is a special header that is normally not present.
It has a valid use case (what it is designed for). It's used when someone composes a message on behalf of someone else (like a secretary on behalf of the boss). It says that another person is the real author; please reply directly to that person.
When it's added by a mailing list robot, it wrecks the traditional operation of the mailing list.
For one thing, it becomes hard to reply privately. You hit "reply", and the message is composed to the mailing list.
A mailing list non-subscriber is not able to get a reply to a question posted to a mailing list. So the Reply-to trick is only compatible with subscriber-only mailing lists, which are a pain in the butt.
Reply-To is a wrongheaded solution to a mailing list problem: and that problem is people using "reply" instead of "reply all", generating private discussions that do not go to the list, but unintentionally.
Today, a feature is showing up in mail clients (at least open source ones): "reply to list". This addresses the problem in a better way. The mail client recognizes, from the headers, that the message being replied to is a mailing list item, and presents this clear way of replying. Furthermore, the mail client extracts the correct list address from the headers.
Unfortunately, "reply to list" implementations are still not kind to non-subscribers. The feature assumes the subscribe-only style of mailing list. (What is needed is a list header by which the re-mailing robot can tag the message as being from a non-subscriber, so the mail client can know to keep that person in the loop.)
Also, the direct, back-channel replies sent among participants do not carry the list headers, so "reply to list" does not work for those: it's back to "reply" or "reply all".
"'Reply-To' Munging Considered Harmful" is twelve years old, and I don't think the list of mail clients containing "reply to list" includes any of my favorites - much less making it the default, as it should be, since at least on the mailing list I manage, it's an extremely niche case to want to reply to someone privately.
And if you do so, you run the risk of the recipient not noticing the To header and thus getting confused about whether the message was private or not - especially in the many modern clients that use a linear rather than hierarchal view of threads, where you'd end up with a "conversation" randomly interspersing private and public parts. Much better to just compose a separate email.
> Unfortunately, "reply to list" implementations are still not kind to non-subscribers. The feature assumes the subscribe-only style of mailing list. (What is needed is a list header by which the re-mailing robot can tag the message as being from a non-subscriber, so the mail client can know to keep that person in the loop.)
Allowing non-subscriber threads using "reply to all" is a fundamentally limiting feature, though.
- The most important point: if you're not CCed by someone else, you have to start a new thread; if you are browsing archives, you can't just 'forge' a reply to a message you didn't receive, or at least I haven't used a client that lets you do this. And you should be browsing archives, because the alternative is asking questions without knowing if 10 people have asked the same thing recently. If you are CCed, you only get replies strictly hierarchally located under yours; you can't really join the discussion as a whole.
A better system would allow you to join a thread at any point and start to receive followups sent anywhere in that thread (but only that thread).
- In lieu of such a header currently, or in case of clients which don't support it, if someone does reply to the list, you will silently be cut out of the loop.
- There's no way to stop receiving reply-alls. Not the end of the world, since even Gmail lets you mute conversations, but it's more clunky than necessary.
In my ideal system, all mail would be forwarded through the robot so you're cut out of the loop iff you want to be.
- Not as "fundamental", but there's no guarantee the list in question even has a usable archive browsing interface. (I don't pay enough attention to which interface I'm using to name names, but there seems to be a common archiving UI which does not wrap messages - of course they should be sent wrapped, but in practice I've often seen one-line-per-paragraph messages.)
For the record, my ideal system is somewhat approximated by Discourse, which is a forum, but gives you the option to receive all messages as email and reply via email. However, there are various implementation defects which make me not really want to promote it.
Also, the "Sender" header is meant for the example you gave (composing and sending an email on behalf of someone else), not Reply-To.
Mailing lists are centrally managed, and have a "reflector" or central distribution point (what you call a "robot") which maintains the email addresses of all the people on the mailing list. In order to add or remove yourself to the mailing list, you typically have to send a message to name-of-mailing-list-REQUEST, not to the whole mailing list of course. Now days there are usually web pages that people can use to subscribe and unsubscribe and view the archives, and which the administrator can use to moderate messages, but in the old days the moderator was a human and administered the list via email. To save bandwidth (in the days that it mattered, i.e. over the slow ARPANET and over international connections and expensive dial up modems) there would be redistribution lists for regions and organizations, which users or local administrators would have to manage themselves (or the central administrator would have to forward requests to the redistribution list administrator), so only one copy of the message had to be sent to each redistribution list.
https://en.wikipedia.org/wiki/Electronic_mailing_list
An electronic mailing list or email list is a special use of email that allows for widespread distribution of information to many Internet users. It is similar to a traditional mailing list — a list of names and addresses — as might be kept by an organization for sending publications to its members or customers, but typically refers to four things:
1) a list of email addresses,
2) the people ("subscribers") receiving mail at those addresses,
3) the publications (email messages) sent to those addresses, and
4) a reflector, which is a single email address that, when designated as the recipient of a message, will send a copy of that message to all of the subscribers.
Traditional mailing lists (such as ones created by a vanilla install of GNU Mailman) do not work they way you describe.
They work like this:
1. You send a message to a mailing list address. This address belongs to a software agent which sends the message to everyone. Your From: header is clearly preserved. The mailing list robot adds itself to the Cc: line to stay in the loop.
2. Someone who wants to continue your discussion publicly hits Reply All. At this point, the mail software composes a a new message which To: you, From: this person, and Cc: to the mailing list.
3. You receive the message directly. The robot also receives it because it is in the Cc: loop, and sends it to the subscribers. (If you're also one of the subscrbers, and the list is configured that way, it will avoid sending you a "list copy").
4. And so it goes.
But what do I know; I have only used mailing lists for 25 years, and run mailing lists of my own on my own server.
I find it frustrating for a mailing list because invariably a long thread is going to have missing messages. In the context of a mailing list the default behavior should be to reply to the list and setting the Reply-To takes care of that nicely.
Btw, the "because I've been doing it for n years" argument gets less effective as n increases. Ok, it's probably a bell curve but it peaks long before 25.
Reply-To: stomps over the option of replying privately. It can still be done, with manual steps. Worse, someone might not be paying attention, and just use Reply out of habit, thinking it's a private reply, when in fact it is being broadcast to the list. It's very sneaky!
The old style is better because it is more convenient and non-broken. It keeps conversations intact by letting people have a debate with the mailing list without subscribing to it, and doesn't rudely re-program your Reply button into doing Reply All.
So are you! Your original point hinges entirely on having many non-centralized posts and counting them as part of the list.
My original original point is that moderating mailing lists is not possible. I have not seen an effective counterargument. Reply-to munging and subscribe-to-post do not add up to effective moderation, and are easily circumvented.
I have seen it happen: someone banned from posting to a mailing list harassing discussion participants anyway. Perhaps he subscribed with a phony e-mail address to collect the list traffic, and then just composed replies as himself to everyone in the debate, but excluding the list robot (which would reject the copy).
"Modern" mailing lists still pass through the Cc: material which makes this possible, even though they set Reply-To, and disallow posts from non-members.
I don't care how you set up your mailing list; you're not going to easily be able to moderate out persistent trolls. You can't use IP block banning easily, because trolls don't contact your server directly; they can go through any number of e-mail service providers. If a troll keeps coming back over and over again, using different gmail addresses, are you going to ban everything from gmail?
https://en.wikipedia.org/wiki/Netochka_Nezvanova_(author)
https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d
http://jodi.org/
http://www.salon.com/2002/03/01/netochka/ The name Netochka Nezvanova is a pseudonym borrowed from the main character of Fyodor Dostoevski’s first novel; it translates loosely as “nameless nobody.” Her fans, her critics, her customers and her victims alike refer to her as a “being” or an “entity.” The rumors and speculation about her range all over the map. Is she one person with multiple identities? A female New Zealander artist, a male Icelander musician or an Eastern European collective conspiracy? The mystery only propagates her legend.
Cramer, Florian. (2005) "Software dystopia: Netochka Nezvanova - Code as cult" in Words Made Flesh: Code, Culture, Imagination, Chapter 4, Automatisms and Their Constraints. Rotterdam: Piet Zwart Institute. https://web.archive.org/web/20070215185215/http://pzwart.wdk...
But, yes, trolls will be replied to. Because, remember, they are not even going through the mailing list robot. They are just sending mail. Of course the troll's mails can be replied to and go back to that person, and to everyone on the CC list that he or she put in.
Not only that, but the troll can include the list address on the CC: line! A reply to the troll will include quoted material from the troll (typically), and since the person responding is a valid subscriber who is allowed to post, that quoted material gets to the list.
So all the list subscribers end up seeing:
Nobody on the has the original message with the full inflammatory crap (except those on the CC: list of that troll thread including the person writing the above response). But thanks to this reply and others like it, everyone on the list continues to have glimpses into what T. Roll thinks. (They are is even trimmed nicely to give the list members just the most inflammatory parts!)My point is that an email message that has a bunch of people's addressed in it, but no central server or list of email addresses, which you reply to by copying all the addresses in the To: and CC: fields, is not a mailing list, no matter how sophisticated your email reader is. It's just an email message, and you're doing all of the work in your email reader. (Hello, Emacs!) That's not a mailing list. It's just an email message with a list of recipients. There's nothing preventing any recipient from adding or removing any address from the list, and there's no central archive or administration or moderation.
Here's what mailing lists looked like in the 80's:
http://its.svensson.org/.MAIL.%3B.MCNEW
Who remembers Mark Crispin's oft-repeated catch phrase, "MM is not at fault!"
JWZ's Law of Software Envelopment: Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
What is a mailing list? It is an "emergent phenomenon"(+). It is not just the mailing list manager; it is not just the handling of a single message. It's not the set of subscribers. It's the whole situation.
--
+ As in: http://en.wikipedia.org/wiki/Emergence
Whenever somebody would make that faux-pas, he'd add them to the PLEASE-REMOVE-ME mailing list, and the emergent behavior was that those people would discuss amongst themselves the fact that they really wanted to be removed from the PLEASE-REMOVE-ME mailing list, until they eventually learned that the way to get removed from a mailing list was to simply send email to PLEASE-REMOVE-ME-REQUEST, instead of the entire mailing list.
Worked like a charm!
Counterexample to your claim: browse the linux kernel mailing list archive at https://lkml.org/
On any message you can click [headers] to view the headers. You can see rich Cc: lines full of addresses. Well, you can't see the addresses because they have been scrubbed. But you can count the commas! For instance:
means that it was CC'd to 6 e-mail addresses, four of which were in the "local@domain" format, with no display name, not wrapped in angle brackets.For instance, exhibit A:
https://lkml.org/lkml/mheaders/2014/9/30/320
Note how "Kernel Mailing List <>" is on the Cc: line, too.
Users do not get two copies because the mailing list software is smart enough to calculate a set difference between the expanded mailing list, and the set of addresses which are already in To: or Cc:
GNU Mailman makes this a configurable preference (per subscriber, I think!) The reason is that some people prefer to get the duplicates. A possible reason is that they want the official list copy, which is subject to some custom mail processing rules based on its list headers, or rewritten subject line.
By the way, some people also prefer to get only mailing list digests. For users who receive only digests, discussion participation is still possible because the discussion is based on the normal To/From/CC mechanism of e-mail.
Didn't the intended recipients occasionally miss replies to their messages, and wasn't it a bad idea to put the responsibility of re-sending bounced (or un-routable) email to the person you're replying to in the hands of the person writing the reply, not the mailing list itself? I doubt it would have worked very reliably with usenet addresses or the early internet with all those relays.
Remember when all the UK's host names were backwards, and you'd route mail through nss.cs.ucl.ac.uk (or uk.ac.ucl.cs.nss, depending which side of the pond you were on), which would swap the host names around on the way through?
The Brits drive on the wrong side of the road too, so I suppose backward domain names made sense to them.
How mailing lists operate is constrained by how e-mail works. E-mail is very conservative.
(Yes, various things are there that weren't there a quarter century ago, like parsing out MIME-attached HTML and rendering it. Sure, SMTP is optionally authenticated and encrypted now. And in the routing and delivery infrastructure we have things like DKIM, SPF and DMARC. And we have DNS-based anti-spam databases. But by and large it's the same. The way a client sends and receives has not fundamentally changed.)
E-mail is a mine-field for people who think they have some great idea about some quick fix to a perceived problem.
About fifteen years ago, it seemed---to multiple people at the same time---like a brilliant idea to write an extension for a mail client (or a procmail script or whatever) to automatically answer all e-mails from senders who are not on a white-list, and challenge them to verify that they are real. That would solve all forgeries and spams, they thought! Oops ...
The key idea in an open community is organic moderation. The currently influential people in the community "bless" the threads with interesting ideas/ patches; they decide how much deviation from "civil" behavior they can put up with. In a good community, attention-seeking behavior would be condemned by the influential people in the community. The health of the community depends a lot on the initial contributors.
It's true that this kind of model scares of a lot of contributors, but it also attracts many others who would have been eliminated in a pre-selection.
The main takeaway from Lennart's post is that more community building work is required: they don't automatically become good communities.
Once again, my point in referencing these people is to say that negative attitudes and attacks are widespread, and happens by many professional ( the people I mentioned ). I don't blame them; it is a hard community; I'd just like us all to have better attitudes.
Congrats on top comment BTW.
Notice above comment from mst ( Matt S Trout ). I appreciate him saying sorry and it actually means a lot to me. I have even more respect for those who recognize when their actions have been misunderstood and hurt people. He didn't need to apologize, but it helps the community and I wish more developers were willing to see that there are many different opinions and we need to respect them all.
Re: the app framework naming, there's some partial conversation involving Brian Foy at https://www.mail-archive.com/modules@perl.org/msg34595.html. It doesn't seem to merit nanoscopic's comments, so I wonder if there's more to the story or if nanoscopic is being unfair.
I tried to find archives of the Grant McLean XML stuff, but cursory Google searches were unsuccessful.
If you want to name and shame people (and let's be honest: if you're naming people, saying they did bad things and inviting others to Google it, you are shaming them, explicit disclaimer of shaming intentions notwithstanding), you should (a) use your name and (b) provide adequate breadcrumbs for others to see that your position is just.
If you are so interested, I requested repeatedly to Brian and the list to approve the module after the name "Ginger" was agreed upon, but nobody with authority was willing to move it to the registered list. The leaders of CPAN basically stopped approving stuff. Registered modules were dropped entirely shortly after that.
I tried to talk reasonably to Brian, but he seemed oversensitive, likely due to being overwhelmed with his tasks. I am more sad that registered modules were dropped than anything.
It is likely that Grant McLean's comments attacking my module are no longer around; due to the changes to CPAN and the related bug tracking. He publicly stated that my XML parser has no right to call it an XML parser, in reaction to me including benchmarks showing how slow his parser is even when backed with LibXML.
You were, and are, totally welcome to upload the module anyway (and in fact I'd encourage you to do so), and you have my apologies if that part wasn't made sufficiently clear at the time.
I assume I simply register a module with a root name to claim it, as sort of a placeholder pointing to all the component pieces. I don't want to include the actual pieces in the root module; just use the root module itself as documentation as I see it done among other CPAN modules.
I would like to point out that I realize that my feeling hurt through the discussion is mostly my perspective; hence stating that I recognize you have many other things to do. My frustration was that I had no knowledge that registrations "were on their way out" and my requests at the time to get it registered properly seemed to be ignored. ( I assumed because there were not enough people who cared about registrations at that point to handle doing it )
Once again thank you and I hope to move forwards and be an active member of the community.
Basically, just upload the thing, and document whether you want other people's extensions to live under the root namespace or somewhere else - e.g. DBIx::Class extensions are mostly just under DBIx::Class:: whereas Moose extensions live in MooseX:: - and a hybrid would be Catalyst, where certain types of extensions live under e.g. ::Plugin::, ::Model::, etc. and then things that don't fit in any of the usual extension namespaces go into CatalystX::
You'll find, generally, that people writing an extension to your code will respect your choices, and that any violation of them will usually be an accident and quickly resolved by filing a bug saying "hey, could you follow the policy please".
I did, honestly, mean to email you off list explaining what was likely to happen wrt the registered module list (starting a thread about it at the time on modules@ would likely have been ... unproductive).
Unfortunately, I completely forgot, a failure for which I'm hoping my responses to you today will at least partially compensate :)
Also he hasn't (according to him nor Wikipedia) contributed to the Linux kernel, yet you moved kernels to avoid his "crap." Makes zero sense. The Linux kernel isn't one of his projects.
Maybe you should start your own branch with Systemd specifically excluded. That is how many currently popular distro's because popular (mostly relating to different windowing systems, etc but still). You could also move to Gentoo Linux which doesn't (and has no plans) to utilise Systemd as the default.
Last point; systemd is so "crap" that every single distro' is moving to it? Either they have VERY low standards or there is more to this story than that.
That out of the way, I really hope that the FreeBSD community is not inundated with the flamey kind of systemd refugee.
Really? My contributions to the open source world are certainly modest, but I get thank you emails perhaps once a month for applications I've released. People are quite pleasant.
Most recently I have decided that releasing open source is what I want to do, because it is what I want. I don't expect anyone to appreciate it any more.
The parser I wrote has actually made it into several linux distributions ( as well as on the distributed discs ). Several people benchmarked it and said it was amazingly fast. I'm pretty sure it is used by a fair amount of people, but since it is mainly distributed through CPAN I have no idea who really uses it or how many.
I think this is the case for what I wrote because it is a component. People in general I think appreciate tools much more than components, especially if the component is one of many somewhat inter-compatible other options. There is little love for "another thing added to the pile" even if it is different in fundamental ways.
I wonder if in part this is due to solicitation - you [by which I mean 'one', a person, not specifically you] have a "support" forum for problems, you have a note asking for contacts with bugs but generally OSS projects don't have a "comment with thanks" or a tip jar or whatever.
Guestbooks used to be the way people could offer a quick comment of thanks.
But as you say this is more likely to work for frontend user-facing projects. Stars on github or similar will show at least that people appreciate your work if they've not explicitly thanked you.
I've also had people thank me for a FOSS app, but that was also a consumer application. The fact that it was open-source was actually incidental though, I don't think anyone have actually forked or looked at the code. If they did, maybe I'd have gotten some hate mail ;)
"Gamer" is a hobby, but it can also refer to a community that is much, much different from the broad spectrum of people who just play video games.
I'm not the same person you responded to, but regardless I'd argue that there probably isn't much more toxic interactions in open-source then there is in any other communities. People tend to fight and get angry over stuff they care about, that happens everywhere. The thing with open-source is that all of those communications are open, and thus it's much easier to see.
The thing is though, how many times do you think anybody on here has actually looked at the Linux Kernel mailing list for a reason other then a post on here about Linus getting angry? I'd wager not many. Everybody loves to see a good fight, but it's rare to see someone being helpful and nice highlighted. I've only seen one post on HN highlighting Linus being nice and helpful, even though that's the bulk of the posts he makes, and I see one every time he gets angry. For example, looking at some ones he sent yesterday, I'm seeing this (https://lkml.org/lkml/2014/10/5/96), this (https://lkml.org/lkml/2014/10/5/112), and this (https://lkml.org/lkml/2014/10/5/107), all of which are generally nice and well mannered questions, and explanations of things people may need to do differently.
I don't think the Open Source community is nearly as toxic as people make it out to be.
> me for pointing out bugs in his software that he refuses to acknowledge
Sometimes this is a perspective thing. It's not always a bug just because some user reports it as a bug in their opinion. Don't know the story behind that anecdote, but perhaps you didn't understand the codebase like you thought you did, or what the expected behavior should of been?
In any regard, if the project maintainer does not consider it a bug and won't accept a PR, then that is their prerogative. You are [usually] free to fork the codebase and fix it yourself if you had a PR that wasn't accepted. With closed source, that isn't even a remote possibility.
I reported this behavior properly, and I was told that I don't know what I am talking about and there was no problem. The bug I filed was then closed without the issue being fixed or addressed in any way.
I can and will make a competing reverse proxy; because ESI is important IMO, and disregarding supporting it properly is silly.
I think Varnish is great; I'm happy it exists; I think it is silly to close a reported bug on the codebase without addressing it properly. The proper address to it is to simply say "No we don't really support ESI", just as I have said "No my parser is not really an 'XML' parser, because it doesn't really follow the spec."
This page has not been edited in over 3 years and says Varnish does not have full ESI support:
https://www.varnish-cache.org/trac/wiki/ESIfeatures
Perhaps you missed it, or perhaps this anecdote took place prior to this page's posting.
In either case, seems it was a misunderstanding - which goes back to my first comment about a reported bug is not always a real bug just because one (or a few) users believe it to be.
I realize that would require more extensive changes to support; my only point is that I wanted to use ESI specifically in relation to forced invalidation.
I reported the bug quite clearly, and the main dev said I was wrong and to this day refuses to acknowledge that forced invalidation does not work sensibly in regard to ESI.
I would like to point out again, that this is water under the bridge. I still support Varnish and respect the developer. I simply wish we could all get along and acknowledge limitations of what we do, rather than denying valid points made about software.
That is the true source of the anger in open source; developers refuse to acknowledge that people use their software in ways they didn't expect, and that you have to listen carefully to appreciate what people want. As a developer, it is unreasonable to brush off and ignore people who are trying to help.
[1] https://github.com/pintsized/ledge
It is usually advised to people who manage open source projects to stay focused on their vision, and not accept random improvements that do not help towards their self-imposed goal.
- you sent 2 e-mails to the Varnish-misc mailing list in Feb 2011 about the ESI-related bug you found (https://www.varnish-cache.org/lists/pipermail/varnish-misc/2... https://www.varnish-cache.org/lists/pipermail/varnish-misc/2...), which then remained unanswered
- but then you also tried to "help" another user in an unrelated thread "Lots of config" in March 2011 (starting here, https://www.varnish-cache.org/lists/pipermail/varnish-misc/2...), and PHK had a knee-jerk reaction (https://www.varnish-cache.org/lists/pipermail/varnish-misc/2...) to one of your "suggestions", a reaction that was indeed a bit vitriolic, but when read in the context of your other contributions to that thread, it makes a little bit of sense.
There's no excuse for the language in that post.
He's been in this game years longer than most and perhaps he's tired of defending the right way nicely.
To this day I'm unclear why he didn't understand the problem with ESI include files being invalidated not forcing the main including file out of the cache as well. ( in Varnish ) I think he was just in a bad mood and didn't have the time nor care to understand what I was pointing out at the time.
He was pretty mean though, and refused to play nicely to the bitter end of that particular argument. Just google "Lots of Configs" if you want to read the whole silly debate.
Here is what I want: A cache where it supports ESI... File A ESI includes file B. Both A and B are in the cache. If I forcibly tell the cache to invalidate file B, I expect that file A will automatically be invalidated as well, since the cache should know that file B was included into file A. Varnish does not do this. That was my statement to PHK, but apparently he doesn't want to hear it and somehow things this is an unreasonable request.
If I have voiced some criticism of your code it is certainly not because I wished to belittle your efforts or to make any value judgements about your worth as a person.
I named you simply because you are the first person to state that my XML parser is "invalid", despite my having worked very hard to ensure that it does parse XML meaningfully.
I do acknowledge freely that I am disregarding the specs to some extent for the sake of raw speed. You will see that I have altered the documentation to make this clear so there is no confusion.
For myself, with your apology I consider that extremely adequate to address the past. I don't really remember clearly, but I know that it was a very rough entry into the open source world to have my parser attacked ( considering it is the first meaningful thing I contributed to the community )
I would like to point out that communication and understanding between members of the community is exactly what I am asking for. I thank you for stepping out and attempting to resolve this. There is no way I would ever know that you felt this way without you expressing it, and unless I did I would have lived forever thinking you have bad feelings towards myself and the code I have created.
For all the people who imply that I was attacking any of the named people, including Grant, see that was and is not my intention, and I am very happy today to have some of these things addressed.
I will throw this out there for consideration; it boggles my mind how wikipedia has banned the article on my parser, considering there are entries for many other equivalent parsers. The article was up for years then removed suddenly for no legitimate reason imo... Do you have any opinion on the clear favoring of certain parsers in the information community? ( such as on wikipedia or in excluding specific parsers from being mentioned as related codebases )
One could always pay $1000/hour and get his software from someone with correct attitude, sex, race and age. If you pay $0 do not complain!
I suppose the pressure of these projects is small compared to something important like a driver or operating system... but perhaps that says more about people than open source.
I give Linus a pass. Given the success of the project and the size of the team, I would rather have a foul mouthed Linus than perhaps no kernel and no Linux.
It is not a positive characteristic. I wish he wasn't as abrasive but that is his personality.
What I feel Poettering is doing here is a bit of a "well on technical merits Linus was right but I'll attack his abrasiveness instead". I suspect this is related to the 'debug' flag and Linus chewing out one of the systemd developers. I think Linus was justified in chewing him out. Maybe shouldn't have used expletives, but still justified. And I understand it was a pattern of behavior of leaving bugs in their wake and so on.
> If Linux had success, then that certainly happened despite, not because of this behaviour.
Hard to say. Maybe so. Maybe if he wouldn't be as critical and as abrasive we would have had a different OS or different community. Maybe better. Maybe worse. hard to say.
This attitude is precisely the problem. Being a smart or successful human being does not alleviate your obligation to be a decent human being - neither does having strong opinions and good reasons for them.
The argument you have made comes in another form, and I hope when I phrase it this way you'll see why I disagree strongly: "Do you know who I am?!"
One way of doing this is making people fear making mistakes. Society does this all the time: if you are a racist/homophobe/sexist people will ostracize you publicly in a number of ways. Essentially you get rid of racists/homophobes/sexists by making them fear voicing those opinions.
I personally don't think this is a particularly good way of dealing with problems, but it's what society does and it's how it works: based on mostly punishment. To then go on to say that what Linus does is somehow bad or any different seems kinda weird.
But I would argue that motivating through fear isn't even relevant to this situation. Is making death threats in order to convince somebody to stop doing something a valid way to motivate through fear? Is cursing somebody out on a mailing list really all that terrifying? If it is, is that the reason Linus, for instance, does it?
I think the answer to all of these is no.
Further, it may be appropriate to shame racists, homophobes or sexists into changing their ways (or, I would argue, just not espousing their views publicly). But is it really appropriate to do this, to this extent especially, to programmers who wrote bad code?
Programming relies on rational, careful cognitive consideration of problems. That's the opposite of what fear inspires. Fear-based "motivation" is lousy in general, and doubly lousy for open source software.
I don't remember Linus ever sending death threats to anyone. As for the people who did send it to the OP, I think most people agree that death threats are not OK under any circumstance and that whoever did do it is an outlier and not an example of how the community behaves.
>Is cursing somebody out on a mailing list really all that terrifying?
I think it is since public shaming tends to be effective in preventing whatever behavior was shamed, as per the racist/homophobe/sexist argument.
>If it is, is that the reason Linus, for instance, does it?
I can't speak for him but if I were in charge of an important and sizable project I can see myself doing it for that reason.
>But is it really appropriate to do this, to this extent especially, to programmers who wrote bad code? Programming relies on rational, careful cognitive consideration of problems. That's the opposite of what fear inspires. Fear-based "motivation" is lousy in general, and doubly lousy for open source software.
I don't follow why it's doubly lousy for software in general. Software has its fair share of opinionated debates that are more about differences of philosophy rather than careful cognitive consideration of problems. And as for it being the opposite of what fear inspires, I'm not sure I agree. The educational system world wide uses fear effectively and it seems to mostly work (despite whatever problems you may have with it), so I don't see what would make programming special in that regard.
In this statement I was referring to the issue being discussed in this particular thread, not to Linus. Sorry, should have been clearer.
> I think it is since public shaming tends to be effective in preventing whatever behavior was shamed, as per the racist/homophobe/sexist argument.
But as I said - it doesn't change behavior, it only changes whether or not one publicly displays one's thoughts. And even then, it's a temporary effect at best.
> I don't follow why it's doubly lousy for software in general. Software has its fair share of opinionated debates that are more about differences of philosophy rather than careful cognitive consideration of problems. And as for it being the opposite of what fear inspires, I'm not sure I agree. The educational system world wide uses fear effectively and it seems to mostly work (despite whatever problems you may have with it), so I don't see what would make programming special in that regard.
It's lousy because it doesn't inspire real change. People don't change their opinions because they got chewed out, even if it was rightfully so. They just learn to resent the people doing the chewing out and oppose them more subtly.
You use our education system as an example - but I don't know that I'd say the education parts of the system (as opposed to the discipline parts, whose effectiveness I would frankly dispute) aren't fear-based. They're generally built to be merit-based (whether they succeed is outside the scope of this discussion).
You can't just say this. I mean, where do you put the limit? Imagine if we let all kinds of aggressive and violent behavior slip on the account of "eccentric personality". I enjoy reading Linus's rants as much as the next guy, but it makes you wonder how the other person feels. And "grow a thick skin" isn't good advice, because if something doesn't bother you doesn't mean it can't bother someone else. For example, I've long ago grown out of taking stuff on the Internet personally. But I remember how it was, and I would often be very close to just giving up on doing whatever I was being hated for. (In fact, I can bet that happened at least once.)
There is some norm of decency you have to follow when talking to someone you don't know. It's how you show that you can accept others' opinion and argumentation, and sometimes accept you weren't right. I have a hard time imagining Linus Torvalds admitting that he was wrong about something he ranted about. (If you know of any examples, I'd love to see them.) And that's not a good thing. Either he's never made a mistake, or he doesn't want to admit it. I'm willing to bet Linus has god complex issues, and instead of recognizing it as something that needs to be toned down, he just embraced it and amplified it. Some people will still say that it's cool, sure, but I, for one, would like to see him be a tad more humble. Even when you've achieved as much as he did, you can very much be wrong about stuff. That's, in fact, by definition of the human being :)
This appears to be a false dilemma. I don't think the success of the kernel and Linux depends on Linus' foul mouth. And I think the point was that he, as a role model may influence and inspire others to adopt the same behavior.
I think of this as the nice vs angry coach sorta thing. There are sports coaches who are nice people and ones who are assholes and both groups include legendary successful coaches. Clearly, this is not a make-or-break issue, but also it's clear that being an asshole doesn't help, even though assholes often claim it does. Like successful asshole coaches, Linus clearly wants the best for the community, he just has this asshole way of thinking about how to achieve it, and he's wrong enough that he's clearly out of balance. And if something could convince him to just temper things or apologize a little, it would be a helpful step. He still deserves honor and respect overall regardless, but it would be better if we didn't have to qualify that.
Does Linus ever swear in Finnish? Because from what I've been told people in some Nordic countries will happily say fuck and fucking all day, but would be reluctant to use local language versions.
A comment like "How did they not die as babies, considering that they were likely too stupid to find a tit to suck on?" is only tolerated if you're Linus Torvalds or somebody like him that has contributed a lot and that is tolerated in spite of his character. And yes, the world is full of jerks that want to copy Linus Torvalds, or Theo de Raadt, or Richard Stallman, or Steve Jobs, or David Heinemeier Hansson, or whatever else ruthless leader with strong opinions that happened in this industry, but without the track record to back up their strong thoughts. Open Source is only special because the discussions are often public for anybody to see.
I do find Linus' behavior regrettable, as he's a very public person in this industry, his opinions do have legs and he is a role model for others. And I'm personally against PC talk, for example I think usage of the word "fuck" is totally legitimate because it implies passion, it implies that you care, but I think critiques should never be ad-hominem and people breaking this rule should get social punishment, including Linus.
Fortunately or unfortunately, in an open source setting, if you act like an asshat you can still contribute and discuss and continue to be an asshat. And then other people ignore you. So you convince people that they're the asshat. And people believe you because you're still there.
I'm not sure it's really a flaw. It's just the way it is. I feel as if it's simply one of the tradeoffs that you make with an open source project. People can hang around and be annoying and abusive and there isn't all that much you can do to totally get rid of them if they're determined. On the other hand, you can get brilliant programmers who come out of nowhere and have no qualifications that would never get past the interview stage in a large company.
And in open-source I actively avoid projects that are run by jerks, because my thinking is that an open-source project has less chance of surviving and flourishing when being led by jerks, plus the community's support will probably be frustrating. So that's part of the cost analysis I'm usually doing, with the exception being big projects that are very well established.
I think it's actually better in open source because the way to earn clout is through solid contributions. That is not really true at most companies -- you have clout through your title/position on the ladder, which may or may not be earned.
What I've tended to see in companies, though, is that instead of venting like this and getting it over with, there is backstabbing, intrigue, and much worse insults veiled in language that provide deniability.
Personally, I'd prefer being on the receiving end of Linus' approach to most of the "nicer" hostility I've seen in corporate settings.
The notable difference is that due to the nature of the enterprise, Linus pours shit in public. In a company, it might perhaps happen in a smaller gathering, like a board meeting.
For instance I vividly remember how hard for me it was to learn and code in Objective-C for iOS back in 2009, at this time there was only few related open source projects available to study and learn how good UI were implemented and such, it was mostly a closed source world.
Also for instance one thing I consider great about Rust, not only Rust is open source but better its compiler and standard libraries are developed in Rust and thus you just have to read them to learn from probably the most skilled Rust developpers so far. I can't fathom how painful it must be for current Swift developers to develop in a young (so far) closed project where you can't see nothing and bang your head against every walls to find your way.
Last I saw, reading the compiler wasn't recommended (by someone) since the code is apparently old and not idiomatic.
Sentiment analysis probably has some utility if bad commits are clustered around a particular contributor. Would it be more product to represent sentiment as a graph? What would it look like?
But switching to Mac OS doesn't fix this, if we wanted to talk about that then there is a whole set of separate issues there.
Saying open source is awful because you've encountered assholes is like saying free market economies are awful because some vendor overcharged you one time, or saying cars are awful because some guy cut you off yesterday, or saying free speech is awful because some guy insulted you in public the other day...
Open source is merely the idea that sharing code is good. Well, a little more than that, but that's the basic gist.
I've personally had nothing but great encounters with FOSS. The few times I've found a bug I sent a bug report, the maintainer was super friendly (maybe because I wasn't a whiny douche-bag complaining about something that I got for free), and fixed it in an absurdly short amount of time (less than a day). Even if it wasn't fixed for a month I'd have been more than happy.
Anyhow, the open source community is much like the world at large. Many very nice, friendly people, and a few assholes. Same thing if you step outside. It's best to think of FOSS not as some community that replaces your interactions, but rather as a sharing philosophy in the same way free markets are an economic philosophy.
"Some elements of the open source community are awful to contributors"
"Open source is an awful place to be if you don't have a thick skin"
"The behavior I have observed as a prolific contributor to open source is awful"
All of these statements, I believe, accurately summarize his experience. All of these statements can be summarized "Open source is awful in many ways" for purposes of titling an article.
He's not trying to say that the concept of open source is awful. You don't have to jump in and defend that cause.
In either case, I think the author made it fairly clear that he was referring to the community and not the concept.
Open source is as much a community as the park outside I run in. Other people show up there, some say hi, I meet my friends there sometimes, but the park is not a community.
He specifically said 'in many ways', then elaborated on some of these ways. You're doing nothing more than fighting a strawman.
> Open source is merely the idea that sharing code is good
This is just an argument from being pedantic - he's obviously talking about the open source community at large (and specifically, some sub-communties), and I can't honestly believe you don't know that.
> I've personally had nothing but great encounters with FOSS.
Another classic false argument that comes up all the time - do you think your good experiences cancel out his bad ones, or the other bad ones discussed elsewhere in this thread?
> It's best to think of FOSS not as some community that replaces your interactions
More weird phrasing that seems a bit of a strawman. Who said that the open source community 'replaces' one's interactions? Can a community not have bad characteristics simply because it's not the only community you're involved in? This really makes no sense.
> but rather as a sharing philosophy
Again, this is an argument from nothing more than being pedantic. It's incredibly obvious that the original post isn't referring at all to the general philosophies of open source, but to the actual communities he participates in, in terms that are not remotely unusual. Even if you're adamant that open source as a term must only refer to the philosophy and none of the practical details, you've done nothing to affect the original argument, because it's still about the communities that exist around it in practice.
Overall, I think your post is a bit of a mess of bad arguments and classic fallacies.
Both arguments have qualitative merit, but also large quantitative holes.
There are many open source communities (and there are many altogether; good and bad) that don't have any of this sort of behaviour. It would seem that the Linux kernel / systems arena would have more than its fair share.
But none of those ways have anything to do with open source. You need to look no further than #gamergate to see that people act like assholes on the internet.
> This is just an argument from being pedantic - he's obviously talking about the open source community at large (and specifically, some sub-communties), and I can't honestly believe you don't know that.
I know that, but equating a concept with people is like equating the corner block outside with the drug dealer that sells there. "Street corners are awful!"
> t's incredibly obvious that the original post isn't referring at all to the general philosophies of open source, but to the actual communities he participates in, in terms that are not remotely unusual.
So instead of saying those communities suck, he says open source can be awful in some ways...
Communities can suck in any industry/hobby/interest/etc...
More bad arguments! He didn't say that open source is unique. Perhaps he's simply talking about the communities he's actually involved in.
> equating a concept with people
I don't think you do get it. Nothing about Lennart's terminology is particularly unusual - the 'open source community' in standard parlance is a fairly well defined set of people, organisations and forums that isn't particularly controversial to refer to.
I think you really are just using different words as everyone else to mean the same things.
Then he should have said 'The communities I'm involved in are awful'. And I'd agree. I didn't realize he made PulseAudio and Systemd (or was involved in some way). I personally don't mind either project (neither have harmed my Linux experience, Pulse is convenient for my uses), and I think both get a lot of unwarranted criticism. Not least for the fact that, with open source, you don't HAVE to be stuck with anything you don't want to be.
> I don't think you do get it. Nothing about Lennart's terminology is particularly unusual - the 'open source community' in standard parlance is a fairly well defined set of people, organisations and forums that isn't particularly controversial to refer to. I think you really are just using different words as everyone else to mean the same things.
See, this is the thing. I'm not part of that community. I could care less. But the reason why conversations like this aren't useful, is that you're equating a specific group of people with a concept, but criticizing the concept.
Posts like this find their way outside the community. They give fodder to those who would like to see all software be closed source. They aren't helpful.
Again, he should be far more explicit in what he's actually criticizing...
Luckily he doesn't need to, because (as above) he's obviously talking about the open source community.
> I could care less
You couldn't care less.
I really think none of your criticisms are a real problem, or that there's any real ambiguity. I won't keep replying, it doesn't seem useful.
Which open-source community? The Linux kernel community is very different from say, the Haskell community (which is also very invested in open-source).
> You couldn't care less.
You accuse me of splitting hairs on semantics, yet you choose to correct me here. You understood what I meant, local slang here (for better or for worse) is to say what I wrote (even if it's not 100% gramatically correct), but you are more than willing to criticise me for not 'accepting' ambiguous language for something that should be 'obvious' to 'the open-source community'...
Same here. That doesn't mean there isn't a problem, though. I mean, I'm pretty much a nobody. I haven't contributed to the kernel or created a perl module or created systemd so of course I haven't had any issues.
I'm sure Poettering isn't making this stuff up. People are so pissed at him for systemd and it makes no sense. And he's right to call out Linus for saying those things. Whether you think the people deserve this kind of abuse or not it's just toxic for the community at large and there isn't any reason to say stuff like that (I'm talking death threats or the most hurtful insults you can think of). If someone drops the ball don't take their work and ask them to leave - if they don't, you should be able to ignore them.
>Saying open source is awful because you've encountered assholes is like saying free market economies are awful because some vendor overcharged you one time, or saying cars are awful because some guy cut you off yesterday, or saying free speech is awful because some guy insulted you in public the other day...
What he's actually talking about is a pattern of bad behavior. Of course there are going to be random assholes on the internet - that's not what he's talking about. He's talking about all of the abuse he gets from the actual community on a regular basis. Systemic abuse and vitriol.
I love open source. I owe my career to Linux and my passion about it. But that doesn't mean we can't make it better. And this internet bullying stuff is a real problem - it's very well documented. Ignoring the problem is the worst thing you can do short of contributing to it.
If we're going to have a real community then we have to make sure people feel safe and welcome.
Maybe he should say people who interact online can be awful.
But not all is gloomy. As a positive example, the Clojure community has always impressed me with its maturity. People are incredibly nice and helpful, discussions are constructive. Bad tone is immediately struck down. And it is true that a lot depends on the leader — Rich Hickey sets the example here and people follow.
However this does not address the inter-project nastiness that the OP refers to.