This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Programming

How Linus copes with criticism

By Joe Barr on September 01, 2007 (2:00:00 PM)

Share    Print    Comments   

So, you want to be a kernel hacker. Before you go down that path, or get involved with any other free or open source development project, you should know that it's often a wild, raucous place where -- no matter what level of coding skill you possess -- your tolerance for criticism or rejection might constantly be tested. Even Linus Torvalds isn't immune to criticism.

Most FOSS developers write code for the ego hit or the warm-fuzzy you get from being of service to others. Yes, the elite are often paid well by large corporations for the sweat of their brows, but for the rank and file, which includes some of the world's most gifted programmers, it's work freely given with no rewards expected.

FOSS development is often described as a meritocracy, where only the best code makes it into a project. That sounds good from the point of view of the user, but that philosophy has some harsh edges that can damage the ego and even cause developers to walk away from a project. Any developer's code submissions might come under heavy criticism from rival contributors as well as from the project hierarchy. You need a tough hide to survive.

The Linux kernel is the best-known project in the FOSS movement, and the rewards -- whether financial or ego-based -- are higher there than with any other project. With so much at stake, rejection by Torvalds, or by one of the maintainers who cull submissions before they ever reach Torvalds, can be a painful process, even for those with solid credentials in the FOSS community.

Two of the most notable examples of rejections of work by high-profile contributors are the CML2 kernel configuration tool submitted by Eric S. Raymond and Con Kolivas's work on the Staircase Deadline (SD) scheduler for the kernel, which he claimed would give desktop users better response. The reaction was such to the rejection of Con's scheduler code that Torvalds took the unusual step of defending the action.

The top decider

As founder and leader of the Linux kernel project, Torvalds is the top decider about what does and doesn't go in the main kernel tree. That puts him in the position of having had to say no many times. How does he himself cope with criticism? Had it ever weighed so heavily on him that he thought about just walking away and working privately instead of in public?

Torvalds says:

Not me personally. Part of that is that I actually *like* arguing (sometimes a bit too much ;^), so the occasional flame-fest really does nothing but get me pumped up.

At the same time, I'm actually pretty good at just "letting it go", so once I've argued enough and am bored with the argument, I can just leave the thing behind. Part of that is also having to occasionally just admit that you were wrong, and have the ability to send out a "mea culpa" email just saying so.

I also don't tend to get too hung up about any particular detail (even if in the heat of a "discussion" I can be very forceful about them). I certainly care more about some subsystems than others, but in the end I seldom end up caring really deeply about many of the technical choices: I tend to care much more about improving the general development model than about the details of some particular subsystem.

So that tends to make it easier for me to "let go." I'll state my opinions, but even if I'm convinced I'm right, if I'm not actually willing to write the code, in the end I'll happily be overridden by the people who *do* write the code.

This is obviously very much a matter of personality.

There are things that I tend to worry about, and that can be really painful, but they are pretty rare. The classic example is the old "Linus doesn't scale" argument, where it ended up being the case that I really had to fundamentally change the tools I use and how I work. And *that* was a lot more painful than worrying about the actual code.

Conclusions

Of course it's not automatically a bad thing when your code is rejected, in the Linux kernel or elsewhere. Disagreements with other developers led Daniel Robbins to leave one project and found Gentoo Linux. Gentoo has gone on to become the premier Linux-from-source distribution, while the project he left, well, I've forgotten its name.

More importantly, however, is the lesson that yes, your ego is exposed and vulnerable in the world of FOSS development, and sometimes it's a painful place to be. The "right stuff" for FOSS developers goes beyond just being a good programmer. You also have to have the ability to admit when you're wrong and the ability to just "let it go" when decisions don't go your way. If you do, FOSS development can be a fun and rewarding experience. If you don't, it almost certainly won't be pain-free.

Share    Print    Comments   

Comments

on How Linus copes with criticism

Note: Comments are owned by the poster. We are not responsible for their content.

How Linus copes with criticism

Posted by: Anonymous [ip: 71.42.188.59] on September 01, 2007 07:29 PM
Sounds to me that you need the same qualities to succeed in business or any profession - focus on what is important, be able to argue your point, and let it go after the discussion is finished.

#

How Linus copes with criticism

Posted by: Anonymous [ip: 74.211.82.218] on September 01, 2007 10:42 PM
You're the Decider...

A google search for lojong is recommended by an idealist and a realist; for reasons unknown at the time. ;p

#

How Linus copes with criticism

