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.
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 ;)
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.
Open source isn't about everyone and their grandmother being entitled to having their personal patches stuck into the main Linux tree. Open source is about being able to edit the software for your own personal use, not inflicting your changes upon everyone else in the world, simply because you think that you're right.
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.
Linus takes the patches he likes, and doesn't take the other ones.
Well.
HOW INSIGHTFUL.
How about posting an article entitled "how does Linus take shit. haven't you always wondered?"
Linus: "Look, once in for all, I take a shit by sitting on a toilet and letting it fall in."
Slashdot: "OOOOOOER! Let's post it as a news item."
Bunch o' Linus fanboys.
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.
the above post should be mandatory reading for all new users.
why should it give you warm fuzzies?? If you want to make sure there is a preview/ patch/ whatever process, write your OWN OS. Linus did, and he can do whatever the hell he wants with it... which is what makes it so great!!!
That's the point of his post... you want an "offcial" policy? Grab the source, start your own tree and convince that what you are doing is better than what anybody else is doing.... if what you're doing *is* better, folks will come around to your way of seeing things. If they don't, you have a version that makes YOU hapy. Which is probably jsut as good, if not better.
Department of Homeland Security: Removing the rights real patriots fought and died for since 2001
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?
Linus isn't the head of some huge corporation that makes a ton of money off Linux developement. When you get down to it, he still basically develop Linux as a hobby even though his hobby is becoming quite a force in the industry. He's doing a service more or less for free(sure the fame could get him a job with a nice paycheck in several places), so he gets to do what he wants. It's the same situation with the guy who made AtheOS. People had grand visions for AtheOS and submited suggestions, and they were confused when they were ignored. The guy was only working on his hobby, not trying to make their dream system. Finally a group of developers got the hint and started Syllable. While Linus is a bit more accepting of features and code, it's the same principle. If you have some Earth shattering changes for the Linux kernel, but are getting snubbed by Linus, make your own tree.
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?
Come on - he gave us a kernel that so very many of us run, and let's be honest - he's had a huge impact on computing today. He's just making a point; his tree, his way. The same goes for every other tree out there, they just have different ways of showing it. Vendor trees probably have a comittee of people deciding what kind of path it should take, presumably with a project manager making final decisions.
We also know that he accepts patches from people he doesn't neccesarily get along with, from trivial patches to extensive sub-systems. He was just being a little brutally honest, and I can respect that.
Besides; consider the frustration of having tens of thousands of (wannabe) kernel hackers all around the world who all believe that it's somehow their right to have their latest c00l patch included in the Linus kernel tree. I think he handles it quite well. After all, he's still actively working on the kernel and participating in the whole Linux experience, right? Many people would have taken their ball and gone home by now.
BD Phone Home!
Shameless plug. Like you weren't expecting it.
Bear in mind that anyone can take his ball, make an identical copy of it, and do whatever you want with it.
And it looks like he's encouraging you to do that.
"But Linus, I want you to do everything for me the way I like it." Gee... tough shit. It's GPL'd code, do whatever you like. I don't think your argument makes any sense. It doesn't sound whiny or juvenile to me.
The thing is this: Linus does not have the time to get every patch in there. No one seems to understand this, so now he's putting it out there pretty forcefully. People like you don't see the whining he puts up with; you just see it when he boils over in the form of letters like this, and then you criticize him.
All he wants is some assurance that the patch functions well. If you're some stranger and he's never heard of you nor your patch, how the hell is to be assured that your patch won't blow up a computer and embarass him? Do you think Linus can test every patch he gets himself?
If he requires that you can prove a large working installed base, so what? It is HIS. It has HIS name on it. He approves it, personally, every release. And when it screws up, it reflects on HIM. Not you. Well, you too, but the product isn't named after you; it's named after him, and most users won't see who is responsible for the code.
Linus wants a good kernel, and if he isn't discriminating about what he takes, it'll go to shit real quickly. So if you think its childish that he grows to trust people who continually write good code, or that he trusts patches that have been distributed in versien 45+1/2 of RedHat and with no known issues, maybe that is childish.
But there's nothing wrong with require well-tested patches for his code. It's his tree, his name, and his reputation on the line. Good for him, for doing it and saying this.
Linus is responsible for his tree, he has the authority to do anything he pleases with it and face the consequences of his good/bad choices. When someone submits a change to his tree, he is still responsible for that change so he has to be very careful about what gets in.
The ball analogy is flawed, he doesn't have the only ball in the game. I think a team coach is a better analogy, he wants to make the team succeed so he chooses the players and strategies to the best of his abilities for the benefit of the game he is playing.
Criticizing leaders is so easy. Step up and make a difference, otherwise you bring nothing positive to the table.
Unlike a ball, a source tree can be copied for free. And the fact that he alludes to that difference ("you are entitled to your own tree"), proves that he is not childish a bit.
Plenty of people have already pointed out that Linus' tree isn't Linux end of story. The way I look at it, Linus' tree is what he runs on his computers. Alan Cox's tree is what he runs on his computers, etc etc. They are just kind enough to let all of us run the same thing on our computers.
If you want Linus to include your patches, ie, you want him to run your code on his computers, you better give him a good reason to do so. If you want your code to run on your computers, make your own tree. If you want your code to run on every RedHat install, persuade RedHat. Its really not that difficult a concept.
"I'm tired of all this 'Aren't humanity great' bullshit. We're a virus with shoes" - Bill Hicks
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 think if you read the entire thread (in the LKML) to which he was responding, you might be a bit less critical.
Basically people were bitching and moaning endlessly because Linus hadn't taken their patches, and he had already responded in less explicit terms trying to tell them why -- but some still didn't seem to get it. This post was Linus getting fed up and explaining his position in a way that no one could fail to understand.
We live, as we dream -- alone....
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.
Note he isn't saying "I made this OS, it's my OS, so i'll do what i want with it!"
He's saying, *this is my computer*.
He's talking about what he will or will not allow on his personal CVS archive of the linux kernel.
This is why he keeps saying "tree". He is emphasising, this is linus' copy of the linux kernel. This is linus's computer. (Though someone else probably hosts it ATM.) There are lots and lots of other copies. Get your own ftp server.
This isn't a matter of the kid who owns the ball insisting what game is played. This is a matter of an adult who has some random kids noisily playing a really obnoxious game in his living room, and he's yelling "can't you kids do that outside?"
There is no need to mod me down.
There is also no need to mod you up, you have made no worthwhile points.
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
I'm not aware of any open source project that functions without gate keepers or core developers who control what is accepted into the "official" version. There are and will always be restrictions on open source projects because succesful open source projects need a good dose of responsibility and acountability. Projects that do not have enought of either fall apart.