Linus Explains his Patch Policy
An anonymous reader writes "For everyone who has been wondering the method behind Linus's seeming madness of accepting or dropping patches, he has finally given a thorough explanation. A must read for anyone who wants to get their favorite feature into the next release of the kernel."
As Linus suggests, use it in your tree. Go farther, and roll your own distro. If you have the time to whine about it all the time, you probably have the resources to help the community. Rumor has it LFS needs help.
I also cannot abide whiners and whingers. The old adage about 'the squeaky wheel gets the grease' does not hold in my camp.
It's more like 'the squeaky wheel gets whacked with a hammer and replaced with something better'.
People need to remember that when dealing with intelligent people, if you cannot get your point of view across without resorting to whining, you may need to reconsider what it is you are asking.
I'm running Windows and I still haven't found how to tell Microsoft where I want to go today.
Cool! Thanks Linus. Can you get it here in time for Christmas? ;-)
Grr! Arg!
Exactly. This is why about 50 times in his post, he says that you can start your own tree. THere are plenty of alternative trees out there -- but this one is his tree and thus he gets to say what goes in it. You could start your own tree tomorrow and reject patches from Linux himself if you felt like it. Behold the power inherent in that ;)
"Well, first I write down my options, and then I drop a pen from about 5 feet up and..."
Especially when he's drunk. We all know, that Finns carry around huge knives to cut off the balls of polar bears, when they (the Finns that is) go on a binge.
Being a whiney user just might move you from the "human" to the "polar bear" category.
We do not live in the 21st century. We live in the 20 second century.
No, the idea of open source is the ability for you to say, fuck this tree, ill take all this code i want and deviate here and make my OWN tree, one with my patches and nothing i dont want!
When we have many tree's with one or two people making decisions each, its much more orginized than 20 or 30 people throwing large amounts of crap into one tree, and alot of stuff gets lost in the mess. Pull the tree that has the features you want, if it lacks one feature that you absolutly need from teh other tree, there are patches to use to get it in there.
He's admitting he's as failable as the next guy - the gist of what he's saying is that popping out of the woodwork and saying "hey, check this neat feature" isn't going to get your patch accepted into his kernel tree.
I highly doubt that any of the BSD maintainers would accept a patch either. It goes back to whether the trust is there, and evidently these guys don't hold Linus's trust.
Not much controversial here.
(I was only an egg, but then I cracked)
Shouldn't much of this be common sense to the average individual. Maybe not the specifics but the general concept, whining won't help.
When did this practice become so common. Far too often do you hear someone griping about something before ever going about it in the correct way.
+ 2 cents "We're on a mission from God" Elwood Blues
Hint: if you want stuff in my tree, make me trust you.
That's gonna be one for the quote book ten years from now...
Life is the leading cause of death in America.
That
tree is called "Linus' tree" for a reason. The only thing you are
ENTITLED to is to have your own tree.
Linus
Now if you'll excuse me, I'll go back to waiting for the great pumpkin to arrive.
Live web cams
Linux: Patches accepted based on what Linus thinks is good
BSD: Patches accepted based on what will run on the MrCoffee port
Linux: Patches to support new hardware added quickly
BSD: That better be an ISA network card...
Linux: VM changes cause instability in "stable" kernel branch
BSD: VM is old and slow, but you can use punchcards as swap. Isn't that neat?
Linux: It's for people who like to tinker
BSD: It's for people who think Debian-stable is too bleeding edge
Here is my current tree:
/* ??????? */ /* PROFIT! */
int main () {
printf ("Hello, World\n");
return 0;
}
Please send me patches, thanks.
Get your stinking paws off me you damn dirty ape
Vendors have the motivation to test and add your patch, as long as it adds something that a customer might want. This means that your patch gets well tested. This means that Linus can treat your patch with some confidence without knowing your work.
Of course, getting into Linus's tree is the Holy Grail of OpenScource development. It's hard not to take it personally if your patch gets rejected.
"A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
It isn't "the official tree" - it's "the Linus tree". If you don't like it, use Alan's tree, or any of the dozens of others out there.
They do. Subscribe to the LKML and post it there. Pretty well all of the important developers of the kernel (most trees) frequent it. Ok then - we have two VMs - Riks and Andreas's. Since everyone's supposed to get equal input and nobody is supposed to control the kernel - we're supposed to have both of them in play?Would you like to write the code that keeps them separate depending on which box I fill with an 'X' in menuconfig? What about all the other aspects of the kernel where we have two, five, ten, or a hundred different patches that all do the same thing? I don't know about you, but I don't really fancy downloading a 500MB Bzip2-ball of kernel source. HDDs and bandwidth may be cheap, but come on, there are limits.
So in short, if you don't like the way Linus manages his tree - branch. Take the entire code base of any of the trees you'd like as a starting point and implement your anarchist's paradise. Let me know when it becomes stable and I'll give it a whirl.
BD Phone Home!
Shameless plug. Like you weren't expecting it.
I've always thought of Linus' tree as more of a kernel testing ground - even for the "stable" releases.
The big Linux vendors are usually much more conservative about what goes into their trees. But the vendors also react to customer critisism to add very useful features to their kernels - features that Linus often ignores because he doesn't have much interest some particular area. The Linux vendors have to innovate to stay in business, afterall. Like RedHat bumping up HZ to give a much smoother desktop experience. Redhat is also doing pioneering work on highly efficient kernel threads that will likely show up in their kernel before Linus'.
RedHat's kernel tree resembles the -ac tree moreso than Linus' tree (gee, might that have to do with the fact that Alan Cox works for RedHat?)
Linus' tree is not as relevant as it once was.
Remember the kid in school that would always say, "My ball, my rules"?
Take note that Linus decided to remind us nine times that it is his tree. I am a big fan of Linux, but not so much of Linus. The way he wrote that letter made him seem a bit childish.
I just wanted to get my thoughts out there. There is no need to mod me down.
Welcome to the land of the free...pay toll ahead...no photography...please open your bag...
In other words, I totally comprehend his message and as such, I'll place his suggestions in effect immediately.
that;s odd how you and I differ. I use linux on my workstation at home and also have a laptop at home with OS X, and I would prefer to have linux on it most days instead of OS X.
There are a few days I love OS X, like when I am trying to view something I just can't on linux, or when I am video editing. I am glad I have the choice. I bought my laptop more on features per price that what OS it ran, and Apple had everything I wanted all in one package.(mainly built in modem, built in 802.11b, built in firewire, built in usb, and long battery life).
I think it's great that people prefer differnent OSes. The OS is just the tool to accomplish a job, some are better than others.
A serious alternative to X-Windows would be cool to at least play with the concept.
If you had nuts on your chin, would they be chin nuts?
Isn't having one person in charge of the official tree against the whole idea of open-source?
:)
No. Almost all open source projects have one person or a small group in charge. Why would this be "against the whole idea"? You're just as free to make your own changes on your own darned computer, no matter how many people are in charge of however many "official" trees. The so-called "official" trees exist merely for the convenience of those who don't want to bother to roll their own each day, and the people in charge of those "official" trees are only in charge because they've earned the trust of those who use their trees.
Shouldn't everyone have input of equal value?
No. This is a meritocracy, not a democracy. The people in charge end up in charge because they've proven themselves by the quality of their work. Remember, an "official tree" only remains "official" as long as people are willing to call it that and treat it as that. "Official tree" in open-source terms is a de-facto label, not a de-jure one.
Or to put it another way, only input of high value is valued highly.
Any more silly questions?
I have to say I agree with The Man.
My company (which sells a commercial product to run under Linux) have produced several enhancements to the kernel and have been able to get some of them into the Linus' Tree, some were not accepted, but is now incorporated into a well known Linux Distribution.
It all boils down to what I would call the Mitnik Factor (Tm). Namely how good your social skill is, i.e. how good you are to convince Linux in a PROFESSIONAL way that the patch you have made actually will add a value to the general kernel release and that the whole community will be better off with the patch in Linus' Tree rather than outside of it. (Now that is ofcourse the hard part)
If you mod me down, I *will* introduce you to my sister!
if anything to do with OS kernels gives you warm fuzzies, your geekhood far surpasses mine...
If you had nuts on your chin, would they be chin nuts?
is it only me, or has anyone noticed over the years that "tree" discussions always come up near christmass time???
Chould we call this the Linus Christmass Tree phenomenom?
Linus' tone might seem a bit aggressive and abrupt, but consider that this is message is a deep, deep down a very long thread that starts here.
From the very beginning, Linus was saying he thought this patch was something that should be driven by vendors - i.e. put it in their trees *first*, and then it may find a way into Linus' tree later.
Hence the constant references to 'this is my tree, this is how I do things'.
The whole thread is actually quite interesting. If you're thinking of suggesting a patch, I suggest you read the whole lot to get an idea about how best to approach it.
Kinda like the way the word 'day' can either mean the entire 24-hour period, or just the part when the Sun is above the horizon, but 'night' only means the part when it's below. Except that a 'fortnight' includes both parts.... Bad example.
Besides, one of the people who Linus trusts and maintains a tree that Linus specifically mentioned, is -aa, which is Andrea Arcangeli. Now, how can anything that includes someone named 'Andrea' be considered 'sexist'?
[100% ISO 646 Compliant]
SVM, ERGO MONSTRO.
I don't know what this patch is or what it does, and I really don't care.
No-one's patch is entitled to be incorporated into Linus' tree. It is his tree, and he puts stuff in there that he feels is the best. Would you really want Linus putting something in his tree which he didn't feel good about or was unsure of? When Linus puts something in his tree, that's his certification that he thinks it's good and useful. Its his word on that in a sense. The minute he starts putting stuff in because people pester him, his word that something is good and useful to his knowledge becomes useless.
Chances are that if the patch is good, Linus will accept it provided he's given enough time to properly evaluate it. Linus is a human being like the rest of us. He can't thoroughly evaluate hundreds of patches coming in a week before the feature-freeze deadline. Try to give him the same breathing room to do a job you'd give anyone else. Also, remember, Linus doesn't have to do anything. He's doing this voluntarily as a service to the public. If you think you're patch is good and useful enough to be incorporated, and Linus rejected it, then go out and prove that its good. Put it in you're own tree or convince a vendor to do so; then people will use it, and if its good, word will get around. Once that happens, more likely than not, Linus will put it in his tree.
I've submitted about a hundred articles to Slashdot, many of them on what I thought were good "your rights online" issues. Do you know how many submissions of mine have been accepted? 1. It was on Creg Ventor, the man who used his own DNA to help sequence the human genome; ironically, I thought that was one of my worst submissions. Yet, believe it or not, you don't see me whining to the editors of Slashdot or in the discussions about it. I realize that many many many other submissions have been made, that the editors have to choose what they feel is best, and that they have to create a variety; I also realize that they're human beings.
Other people would do well to do the same in regards to patches.
social sciences can never use experience to verify their statemen
Portability fix, standards compliance:
So I send all of my childhood attempting to get into girls bushes and failing. Now I spend my entire adult life failing to get in another mans' tree.
Shouldn't this all balance out at some point?
Figured I'd post a quick summary of the underlying issue.
There is a patch that has strong vendor support (like vendors have already signed contracts involving services from this patch).
This patch is a service offered on many other commercial unixes (Irix, Solaris, AIX, etc..)
Linus considers this patch:
a) to be dangerous
b) to be difficult to test
c) likely to have the most problems on the x86 platform which is Linux's home platform
d) supporting it might add long term maintainability problems to the kernel
The kernel hackers whom Linus trusts seem to agree with his assessment.
What Linus wants is
a) for the vendors to support this patch over a long period of time on a wide range of systems.
b) For there to be some evidence that Linux users (as opposed to Linux vendors) actually want this feature.
So what you have is a fight between big guns: Suse, United Linux, IBM.. and Linus.
"This is my tree. There are many like it, but this one is mine." - Linus
Celebrate the finer things in life
Evolution looks so much like Outlook there ought to be royalties involved
Ever checked out Lycroris? Looks familiar doesn't it. Thought and design theft go both ways though, notice what happens when you push "tab" with a half-typed file/directory in winXP (and I think 2k) command prompt? Hmmm, somehow I think that one got ripped off from the linux (perhaps unix or previous other) community, was it GPL'ed?
The point of making products like evolution similar to office is to provide the user with something they can relate to easily enough while providing them with better functionality or stability, etc (or just functionality on an alternate medium).
People recognise Microsoft layouts. In fact, I even like them. Chances are that if MS software didn't crash so much and wasn't so fricking expensive and/or ignorant in EULA's etc, then even linux users could find a use for it.
Linux systems can get a lot by mimicking windows graphical designs and ideas. MS can learn about (but probably won't) useful functionality and ability to grow from linux.
Just IMHO though...
Linus handed out free balls to everyone. As many as they wanted. *Then* he made sure they had *free* tools for duplicating or modifying their balls at will, ad infinitum, plus the right to distribute these balls in "competition" with the ones he was giving away for free and start their own games.
Now some people seem to be complaining that they aren't happy with the ball he gave them, they want *his* ball. They don't want to make the rules for their own game, they want him to play with *his* ball and *his* friends to *their* rules.
I've known people like that.
They're generally refered to as *assholes* by the general populace.
Linus was responding in a mature and adult way to *adults* who were behaving as children who always want what someone *else* has.
Did he mention it was *his* nine times? Why would he do something like that? Perhaps because. . . are you ready for it? Because it's his?
*They already have their own.* Linus gave it to them.
If you give me a car, any car I want, and all the tools, parts and materials to modify it as I will are you suggesting that *you* would be childish for refusing to comply with my *demand* that you paint yours plaid and glue an elephant to its roof?
Hell, this opens up whole new vistas of possibilities. I think tomorrow I'll get old Bill on the blower and demand that the next version of Windows be Linux based, and if he refuses to comply. . . why, of course he's just being childish.
KFG