Posted by: Anonymous [ip: 71.131.180.112] on September 01, 2007 11:45 PM
The fun part with Linus comes when it descends to the level of "you're stupid and ugly" - or at least your concept is "stupid and ugly". Listen to his lecture on Git that he gave. It's fun. He convinced me that Git's approach was correct and that all others are "stupid and ugly."

#

Re: How Linus copes with criticism

Posted by: Anonymous [ip: 129.240.235.122] on September 03, 2007 04:04 PM
"He convinced me that Git's approach was correct and that all others are "stupid and ugly.""

Which just goes to show that playground-level rhetoric is all that's needed to convince the fanboys.

#

How Linus copes with criticism - does it matter. Or does Linus NO really matter all that much?

Posted by: Peter Jakobi on September 02, 2007 12:22 AM
Actually, even if Linus says NO to something:


It really doesn't mean all that much.



Thus in case of NO, your important scrap of code, usage, requested licence,
or maybe your kitchen-sink just isn't in the mainline kernel itself. That's all.


Doesn't even disallow being a part of mm line of kernels.



Or that you are not allowed to do a really good job to maintain
a small set of patches against the mainline kernel. If you're good
enough a programmer and keep in touch, this patch-set wouldn't
even enlarge over time. And doing it that way would still gain you
merit in the eyes of other kernel developers.



NO merely says:


You're not going to be as lazy as you'd ideally like to be.


And that things like updating your code or using your code aren't
quite as convenient, as you'd like to be.


Or you might just fork the whole kernel.


Why not? If you're capable of doing this level of coding and
workload correctly? You're allowed to do that. That's a GPL issue.
As your right to do this is defined in there. And it's a right you have,
which has a resounding YES, including a YES by Linus.



So how important is Linus? Not that much at all. Except to your
attainable levels of zen bliss and laziness (you do know Larry Wall, don't ya?).



A NO by Linus however has one HARD requirement: Rechecking your
arguments and code both inside and inside-out. Linus has one failing.
His failure rate. He usually is either correct in his decision or at least
he makes a good point. Not necessarily specific to code. Maybe
merely specific to maintaining a manageable resemblance of
goal-oriented kernel-development. Another known failing of Linus:
He's good at it. Possibly to his chagrin. And to the detriment
of the time he can spent in zen bliss. Sorry. Ahem. In coding.



And you're welcome to argue that Linus is arrogant. You're
probably correct in saying this. But I'm probably also correct
in saying that it is arrogance backed by skill. And also, that
it's likely to be a prerequisite to time management for people
that have become victims to that kind of hot-seat. Such as
Linus' position in kernel development and direction.



So in a nutshell:



Just GET A GRIP, Sunny.



Oh, and do not forget to also get a grip on your ego, your fears, your senstitity, and your feelings of inferiority.

There's always a non-negative chance that you aren't. Isn't there?

Inferior that is.

And tell you what. That chance's even non-zero.



Just make sure of one thing.

Invest some of your time in reading up. And thinking. It won't hurt. Pinky swear. Much, that is. Just...



DO GET YOUR OWN GRIP, YOURSELF.



And be proud of it. And do not waste your money on that stale smelly pre-made one from your friendly neighborhood pimp...



This tirade on "LINUS - the incomprehensible, dangerous, ugly and whatnot bogey-man-cum-utterly-insensible-jerk biding HIS time under YOUR bed" herewith placed in the public domain :).

#

How Linus copes with criticism

Posted by: Anonymous [ip: 72.77.192.54] on September 02, 2007 09:12 AM
I've spent a fair amount of time talking with Linus over the years thanks to my job in Linux and Open Source for a large software manufacturer, and one *gift* he has is the ability to be painfully blunt and wonderfully clear. While that pisses people off, you never wonder where you stand and what his feelings are. I work with one other guy like that and you know what is nice...the level of honestly makes it easier to get things done because there is no taking it personally, unless you have an ego that you can't let go of. It's business...pure and simple. If others did business this way in the US, things might be better off.
As for Linus...he did write the original code, so I think a certain amount of respect is in order...without his work, things would be very different now in the IT world.

#

Re: How Linus copes with criticism

Posted by: Anonymous [ip: 193.166.94.185] on September 02, 2007 05:43 PM

"the ability to be painfully blunt and wonderfully clear"


There are even fancy Latin names for these types of arguments: ad hominem and petitio principii. I've only read his interviews but I must agree that these are the two specific argument strategies where Linus really shines. ; )

#

How Linus copes with criticism

Posted by: Anonymous [ip: 84.165.75.159] on September 02, 2007 09:30 PM
ad hominem <- couldn't agree more :o)

#

How Linus copes with criticism

Posted by: Anonymous [ip: 24.141.117.202] on September 03, 2007 05:13 AM
Personally I like Linux but Linus is an ass.

