There are better ways of pointing out someone's mistakes, but this is much more entertaining.
A Linux kernel developer found himself in a perfect storm of Linus Torvalds' sharp tongue and his intolerance for bad code. Red Hat's Mauro Carvalho Chehab was told by Linux kernel chief Torvalds to "shut the f**k up" and fix his "approach to kernel programming" after Chehab passed off a bug in the kernel as something at fault …
Unfortunately you sometimes have to make people really angry and upset to get them to do something. They'll keep defending their position and dismissing what you say to them.
Just look at Rev Ian Paisley, for years he was defiant and dismissing everything the Irish republicans said, then shook hands with them and was laughing and joking about the whole matter.
Some people need a "parental" figure to tell them to go clean their room or tidy up their code in this instance.
Open source is unfortunately lacking a person at the top to shout at people when they produce crap. Which is probably why the Linux kernel is the best part of the whole lot since it has someone calling the shots.
"Unfortunately you sometimes have to make people really angry and upset to get them to do something."
No. This is bad management, if someone won't tow the line they can't do the job, you shouldn't have to bawl them out. This kind of management behavior just serves to alienate other employees or potential employees and is dangerously close to bullying.
Sure, if Mauro was in any way Linus' employee. Which he isn't. He can't take him aside and give him a talking to, or sack him. The only nuclear option he has is to beat on him in public, so that his employers take notice.
OTOH, there is no need for someone like Linus to take that sort of tone on-list. He could have just said something along the lines of "Mauro, please re-check this, as I am convinced you are wrong in this", which would be just as painful for a senior dev to receive.
>Sure, if Mauro was in any way Linus' employee. Which he isn't. He can't take him aside and give him a talking to, or sack him.
Erm... of course he could. Who do you think manages the Kernel project and thus controls the coding/contributors/contributions/maintainers?
It sounds to me like this problem has been going on for some time and Torvalds might be approaching doing exactly that!..
>How long have you been a maintainer? And you *still* haven't learnt the first rule of kernel maintenance?
>And you've shown yourself to not be competent in this issue, so I'll apply it directly and immediately myself.
>The fact that you then try to make *excuses* for breaking user space, and blaming some external program that *used* to work, is just shameful. It's not how we work.
Sounds to me like Mauro might be auditioning for a job at Microsoft. ;-)
Well you say it is bad management but I'd be fine with it.
I honestly can't stand working with delicate little flowers who need their hands held and their egos stroked the whole time.
If I balls up I don't mind a bit of a shout - get things out in the open, get them sorted and get on.
If Torvalds had done this to me I'd be embarrassed that he had to but I wouldn't resent him for having done so. (Of course if I knew I was better than him . . .)
The idea that there's one management style to rule them all is tosh.
It's nothing to do with "delicate little flowers", which is a wholly patronising comment, it's about basic decency and decorum in the workplace. As a manager I know that I will not get my staff on side or gain their respect by ranting and raving about what they've done or not done. Picking on someone in front of their co-workers, or worse on a public forum, is just bullying and would get me sacked were I to do it. What's more, it would have got me sacked from every job I've had, were I to have done it. I don't think that there is only one management style, but I'm do know that shouting and bullying is unacceptable and just shows weakness in the person doing it.
I really don't know what's going on with comments here these days, it's getting more and more Daily Mail by the day.
@Ac: this is not about picking on someone this is about someone being a persistent prick in denying anything was their fault when it blatantly was. When you get someone this steadfastly in denial there comes a time when "in private" just won't do as they continually ignore you. This sound like such a case. In such situations other methods need to be used to shock them back into the real world. If you want understand this then your touchy freely only management style is of little use.
It's nothing to do with "delicate little flowers", which is a wholly patronising comment,
It's not patronising at all. If someone has had their repeated error pointed out to them and then persists in telling the world that everyone else is wrong except them.... I'd tell them to "shut the F*CK up and grow up!".
If they can't handle it, they have no place in any kind of pressured environment, which means they're no good for my business, and will spend their lives complaining about every little thing if they get a job elsewhere.
These are the type of people who do not receive references when they leave my employment. I've had three of them try to sue because I refused to lie on recommendation letters, and just had to demonstrate their incompetence and over-sensitivity at the employment tribunals. They ended up having to pay me to leave the company...
Stupid is as stupid does.....
"Picking on someone in front of their co-workers, or worse on a public forum, is just bullying.."
Oh really? Then I was bullied to hell and back by all of my school teachers. I agree with all the comments that sometimes you have to call people out in public to get a point across. IT IS NOT BULLYING. Attacks on personality is bullying, attacks on shoddy work is not. If someone f&*ks up, a manager should have to right to point it out, even in front of their peers.
Err... like most devs you are extrapolating from your own attitude to the rest of the world. Actually, lots of people react very badly to this style of "management". They might be demotivated, or quit, or attempt sabotage, or nurse a grudge and wait for a chance of revenge...
Good for you that you're OK with this sort of treatment, but hey, lots - maybe most - are not. So unless Linus knows this person spectacularly well, it's terrible management.
"If I balls up I don't mind a bit of a shout"
Ooh, aren't you manly? I bet you don't mind a bit of a shout with your balls up...
I bet you and your shouting partner are the types that have loud one-upmanship conversations while you stroke yourselves next to each other at the urinals wafting your testosterone around, just to publicly display how masculine you are.
Meanwhile the rest of us think you're wankers.
I bet you and your shouting partner are the types that have loud one-upmanship conversations while you stroke yourselves next to each other at the urinals wafting your testosterone around, just to publicly display how masculine you are
I'm manly enough to grow a beard (but then so was my grandmother) and manly enough to cope with having made someone cross without turning to jelly in the face of their ire but I'll have to disappoint you on the willy-waving contests.
I hope me saying that you have this hippyish, decidedly non-alpha male completely wrong will not prevent you from continuing to enjoy your public toilet masturbation fantasies.
> bad management
> dangerously close to bullying
This is the age where bad crap cannot be called out, you gotta be "careful", everyone shall have prizes, a call from the union is just a cough away and every office jerk was a cool tech genius from the instant he tried to fit a square peg into a round hole at the age of three.
As long as the criticism is not "your are $X" but "your are producing $X that needs to be fixed" you gotta say what you gotta say. Right the ship's course etc.
Which reminds me that in my tender youth, I went on a sailing expedition where you got told what's what. That's a learning experience.
"This is the age where bad crap cannot be called out, you gotta be "careful", everyone shall have prizes, a call from the union is just a cough away and every office jerk was a cool tech genius from the instant he tried to fit a square peg into a round hole at the age of three."
Truth be told it's one of the early warnings of you might have a psychopath on your hands, which is well worth looking out for.
Plus people should be able to expect to be not treated like shit, capable or not.
"This kind of management behavior just serves to alienate other employees or potential employees "
Sorry dude you just broke the stupidometer by driving it off the scale. Since when does Linux employ the people working on the kernel?
Welcome to the world of community based development. When you are employing someone you can fire them. When they are "volunteering" their incompetence (even as a part of a company sponsorship) in a community driven project you sometimes _HAVE_ to make them leave. Even if this involves deploying the F* word. C'est la vie. In fact, in many cases it would have been easier to employ the poor guy - in that case you can fire him.
Sometimes it's management who isn't listening and you have to get angry for them to listen.
It's sometimes referred to as being 'passionate' but often dismissed as being 'emotional'. In some places, people getting angry is the ONLY thing management responds to....
But, hey, perhaps you've only worked in blessed places where this never happens.
While in most situations this is bad management, the Linux Kernel project is far from typical. Whether it is good or bad depends on the outcome.
In Linus' view, Mauro's sloppy work and attitude is damaging the reputation of the team with its customers. Linus' message here is only superficially to Mauro; it is actually to reassure pulseaudio and other consumers of the kernel that this sort of thing (making sloppy changes that break stuff, then passing the buck) is not going to be tolerated. It is likewise a message to the rest of the contributors. Consequently, he does not do it privately, and cannot spare Mauro's feelings. Linus' priority is to stop the bleeding.
The customer's collaboration is what Linus feels he really needs, much more important than Mauro's contribution.
If you can't dock someone's pay, withold promotions or fire someone, shouting at them is sometimes the only option. I'm not saying it should be the first response, but I've dealt with people who repeatedly do something simple wrong and only change their ways once I go through the escalation of:
polite request > polite instruction > terse instruction > impolite demand > "For the love of God, suck less!"
Seems like quite a good example of the Peter Principle.
It has been shown time and again that Torvalds is a good programmer and a very bad manager, so why has he got into a situation where he spends all his time managing (badly) and no longer does any actual coding? Complete waste of his talents, and of the managerial talents of someone else who should be doing the job instead.
I down voted that, not because I wanted to make a comment about Irish Society, but because (hidden by the Irish politics), it didn't make any sense at all.
Let's take two possible meanings:
1) Ian Paisley made a lot of people angry and upset, and it solved the Irish problem. Sometimes you need to do that.
2) Somebody needed to make Ian Paisley angry and upset. If somebody had done that, it would have solved the Irish problem.
Was it supposed to be ironic? If anything, I think the history demonstrates that making people angry and upset doesn't get them to stop defending their position.
"If a change results in user programs breaking, it's a bug in the kernel. We never EVER blame the user programs. How hard can this be to understand?"
Like when you do a 'dist-upgrade' (Debian and derivatives) and a new kernel version arrives, your programs carry on working. (Not talking about device drivers here).
You may have problems with programs depending on libraries or other (user space) code that are no longer available in your distro. That is a user space problem, and not caused by the kernel.
if you are not at work or of a nervous disposition.
I personally think a 'phone call' (remember those) might be good under these circumstances. The CentOS developer Karanbir Singh actually lists a phone number for CentOS issues now they have sponsorship.
You've clearly never worked on an open source project with a PUBLIC mailing list, which necessitates review feedback in a PUBLIC forum.
It is incredibly unhelpful for you to have conversations like this in PRIVATE as then anyone hoping to learn from the thread will be lost. This is why most open source projects ask for as much on list feedback as is practicable. If criticism in PUBLIC is not something you are ok with then perhaps open source is not for you.
This post has been deleted by its author
But people NEED to have tolerance breaks, and just because someone can lick stamps, does not mean they ought to be running the post office.
There are some really amazing people doing really amazing things, and this includes really great work and also really fucking stupid shit as well.
Some people DO double check ALL of their work and then are content that it's flawless, and others are so fucking lazy, and incompetent, that they are content to leave defective and half done work as is, and expect millions of people to wear their defective bullshit.
"Oh dear, Linus called me a dumb fucking idiot"
Well chances are that there may very well be a good reason for it.
Fuck I generally make the effort to explain to many people, many things, but there are plenty who wouldn't register what a cactus was if I shoved it up their arse.
The words "can you put me through to your manager" occassionally come out, and the words like , "Go fuck yourself" and "click" do season my conversations.
People who do a shitty job of it and don't give a fuck, tend to COST immensely more than their net benefit.
It's about standards, and how hard you have to occassionally whip YOURSELF to maintain them.
This post has been deleted by its author
You should provide some links if you claim controversial statements. Here are links to developers complaining Linux code quality:
Linux kernel maintainer Andrew Morton says the code is bad:
"I used to think [code quality] was in decline, and I think that I might think that it still is. I see so many regressions which we never fix....it would help if people's patches were less buggy."
OpenBSD developer Theo de Radt says the code is bad
"It's terrible," De Raadt says. "Everyone is using it, and they don't realize how bad it is. And the Linux people will just stick with it and add to it rather than stepping back and saying, 'This is garbage and we should fix it.'"
Linus Torvalds, says the code is bloated
"Citing an internal INTEL corp study that tracked kernel releases, Bottomley said Linux performance had dropped about two per centage points at every release, for a cumulative drop of about 12 per cent over the last ten releases. "Is this a problem?" he asked. "We're getting bloated and huge. Yes, it's a problem," said Torvalds."
Ted Tso, creator of ext4 says the Linux developers cheat to get higher performance, on the penalty of bug free code:
"In the case of reiserfs, Chris Mason submitted a patch 4 years ago to turn on barriers by default, but Hans Reiser vetoed it. Apparently, to Hans, winning the benchmark demolition derby was more important than his user's data. (It's a sad fact that sometimes the desire to win benchmark competition will cause developers to cheat, sometimes at the expense of their users.)...We tried to get the default changed in ext3, but it was overruled by Andrew Morton, on the grounds that it would represent a big performance loss, and he didn't think the corruption happened all that often (!!!!!) --- despite the fact that Chris Mason had developed a python program that would reliably corrupt an ext3 file system if you ran it and then pulled the power plug "
"The [linux source code] tree breaks every day, and it's becomming an extremely non-fun environment to work in....We need to slow down the merging, we need to review things more, we need people to test their f--king changes!"
There are many more links if you google a bit. Unix creators have said the Linux code is bad. I can supply many more links, from Linux kernel hackers, claiming on the bad code "the kernel is going to pieces"
Also, Linux has huge scaling problems. It scales fine on a cluster, but scales very bad on a single fat server. Clusters are for HPC work (number crunching, easily parallell problems, etc), they can have 1000s of cpus and many TB of ram. For instance, the SGI Altix server has 2048 cores and 64TB RAM. But it is a cluster. As the Linux ScaleMP server with one single image Linux kernel with 8192 cores, just as the SGI Altix server:
"The vSMP hypervisor that glues systems together is not for every workload, but on workloads where there is a lot of message passing between server nodes – financial modeling, supercomputing, data analytics, and similar parallel workloads. Shai Fultheim, the company's founder and chief executive officer, says ScaleMP has over 300 customers now. "We focused on HPC as the low-hanging fruit,"
A programmer writes about this server:
"I tried running a nicely parallel shared memory workload (75% efficiency on 24 cores in a 4 socket opteron box) on a 64 core ScaleMP box with 8 2-socket boards linked by infiniband. Result: horrible. It might look like a shared memory, but access to off-board bits has huge latency."
All these cc-NUMA servers belong to the HPC server category: clusters of many comput nodes, on a fast network switch.
On the other hand, SMP servers, are a single fat server. They can have 16 cpus, 32 cpus, some has as many as 64 cpus. IBM Mainframes belong to the SMP category. IBM P795 is also a SMP server, it has as many as 32 cpus. Oracle has SMP servers with 64 cpus, the M9000. And HP has 32 cpu SMP servers. They typically can have up to 64 cpus and 2-4TB RAM. The IBM P595 used for the TPC-C record, costed 35 million USD. List price. One single SMP fat server. The HPC servers are very cheap in comparison, because it is a cluster of cheap compute nodes on a fast network.
The biggest Linux SMP server has 8 cpus (from Oracle, IBM and HP, it is just a standard 8-way x86 socket server). There are no big Linux SMP servers on the market. No one sells them. For a reason: Linux has problems handling 8 cpus in SMP fashion. There are no 16 cpu Linux servers, or 32 cpu Linux servers. Not a single one.
Thus, Linux scales good horizontally (in a HPC cluster). But scales extremely bad in a fat big server (SMP server). Linux can not handle 16 cpus, or someone would create and sell such servers for a fraction of the price of Oracle/IBM/HP - because big SMP servers costs a lot.
So, can any show me a Linux server with as many as 16 or 32 cpus? No, there are none for sale. And has never been. Only old mature Enterprise Unix like IBM AIX, Solaris, HP-UX can scale to 32 or 64 cpus.
Yep, some years ago iirc I had a Debian machine with Alsa for the soundcard, Jack connecting to the Alsa, and Pulseaudio with a jack output plugin connecting to Jack. It was something convoluted like that. This was so I could have Flash audio (for youtube), and various music programs (Renoise), and any games I had (UT) all able to play sound. It was truly horrible.
Thanks! I really needed the humor, since I am down to my last 100 or so in my banking account.
In an instant, I thougght of Linux Audio, and how it spuriously breaks on me, and makes me wonder whether some of my crashes even today or yesterday are related to faulty info relay related to sound and sound drivers. I wonder whether Vbox, Linux, Pulsa Audio, and others clash during suspends and unsuspends.
I also have been one of those people who had to be yelled at or embarrassed in front of coworkers or within earshot. I don't like it. I have called out people for bullying or suspected bullying, and I despise bullying. But, on reflection, I accept that sometimes I indeed have been part of a problem.
Then again, yes, it is not always best at all to be PC or molly-coddly in some cases. For example, on a ship, duringg UNREP/CONREP (Underway Replenishment/Connected Replenishment), one person not paying attention is all it takes for a role to slip from the hands of 8 others on that rope team. One person overlooking flawed maintenance is all it takes for a which to fail under tension, and that 100 feet of paid-out wire rope can come slinging back in fury, tearing through deck houses and 1/4 inch steel bulkheads. Rare, but it has cut men in half. In one case, the rope came back to coil around but not actually scratch the person it wound around. So, yelling,and public berating , for life-saving and mission-critical reasons (but, not forum commenting reasons, hehehe) is sometimes absolutely necessary.
Broken Linux audio would rightly be a major show stopper for anyone considering Linux. Maybe not in 1979 or 1991, but in 2012, even as far back as 1997, audio importance is not something to dismiss casually.
And, yes, sometimes Linus' outbursts are entertaining. But, since I am not so funny or important, I probably won't be lucky enough to have my outbursts dismissed or found entertaining... But, I hope I am wrong on that count...
no, I would think the absence of linux's existence in 1979 would be the bigger show-stopper then pulseaudio not working, possibly combined with the fact that it's creator was still 10 years old.
And while Linux did exists in 1991, it has just been created, and OSS wouldn't be added until the following year, so I'm not thinking anyone braking it would have been noticed.
That is exactly why Linus is furious. Nothing did more harm to Linux desktop other than audio.
So while things got better thanks to pulse audio etc, you submit something that breaks audio somehow. Linus is a human being too.
Microsoft camp may compare this to submitting a win8 patch that will allow another "blaster". Wonder how polite will be the kernel/security chiefs...
"Sounds like Linus Torvalds needs to take an anger management course and learn some people skills!"
Wouldn't it be better all around if people writing code for Linus' kernel went on a programming course so he didn't need to?
If Linus was nicer, Linux would probably be a lot worse than it is today because these mistakes would end up staying in there.
"programmers who are more skilled"
As a linux user i personally don't care how skilled the programmer is if he's - oh - sensitive. I need a rock solid OS (which i get) - not a politically correct POS. Linus is absolutely right - if you let a bug into kernel on principle, not just mistake - public humiliation is the very least you deserve.
You have a programmer telling everyone "it's not a bug, it;s a feature" so piss off there is nothing to fix...
Only then did he get a smack up the side of the head. When Linus told him it was something that DID need to be fixed.
If this was a normal job it would be.
-Tell co-worker to get stuffed.
- Ignore boss
- Have company president come by your work area to give you shit.
Sounds like Linus Torvalds needs to take an anger management course and learn some people skills!
Don't be so damn' silly! When some clown has been repeatedly told to either shape up or ship out - and still refuses to do either - a few harsh words are entirely appropriate.
I am heartliy sick of being told how I have to handle useless employees - they work for me - they do as they're told or they find other work. If they can't handle criticism, they need to go and work in Local Government where they can be entirely worthless for a whole working life and never get criticised at all.....
Does your opinion come from personal experience or just reading the media reports ?
I've submitted code to Linus, and he was very friendly - and absolutely right - when commenting on some things he'd like me to rework. That was some years ago and the amount of code he has to review has gone up a lot since then, so I wouldn't be surprised if some mediocre programmer hits his trigger level more often.
Yes, Linus yells and shouts at you when you submit some wacky code that is done the wrong way. But he also tells you *why* he thinks it is wrong. And he is usually right.
> So much for criticizing in private.
The problem with this is that Linux's development happens out in the open.
What we don't know from here is the background to the comment and since this quote is completely without context we don't know whether the "Shut the F**K UP!" was a friendly one or a rage mode one. Its not at all uncommon for friends to swear at each other without being totally pissed off with each other. I remember working on a development project years ago with a team of programmers from all over the world and an American manager, the poor guy never could get his head around the way we spoke to each other, or the fact that if we'd started to be nice the other members of the team would have worried what was wrong.
I've sat in code review meetings in professional development environments and believe me, that comment is mild if someone is trying to shift the blame from their ugly code onto the code that supposed to be calling it. Been on both sides of comments. You learn to tidy up your approach. I was just lucky enough for it to be a private meeting inside a private company.
Can be both...Had an American manager once. I said:
"Hello, you ol' w*anker!" to a colleague I hadn't seen for a year.
To another, who'se child was born 6 weeks earlier. When he returned to work from Paternity leave: "OI, mate, can we call you a motherfuc*ker yet???"
American was gobsmacked. Didn't get it. Perfectly acceptable in British business......or at least, it was then....
F*ck the "Rules of Management" - i'm tired of being told to babysit idiots and do their jobs for them.
Nothing good ever was created "Rules of Management" - pretty much worth existing was created despite of them.
"Rules of Management" exist so mediocrity can be at least somewhat productive.
And many accounts suggest Steve Jobs was more likely to rage at very well-paid VPs, but took a different approach with junior employees. Didn't the engineer who left the prototype phone in a bar keep his job?
It reminds me in a scene of The Thick Of It, where Malcolm's bulldog Jamie concludes a rant at a minister (using violent sexual imagery) then nearly bumps into a cleaning lady- to whom he courteously apologises to.
I used to have a boss like that. Luckily we were on good terms. He used to take to going into a good screaming rant and the other employees for trivial matters. During these times I would pull him aside and call him out and tell him what a total tool he was, thereby re-directing his rant at myself. After a while I would just smile and ask him if he was done yet and if we could go back to work. He went all apologies all around, handled the original incident in a calmer matter, and all was right with the world. I received a good number of raises while I was working for him just for being able to put up with his crap. Even the waitresses started splitting their tips with me.
You gotta learn some method to deal with this type of BS or you will die of some stress related problem, either yours or theirs.
Poppycock! He's a git:
I'm missing something here.
What did the spec for IOCTL specify anyway? Did the incriminated "fix" make IOCTL comply with the specification? Or did the application rely on an undocumented buggy behaviour?
Or maybe there are no detailed specs, besides the big guy's imprecations? (That would be pretty typical...).
I'm missing something here.
What did the spec for IOCTL specify anyway? Did the incriminated "fix" make IOCTL comply with the specification? Or did the application rely on an undocumented behaviour, and required bug compatibility?
Or maybe there are no detailed specs, besides the big guy's imprecations? (That would be pretty typical...).
See Linus' email for the full technical reasons why: the ioctl was returning a code invalid for the operaton requested. Any app that properly checked its syscall error codes would be confused. The error code returned to pulseaudio was specific to paths, wheas ioctls operate on open files.
The prototype for ioctl(2) is:
int ioctl(int d, int request, ...);
where 'd' is an open file descriptor. The error being returned was ENOENT (no such file or directory). Since ioctl only works on open files, an error saying it doesn't exist is clearly awry. It has to exist: you already opened it! The file descriptor can be invalid, but that's EBADF.
So Linus' criticism here is totally justifiable, since it's meaningless to return ENOENT in this context.
Deletion doesn't matter--the device is already open at this point, so unlinking the device node makes no difference. Most devices would prevent removal (e.g. module unloading) if in use, so this is an unlikely situation. But if it does occur and it disappears, you would probably get EBADF since the fd would no longer be valid. Not a situation I've ever seen though.
Although it seems that it was someone else's mistake - this "Laurent" chap. As far as I can see, Mauro's offence was that, told a return code was causing problems, he asked "is that our problem or pulseaudio's" and Linus went off on one. Linux audio is such a hideous, bloated, buggy mess that it seems, from outside, to have been a reasonable question.
My first dip my toes in the Linux waters was installing Mint on an ancient ThinkPad with a mate, for shits and giggles... til that day, I had never even heard of SUDO before. We installed Mint fairly quickly, but getting audio to work took the rest of the afternoon, though to be fair we were complete novices and the internet suggested that model of ThinkPad had slightly esoteric audio hardware.
I'm normally a Windows user, and I take a fairly dim view of its audio system as well. Trying to use ASIO is a PITA cos WSM keeps jumping in, trying to change the default MIDI device requires faffing around in the registry... I only mess around with audio applications for fun; if I had to do it seriously, I would get a Mac without question.
Uhh, it's right there: you don't break user packages. If they suddenly blew up after your update then you did something wrong and ought to go back and fix it instead of asking them to change because you are a *maintainer*, remember.
Would that apply if the use package was using an undocumented feature / bug? Or if it was assuming that a return code it had never received could never be received? If Linux is designed to keep buggy userspace applications working at all costs, much is explained.
Rule 1: No poofters.
Rule 2: No member of the faculty is to maltreat the Abos in any way whatsoever—if there's anyone watching.
Rule 3: No poofters.
Rule 4: I don't want to catch anyone not drinking in their room after lights out.
Rule 5: No poofters.
Rule 6: There is no... rule six.
Rule 7: No poofters.
Oh wait, I think I have the wrong meeting...
Software development isn't for wimps. I'm sure that Linus had had some very bad words for himself when he messed up some "important" code. Have engineers and programmers aver actually been normal human beings and expected to be treated thusly? I might be wrong but I rather put us in another class of beings and don't expect politeness and management professionalism as being quite so important. I'm done with software management now since I'm retired. However, I still both wince and expound quite vociferously at some of my own code. I only hope that others code is somewhat worse than mine...
Of course he did. Every programmer does.
When I find something something stupid in code I'm maintaining, I almost always mutter "You ***** idiot" (or worse) under my breath.
It doesn't matter whether I made the error or somebody else did - the mistake is stupid.
I can't believe I'm the only one.
Generally a "Disregard this, I suck cocks" is sufficient.
What gets to me is that when I dare to call out crashing, unfit and undocumented crud (in some cases, unsecure crud) actually delivered to customers, I'm being called back by management. The justification being "but he's a good programmer, he delivers in time."
What the hell?
What some people seem to forget is that this guy was not just any coder but one of the kernel maintainers, which is just about as senior as you can get in the Linux world. This is someone you would expect to be absolutely red-hot on correctness, yet he not only changed a return result, but changed it to something that was impossible for that situation.
After it was pointed out to him just what he'd done wrong, instead of setting about correcting it he then proceeded to waffle and claim it was someone else's fault for using the API wrongly. Well, no. If a certain behaviour is listed, then you don't change it without warning.
That is why he got chewed out, and he richly deserved it. I don't know if he still has the status of a maintainer, but he wouldn't have if I was the boss.
It is not a kernels fault for driver development, not knowing which code this is reference to though...
ioctl() does exactly what it says on the tin...
input <|> output control...
You can't blame a kernel for shoddy driver development! I've seen many a dodgy driver code in my time due to exception handling being missed out or broken! some causing some right old mayhem for device and machine. Not exclusive to linux either!
I don't buy the "Don't break userspace" if userspace us implemented wrongly to make use of an existing buy in the Kernel, you fix the bug and bollocks to userspace. It would, of course, be courteous to let anyone you reasonably can in userpace, who is exploting the bug, know that you're doing this.
Specifically a member of a team not taking responsibility for their c**kup.
And as others have pointed as this is the kernel a screw up here affects every app that sits on top of it.
I'm not sure if this is a paid role but I'm assuming if not then the fact you're trusted to have your work accepted into the core distribution bring lots of kudos and might have some benefits regarding your employer remuneration.
I've always liked that like of Gene Hackman's in "Crimson Tide." "We defend democracy, we do not practice it."
I just read that same thread - I fundamentally disagree.
Linus complaint was:
* a patch in the audio code had been accepted by Mauro that changed the error return codes of a function, this changes the interface which other applications could rely on.
* this patch in the audio code broke a kernel release candidate, the fault was not picked up by testing tools Mauro also had responsibility for maintaining.
* having broken a RC & received explanation of the problem error code he questions whether the userspace code is wrong rather than his code -- he allowed the interface to be changed!!
* Linus suggests he should shut up before he embarrasses himself further.
* then Mauro keeps talking .. have a funny feeling this has happened before. There is no excuse. Revert to the previously returned return codes. And larger changes require discussion first.
* Mauro suggests that it is ok to make a change to an interface (which is in production) to gain consistency with something else. This is absolutely wrong, once the interface is set it cannot be changed, other applications are relying on it. This is the source of Linus frustration - Mauro hasn't learnt the first rule of kernel maintenance - you can't randomly change shit others could be relying on. If you do & something breaks it is the kernel's fault.
Instead of blindly following guru Linus, perhaps people should pay attention. There was bug #1 (not conform API) being patched wrongly (buggy test) causing bug #2 (not conform API). Although bug #2 was nasty, reverting the patch will not save userland but break API elsewhere with the increase of UVC devices as pointed out already.
If it's true that pulseaudio is relying on buggy API-breaking behavior from the kernel, hell yeah one can point to that as possible source of problems. This is not about blame but clearly about trying to find a way to change things without breaking anything. But one needs to understand first if API is being followed to begin with.
I was given a very good piece of advice once: If you don't know if something is acceptable, how would you feel if your actions were reported on the front of a major newspaper?
Also, try to think how you'd address the employment tribunal: Wel, m'lud, I posted a review I'd made from the person claiming constructive dismissal on a notice board at work, it said "what the fuck were you thinking...", but it's ok because everyone was doing it.
Ah, a "Wall of Fail" - all good fun isn't it?
Until it becomes workplace bullying. Such a thing would automatically make the company lose any employment tribunal an (ex) employee pulled.
You must point out these failures in person, quietly, and reasonably.
A company I know of has an internal IRC server. It has a "rape" plugin, for lolz when someone does something wrong (!rape username with a jackhammer for introducing bug). All very good, until a person joins the company that has gone through such a thing, and sues the company. And wins. In this case, it's bullying, it's intimidation, it's misogyny. It had been reported as such before, as well.
+1 that. Linux is only of value if your time is free....and worse the security is completely FUBARd - even after various knee jerk bolt-ons like SEL (to get some vague half arsed equivalent of the ACLs that are built into Windows from the bottom up) and they still havnt fixed filesystem ACLs on Linux (support in ext3 is still "experimental") - Windows had this stuff in the core OS ~ 18 years ago. Linux needs to be ripped apart and rebuilt properly - they should ditch the dated monolithic kernel approach and build a modern modular solution...
This post has been deleted by its author
Linus is just providing an unusual frank form of 'peer review', which is why the linux kernel is actually a very robust piece of software. In a many more 'traditional' development environments bad code gets allowed through because everyone is busy just watching the clock and dealing with their own little jobs, and nobody steps forward to say "sort this sh*t out" when it's actually necessary.
The kernel of Linux is becoming the main source of functionality for a good portion of the worlds goodies now: Any Complex Machine.
It has to get it right.
Form follows function, performance issues are not tolerated.
What part of this do you not understand.
When you look at it this way and understand that it is about what is critical to the functionality of the majority of products of the world now... then it should be easy to understand its importance.
Do you want your jet engine to reboot or even your cars engine management to get the fuel mix wrong or your android to hang... or your mission critical radar to go fritz. You know your screwed when the little blue light goes out.
That is what the big issue is with Linus. Its important not for $, but life in the future.
You are right, everyone... the Linux Kernel is not a toy anymore... never really was.
It doesn't mean you shout and scream at developers.
I get pretty frustrated with certain developers I have to work with, I speak to them politely and if I get really frustrated I usually just leave them to it for a while while I make myself a brew.
Linux is acting like a child once again.
"When you look at it this way and understand that it is about what is critical to the functionality of the majority of products of the world now... then it should be easy to understand its importance."
"Do you want your jet engine to reboot or even your cars engine management to get the fuel mix wrong or your android to hang... or your mission critical radar to go fritz. You know your screwed when the little blue light goes out."
FADEC's I'm familiar with ran on Z80's. What you describe are hard real time critical systems. They run commercial RTOS's or build their own run time system.
Linux runs things like cameras, phones and set top boxes. True an STB that takes 20secs to boot. Why?
OTOH it also runs things like routers which could be mission critical or life threatening.
You do have a sort of point.
It is not necessarily wrong to react strongly especially when someone very senior, trusted with the stewardship of the code, is defending something so wrong. He is betraying the trust placed in him. ("ret == -ENOENT ? -EINVAL : ret"? Come on..)
This is community development, not some corporate development where things can possibly be tracked more closely, with more control over who gets the code and what happens. "Management" speak and HR theories are not fit for purpose here.
However, in this specific situation, it would appear that Linus may have reacted a tad too quickly. If you look through the thread, Mauro is trying to fix something, and yes went about it the wrong way, but is an issue that cannot be resolved as simply as Linus appears to think it can and should be.
Summary: Both sides are right in some ways, and both sides are also wrong in some ways.
But then that's almost always how it is.
As some people have said there is no one type of management technique to rule them all. Good management is dependent on the manager, the employee and more importantly the situation, so basically the approach is different every time.
Whilst there are plenty of positives to the touchy feely management style, there are some really bad too and not just for the manager or team, but for the person in question.
For starters if a person isn't performing well, with the touchy feely style someone needs to mentor them, find out what is wrong, and/or send them onto training courses in hope that an improvement is made. Whilst this is happening either the person's responsibilities stall, or the rest of the team has to take up the slack. If the role stalls the team can look bad, if others are doing the person's work then this can easily create a bad atmosphere in the team.
For the person in question, each time they get dealt with there is a good chance that their role diminishes and basically they get sidelined out of chances to grow or worse out of a job.
Personally if I cock up I rather have my manager tell me straight to my face rather then have it drag out, of course after work have them take me to a pub a get me drunk when I've resolved the issue!
.. provided I feel the person is worth it - and that's where the issue lies.
I am OK with giving a person absolute hell (and if I'm sufficiently pissed off I am very, very good at that too) but that always happens behind closed doors or private channels. Doing this publicly affects the rest of the team as well.
And no, there is no third chance.
Gripe #1: « "Mauro, SHUT THE F**K UP!" the outraged Finn opened in an email to the kernel mailing list, although edited here for decency. »
What "decency"? Misspelling "FUCK"? A vulgar expression that most of us probably use every day of our lives? Oh well, please wait while I roll my eyes at your quaint prudishness.
Gripe #2: What is exactly the purpose of this article? Yes, this is a red top website, but as I understand it the idea is that it's supposed to be a more or less "intelligent" red top. Sensationalism, yes please, but with some wit thrown in so we can all have a laugh. Your article neither conveys any useful information nor is entertaining in any way, so until you can do either one or the other, may I ask you to kindly follow Mr. Torvalds' advice to Mr. Carvalho? Thank you.
Those of us who remember newsgroups and DejaNews before Google consumed it also remember the epic flame wars/arguments over technical details of *any* type know of what I speak. IMO this is not a management issue as much as someone giving honest opinion to someone who should be considered a peer in the field.
Those where some fun days.
"Shut the fuck up" isn't a valid way to address a trivial problem.
It's sad that a lot of you seem to think this acceptable behaviour.
it's also sad that, like all keyboard warriors, Torvalds wouldn't have the stones to issue his STFU face-to-face - choosing to do it my email list instead...
For me the principal problem with the article and a lot of the comments is the lack of context. Too much of both seems to rely on the reader possessing a lot of background information.
For instance "choosing to do it my email" suggests that it would have been practical; is it?
I suspect not as Carvalho Chahab lives in Brazil and Torvalds in Oregon but I had to consult a couple of web sites to find out (https://www.linux.com/news/special-feature/linux-developers/636068-30-linux-kernel-developers-in-30-weeks-mauro-carvalho-chehab, https://en.wikipedia.org/wiki/Linus_Torvalds).
For what it's worth (not much) I think that it is rarely worth swearing in public, it tends to distract observers from the point that is being made.
And, off topic, why the fuck does El Reg not turn properly formed URLs into hyperlinks in comments? Swearing included because I doubt that any attention will be paid to the point so I might as well let off steam.
Yes, I understand the pair aren't working in the same office. I still don't understand what Torvalds sought to achieve by publicly ridiculing/remonstrating with the other guy on a public mailing list.
Maybe he wanted to show he's some kind of alpha male or something? That he's a control freak? That he's the king and demands loyalty from his subjects? I'll stick with my initial diagnosis of a bad case of arsehole-itis.
Perhaps it's time for the "developer" to find a new career? I doubt a physical confrontation would improve the developer's skills. This nonsense that you ain't a real man unless you brawl in the steets mentality, is foolish. If the guy is incompetent then he needs to improve or hit the road.
Reading the comments, I can't help but wonder - what has happened to honest, outright, direct communication ? Can one no longer name a turd for what it is, and call out stuff that stinks for its smell ?
I don't get this sensitivity thing. Being bullied behind your back is far worse than being called names outright and face-to-face. Yes, conversations can turn into shoutfests, but with those, at least the release of anguish and emotion prevents the buildup of resentment and desire for revenge.
What usually happens, though, is that the project manager you p*ssed off will stop talking to you, but give devastating feedback to your boss' boss, and your boss, and nine months later you'll be told that for all your great work, you need to improve on your interpersonal/communication skills before you can "reach the next level" (read: no extra peanuts for you, monkey, and definitely no promotion to chimp). Of course, all feedback is confidential, so good chance you won't even know who the guy was that blackmailed you.
Sod it. It's Monday, and I'm thinking of beer. Or read this: "Go, Linus !".
...the code must have been REALLY bad!
The state of most(*) open source (and, sadly, paid-for "professional") code makes me shudder, so I can only imagine (actually, I can't - it's THAT dark) how bad this must have been to provoke such a response.
(*) = About oooo.... 95% (I'm being generous here)
You sound surprised.
Seems you agree with this article:
I always think my code is crap - never satisfied with it - it could always be better.
But, then again, when I have seen, and had to deal with, commercial code bases my belief in the existence of professionalism in software development is somewhat challenged.