> Linus doesn't run a business. He's the kernel admin
He's also the original author. And he still is an awesome developer and the Linux kernel is not his only accomplishment. Git is another one. Linus is one of those people that can change the face of our industry over night and he has done so at least twice.
Not only that, but if you read his trail of angry emails, one thing is for sure - he's also one of those people in the open-source community that care deeply about users. Many of his rants are about changes in the kernel that break the userland. This is not so different than a business owner caring for his customers.
> I want to get his opinion on managing code not managing people. He doesn't deal with payroll, 401ks, employee vacations or benefits, he doesn't care about retention, he cares about code
That's an odd statement to make. A business owner cares about revenue, not payrolls, 401ks, employee's vacations or benefits - those are just things that a business owner must do to secure the company's revenue.
Also, you're wrong, because Linus's job and greatest skill is in managing people. If it were about "the code", Linux the kernel would have taken a back seat to 386BSD.
>Also, you're wrong, because Linus's job and greatest skill is in managing people.
He doesn't manage people. He manages their contributions. Why are they contributing? Because they want to make it better.
In general, businesses don't have volunteer employees who work there solely on the basis of wanting to make the product better. Their decision to work there is also based factors like the salary, the benefits, the culture, whether they like the people they work with/for, etc., some or all of which will vary from person to person.
Basically, he's a very very very successful troll :)
My personal rule of thumb is do not say something written that I wouldn't say in person, especially if I am using a profanity language.
So, while it's your good rule of thumb, my observation over the years is it is not followed by many.
Erik's influence ended outside of comp.lang.lisp and the influence of that usenet group was fairly small, in the greater scheme of things.
comp.lang.lisp was very important prior to the founding of Stack Overflow, EmacsWiki, and so on. It was a lot more important to Lisp than any Lisp company, and maybe more important than all Lisp companies put together.
comp.lang.lisp is long dead.
However, I wasn't talking about only Common Lisp users, but about users of all Lisps. Elisp and Clojure have similarly-sized Freenode channels #emacs and #clojure, each substantially bigger than #lisp. Various estimates of the number of Emacs users put them around 5–50k people: there are perhaps around 15000 Elisp users http://stackoverflow.com/questions/3311227/emacs-user-base-s... or 0.5% of Ubuntu users using Elisp http://programmers.stackexchange.com/questions/35312/emacs-u... (some tens of thousands) or 5300 Github users with Elisp repositories http://www.quora.com/How-many-people-use-emacs-per-day?share....
How many Emacs users just use it? How many already need help to configure .emacs ?
My personal rule of thumb is do not say something written that I wouldn't say in person, especially if I am using a profanity language.
Obviously not Linus' rule...
Anyone who's ever followed the kernel dev mailing list knows this.Actually, this email is pretty polite and to-the-point. I don't know exactly what it is that he said that was offensive in private, but he's actually being pretty reasonable here.
The thing is, some people spend a lot of effort when writing to check that they don't accidentally leave "sharp edges" in their writing (and then they still fail to find them all) while others write the way they would talk and assume that their tone of voice is "obvious" when of course it isn't. I expect if you knew Linus personally (I do not) his most outrageous written comments would seem just fine.
There's a ton of research on how written communications (especially with relative anonymity, etc.) can lead to cascading flamewars and so forth without anyone setting out to troll or be outrageous. Linus lives in that world, so he probably offends a lot of people accidentally just as a matter of percentages.
> most successful open source project ever
Surely that would be BSD which, without Linux, would probably be Linux (and was Linux before Linux), and with Linux is still most of Linux and a good deal of Mac OS X and iOS, and without which Linux would be irrelevant.
It's essentially saying that not only should Sarah Sharp be willing to put up with all the hostility, but that the only reason she's complaining about it is to make a political point. It's a way of snidely arguing that she can't possibly actually care about the issue. That's far more dismissive of other people's reactions than anything Linus Torvalds is complaining about, and yet he's trying to claim that he has the inclusive moral high ground and Sarah Sharp is the one who's ignoring the fact that different people react differently.
I think what's being discussed is Linus' reaction to someone's patch on the lkml a few days ago. https://lkml.org/lkml/2013/7/13/132
Here is a preview:
>What the F*CK, guys?
>This piece-of-shit commit is marked for stable, but you clearly never
>even test-compiled it, did you?Date: Thu, 26 May 2011 00:04:50 -0700 From: Greg KH To: Sarah Sharp Cc: [email protected] Subject: Re: [RFC 0/3] xhci: Remove useless debugging
On Wed, May 25, 2011 at 04:28:51PM -0700, Sarah Sharp wrote: The xHCI driver is what, two years old now? It's high time it put on its big girl pants and stop crapping out useless debugging information.
You now owe me a wet-wipe to clean my laptop up from the coffee I just
snorted out my nose all over it.
From: https://www.linux.com/news/special-feature/linux-developers/...The wind was probably blowing South East instead of North West or something on the day Sarah decided everyone needed to be more "professional".
"Hey! This is broken. It doesn't do X, Y, or Z. Please make sure to check code thoroughly (refer to $DOCUMENT) before committing." is direct, tells people what's wrong, and isn't hostile. People will be offended by it, but those people can be made to understand that they are being given useful direct advice.
Getting specific details - instructions or guidance even - is far better to solving the problem efficiently.
This is a "You know better than this!" rant, not an attack on some new guy.
Genuinely interested in this research. Care to cite?
Here's a quick example thanks to google:
http://www.wired.com/science/discoveries/news/2006/02/70179
But this is a drop in the bucket.
The problem that you don't explicitly mention is that people see Linus behaving this way and feel it's acceptable, and they carry on that behaviour.
Some open source environments are toxic and horrible and it's hard to correct that when you have very public figures acting in that toxic horrible way.
Conversely, an average OSS developer will drive people away with this attitude unless the benefit of working with him is so attractive that it outweighs the pain of abuse (in which case he's probably not 'average' at all).
Assholes who really deliver get a pass from (some of) the world. Doesn't mean that you can get their results by being an asshole.
And those aspects of his personality would be exaggerated by the level of communication and questions and input that he's come to receive over the years.
Doesn't make it 'right', or 'kind', but I suppose it gets things done.
See the amount of developer churn in the *BSDs and some of the Linux DE projects.
Would we have had Linux on the desktop much earlier if developers used the robustness principle in communicating with their colleagues?
Linus is absolutely right that in the professional sense the same behavior simply moves to the shadows. By being professional we vent the same feelings in hushed murmurs and ever-so-gentle sideband criticism.
Actually, expecting a moderate appreciation of effort isn't by any stretch of the imagination "social expectation". Calling my code shit because it doesn't compile is fine but repeatedly doing so and getting away can only be interpreted as a power play - the very act of using your influence as a leverage to bring your subjective opinion to professional relations.
Last time I checked there was an industry who paid dearly for people skills. Just not software - because it doesn't matter. THAT'S the social construct - that it's ok to be tech-savvy and lack social skills.
And what is repeatedly submitting code that doesn't compile (wasting many people's time)?
In this situation Linus absolutely and quite rightly holds 99% of the power, and my point was that the social obligation trump card is being played as a way of trying to equalize the field, and it just isn't useful or valuable in this scenario (the other poster quite rightly points out that social graces are the rule when dealing outside of a particular group -- mostly when you're trying to curry favour -- which of course is true).
There is recurring sentiment that Linus needs to soothe all egos and comfort all comers because every submission is a selfless act of heroics that Linux desperately needs. We all know that isn't true: People want their contribs accepted into the kernel because such is a great professional accomplishment. A part of that accomplishment is making it past Linus, and if you can't then try harder next time.
Also, just because trash code that doesn't compile is bad (because it is, no denying it) doesn't mean that we can justify every behavior that will get generated, right? If there are incompetent people who don't double-check what they're doing, they should take a KICK. He'll save both himself from the trouble of having to repeatedly call out other people's sheer incompetence and the project.
Yeah, control about being a decent human being, if anything, but not about what goes into the kernel. So what's your point?
And how is talking about "thin skin" not also an attempt at controlling people, in the opposite direction? Pah.
Linus doesn't have to be put in his place, and if you don't like that tough luck.
Linus is put into place, every day, every minute, by people being even more blunt about even harder stuff while remaining respectful. Just like a turtle is put in its place by a fox. And if you don't like that on behalf of Linus, well.
This is a hugely astute observation. I agree with it wholly.
and the judgment of behavior -- the social expectations -- is absolutely a thinly-veiled tactic of control.
However this is slightly troubling, depending on who is being addressed.
In the court of public opinion, this "social expectations is a thinly-veiled tactic of control" will never fly.
Even in these post-formal-etiquette times.
Without implying too much, I'd say that this is partly the reason that programmers (or the technology set at large) cannot appeal to the sentiments of the society.
That is partly the reason why industry lobby groups have a tough time communicating the general appeals of technology firms on Capitol Hill.
Sensible thinking would suggest that these manner of affairs, while seemingly harmless within technology circles, doesn't help anyone's cause when the support of the larger public and/or governmental agencies and courts is needed.
I think that saying is deeper than it seems at first blush. It's a reminder that we are 100% in control of how we react to words. We choose how we react to words. You can always choose. Anyone who complains about language is implicitly saying they're unable to control themselves and how they react to words.
The reality is that most people (probably even including you) cannot do this 100%.
Total equanimity is something to strive for in our own lives, but it should not be a criteria by which we judge other people. And it should not be an excuse to be a jerk.
One of the key insights of working together constructively with other people is that I don't get to decide how other people think. If I want them to do something, I have to get them to see why they should do it, from their own perspective. Abusing them, and then telling them to get over it, usually does not work well.
All people definitely can do this. They just choose not to.
I won't say that I always do, but I try to keep it mind. Its a lesson I really try to internalize.
Try this thought experiment. Let's say I show up at your office with a duffel bag filled with $1M cash ... and I said to you, snowwrestler 'I'm now going to make a bunch of nasty and insulting comments to you ... if you can laugh it off with a smile you get this giant bag of cash', I suspect you could find it in you to absolutely ignore everything I said and happily focus on the giant bag of cash sitting in front of you.
Wrong. The classic demonstration is Phineas Gage. A man who by all accounts had very good self-control until the day that an accident drove a railroad spike through his brain, taking out the frontal lobe that is responsible for said control. After that he lost control. Not through lack of will, but because of physical trauma. The same phenomena has been observed in lots of stroke victims.
Moving on, there are a ton of psychiatric conditions which are not even that rare that result in people who have hardwired reactions to words that are out of their conscious control. PTSD. Social anxiety. Manic-depression (at either extreme). And so on. These days we can map out how words get processed and see the short circuit that keeps the frontal lobe out of the loop. It isn't a question of willpower. We know how to treat these conditions and help people regain control. We don't do it by telling people to "try harder".
What about normal people? Well it has long been known that any normal person in the grip of strong emotion also loses control. It doesn't matter why they have the strong emotion - someone died, you were in a fight, etc - once you feel the emotion, you have no control. Furthermore every time we go through this pattern, we wind up laying a path that makes it easier to go through the pattern.
Afterwards it is easy for people to go through a thought experiment. Say, "I should have done this, said that, held my temper." Blame themselves. Promise they will do better But guess what? They are wrong. Next time they don't do better. Not because of lack of willpower (though that may be an issue), but because human brains don't work in the way we consciously think they work.
But note this is not just defeatism. Because it turns out that we can understand these classic patterns we have. And with understanding comes the ability to get better control. But not through having an iron will. Instead through having the self-awareness to know, "When I feel this and hold it in like that the next thing I know I lose control. So I need to pay attention to this early sign and walk away for 10 minutes, then come back and continue."
Edit to add: So because it's so well-compensated, I don't think that's a good example of equanimity. Equanimity means remaining calm and pleasant even when I'm not being paid--or if I'm being asked to pay.
And for those of us on the outside, we wouldn't tell a random developer that he should crank out 40 push-ups to prove his worth, like we might in the military. In the military there is what we'd call a bona-fide occupational qualification behind assessing the psychological durability of recruits.
Is there such as bona-fide requirement to develop software patches? Should there be?
I'll give Linus a pass on this much; his behavior here is well within the norms of the Linux kernel development community and his own previous behavior. He's the Captain of that particular ship and he's not doing anything illegal, nor does he intend personal injury, so at some point it's easier to concede that he will run that ship the way he wants and put on asbestos underwear, than to try to change both his behavior and the resultant mailing list culture.
But I think it's important to keep in mind that his kind of behavior must be very much the exception to the rule for software development, open or otherwise. If you breed a culture of aggressiveness then you must be ready to handle the people you draw in from that. It works for the military, it seems to work for the LKML, but I would be hesitant to hold it up as a general model.
And the military doesn't breed "aggressiveness" outside of specific services and roles that require it. It does demand an inordinate "attention to detail" due to the fact lives are on the line, whether that be on ships, planes or just normal activities.
This "attention to detail" is also seen among other professions, but seldom in software outside of NASA/avionics/medical/etc...
Linus has laid out guidelines and expectations which while demanding, can be followed. If you can't test your code nor follow a checklist, then maybe you shouldn't submit patches to him. It's the military equivalent of passing barracks/quarters inspections, it should be elementary for professionals.
Don't make it a strawman, as if the only alternative to treating each others like assholes is to be passive-aggressive backstabbers. Even the military has those, the Navy calls them SWOs :P.
Even Linus doesn't make that claim directly, instead he says that the other cultures you might try to enforce lead eventually to the culture of PC passive-aggressive backstabbing, not that those are the only two options.
I do agree that the Linux kernel has a much higher need for attention to detail than many other user-space projects. But I don't think every such detail-oriented project necessarily requires this type of culture. How is the environment developing SQLite, or Postgres?
And even if we say detail-oriented projects need alpha personalities to enforce these checklists, where does that leave the majority of open-source development?
But the message itself can be harmful. Psychological abuse is just as real to the brain as physical abuse is to the skin and muscle beneath.
If messages meant nothing then there would be no reason to talk about hate speech, sexually abusive speech, or the many, many other harmful messages people can and do convey to others.
It's not my job to build an impenetrable moat around my psyche just to survive other people being abusive.
Psychological abuse is just as real to the brain as physical abuse is to the skin and muscle beneath.
a. I'm skeptical of this claim. Would like to see your source b. Only to the extent you allow it. That's one of the defining features of being a human. I can actually say to myself 'pull it together, words are meaningless' or 'this guy is an ignorant, why would I care what he says'.
Not everyone has grown up in the enviable position of being strong-willed and independent of thought, especially considering societal expectations. Suggesting anyone can just 'grow a thick skin' is as silly as suggesting you can change your gender by willing it.
My opinion is that humans are capable of incredible self control if they choose to exercise it. The more they're taught that lesson and learn their own strength and capabilities, the better.
Of course I'm empathetic with the kid you described. I'm saying he can rise above it though. You're saying he can't. We'll have to agree to disagree on that.
Would you say that it's wrong to slap people on the face then, or that the person being slapped should treat it as a lesson in learning their own strength and capabilities.
> I'm saying he can rise above it though. You're saying he can't.
He didn't say the kid can't rise above it. You assumed that.
I would say that the kid is not necessarily able to rise above it. But I would go further to say that it's not the kid's responsibility to have to rise above that at all, which I think is the point that's being missed here.
Just because your victim might be able to withstand your attack does not make you any less culpable for having engaged in it.
If words are meaningless why would saying anything to yourself change your state? It sounds like you are saying that you can use your own words to yourself to combat the harm of someone's words. That's very much different than saying that words have no meaning.
In fact, you are saying that people's words impose a cost on you. The fact that people have "capacity" to handle things said to them means a resource is being used.
If you choose not to react to language then I can make you look weak or evil or whatever in front of those who do, and by the time I decide to make things physical you'll have no-one ready to help you. That's the lesson of the school yard.
The lesson of the world beyond the school yard, as above, is even more brutal.
Edit: Point being that being verbally attacked scares and upsets me/many others, and it seems to me that's a perfectly reasonable response to have.
Also, he isn't always abrasive, usually just if things don't go right.
Linus obviously has some differences, and yet is managing to pull off this amazing project that affects so many of us.
Forget business and software development, the world needs to learn how to work this way, because there's no way the entire world will ever "be professional" in that we all agree to the same ideology and behaviour. If the human race as a whole is going to function effectively, we need to be able to work together even though we don't always agree. If we can do that, as Linus does, we win.
Linus isn't a drill sergeant and his poor imitation thereof when he power trips doesn't get his point across any better than just saying "X was a bad decision, don't do it again for reasons Y and Z".
So, like, I don't agree that the name-calling is effective. But, maybe, Linus does. Can we still work together even though we might be screaming at each other? Can we still make progress? If we can do that (without debilitating each other) I think that could be seen as a good thing.
Linus' point is that there is no universal definition of "professional" and there never will be. There's just a bunch of different humans walking around on this rock floating in space, each with their own minds and ideas about what's right and what makes the most sense (sometimes similar, often times different). With billions of us out there, it's probably impossible for us to all be on the same page at all times. But maybe we can be on the same page, for some things, some of the time and tolerate the other things where we're not on the same page in the interest of progress (however you want to define "progress"). I think that's more realistic, and I think that's all we can ever hope for. There are no "rails" when it comes to human behaviour, imho.
That's right, he's actually a lieutenant in reserve of the FDF.
He got his start of leading men by training a bunch of recruits for FDF, and his leadership style "management by Perkele" very closely matches the one found all over in Finland among other reserve leaders (Finland maintains conscription, and officer training is considered a very good experience for leadership roles even outside the military). Not an imitation.
If you questioned every developer on this planet, for every kernel contributor, on every level of expertise, there are two that simply wouldn't deal with his shit and have been lost. The Linux kernel could have been much better.
For a completely imperfect analogy, it's okay that [project leader X] makes some sexual jokes every now and then. But if he sexually assaulted someone, that would be too far.
Is it possible, in your mind, for Linus to go TOO FAR in one of his rants, what would that look like, and how should people react if it happens?
Sarah thinks it's already happened, that he's already gone too far. Where do you propose to draw the line? Because there I believe there IS a line.
And as a bonus, I think it resulted in a positive outcome.
http://www.ubergizmo.com/2012/06/nvidia-addresses-linus-torv...
Perhaps a backlash from disgruntled developers may be one of the consequences of Linus's behavior?
I believe being a loud-abrasive-dictator works for Linus because he is famous for being a loud-abrasive-dictator.
That's not important. What is important is the reader. Let's be clear on a few things
#1 - Linus doesn't run a business. He's the kernel admin, he's a popular figure, he manages millions of lines of code. That's an entirely different game than what is necessary to run a small/mid/large business. Comparing the two is an apples-to-hammers comparison.
In a business, or small open source project, you have to be willing to deal with what you get. You will make sacrifices, it wont be easy. You might have this great idea but only 2 people are willing to work the occasional weekend on it; are you about to start an email chain calling them all dogshit coders?
Linus doesn't have that problem. He's famous for being Linus. You are not famous for being you.
#2 - YOU need to know how to be critical and polite. I don't care what Linus gets to do. You as a developer, you as a person who isn't famous, you as someone working in a team must (MUST) learn how to give constructive criticism.
"Bob, This isn't up to our quality standards, here's an example (cite)".
Easy, no frills, no shit-sandwich, no sugar-coated-political-correct-everyone-holds-hands-and-sings-around-the-campfire filler text. It's clear and it gets straight to the point. Learn how to do this, or fight an uphill battle with diminishing returns.
Linus can start a project tomorrow and have a hundred developers working on it, you cannot.
#3 - I'd take Linus' opinion on business culture with about the same size of salt as I would when listening to Jonathan Ive's opinion on middle-eastern-politics.
Everyone gets to have an opinion on something. I'm sure Tim Cook has an opinion on healthcare, and Bill Gates has an opinion on footwear. This doesn't make them experts on the subject or even any more informed than your average person. They're famous for doing X, listen to their opinions on X, take everything else as amateur opinion.
Linus is the kernal admin. I want to know how he manages 15 million lines of code, I want to know how he forks/branches/merges this code, how he handles bugs, how he tests it, and how work is handed out. I want to get his opinion on managing code not managing people. He doesn't deal with payroll, 401ks, employee vacations or benefits, he doesn't care about retention, he cares about code.