#

Re: How Linus copes with criticism

Posted by: Anonymous [ip: 4.155.117.243] on September 04, 2007 04:43 AM
He's not an ass, he's a <a href="http://linuxmafia.com/faq/Kernel/linus-im-a-bastard-speech.html">bastard</a>.

Vance

#

Re: How Linus copes with criticism

Posted by: Anonymous [ip: 67.77.140.3] on September 04, 2007 04:57 AM
Did that make you feel better about yourself?

#

How Linus copes with criticism

Posted by: KiLVaiDeN on September 03, 2007 03:24 PM
Linus is needed for the project. It's quite clear that every project that has ambition, needs some directing, otherwise it might very well go into wreak havok.

IT and Anarchy don't go very well along, fights might end up in late delivery or simply project failure.

I think that as long as Linus has good arguments, and clearly expose his point, there is no need to hate him for a "NO". As a poster said here, you could very well go with your own fork and do whatever floats your boat, in the end of the day, people who can't stand disagreements in a collaborative project are not to be part of them.
[Modified by: KiLVaiDeN on September 03, 2007 03:28 PM]

[Modified by: KiLVaiDeN on September 04, 2007 09:09 AM]

#

How Linus copes with criticism

Posted by: Anonymous [ip: 66.122.165.195] on September 08, 2007 09:32 PM
For all the glamor or histrionics of being first, first often reqires futher developmet or time for acceptance. In some cases opposition can fire a person up providing modivation and creativity. Also as part of the scientific process of validation thru repeated independent discovery that offen moves simply into the learning by doing process simmilar to a science lab experiment. Rejection I would hope would be viewed in terms of the value it can add rather than remove.- Simmilarly I personaly see mutual exclusion as perhaps the greatest threat to open software. And within the context of the law of the jungle open source or (source readable and compilable software)'s best stratigy may be to co-opt the position of being the jungle. Defending the principles that suport proprietary software that also allow open software to exist. What if there were a stack of software principles that allowed hybrid licenses or standard interfaces that alow compatibility between licences or as well define restrictions. Thus outlining defendable positions and defining imisable forms. It seemed a few years ago the Tevo example was seen as a victory for open source demonstrating how proprietary hardware could use and help develop open source software by the ability to also lock hardware. I think in view of rights such as speech and religion as well forms of politics that sometimes allowence of others is indured to insure ones own expression. Open souce seems to place responsibility on the user and thus lockable software dosen't mean that someone can't go make there own hardware and use open software on it.

#

How Linus copes with criticism

Posted by: Anonymous [ip: 78.135.25.33] on November 01, 2007 08:14 PM
The "right stuff" for FOSS developers goes beyond just being a good programmer. You also have to have the ability to admit when you're wrong and the ability to just "let it go" when decisions don't go your way. If you do, FOSS development can be a fun and rewarding experience. If you don't, it almost certainly won't be pain-free. HTTP://www.ayi.org

#

How Linus copes with criticism

Posted by: Anonymous [ip: 78.135.25.33] on November 13, 2007 11:32 PM
<a href="http://www.ayi.org" title="ayi">ayi </a>

#

How Linus copes with criticism

Posted by: Anonymous [ip: 78.135.25.33] on November 13, 2007 11:32 PM
<a href="http://www.ayi.org" title="ayi">ayi </a>

#

Re: How Linus copes with criticism

Posted by: Anonymous [ip: 88.251.41.105] on December 18, 2007 04:19 PM
Good.

<a href="http://www.emo2007.org">Emo2007</a>
<a href="http://www.videoner.com">videoner</a>
<a href="http://www.metacafe.info">Metacafe</a>
<a href="http://www.megarotic.name">Megarotic</a>
<a href="http://www.assez.org">Assez</a>
<a href="http://www.megavideo.name">Megavideo</a>
<a href="http://www.fotomac.info">FotomaƧ</a>
<a href="http://www.fotomac.biz">FotomaƧ</a>
<a href="http://www.yukle.us">Yukle</a>
<a href="http://www.orkut.name">orkut</a>
<a href="http://www.dighosting.com">Hosting</a>
<a href="http://www.findpic.net">Fin Pic</a>
<a href="http://www.badjojo.name">Badjojo</a>
<a href="http://www.dizin.name">Dizin</a>
<a href="http://www.casinobiddir.com">Casino</a>
<a href="http://www.casino.name.tr">Casino</a>

#

How Linus copes with criticism

Posted by: Anonymous [ip: 88.241.152.138] on December 28, 2007 08:30 PM
I would like to say you thank you for your useful article my friend.

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya