Slashdot Mirror


Linus Does Not Scale

EmilEifrem writes: "Seems like everybody's getting more and more frustrated by Linus' (in-) ability to handle patches. Rob Landley just wrote an "RFC on Penguin Patch Management" wherein he proposes a "Penguin Patch Lieutenant" system that he believes would scale better. The full discussion can be found on the Linux kernel mailing list. Linus seems to dislike it, as usual, source code maintenance tools/organization are for wimps!, but a lot of others find it a good idea. Anyway, it's a very good read."

190 of 554 comments (clear)

  1. first post! by dzym · · Score: 3, Insightful

    Why is there not a CVS for the linux kernel?

    1. Re:first post! by Ashran · · Score: 3, Interesting

      Its very simple.
      CVS does only accept patches, it does not check for quality or if it breaks anything.
      This has still be done by hand. And if its not done at patch time, people will forget it.

      I'm by no means a Linux fan, but bashing Linus because of that just sucks.
      ONE has to check the submitted patches.

      If there are 10 people checking the patches, no one knows what the other one has really done, that means even if you have people with highly communication skills (99% of the coder lack that) you still would sometimes forget to tell something and its going to break everything.

      /wave

      --

      Before you email me, remember: "There is no god!"
    2. Re:first post! by lupetto · · Score: 5, Funny


      CVS... does not check for quality or if it breaks anything.

      If you've been following Linux kernel development the last year or so, you could say the same about Linus.

    3. Re:first post! by Anonymous Coward · · Score: 5, Insightful
      How can you say this, when the BSDs are doing precisely what you claim to be impossible?

      Of course you need to test patches and have others review them before you commit, but having things in CVS makes it very much easier to manage code.

    4. Re:first post! by cburley · · Score: 2, Insightful
      GCC only compiles code, it does not check for quality or if it breaks anything. Does this mean we should stop using GCC as well?

      Actually, GCC does perform some checks for quality and whether code it's compiling might break. Which is why lots of people choose to compile with it rather than a (hypothetical) stripped-down compiler.

      And nobody here, that I've seen, has argued that people should "stop using [CVS]".

      GCC, CVS, etc., are tools, not software development processes.

      When the discussion revolves around, as it apparently does in this case, the question of how best to design a development process to suit the needs of Linux developers, those who say "why not use CVS?" are about as clueless as someone who interjects, in the midst of a discussion regarding how best to site, design, and build a bridge across a body of water, "why not use a Craftsman hammer?".

      --
      Practice random senselessness and act kind of beautiful.
  2. who's frustrated? by cjsteele · · Score: 2, Interesting

    It's got to be a pretty small group of people who are annoyed by Linus' in-ability to handle patches... specifically those writing the code! I'd think it pretty important to keep those folks happy, since without them our beloved little OS wouldn't progress as quickly as it does.

    --
    "This above all, to thine own self be true" :x!
    1. Re:who's frustrated? by leuk_he · · Score: 3, Insightful

      From the article (RTFA!):
      Okay everybody, this is getting rediculous. Patches FROM MAINTAINERS are getting dropped on the floor on a regular basis. This is burning out
      maintainers and is increasing the number of different kernel trees (not yet a major fork, but a lot of cracks and fragmentation are showing under the stress).


      The maintainers should be kept happy. As linus states:
      he fact is, we've had "patch penguins" pretty much forever, and they are called subsystem maintainers. They maintain their own subsystem, ie people like David Miller (networking), Kai Germaschewski (ISDN), Greg KH (USB), Ben Collins (firewire), Al Viro (VFS), Andrew Morton (ext3), Ingo Molnar (scheduler), Jeff Garzik (network drivers) etc etc.

      Rik van Riel already suggested a mailing bot that says what version it is agianst (and how many times it is dropped....). But just mailing linux only helps you to be added to the spamfiler.

      I gues in some time this will all stop if linus find a toy project he wants to focus on and some kernel distributer steps in with a team to take over. (Linus will say I dont care. real men....)

  3. Linux CVS by Anonymous Coward · · Score: 2, Informative

    To make a long story short; Because Linus doesn't want one. It has been proposed many, many times, but Linus has always shot it down. Logistically, it would be a bear anyway.

    1. Re:Linux CVS by Peter+La+Casse · · Score: 3, Interesting

      Using technology to improve kernel maintenance is so sensible that sooner or later somebody will come up with a solution that Linus likes. One improvement that has already been made is the use of other people as maintainers for older kernel versions.

    2. Re:Linux CVS by Eccles · · Score: 3, Interesting

      Despite Linus's comments, CVS or other version control would make sense. *However*, Linus should be the only one with write permission. Being able to review the history of file changes or to obtain the source from a particular date or release is useful in and of itself.

      It would also be useful if a split like Linus suggests might be done (modularizing things and then a "Linus" for each mode), as the "Linii" would each only have check-in permissions for their own module.

      --
      Ooh, a sarcasm detector. Oh, that's a real useful invention.
    3. Re:Linux CVS by nowt · · Score: 2
      Not a bear.


      In fact it is working quite well for those hacking off of Russell King's arm tree for the iPAQ.


      See here for details.

      --
      A strange game. The only winning move is not to play. How about a nice game of chess? - Joshua (Wargames)
  4. OK, it needs top be said... by Your_Mom · · Score: 4, Funny

    You know... If we had a Beowulf Cluster of Linuses...
    *rimshot*
    How about a RAIKA? A redundant array of Kernel Admins? Maybe keep them hot-swapable? That way, if one goes out to the pub, the other one can keep things going....

    OK, I'll just shut up now...

    --
    Objects in the blog are closer then they ap
    1. Re:OK, it needs top be said... by julesh · · Score: 2, Funny
      How about a RAIKA? A redundant array of Kernel Admins


      No, no that would be a RAKA. You're talking about a Redundant Array of Inexpensive Kernel Admins, which would essentially mean that we couldn't have anyone who was being payed to do the job, because that would be too expensive... has to be an array of volunteers, really.

    2. Re:OK, it needs top be said... by i_am_nitrogen · · Score: 2

      Your idea of an array of kernel admins isn't as far-fetched as you might think.

      You know, this is funny. About 6 months ago I mentioned this very same problem with the Linux kernel several times, including proposed solutions, and I always, without fail, got moderated down. Anyway, here are the problems I noted:

      Linus was great at what he did, not what he does. He knows how to write a kernel for an x86. When it comes to cross-platform issues, sure, leave him on the executive board, but don't make him CEO.

      Linus is also not as SMP-aware as, say, the paid professionals at companies such as MontaVista software.

      Solution:

      Appoint a board of directors over the Linux kernel. There should be equal representatives from each platform and/or subsystem in the kernel. If any of them disagree on how to implement something in the kernel, they have a board meeting, where all sides present their arguments, nobody gets arrogant and egotistical (as is happening quite frequently on the lkml), and they all take a vote.This would prevent such things as Linus removing a very good VM system from the kernel, just because it's similar to how BSD does things. Each individual subsystem would be in control of its own section of the kernel, and in common areas of the kernel common consensus would be required. This system could be implemented heirarchically, so that a consensus must be made within the main SH community, for example, on whether or not to, for example, rewrite the basic structure of the codebase.

      Now I need to go tell X not to antialias the font size slashdot uses.. Typing is lagged as I post this ;p.

  5. Reputation by 0123456789 · · Score: 3, Insightful

    I can see where Linus is coming from; Linux and Linus Torvalds are inextricably linked in the public perception, so any huge blunders that occur with the Linux kernel will sully his reputation. If it's his reputation on the line, he probably wants to keep control of potential disasters close to him.

    Better to get blamed for your own mistakes than for someone elses.

    1. Re:Reputation by davmct · · Score: 2, Insightful

      Or.... he's just really a control freak. I think he's taken this entire Linux explosion a little too overboard. Not that I'm saying that Linux is bad, but I think the idea of one guy owning the entire movement is wrong. Linux is a product for the masses, which should be OWNED by the masses. I don't deny Linus being a great programmer, but I think he has too much invested/personal stake in this project that is clouding his judgement.
      The only way to take Linux to the next level is to professionalize the development effort to ensure an efficient and stable environment. Without these proper methodologies in place, Linux will just end up as unreliable as Windoze.

    2. Re:Reputation by iabervon · · Score: 2

      But the product of an patch integrator wouldn't be the "real" Linux anyway, since even people who get their kernels from kernel.org wouldn't normally use it. In order to do so, they'd have to get and apply a patch which is explicitly "the patches that Linus hasn't applied". The people who would actually do so are the people whose feedback Linus would want in decided whether to apply the patches.

      And what Linus is, in general, concerned about is not the disasters, which are generally cleaned up as soon as they arise, and before anyone who wasn't warned has anything to do with them. He's concerned about directions kernel development could take. He wants to continue to get patches that add functionality he thinks is good, and he wants to avoid stuff he doesn't like creeping in. If someone else is getting the patches, he might not receive a patch which he would find very interesting but someone else might reject out of hand (not that he'd accept it, but he might put in the effort to help the submitter clean it up if he thought the feature was worth it). And if someone else builds up a lot of patches which the developers have been expecting to go in eventually that he has fundamental disagreements with, he might find it hard to reject them and get versions which do things differently.

      On the other hand, I think that both of these effects are due to him not looking at all of the patches he gets, not the existence of an intermediary; they are already happening, due to him being overwhelmed by patches. So long as people still send him all of the patches, just in case one of them catches his fancy, and he continues to maintain the official version, the situation can only improve for him, since he can mostly deal with obvious and unexciting patches through the intermediary, who can verify that they make the compiler happier and don't change the behaviour, or are exclusively in sections he isn't interested in anyway.

    3. Re:Reputation by Doomdark · · Score: 2
      The only way to take Linux to the next level is to professionalize the development effort to ensure an efficient and stable environment

      But what if Linus happens to be not interested in "getting Linux to the next level", or has a different idea of the next level altogether (which is very likely to be the case)? The thing is, Linus has never been too much into taking over the world, or making slick professional appearance. You can take the code and start running _your_ version/branch; in a way you could say distribution companies like Red Hat are already doing it (even though not so much with the kernel than with the system built on top of kernel).

      --
      I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
    4. Re:Reputation by Z4rd0Z · · Score: 2

      No, the problem isn't poor code getting in. With a CVS tree, you can back out changes that no one else agrees with. Also, not everyone would have write access to the CVS tree, only people who can discuss their changes and cooperate with the other developers and who have proven themselves. This is how BSD development is done, and their changes still tend to be more conservative than with Linux. It isn't because they're using CVS, and it isn't because they have more than a hundred people committing changes. It's because they are cooperating.

      --
      You had me at "dicks fuck assholes".
    5. Re:Reputation by MrResistor · · Score: 2
      Actually, SuSE does have their own kernel branch, and I believe Red Hat does as well.

      --
      Under capitalism man exploits man. Under communism it's the other way around.
    6. Re:Reputation by talonyx · · Score: 2

      Yes, but they're close enough to the main tree that whenever there's an update to the main tree, it can be (relatively easily) merged into the Redhat / Suse kernels.

      Eventually, though, we may see a distribution branch off much further....

  6. I know Linus doesn't like it... by cperciva · · Score: 3, Interesting

    but is there really anything wrong with using CVS?

    1. Re:I know Linus doesn't like it... by gmack · · Score: 5, Insightful

      It simply won't help the problem... source management isn't the problem. Making sure useless crap doesn't make it into the tree is the problem. CVS doesn't have any sort of means to make sure that what goes in is quality code.

    2. Re:I know Linus doesn't like it... by c=sixty4 · · Score: 5, Informative
      I know Linus doesn't like it, but is there really anything wrong with using CVS?
      This is why Linus has said he doesn't like CVS:

      Note that things like CVS do not help the fundamental problem at all. They allow automatic acceptance of patches, and positively _encourage_ people to "dump" their patches on other people, and not act as real maintainers.

      We've seen this several times in Linux - David (Miller), for example, used to maintain his CVS tree, and he ended up being rather frustrated about having to then maintain it all and clean up the bad parts because I didn't want to apply them (and he didn't really want me to) and he couldn't make people clean up themselves because "once it was in, it was in".

      I know that source control advocates say that using source control makes it easy to revert bad stuff, but that's simply not TRUE. It's not easy to revert bad stuff. The only way to handle bad stuff is to make people responsible for their own sh*t, and have them maintain it themselves.

      --
      "The good die first." "Most of us are morally ambiguous, which explains our random dying patterns." --- MST3K
    3. Re:I know Linus doesn't like it... by Procrasti · · Score: 2, Interesting

      It simply won't help the problem... source management isn't the problem. Making sure useless crap doesn't make it into the tree is the problem. CVS doesn't have any sort of means to make sure that what goes in is quality code.

      No, but CVS does allow branching of the tree. Couldn't different patches just be maintained on different branches, and merged into the trunk when it is finally accepted?

    4. Re:I know Linus doesn't like it... by davmct · · Score: 2, Insightful

      That is why the CVS tree must have a code review process before is accepted. CVS is only part of the solution, and when you are only using 1/10th of the solution, you should expect to get 9/10ths more confusion.
      Having one person own the entire "tree" of code slows the development process to a crawl. Linux will never be able to bring functionality to the table as fast as Windows if everything has to go through one man. Do you think Bill Gates is sitting at his desk and reviewing Windows XP code? No. He has better things to do. Linus should realize this and work on implementing a development environment that will enable broader management.
      I propose CVS is a part of this solution. I would also recommend code reviews by three independant parties before a branched segment of code becomes part of the main tree. Design reviews/requirements/UML should be designed before coding should ever take place. Yes, its a lot of overhead, but it allows for new people to fill your shoes when you grow weary of development. It also allows more people to have ownership of the entire project and enable faster development, with a broader level of quality control.

    5. Re:I know Linus doesn't like it... by gmack · · Score: 3, Insightful

      So a month later hes backlogged in unmerged branges that hes not had a chance to look at yet? How exactly does that help?

    6. Re:I know Linus doesn't like it... by gorilla · · Score: 3, Interesting

      I think it depends a lot on the tools you use. PVCS dimensions for example has workflow built into it. This means that even though a change has been checked in, it won't be used to built the next release until it's been signed off by a reviewer.

    7. Re:I know Linus doesn't like it... by stripes · · Score: 2
      is there really anything wrong with using CVS?

      Well, no but it doesn't really solve this problem. I know BitMover's CVS like thing was designed to help though with a hierarchy of approved trees so Linus could (say) have three or four people feeding patches up to his tree for approval.

      However that is still just a tool, what it really requires is for him to find a few people that sort out patches he won't like and ones he probably will... that's harder then finding a tool.

    8. Re:I know Linus doesn't like it... by LinuxGeek8 · · Score: 2

      So it is clear that a public CVS repository wont work.

      Maybe it is an idea that there is a CVS tree (or something like it) where the maintainers of the subsystem have access to.
      Like a core group of developers.
      I could imagine people like Alan Cox, Jeff Garzik or Al Viro have access to that.
      So someone like Jeff Garzik can submit patches to the network drivers without having to pass it to Linus first.
      I would say it should cause less patches being dropped on the ground and it would lift the burden on Linus.

      --
      Well, don't worry about that. We can get you back before you leave. (Dr. Who)
    9. Re:I know Linus doesn't like it... by 4of12 · · Score: 2

      source management isn't the problem. Making sure useless crap doesn't make it into the tree is the problem. CVS doesn't have any sort of means to make sure that what goes in is quality code.

      Well, source management is a problem that CVS or the new Subversion might help with.

      But your point is a good one. Source code management of patches, diffs, etc. is only part of the problem.

      For userland application codes, it's been possbile to set up cron jobs to do automated feature, coverage, and performance testing so that if anyone checks in crappy code, it is shortly revealed to the world.

      I'm thinking that some big outfit like OSDL could corral a whole stable of motley hardware that could be used to automate kernel testing. Volunteers are great, but the testing gets done on an ad hoc basis. Thus you can guarantee that whatever hardware is owned by Alan Cox or some other kernel guru will probably work great, the bozo box I've got will not be similarly tuned up because I wouldn't feel safe tweaking the kernel source, despite some years of C programmiong experience.

      The big problem I see in automated testing is that I'm not sure kernel's can be tested as easily as other applications can be. I can just see the BIOS hanging there with no means to talk over the network to tell the master tester just exactly how it has hung. Perhaps running User Mode Linux?

      --
      "Provided by the management for your protection."
    10. Re:I know Linus doesn't like it... by Nelson · · Score: 2
      Source code control only works with strong managment and as long as everyone is on the same page and aiming in the same direction. My former employer had that problem, people could use CVS, people knew how to add files, remove files, check them in (a 'asshole' or two didn't understand "update" and would work alone for 2 weeks and commit but I digress) they knew the tool well but shitty and broken code would routinely get checked in. It was one of the reasons I had to leave, you can give everybody a chance, you're allowed one broken build or patch digression but then you should learn and it was a practically a daily occurence. The bosses didn't seem to ever understand that they were supposed to bite the heads off of people who screw things up. The policy now is there is a build everyday at 3:30 and nobody can leave until it builds and regression tests. (which is insanity in itself, also note how everybody is punished and not the people who screw up the build)


      Some people use source code control as a way to backup their system. They don't mind checking code in every hour, cutting labels, etc.. Some people see it as a step to doing the job (and often a painful one) and they will dump code in once a week or every two weeks and introduce radical changes (usually at times associated with scheduled code drops so they can get their stuff in.) And there are other ideas or theories still. Linux doens't really have management and so you have to deal with all of that stuff while trying to still move forward. I think you probably end up at the same place, a Linus tree that he approves, you just spend a painful year or two trying to do something different. The fundamental prereq for CVS or any source control is trust, trust that the people putting the code in are going to the same place with their code that you are. I also think that the last thing you'd ever want is for someone other than Linus to settle a dispute by virtue of having commit rights... that has happened when Alan was the patch hoover or at least it was accused that he wasn't passing some patches on the Linus for political reasons.


      Second, I think there might be a lot of public misconception about Linux branching. I built an embedded Linux kernel and maintained it for a consumer device. I was a small scale Linus for close to 2 years. If you are using Linux in a production environment you're probably forked. (maybe in the head? ;) Either the product you are building out of Linux demands forking (some custom embedded device or server or something) or you're running on Redhat or Mandrake and you're using their fork, and they do have unique branches. For the time being, that's how it is and that's how it's done and it's an awesome thing, it's not bad. Especially for the embedded world where you can really tweak the kernel to your device. I think that's the bigger problem Lineo, MontaVista and company have is catering to custom devices without customization, right now you pretty much have to break off from the Linus kernel if you're doing that kind of stuff. The other side of that is you have no idea how difficult it can be to maintain a custom fork, it's the same job Linus has and over the 2.3.90+ to 2.4.now kernels it has been especially difficult. The half life of patches for 2.4 isn't terribly long, particularly if they do anything with physical memory. I'd take about a week to roll from 2.4.3 to 2.4.8 and we really only use a handul of customizations and patches, that's just how long it would take to go through all of the changes by hand and make sure that the good ones get integrated and then fix them so they could integrate. In the mean time you might be hearing firealarms becuase the kernel someone is using is crashing. It's tough work, more so when you want to track Alan and Linus's kernels in case they fix bugs that might affect you. I have the highest respect for Linus he does a difficult job very very well.


      As 2.5 simmers down some I think there will be a much stronger desire to not make the same mistakes, with 2.4 there were interfaces that changed during the 2.4 life span, a patch against 2.4.3 might not work against 2.4.8 without some modification. That makes Linus' job that much more difficult. Part of the reason is that maintainers who are supposed to be trusted came out with code that had some problems and wasn't trusted by other maintainers, so much for enough trust to use CVS.


      Lastly (I'll close this ramble off) Linus and Linux have one strength that I really admire a lot having worked in the "mission critical" world of IBM and the banking industry. If something can be better they aren't afraid to make it better, even if it means changing code that isn't "broken." Right now in particular can be a radical time in the kernel, they're changing the block I/O layer! There are several VM layers in circulation. Fundamental parts are changing for the better, it's really hard to do that some times, you don't want to start crashing kernels or lose stability.
      It's far better to do it than it is to try and hack around something that has outlived its design but "works." If Linus ignores all the new device drivers for 5 months while the VM, scheduler and block I/O stuff is sorted out, that's not a terrible thing.

    11. Re:I know Linus doesn't like it... by Gid1 · · Score: 2

      OR...

      How about a CVS tree that the small 'core team' (ie. subsystem maintainers, etc.) work on? They would liaise correctly, and build this kernel tree based on incoming patches.

      Then, reasonably regularly, they freeze this tree, test, fix, test, fix, test, fix, test. This 'release' is then diffed against Linus's current published version, brought up-to-date, and then sent to Linus as a consolidated, well-documented (from the CVS logs) patch.

      Linus can then integrate that however he wants and release. The patch would describe accurately to Linus which bits he can feed in untouched (isolated subsystem changes) and bits that he wants to look at. Alternatively, Linus could treat his version as CVS vendor-based modifications... as could IBM, Oracle, etc.

      The wider community then has read access to the 'Linus submission candidate' tree (ie. this tree being built by the core team) to do patches against. This would mean that everyone is on the same page, and can 'funnel' changes to Linus, thereby reducing the huge number of contradictory outdated patches landing on his lap.

      In time, Linus may feel he trusts the quality of the consolidated patches well enough to just join the core team and sod his version, causing a FreeBSD-like core team-based organisation.

      I'd like to see Linus and (say) Jordan Hubbard have a chat and compare notes of what life's like at the top... both models have pro's and con's. If you could force Theo to sit and listen, it might help too ;-)

      (Incidentally, I don't really track Linux development any more than reactionary Slashdot comments, so I bet this solution has already been discussed. However, I *do* know that I've been avoiding Linux since about 1996 mainly due to this eggs-in-one-basket problem. I trust the FreeBSD core-team/CURRENT/STABLE/RELEASE procedure a whole lot more!)

    12. Re:I know Linus doesn't like it... by TekPolitik · · Score: 2
      I propose CVS is a part of this solution. I would also recommend code reviews by three independant parties before a branched segment of code becomes part of the main tree.

      Alternatively, since Linus still wants to maintain control over everything that goes into the kernel, he should establish other people as the first line of review, preferably assigning people one or two areas of kernel expertese and having a patch that passes multiple areas having to pass somebody from each area of expertese.

      The purpose of this is not so much to approve submissions, but to reject the crud (and hopefully get it corrected) before it gets to Linus. Then by the time it gets to Linus, he should have to spend less time because (1) fewer things will probably get through the process at all and (2) by the time something gets through, it should already be of sufficient quality that he only has to deal with it the one time.

    13. Re:I know Linus doesn't like it... by markmoss · · Score: 2

      Having one person own the entire "tree" of code slows the development process to a crawl. Linux will never be able to bring functionality to the table as fast as Windows if everything has to go through one man. Do you think Bill Gates is sitting at his desk and reviewing Windows XP code? No. He has better things to do.

      I think you've just identified the basic difference between lean, fast, reliable programs and function-rich but bloated and unreliable programs like Windows. Linux is built to one man's plan, and code doesn't get in until he has read it and decided that it fits the plan. This obviously sets a maximum limit on how fast code can be added, and probably limits how big the program can ever become -- but it keeps the design clean, which limits the scope of bugs that can occur.

      By contrast, Windows is far beyond any one person's comprehension. Stuff is added so fast no one knows what's going on. You've got features galore, but sometimes the system keeps crashing and no one can figure out why...

      Linus obviously prefers the lean & fast model, at the cost of features. In addition, his kernel design isn't modularized, which makes it even leaner and faster, but prevents subdividing the final code review function. However, he could use a group of reviewers to do the first pass, and an assistant or top-notch secretary to keep track of submitted patches, send them out to the appropriate reviewer, and feed the survivors of the first pass to Linus in order. It won't change the fact that Linus _wants_ to maintain a system that limits program size and growth, but it will make the limitations a little less onerous.

    14. Re:I know Linus doesn't like it... by gmack · · Score: 2, Interesting

      CVS doesn't do what Linus wants.. hes worked in the past with the bitkeeper folks to make that do what he wants and he might even switch to it one day.

      It's still important to note that CVS or another other revision control system have nothing at all to do with the problem at hand.

      The problem? People like to send patches directly to Linus instead of the correct maintainer.

      As "anti engineering biases" that's complete BS.
      if he had followed "best practices" at the time we would have a hurd clone wich I might add is older than Linux and *still* not even close to useful.

    15. Re:I know Linus doesn't like it... by scrytch · · Score: 2

      Not that CVS isn't still a steaming pile of excrement, but couldn't approval be done with tags in cvs? Just make it a rule that only a reviewer could add such a tag (it's not a secret military project, you can do it with just policy and not access control), and have the build sandbox check out only reviewed tags.

      I'm not all that well-read on CVS, so I don't know if a tag automatically causes a branch or if there can be only one tag or what ... I was just thinking of ways that real VC and workflow features could be simulated for those stuck with CVS.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  7. Endowments. by saintlupus · · Score: 3, Flamebait

    Linus seems to dislike it, as usual, source code maintenance tools/organization are for wimps!

    This attitude seems pretty common, even to me, and I don't run Linux. Linus takes a lot of flack for his methods of running the kernel development, mostly from people who think that they have a better way.

    Try to remember something. It's his baby. It's his kernel. He doesn't owe you a goddamned thing. And if you've got a better way, start your own Unix style OS project.

    (Reminds me of the book _The Moon is a Harsh Mistress_ -- after the Revolution on the moon is complete, then all of the armchair politicos come out of the woodwork to say how it should be. The analogy to the current situation is an exercise left for the reader.)

    --saint

    1. Re:Endowments. by Peter+La+Casse · · Score: 2, Insightful
      And if you've got a better way, start your own Unix style OS project.

      That's no attitude to take. What we need is cooperation and competition, each in its place, where people discuss the issues and the best ideas/implementations win. If each person who contributes to the linux kernel would have started their own kernel instead of contributing, linux would be much worse off today.

      If you something to contribute, then attempt, through polite reason and good code, to do so.

    2. Re:Endowments. by reaper20 · · Score: 2

      I think that's the parent poster's point. If people would slow down and think about how difficult it is to manage and maintain a project of this size, they would realize that a little patience with Linus' development process is the best solution.

    3. Re:Endowments. by saintlupus · · Score: 2

      If you something to contribute, then attempt, through polite reason and good code, to do so.

      I agree. But it seems many people attempt to criticize rather than genuinely attempting to contribute.

      Again, I don't run Linux, and frankly, I really don't care all that much. But it amazes me that someone who has put in the sort of hard work and long hours that Linus has could be the subject of so much criticism from his (kernel developmentally speaking) underlings.

      --saint

    4. Re:Endowments. by saintlupus · · Score: 2

      I thought Linux belonged to everyone.

      Yeah, this would be the misplaced sense of entitlement I was talking about. Linux, so far as I can tell, does not belong to everyone. I'm not living in a Stallmanist utopia full of Free Software and magical frogs in funny little hats, but from here in the real world it seems reasonable to me that software belongs to the people that write it.

      Linus wrote the kernel.

      The kernel belongs to him.

      And so he can run it however he wants.

      To take this away from the Slashdot Holy Father Linus, I run OpenBSD at home these days. Does that mean I have a right to bitch at Theo and tell him how he ought to be running his project?

      --saint

    5. Re:Endowments. by saintlupus · · Score: 2

      His port of the kernel belongs to him. As soon as he GPLed it he took the risk of angering someone enough with his attitude (and he has it in spades) that they may create a fork. Once they create a fork that fork is their baby, and they have abosolutely no need to directly recognize Linus whatsoever (unless there's something in the GPL I missed).

      Oh, I agree wholeheartedly. But I don't see anyone clamoring to do that, unless you count things like the -ac tree and the like.

      This is precedented, of course; a few years ago a certain Theo decided to take his kickball and go home. The result was what I personally think is the best open sourced operating system available for commodity hardware. So far as I can tell, he's the only person who has ever "put his money where his mouth is," so to speak, over something like this.

      --saint

  8. I agree by MicklePickle · · Score: 3, Insightful

    I thoroughly agree. Like many people I hold a fair bit of respect for Linus. However, Linux is starting to get to the stage where one man cannot possibly keep up with what's going on.

    With this proposed system he could still maintain control, yet pass on the mundane task of merging. Seems like a great idea.

    --
    -- main(s){printf(s="main(s){printf(s=%c%s%c,34,s,34) ;}",34,s,34);} $p='$p=%c%s%
  9. The world would benefit from faster development by Marx_Mrvelous · · Score: 3, Interesting

    I personally think this is a good idea. Coordination would speed up development and improve the linux kernel

    You know, with Linus's many comments about kernel latency and pre-emptive kernels, you'd think that he'd be all for imrpoving kernel development latency!

    --

    Moderation: Put your hand inside the puppet head!
    1. Re:The world would benefit from faster development by borzwazie · · Score: 2
      I manage our source code control environment at my company. SCC provides you with a good history of what is _probably_ happening with your code tree, but it does NOT provide any QA whatsoever. There is nothing to stop anyone from submitting crap into the tree, if they have access. Someone actually has to implement and review code before anything gets approved.


      In a system as complex as an o/s kernel, one very small piece of code can have a massive ripple effect on the entire operating system. Linus wants this control because that's the only way he can avoid this "ripple" effect.


      If you do not have a system that controls how people submit and approve code (which has nothing to do with any software tool), you will have CRAP in your code. Linus is entirely correct here.


      What we _do_ need is a new process. We do not need a new tool. Linus brought us this far, let Linus answer the question.

      --

      "We apologize for the inconvenience."

  10. Year old bug fixes... by MrBandersnatch · · Score: 4, Insightful

    not integrated into the kernel? That is FRIGHTENING!!!

    It wont be long before the MS camp picks up on this and starts to use it as a weapon - not that we havnt had to wait a year or two for bug fixes from them in the past. But Mr Torvalds isn't doing himself or us any favours on this one.

    1. Re:Year old bug fixes... by (H)elix1 · · Score: 3, Interesting

      It wont be long before the MS camp picks up on this and starts to use it as a weapon - not that we havnt had to wait a year or two for bug fixes from them in the past.

      Oh, I don't know about that. After all, I got three Exchange server patches within a couple days last fall! Mind you, the first to broke more than it fixed, but they were timely....

      Seriously, some bug fixes can be tricky - and sometimes the patch creates tons of other problems. I know I can not cast the first stone here when I've coded around an issue, only later to have the problem fixed and my work-a-round hork things up. I can believe some issues took a year before all the code was in alignment...

    2. Re:Year old bug fixes... by Diabolical · · Score: 2

      Why is it that Linus needs to patch these bugs for you? You can easilly do that yourself.. grab the patch from the net and run the likenamed program...

      One of the strenghts Linux has is that you can do this.

      The real issue here is that some (not all) developers disagree with Linus' point of view. The whole discussion is one of many that have arisen since Linux was created. It isn't "news" in my book.. just gossip and soap opera material...

      The underlying problem however is big enough.. if Linus can't be quick to implement a new feature or patches that are deemed nescesary by others there will be a point in time the kernel will split up... one for small systems like PC's and PC servers, one for embedded systems and one for large systems such as the zSeries etc...

      Perhaps that wouldn't be all that bad though. If they can maintain compatibility on the userside for running programs i think we should not be worrying about all these new possibilities..

      Trying to fit all the functionality for all those different systems in one sourcetree would eventually become the practical problem. Why do i need to download all those sourcecode when i only need a portion of it for my PC..?

      Anyway, i will keep on using Linux for the foreseeable future anyway..

    3. Re:Year old bug fixes... by (H)elix1 · · Score: 2, Interesting

      The rule of thumb is: if it takes you more than 20 minutes to fix a bug, either you are incompetent, go read the fucking manual, or the code you are working on is a cryptic piece of goat shit, rebuild from scratch.

      First off, get an account...

      Secondly, Yikes! Have you ever worked on a project that was bigger than yourself? Most apps I tangle with are 1) large and diverse enough it will take a long time to know the codebase, 2) old enough that it was mutated far from its original problem, or 3) marketing drives a deadline that required corner cutting.

      Just the fact you expected documentation for the codebase made me chuckle.....

      From personal experience, I had a project that took almost 8 months. We were adding security to our application (before the JAAS 1.3 was out). We had to touch almost every class file when porting to a better way of doing authorization and authentication. We could not freeze the code, so not only did we have to patch everything, but also try to fold in all the other updates that were being done in CVS. Learned a thing or two about how not to merge branches too (grin). Fluid things are hard. The Kernel sounds just as bad.

      So it depends... a year may not be long at all.

    4. Re:Year old bug fixes... by ethereal · · Score: 4, Informative

      Repeat after me: the business community doesn't run Linus kernels anyway. They run RedHat kernels, or Mandrake kernels, or maybe Debian kernels. The distributor is completely welcome to adopt these patches if they see the benefit of them and have time to assure themselves of their benefit. The state of the Linus kernel really has very little to do with what an enterprise user of Linux will experience.

      Now, it will look kinda bad for Linus if we end up with a system where patches are tested out in shipped distributions before they are tested in the main kernel tree, but that's a PR problem more than anything.

      --

      Your right to not believe: Americans United for Separation of Church and

    5. Re:Year old bug fixes... by SerpentMage · · Score: 2

      Actually I cannot wait until MS picks up on this. Because in the same breath I can say, sure, then Bill Gates should retire or step back as well.

      While Bill Gates has different ethics than Linus (thankfully so), they do share the same passion for doing their thing well. Microsoft got so far because Bill was in control. Apple came back because Steve Jobs was in control. Linux does so well because Linus is in control.

      But lets all remember that Linus is not ignorant he does have other people doing things. I followed the thread and I agree with him. The point is not to have a generic "Penguin Patcher", but people in charge of their domains. A generic developer does not have the breadth to manage what is asked for. Read the thread and maybe you will see that Linus is in fact correct yet again.

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
  11. I think it goes without saying... by davidu · · Score: 4, Redundant

    This is Linus's project, although supported by 1000's of developers, he is the man with the final say.

    Maybe he does have some Theo-like qualities, it doesn't bother me -- He's created a great OS for me and I trust his judgement in what he wants to merge in and out of the source tree in the future.

    Before creating some kind of soap opera from the emails on LKML we need to realize that that all that is going on is discussion...this posting (hardly an "article") is trying to make something out of nothing.
    David U.
    --

    # Hack the planet, it's important.
  12. CVS/Linux fork? by adadun · · Score: 2, Insightful

    How long before the Linux kernel is forked by someone that actually does version management with CVS? Linus' Linux versions could be patched back into the CVS/Linux code, while developers could focus on the actual problems at hand instead of messing with patches, submissions and the general frustration of getting you patchest dropped by Linus.

    1. Re:CVS/Linux fork? by garett_spencley · · Score: 2, Redundant

      This post actually does a good job of answering your question.

      Read the part about David Miller.

      --
      Garett

    2. Re:CVS/Linux fork? by jonathan_ingram · · Score: 2

      GPL projects need a cult of personality.
      Quick - who's the leader of KDE? (No, not Ettrich, he doesn't work much on KDE any more).

    3. Re:CVS/Linux fork? by scrytch · · Score: 2

      > How long before the Linux kernel is forked by someone that actually does version management with CVS?

      I believe LinuxPPC uses CVS. Still has to deal with tracking Linux itself though, which varies in quality with the quality of Linus's moods.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  13. Linus' Reply by reaper20 · · Score: 5, Informative

    Before everyone flames Linus for his dislike of CVS and other management tools ....
    From Kernel Trap:

    His general point is summarized with this statement, "One 'patch penguin' scales no better than I do. In fact, I will claim that most of them scale a whole lot worse". He goes on to explain this statement quite thoroughly, adding: " In short: don't try to come up with a 'patch penguin'. Instead try to help existing maintainers, or maybe help grow new ones. THAT is the way to scalability".

    Say what you want about Linus' attitude - Having a kernel lieutenant probably wouldn't help either. Either way, there's only so much one person can do.

    1. Re:Linus' Reply by morzel · · Score: 5, Insightful
      Instead try to help existing maintainers, or maybe help grow new ones
      The problem is that Linus' current "system" is demotivating the current maintainers because of his non-responsiveness. A lot of the efforts and productivity of the maintainers is lost b/c of the non-accepting of patches, and the work they have in keeping the patches current with every kernel version until Linus finally decides to integrate the patch.
      It doesn't matter how many maintainers there are: Linus can only work through a specific amount of code/patches per day/week/month. More maintainers result in more patches being dropped, and subsequently in more efforts to keep their patches up-to-date with the kernel.
      This is really hurting development, and is frustrating a lot of people who are involved in the kernel with the risk of losing them.
      Anyhow: Linus does what he likes, but it's exactly that kind of attitude that will hurt Linux in the longer run - both in technological as reputational (?) way.

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
    2. Re:Linus' Reply by NeoTron · · Score: 2, Funny

      "or maybe help grow new ones"....

      So if I, in the future, teach my currently 4-week old son C programming and show him the Linux Kernel source, then......?

      ;)

    3. Re:Linus' Reply by Xzzy · · Score: 4, Insightful

      > and is frustrating a lot of people who are
      > involved in the kernel with the risk of losing
      > them.

      The thing I don't get is why these people are goofing around with the kernel to begin with. Isn't one of the biggest virtues of kernel modules the ability to plug 'em in to a running system. New version? Build a new one, unuse & unload the current, and load the new one.

      Why can't people who write drivers distribute them under their OWN energy? Why must the kernel be monolithic? Why not trim down the kernel to little more than a core, let linus distribute/patch THAT.

      It's worked for windows for a decade now; maybe M$'s method isn't ideal either but being able to go to a vendor website, getting a driver, and dropping it into the system seems a hell of a lot more convenient than waiting for a lone man to include something in a source tree.

      Seems to me the kernel is pushing into the future in all the wrong areas, when some of it's features are still living in the dark ages.

      Most systems use a mere fraction of the drivers included in the kernel. This wastes bandwidth, configuration time, possibly memory, definetly disk space.

    4. Re:Linus' Reply by p3d0 · · Score: 2

      I think the scaling thing is a red herring. The key here is that there is a new process that works better and makes everyone happier.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    5. Re:Linus' Reply by morzel · · Score: 3, Insightful
      The problem is that it isn't just "drivers". It touches the core kernel just as well, and things that can't be/shouldn't be modularized (e.g.: the VM subsystem thingie not so long ago).

      I agree to a certain degree that not all drivers should always be included in the kernel, but what's kept in, and what has to go? For example: filesystems - way too many of them, but you can't boot without support compiled in, or changing some real stuff on the booting process.

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
    6. Re:Linus' Reply by morzel · · Score: 2
      the problem with nagging him about it is that no-one is really providing a better alternative
      <TONGUE-IN-CHEEK>
      As long as you yourself think you're the best person on this planet to do the job, no alternative is going to be "better"...
      </TONGUE-IN-CHEEK>

      It's exactly that attitude that has done good for the linux kernel in shaping it, but can be equally damaging to that same kernel. Linus doesn't exactly have a 'small' ego :-)
      Fessing up "I'm a bastard." doesn't do diddly squat to help resolve the problem.

      I'm really curious what would happen if Linus just "disappeared" from the planet: it could possibly be a complete disaster, or a gift from heaven to get the kernel development more organised. I know some big companies who would be more than happy to provide an "alternative" ;-)

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
    7. Re:Linus' Reply by YU+Nicks+NE+Way · · Score: 2

      You know, there's this rhetorical device called "irony". Maybe you've heard about it? If I strongly encourage you to make its acquaintance. I've heard that it can be a useful tool for expressing certain kinds of opinions effectively, particularly when paired with its cousin, sarcasm.

      But I wouldn't know anything about that...

    8. Re:Linus' Reply by SerpentMage · · Score: 2

      MS's kernel is not what you think it is. Sure in Windows NT 3.1 there was the "client server" notion. But come NT 3.5 those concepts were thrown out the window. Notice why NT 3.5 is so much faster than 3.1? Simple they started developing a monolithic kernel again.

      Now about being able to drop in drivers. Well Linux can do that as much as Windows. Ever notice in Windows 2000 and Windows XP that Windows seems to have the correct driver stuck somewhere in the directories, without going to a CD? Guess what monolithic kernel!!!

      Again Linus was correct that micro-kernels look cool they do not work well in implementation.

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    9. Re:Linus' Reply by HamNRye · · Score: 2

      But the logic is flawed. One of the points brought out was that there is, and has been, an "unofficial patch penguin" for years and years now. Alan Cox and now Dave Jones have provided that service for many years. Most anyone knew that you always applied the -ac patches, even though they were not in the official kernel.

      What is wrong with calling them the -pp patches and having them have some sort of official backing?? Then, as the maintainer of this tree changes, there is not a huge shift.

      I have been writing Drivers, etc. for Linux since 0.6, and I know that there is alot of work not being evaluated for the Kernel. Perhaps the greatest danger is the forming of a "Linux elite", a group of programmers who are the only ones able to contribute code to the Kernel. This has already happened in an unofficial sense.

      Linus generally doesn't even look at patches from other people, unless it is specifically reccommended to him by someone else (Like A.C.), or come from someone he knows and trusts. (About 10 people) This weakens us. Vonnegut once said: "It is not ideas that hurt our children, but a lack of them." and this is true of Linus' child too. I'm not saying that 300 people need kernel access, but I do say the system breaks down when only 10 people even warrant consideration. And even among those there are too many waiting for important work to be integrated into the kernel.

      Linus is the single greatest obstacle to keeping existing maintainers, and attracting new ones. Existing maintainers get tired of NO feedback, new maintainers just don't know what to think.

      How to patch Linux:

      1. Create patch
      2. Mail to Linus
      3. Send Linus e-mail asking if he got the patch you sent a month ago.
      4. Send Linus an e-mail asking if he got the patch you sent 3 months ago.
      5. Send to Alan Cox asking if perhaps Linus had died.
      6. Send to Dave Jones after finding out that he's not accepting patches anymore.
      7. E-mail Linus while creating your own fork in CVS
      8. Update patch and re-send
      9. Search the Internet for other open source projects that actually need you.
      10. Recieve e-mail from Linus that your patch wasn't accepted. No reason. (Real reason? You haven't updated the patch for the 2.5 series)

      Estimated time from 1-10, one year....

      The point that the poster made was that since Linus has his hands in too many pies, and patch integration is so vital, appointing someone to be in charge of this would do alot for getting the backlog of integration work done, and leave Linus more time to do what he does best, CODE!

      Linus and his ego be damned. He can take this "I'll take my ball and go home" attitude and leave it. Linux is an OS. An OS trying to make critical inroads in business. If Linus is still under the perception that this is still just his hobby, Linux is not an OS worth supporting, because it's only future is being Linus' hobby.

      Linux is up to 20-30 kernel forks being distributed. Can Linus tell me he really doesn't see the problem here?? Notice that when he was asked if important work was not being included because of him, he ignored the question. So instead you have the distros adding ext3, and ReiserFS support and any semblance of a standard is beginning to break.

      "One 'patch penguin' scales no better than I do", is an interesting statement. Is (one person = patches) >= (one person = patching, coding, designing, and representing)?? He means to tell us that one focused person would do no better than his scattered efforts?? I mean no dis here, but that just doesn't make sense.

      Linus is doing the unthinkable. He is leaving us to seriously question his integrity, his motives, and his judgement. This is not the first time this has happened, and it is becoming all too frequent.

      Perhaps the Linux 3 mascot will be an Ass??

      ~Hammy
      Nothing4sale.org

  14. The beginning of a major shift in Linux kernel dev by Anonymous Coward · · Score: 5, Insightful

    It all worked before because (1) Linus could wrap his head around the entire mass of kernel code, and (2) the kernel itself was much simpler, and (3) there were far fewer people submitting code to Linux.

    This is all out the window now. The kernel is very large, and continues to grow, and Linus can no longer track the project just using his head.

    In short, Linux is growing up. What it grows up to be I guess we'll see in a year. Either it starts using professional tools to manage this increasingly professional project, or the bloat (yes, the kernel is bloating) leads to unmanageable chaos, and the bloom goes off the Linux rose.

  15. No, no, no... by macinslak · · Score: 5, Insightful

    Slashdot angers me. Long story short, it's a bad solution for a problem already being fixed properly.

    For those who don't care to read the discussion, Linus essentially feels that this is a bad idea because no general patch manager is going to scale better than he does or get burnt out less quickly than Alan Cox.

    He then goes on to say that the solution to the problem of the scalability of one maintainer is to partition the different subsystems of the kernel to such an extent that there would be precious few patches that actually require a knowledge of the entire kernel source.

    1. Re:No, no, no... by Shotgun · · Score: 5, Interesting

      He then goes on to say that the solution to the problem of the scalability of one maintainer is to partition the different subsystems of the kernel to such an extent that there would be precious few patches that actually require a knowledge of the entire kernel source.

      Which is the proper way to design a complex system anyway. Partition the system and then present well defined interfaces, versus making a complex, monolithic system more complex and monolithic.

      Linus is correct. CVS just gives you an extremely efficient filing cabinet. Without a someone to file things properly, the filing cabinet is no better than a shoebox. Running a CVS tree makes you the equivalent of a secretary. People will just come by, throw things on your desk, and yell "File this" as they run home for the day. Linux chooses to be an engineer. He refuses to just accept what it thrown at him. He wants explanations and reasoning as to WHY a patch should be included. Not using CVS slows the development system down so that it is comprehensible by a single person. The kernel isn't just a collection of source files collected in a cabinet. It's a fine masterpiece of artwork on Linus' desk.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
  16. Every three months by Anonymous Coward · · Score: 2, Insightful

    this same subject pops up. It's the same on Debian lists: every now and then people say how frustrated they are with the slow pace of releases and propose some new scheme which usually doesn't even differ from the old one.

    Software problems are solved by coding. The core kernel people, like core Debian people, have thought about these things before, and are doing their best. All these blatherings do is waste everyone's time.

  17. Pre-emption by Error27 · · Score: 5, Informative
    The reason that Robert Loves's pre-empt patch has not gone in is because that it can cause subtle bugs.

    For example, there was a bug in the ne2000 driver that Alan Cox points out here. According to Mr. Cox, "this is one tiny example of maybe thousands of other similar flaws lurking. There is no obvious automated way to find them either."

    1. Re:Pre-emption by cperciva · · Score: 2

      If integrating the pre-empt patch will cause bugs in other systems to become visible, why didn't it go in ages ago?

      Surely finding and fixing these bugs is better than discarding improvements and hoping that the bugs will go away on their own.

    2. Re:Pre-emption by cpeterso · · Score: 2, Informative


      The reason that Robert Loves's pre-empt patch has not gone in is because that it can cause subtle bugs.


      The kernel pre-empt patch does not introduce any bugs that are not already bugs on SMP kernels. If some driver cannot safely be pre-empted on a uniprocessor, how can it safely run on a multiprocessor machine?

  18. Growing pains by Multiple+Sanchez · · Score: 5, Interesting

    Lots of corporate/management types have the negative impression of Linux as an OS that has no professional control over kernel development. It's seen as a souped-up hotrod modified in the garage that runs like a dream but could fall apart at any minute. Hell, even a lot of BSD people see it this way. If (*if*) a goal of the Linux community is to gain wider acceptance or be taken more seriously, one way to do that might be to give more than one person final say over the kernel.

    Yeah, it's Linus' baby -- but once IBM is advertising your OS during the superbowl, it might be ok to expand the development structure a little bit.

  19. Re:Yeah, but... by JimPooley · · Score: 3, Funny

    Who is Linus?

    That kid with the blanket out of Peanuts cartoons. Everyone knows that!

    --

    "Information wants to be paid"
  20. The Star Approach by ThOr101 · · Score: 2, Interesting

    I thought somewhere along the way, the developers that be, agreed to accept a star method. Where people submit their patches to the Lieutennants (sp?) and then they do most of the work, and then just pass them on to Linus as appropriate?

    Maybe we just need more Lieutennants?
    Maybe we just need fewer patches!

  21. Re:Monolithic! Duh! by AnalogBoy · · Score: 2

    I will take no stance on this issue, as i only work with things that are profitable to me - I'm not a religious fanatic when it comes to Linux, *BSD, or any other operating system - I'll defend them all on their benefits and acknowledge their weaknesses. But i do need to propose the question: Do you think any other "upstart" operating system could gain the popularity and momentum of Linux?

  22. What it will take by gowen · · Score: 3, Interesting

    A prediction, pulled from my ass: Here's what I think will happen.

    i) A respected developer (Alan Cox, perhaps) who already has their own patch tree will open it up via some source management system

    ii) Other developers, including those frustrated ones, will begin to use it, including keeping it roughly in sync with the official tree.

    iii) The forked tree will develop as fast/faster than Linus' tree (assuming the pro-CVS people are right)

    iv) LT will realise that its not a bad idea, and essentially adopt the forked tree as his own, complete with CVS.

    In short, theoretical arguments for CVS will continue to cut little slack with LT. A demonstration of its effacacy will be very persuasive.

    If (iii) is untrue, the argument will be moot anyway (why have source control if it doesn't help?)

    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    1. Re:What it will take by jidar · · Score: 3, Informative

      It's been attempted multiple times, and what was found out was that CVS makes things even more chaotic as more people gradually gain commit, as a consequence, all of the CVS kernel forks died.

      The real solution, as Linus has pointed out, is that everyone has a small group of trusted people who they take patches from for a given subsystem. What you end up with is Linus at the top with his 10 or so trusted people below him each responsible for submitting patches for large subsections of the kernel, and those guys accept patches from other maintainers who again are in charge of yet smaller subsections within the previous. This type of tree can handle very complex projects and scale very well provided everything is designed modularly with -good interfaces- (another point that Linus has been trying to drive home). So what Linus wants to see happen is that people -stop sending him patches directly- and start sending them to subsection maintainers.

      Now the good news. You couldn't tell it by this Slashdot post but everything I have just said has already been happening. People are moving over to the new system and things are getting worked out, the reason you still see posts like this is that some people just haven't quite worked their way into the new system yet. So yes, it's a problem and it's one that is already being solved, no need to panic.

      To quote Linus: "If you can't get a patch through to me find someone else you can go through."

      That statement alone will go a long way towards making the reorganization happen.

      --
      Sigs are awesome huh?
  23. Linux needs a "centralized clearinghouse" by MtViewGuy · · Score: 3, Funny

    I think this problem points out the biggest issue in regards to Linux--its almost anarchist style of code development.

    I think the folks at IBM and Oracle ought to seriously have a LONG talk with Linux Torvalds himself and convince him to create a true clearinghouse where every improvement is approved by a committee. That way, Linux improvements happen in an organized fashion, which makes things way easier for developers and IT managers.

    1. Re:Linux needs a "centralized clearinghouse" by duffbeer703 · · Score: 5, Insightful

      Speed things up by forming a committee?? HAHAHAHA!

      Have you ever worked at a real job before?

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    2. Re:Linux needs a "centralized clearinghouse" by MarkusQ · · Score: 4, Insightful
      I think this problem points out the biggest issue in regards to Linux--its almost anarchist style of code development.

      It may seems so, to people coming from the corporate culture that uses language as a bludgeon (e.g. "issue" as a euphemism for "problem")--but having worked in both worlds I'm convinced that "independence" and "freedom" are better words for it than "anarchy" and "chaos."

      I think the folks at IBM and Oracle ought to seriously have a LONG talk with Linux Torvalds himself and convince him to create a true clearinghouse where every improvement is approved by a committee. That way, Linux improvements happen in an organized fashion, which makes things way easier for developers and IT managers.

      Convince him how? Work him over? Impress him with their org charts? Offer him the chance to work on a bigger project? Imply darkly that it won't look good on his annual review? If a variety of very smat people haven't been able to convince him with their best rational arguments, what exactly are the corporations supposed to do? And more to the point, do we really want to "convince" people of things that way?

      And do you honestly believe that committees speed things up, or make them more organized, or easier to deal with? (This isn't a rhetorical question; for all I know you could be in full agreement with me, but writing in heavy sarcasm mode here and I'm just not getting it.)

      Having managed a number of large projects I certainly find Linus's arguments more convincing; I'd much rather get on a ship run by one good captain than a ship where a variety of gizmos and rubber stamp committees had been put in charge for the express purpose of making the ship go faster than the captain thought prudent.

      -- MarkusQ

  24. Linus is, as is often the case, right by gaj · · Score: 5, Interesting
    Linus's vision of the kernel dev process is really the right answer. Why can't more people see that? By using a non-hierarchial network of maintainers, the kernel effort can scale indefinately.

    The basic premise he makes is one that many developers seem to miss. To quote Linus:

    Basic premise: development is done by humans
    From that, he goes on to point out that people tend to have a small group of people they work well with and trust; perhaps 5 - 10 people. So, in essence, if Linus appoints 5 - 10 maintainers of major subsystems (which he has), and each of them has 5 - 10 people the trust to maintain specific aspects of their subsystem, then there is no problem.

    We're not there yet. But that is the only direction I can see that will work, long term. It just takes time for the appropriate people to move into their spots; trust takes time to build, and the structure has taken time to modularize enough to allow this to work.

    And, though I would prefer to see it in use just to make the maintainers' jobs easier, CVS will do nothing to solve the problem. It is a tool, not a process. We need a process. Actually we have a process, it just isn't fully implemented yet.

    No, strike that. We have two processes. The first, used by the bulk of the kernel hackers, is not fully implemented yet. The second, used by a minority of the kernel hackers and a large part of the pretenders, is simple: whine alot, and, when that doesn't work, whine some more.

    Linus says it much better, and in his own unique ... er ...

    Idium, sir?

    Yes, in his own, unique idium.

    1. Re:Linus is, as is often the case, right by cperciva · · Score: 2

      From that, he goes on to point out that people tend to have a small group of people they work well with and trust; perhaps 5 - 10 people. So, in essence, if Linus appoints 5 - 10 maintainers of major subsystems (which he has), and each of them has 5 - 10 people the trust to maintain specific aspects of their subsystem, then there is no problem.

      Except that there is a problem. Even patches from designated maintainers are being dropped on the floor.

      With CVS, those maintainers would be able to check in the patches themselves.

    2. Re:Linus is, as is often the case, right by gaj · · Score: 3, Insightful
      Sigh. You didn't read the original post by Linus about his vision for kernel dev, did you?

      The "hierarchy" goes exactly one level deep. Hardly worth talking about.

      The maintainers that "report" directly to Linus are the second level of that hierarchy. From there on, the "levels" begin to blur, as many of the "lower" levels of maintainers would probably eventually be in the circle of trust of more than one other maintainer.

      In effect, this method becomes a web, not a tree. Well, it could be argued, I suppose, that the web looks pretty damn tree like in parts. Or that the tree has large portions that are quite web-like.

      Whatever.

      The main things, as s Linus originally pointed out here is to:

      1. Lack of dependencies on a source level. This is Linus's job, with the help of his trusted luitenant.
      2. Lack of people who have to follow everythin This is where the web comes in.
    3. Re:Linus is, as is often the case, right by gaj · · Score: 5, Insightful
      Well, yes there is a problem. The problem, however, is not that Linus is dropping patches from his designated maintainers on the floor. That is the symptoom.

      The problem is that Linus is getting lots of other patches as well. Not enough filtering is going on.

      Allowing maintainers to check in their own patches will not happen as long as Linus is interested in Linux. The buck stops with him. Rightly or wrongly he prefers not to have to back out patches (roll back checkins, if you prefer). At least that is where we stand, now. I would love it if Linus would eventually trust a small group of people enough to allow a CVS system to be usefull.

    4. Re:Linus is, as is often the case, right by rnd() · · Score: 2

      The premise that Linus started out with, that "development is done by humans" isn't really the gist of his later argument.

      Linus' argument boils down to a statement about engineering, not about human nature.

      Linus' point is that from a purely engineering standpoint it makes more sense for the network of maintainers to be distributed such that:

      those closest to Linus have the most intimate knowledge of the architectural direction.

      those further removed from Linus have the most intimate knowledge of the details of the subsystem in question -- it is true that Linus happens to trust these people more, but what he really means is that he knows from past experience that they share his knowledge of the architecture.

      Linus made the point that the reason he often rejects patches is because they come from people who lack adequate intimate knowledge of the high-level architectural direction to create a usable patch. He believes that if these patches were submitted to one of the maintainers in the area that the patch addresses (such as networking protocols, for example), then feedback could be given to the submitter about necessary changes and tweaks more efficiently than if Linus simply dropped it on the floor or ignored it -- the efficiency is gained by the transfer of knowledge back to the writer of the patch. Of course, the acknowledgement of inefficiency was precisely what Rob Landley was getting at. Linus' concesion that a Misc. Maintainer would be a good idea shows that Rob's point was well taken and that the discussion was in fact beneficial.

      Linus' larger point was that if patches are submitted to the right person, then the 'scalability' of the system won't be limited. He mentions 'trust', but I think he trusts the people who he knows have the necessary high-level architectural knowledge to write a good patch. This issue is about intelligence and efficiency however, not trust.

      --

      Amazing magic tricks

    5. Re:Linus is, as is often the case, right by gaj · · Score: 2
      I stand (sit, acutally) corrected, sir.

      I'll go away now, before you taunt me again.

    6. Re:Linus is, as is often the case, right by Skip666Kent · · Score: 2

      Isn't Symptoom the name of one of those tyrannical planets that John Carter overthrows in the 'Warlord of Mars' series?

      --
      **>>BELCH
  25. CVS the answer? Mebbe, mebbe not. by dinotrac · · Score: 3, Insightful
    What a testament to Linus and the success of Linux. How many people could have brought a project like this so far so informally?

    Now, how to move forward and expand the circle without diluting the value that he brings. Something like CVS can help, but the base problem isn't technical and the solution won't be technical, either.

    The real problem is factoring out that part of the Linus load that Linus does better than anybody else can do, and offload other parts to those who can do them better than a loaded-down Linus.

    The hard part for everyone, Linus included, is to understand how much the "other" part feeds into Linus's ability to do the "Linus" part.

    Sometimes, even mundane tasks help you to maintain the vital connection needed to do the great things well.

    I'm just glad I'm not the one having to work all of this out!

  26. Yea, this might be it. by AltGrendel · · Score: 4, Insightful
    In the past, many people have predicted that this thing(M$) or that thing(what hardware it runs on) might stop Linux. I think this might be it.

    When ideals and/or ego enter the fray you have to be careful. This could alienate the very people that are needed at this time and cause Linux to loose steam. Yes, it's his toy, yes he can take his ball and go home. But hopefully this won't cause a major split similar to what happend to Unix in the 60's/70's.

    Personally, I hope I'm wrong.

    --
    The simple truth is that interstellar distances will not fit into the human imagination

    - Douglas Adams

    1. Re:Yea, this might be it. by GigsVT · · Score: 3, Insightful

      I'm not seeing that yet. Linux and Rik regularly get into some pretty heavy spats, but in the end, they seem to be able to still work together, as well as can be expected.

      I'm just not seeing the sort of personal attacks that really mark a degrading work relationship. I see people who are often critical, and sometimes rightly so, and several extremely intelligent people, who seem to generally be able to work with each other, (though lacking in some basic social skills when dealing with people they view as "lesser").

      All in all, I'm not seeing that "beginning of the end" syndrome. I'm seeing a rejection of dogma, and real honest evaluations of the situation. Some people disagree and say the opposite is true. Read the mailing list, the whole thing sometime. kt.zork.net is great and all, but it leaves out certain subtelties.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    2. Re:Yea, this might be it. by denshi · · Score: 2
      But hopefully this won't cause a major split similar to what happend to Unix in the 60's/70's.
      60's & 70's? You're off your rocker.

      There *was* no Unix in the 60's, at least, there was no Unix until 1969, and even then 'Unix' was just a filesystem design on a chalkboard and a set of paper tapes for a PDP-7. It wasn't until 1972 that Unix was written in C. IIRC, Unix wasn't available outside Bell Labs until 1973. It really started spreading in 1976 when Ritchie went on sabbatical and spread the word. So far, nothing that looks like a linux-kernel split that you are trying to find an analogy for.

      The Unix splits happened in the 80's, after Sun decided to be a hardware company and specialize BSD to its own purpose, copyrighted of course, and everyone else decided to play as well. Things got worse when these companies decided to play ball with windowing standards: Sun had an advanced system that they killed with paranoia, X won by default, and then everyone got another round fighting over the X toolkits! Fun!!

      I'm guessing you are referring to *those* Unix splits.

      To rebut, I'd argue that Linux doesn't have to fear as much chaos. The focus of all of the above wars were each company's total control of what they thought as 'their' IP. Those splits were over money, not technical agreements; furthermore, those splits *couldn't* be resolved, as none of the companies would open any of that code. Linux could fork into 100 different trees, but the splits (as they are GPLed) can all be brought back in by anyone willing enough.

      Personally I'd be glad to see the linus tree knocked off, at least for a time. It would be interesting, and certainly in line with how Linus feels about design by evolution. A good solution, if mundane, would mirror the gcc - egcs - gcc schism/re-merge of 1-2 years ago, as Alan Cox so helpfully pointed out.

    3. Re:Yea, this might be it. by LMCBoy · · Score: 2

      Go, LoseNotLooseGuy, Go!!

      I'm really suprised you've only corrected this four times so far...you must have just created the account today. :)

      --
      Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
    4. Re:Yea, this might be it. by nerpdawg · · Score: 2, Insightful

      Er. Well. Actually, he can't take his ball and go home. If he quit, somebody else could play linus. To a degree, the other people maintaining trees *are*. It's nobody's baby, it's nobody's ball. It's open source. Isn't that kind've the point?

    5. Re:Yea, this might be it. by jelle · · Score: 2

      Nothing to be worried about.

      Worst thing that can happen is a long duration fork of development away from Linus' current kernel releases. Right now, with the parallel development tracks of various patch sets, we already have semi-permanent forks, and in the past the parts of those forks that made sense were always merged back into Linus' tree. The keyword here is 'in the end'. When you make something complex, it's often not perfect right away, and the more complex the kernel becomes, the longer it takes to make it perfect. However, you want people to test it, so you release early, and often, that is the open source way. If you can't 'release' it in Linus' kernel, release it yourself, nobody will get mad at you.

      So, worst that can happen is a longer term fork, but that's nothing new. RedHat for example always delivered their OS with non-Linus kernel patches, which means they never had the 'true' kernel.

      Really, the only difference, even with more long time forks, is that Linus' kernel will not be the kernel we all use, but it will be the kernel where a lot of new development is going on. So what if in parallel a lot of development goed on? In the end, when both final results make sense, somebody will make a merge. If that merged result makes sense, Linus will not hesitate to use it to base further development on. An we'll all have benefited from a parallel development path.

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
    6. Re:Yea, this might be it. by AltGrendel · · Score: 2

      You are correct. That is what I'm refering to. Thanks for the correction.

      --
      The simple truth is that interstellar distances will not fit into the human imagination

      - Douglas Adams

  27. Stating the Obvious by Outland+Traveller · · Score: 2

    I think it's only a matter of time before the official Linux kernel development switches to a "core group" model working against a private source tree using version management software rather than a straight hierarchy. Core developers can check in, everyone else sends patches. When it happens it will be quick and the scalability benefits will be obvious.

    I'm not saying this as flamebait or to say so-and-so is wrong. I have a great deal of respect for Linus Torvalds but his brain-child has outgrown him and at some point he needs to let it go outside the house.

  28. Why not just fork off a non-Linus version? by aphor · · Score: 2

    So you wouldn't be able to call it Linux? If you think you can do it better than Linus then by all means do! As long as you release the source code you are within GPL.

    Copy the Linux kernel source to another location, and import it into a CVS database under a new name. Of course, then you're playing with Linux the game which BSD plays with all software projects. You'd better be sure you can organise your code to easily import features and fixes when Linus gets something you don't have.

    --
    --- Nothing clever here: move along now...
  29. Linus doesn't scale NOW by Greyfox · · Score: 3, Funny
    But thanks to the open source licensing involved, developers think these problems can be resolved. Work is being done in the development tree to improve the scheduler, for example. It is reccommended that average users avoid the development tree for the time being, as it frightens easily and still has some bugs to work out (Potty training etc.) Developers are confident that these issues can be resolved fairly quickly.

    If it becomes necessary, we can always fork and branch the development tree further though that will further burden the main development branch so we'd like to avoid it if at all possible.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  30. Not exactly accurate... by Error27 · · Score: 2
    "Linus seems to dislike it, as usual, source code maintenance tools/organization are for wimps!"

    I think most people who read the email assumed that the "patch penguin" was a machine with out reading the email. But the proposal is that someone (Dave Jones) take everyone's patches and filter them on to Linus.

    It's not that Linus doesn't like organization, it's that he likes patches to come from maintainers. If Dave Jones gets all the patches he's going to be as overloaded as Linus is.

  31. Is Linux bigger than Linus? by ArthurDent · · Score: 5, Insightful

    There is absolutely nothing wrong with using CVS. Your question raises a larger issue, however. As with any large project, it is difficult if not impossible for one person to have knowledge of the entire scope. Linux has become bigger than Linus.

    From its very beginning, Linus has kept a tight rein on Linux, and everybody in general let it go if for no other reason than he's a smart guy and by God, he wrote the thing! Don't get me wrong. That was a Good Thing (tm). Now, however, we are finding that it is becoming less and less practical for Linus to handle all of the patches.

    Linux is becoming more and more like a cathedral and less and less like the bazaar. Whether he likes it or not, for Linux to continue to thrive (perhaps even to continue as we know it) Linus is going to have to decentralize the way patches are brought into Linux. I don't claim to have all the answers, but there must be a way to make a CVS-a-like system work and keep Linus' ability to make the final say if he wants to. Another alternative is for Linus to put more trust in his maintainers and let them accept patches for their respective subsystems.

    The problem here is the star network topology that we have with respect to patches. If Linus is not willing to release his hold on the center of that star, then Linux could have a MAJOR problem!

    Ben

    1. Re:Is Linux bigger than Linus? by renehollan · · Score: 4, Interesting
      The problems with CVS is that it doesn't handle directories and branch merges very well. The former is a shortcoming of CVS and the latter makes it painful for Linus (or anyone for that matter) to maintain a private branch. It's doable, but ugly.

      Of course, I was spoiled with Clearcase when I was at Teradyne, but, at $1000 a seat, it isn't exactly cheap (and is dangerous in the wrong hands). Working at a startup now, and living with CVS, has tought me that it doesn't provide the kind of isolation, yet, tracking that Linus needs.

      However, perhaps all is not lost. If Linus doesn't like CVS, let him not build out of CVS, but still provide an incomming CVS repository for certain trusted leutenants that filter patches. This provides the following:

      1. A history of patches received.

      2. A mechanism for delivering those patches to testers.

      3. A source Linus can diff against his private tree.

      Of course, when Linus makes changes outside the CVS repository, it will be out of sync, but the suggested Patch Penguin can be charged with syncing it up with Linus' latest changes. This way, Linus can generate his own patches from CVS and examine them at will, or on the urging of leutenants.

      Another orthogonal approach to the ckernel into separately maintainable parts. There is no excuse for bundling every device driver under the sun when one has loadable modules. Device driver patches would then go to the device driver maintainer (in the same way, and for the same reason ,that Linus does not get Apache patches), offering some relief. Some core device drivers might remain Linus' responsibility, but he'd be more free to concentrate on architectural rather than implementation issues.

      Yes, this would fork the kernel, in so much as there would be different bundled device driver sets. I see this no worse than the variety of existing distros, though I would like some central mirrored repository of what drivers were available.

      --
      You could've hired me.
    2. Re:Is Linux bigger than Linus? by Chris+Burke · · Score: 2

      There sure as hell is something wrong with CVS -- the fact that it is indiscriminant. It has no concept of the -function- of source code, and certainly no idea about higher-level questions about -direction- or -architecture-.

      Even Rob, who suggested this idea, understood Linus' fundamental role as architect -- a role that no one on the lmkl is arguing Linus doesn't do excellently. It is a necessary function. Linus' high-level view and control, not to mention dedication to good architecture, is a good reason why Linux has made so much progress. Having him there, in the "center of that star", requiring others to match his levels of quality and the direction of his vision, is a -good thing-. There's a reason that the kluginess of the kernel (at least architecturaly) has been decreasing.

      Your argument that Linux is becoming more like a cathedral is baseless -- as the number of kernel developers grows, how is that not more like the bazaar? Linus has always been in control to at least the degree he is now, but now that so many people are working on it that he can't keep up, that's the cathedral? Nonsense, unless you're using definitions of those terms highly deviant from the norm.

      So, now that we've covered why Linus still needs to be at the top and why CVS isn't going to help (if used directly by Linus), we (assuming you have followed me) are now at the point at which the first email began.

      I won't reiterate the argument, because you can read it yourself. Though I will point out Linus' counter-argument, which is essentially that there is already a system in place that people just need to use. The subsystem maintainers -do- accept patches -- with the caveat that they must eventually cross Linus' path. Still, he argues that if more people actually used that route, it would lighten his load just as much as a patch penguin. As another reply pointed out, the problem of this network topology just may be that in the routing tables "the default route is Linus".

      Sorry if I come off wrong, but I'm just of the opinion that armchair generals should at least do some research first.

      --

      The enemies of Democracy are
    3. Re:Is Linux bigger than Linus? by renehollan · · Score: 3, Interesting
      ... I for one respect that he wants to keep that control, ...

      Call me mean, but I don't respect anyone for wanting to "keep control" over what is supposed to be free software (well, except for modules), espescially when they decided to make it free. Wha? "It's free unless it becomes a hit and then I want control?" I don't think so -- I think Linus has plenty of leveragable egoboo to not need that kind of power trip.

      If Linus wants to play architect, and concentrate on APIs, modularity, and scalability, great. If he wants to bundle components meeting his standard for stability, also great. But, if he can't do it all himself, he shouldn't try to prevent others from stepping in.

      If he is worried about dilution of the stability associated with "his" Linux, he should excercize his trademark rights: you can't call a kernel, bundled with loadable modules, "Linux®" unless it has his blessing. Of course, meeting the lesser standard of API complience should garner a "Linux®-compatible" moniker, or "[insert favorite distro]-certified Linux® compatible", with Linus authorizing major distros to do their own testing, and applying that moniker.

      Does this mean a forking of monolithic kernel bundles? Yes, but I don't think that seperate module sets are that traumatic of a fork. This is an area that the various distro-makers can move into, and an espescially fertile one for embedded kernel providers.

      --
      You could've hired me.
    4. Re:Is Linux bigger than Linus? by Spy+Hunter · · Score: 2

      If CVS isn't that great (and I've heard about several shortcomings it has), then why doesn't someone start a project to create a better open-source source management system? I know there are a few out there but I haven't heard of any strictly GPL, entirely open-source alternatives. Seems like a no-brainer to me...

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    5. Re:Is Linux bigger than Linus? by scrytch · · Score: 2

      They are. Try this for size. Still in development, but it's now self-hosting (subversion uses subversion as their VC now).

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    6. Re:Is Linux bigger than Linus? by Spy+Hunter · · Score: 2

      Ah, there we go. That's exactly what I was looking for. Thanks for the link!

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  32. Management by Catiline · · Score: 3, Interesting

    Correct me if I wrong, but I don't see any good reason why a very big project (Linux kernel) still has one maintainer for active development.

    Now I'm no kernel hacker, but I do think the current system could use some improvement. Wouldn't it make sense for the kernel to be split into sections (device drivers, memory/thread manager, etc) with each section having a maintainer and one "integration manager"? (Applicable areas that could be subdivided, like drivers, could divide by type again.) If the system were properly modular, the integration manager would just have to make sure that the interfaces between the systems were well designed, don't change frequently, are thourally examined between changes, and that when they must change they are reimplemented nearly simultaniously in all affected subsystems. (Hopefully, any given subsystem could also undergo rewrites without affecting other subsytem code.) Again, I'm not seriously looked into the kernel code (yet!) so I have no idea how things work right now... but the scale IMHO requires a division of the labor. (Formatting the code to match would serve to further reduce the labor involved in maintainance.)

  33. Re:I know Linus doesn't like it.. How about this? by Havokmon · · Score: 2
    The only way to handle bad stuff is to make people responsible for their own sh*t, and have them maintain it themselves.

    So everyone is supposed to have their own copy of the tree to make patches to? Without a 'source' CVS to sync it up to before submitting a patch, why would anyone WANT do that?

    What if I submit my patch, and make changes that conflict with SamtheEagle's source tree he's workting off of?

    I think there should be a source CVS tree, that Linus maintains. Before I submit my patch, I should sync my CVS to Linus', and apply the patch. Then submit the patch, referring to the current tag on the source CVS maintained by Linus. That way, Linus can apply all patches serially, and make requests to developers to resync submitted patches, when a new CVS tag is created.

    No 'patch' management program, just a way to serialize patches for applying to the source.

    --
    "I can't give you a brain, so I'll give you a diploma" - The Great Oz (blatently stolen sig)
  34. From someone who has never hacked a kernel: by tanuki_x · · Score: 3, Interesting
    Well, I'm really surprised at all this.

    I think I'm not alone when I say that, when I came to linux a few years ago, I was very impressed. Stability, speed, tons of functions, and a lot of configuration...


    whoa... you get to compile your own kernel, man!

    Well, that was all well and good. What was not all well and good is that, like so many others, I didn't actually write anything for the kernel. I assumed it was in good, and (as I have no real OS-level programming experience) more capable hands. I know that was what I was thinking when I explained to others why linux was so cool, and would always keep getting better. People would keep on sending in improvements, and these improvements, when approved for absolute stabiity (Alan Cox's old job mentioned in the leter, wasn't it?), they would be integrated into the sacred source.

    Sigh. Well, that assumes the improvements get accepted or even seen in the first place, doesn't it? Linux is a huge development project (I mean, come on, it's an OS), and anything made in last I don't know how many years of development of any significant size had ought to have a tighter system of management; human or not. I'm a little worried that Linus has any opposition to these sorts of things. I'm actually amazed that linux got this far without more- I always assumed there were some definite mechanisms of the sort involved (hence my regret for never messing with the "sacred source"). I always just assumed there were.

    Now I am surprised there wasn't a call to action before this. In a project of this nature, with so many people, projects, and significant economic forces putting their investments of time, money, and effort into this, you'd think that something would have been done when good patches started getting dropped. If that is the case something has to be done now.

    Like I said, I never messed with the source. I never fixed anything; I never submitted patches; therefore I never had this problem. In short, I never knew. I was never involved, and never felt I had to be- I mean, better heads than mine were on the job, right (I said the source was "sacred")? Well, not all heads are better at everything, and I think that the more heads invoved, the better off this would be (at the very least, we would have reached this crisis point sooner and come to some decision on how to handle it). Maybe if some of the right people got in on it earlier, an appropriate management system would have been advocated and introduced- and these problems would have been minimized.

    Possibly not. But more has to be done on this. Linus' counterpoints are well argued, but if lots of valuable code patches are really being (uneccesarily) lost due to the current system, are they good enough?

  35. And why did mankind invent computers? by Otis_INF · · Score: 3, Interesting

    That's right! To help humans and the activities of these humans. Now, here we have a complex organisation-related problem (software versioning), which takes a lot of effort and energy from the human(s) involved. Instead of using computers and specialized software to HELP the humans involved and thus make the process a lot simpler, the human(s) involved disagree and try to keep the process non-automated and without computers.

    Hello? What if a big company says: "To hell with computers, we do all our business-directing by hand, without decision support systems etc..", is that a clever move? No! Humans are not capable of processing a lot of complex data CORRECTLY. Computers do. Use them, whenever they can help. To avoid using computers in software versioning is IMHO one of the most stupid things you can do. What do you think, that Microsoft used Bill Gates' brain to organise the 35 million lines of sourcecode of Windows 2000?

    --
    Never underestimate the relief of true separation of Religion and State.
    1. Re:And why did mankind invent computers? by TeknoHog · · Score: 3, Funny
      What do you think, that Microsoft used Bill Gates' brain to organise the 35 million lines of sourcecode of Windows 2000?

      Apparently they do. Have you got a better explanation? (this is Slashdot, right?)

      No, wait.. now this makes it sound like Linus and BillG work the same way.. mmm...conspiracy..

      --
      Escher was the first MC and Giger invented the HR department.
  36. Re:Monolithic! Duh! by AnalogBoy · · Score: 2

    The economic conditions and overall attitude of the IT world was a lot less foreboding then. In the IT shops i've been in recently, Linux is a word not to be thrown around, especially on anything the investors may read. If, say, HURD or a BSD could do such a trick, i believe it would take at least $x amount of time before the world would be ready for it.

  37. What if the patch spans more subsystems? by Otis_INF · · Score: 2


    From that, he goes on to point out that people tend to have a small group of people they work well with and trust; perhaps 5 - 10 people. So, in essence, if Linus appoints 5 - 10 maintainers of major subsystems (which he has), and each of them has 5 - 10 people the trust to maintain specific aspects of their subsystem, then there is no problem.

    There is theoretically no problem, when there are small 'patches' (or better: fixes for glitches) which fall totally in 1 subsystem's area. However, what if a patch spans more than one subsystem? Or better: what if a patch needs changes on another subsystem? In an OS, it's placing foundation on foundation, layer on layer, they all depend on the layers/functionality blocks below that layer. You can't just say: "Hey, John, you do VFS and you, Dave, you do the VM", because the VM needs services of the VFS and vice versa.

    If you have a designmanifest which has to be implemented, you can point to people which control certain parts of the project, WHICH don't have to be subsystems necessarily (vertical segmentation), but can be seen as horizontal segmentation: one group does the core layers, other groups do the layers ontop of those core layers.

    --
    Never underestimate the relief of true separation of Religion and State.
    1. Re:What if the patch spans more subsystems? by gaj · · Score: 2
      Of course there will be patches that span subsystems. The point is that they should be very rare.

      In practice, most (though certainly not all) patches that span subsystems mean that either the patch is not well done, and should be rethought before being accepted, or that the modularization of the subsystems needs to be rethought.

  38. architectural limitation by markj02 · · Score: 2
    This is really a pretty deep architectural limitation of the Linux kernel: many interesting enhancements and bug fixes do require the source code to be patched. That's was a decent design choice for a small kernel with very focussed functionality, but it just doesn't work very well when there are thousands of developers, thousands of drivers, and dozens of important kernel variants and modifications. It's an approach to building kernels from the 1970's.

    What is the solution? There are lots of possibilities, but they all come down to either changing to some other programming language, or emulating what other programming languages have built in "by hand".

    Something like an Objective-C runtime, where you can replace classes and methods at runtime and where most important function calls go through the runtime, would allow most of the kernel functionality to be changed and enhanced by separately developed modules without requiring patching all over the place. Such runtimes are very efficient and would probably not make a lot of difference in terms of performance. Another approach is a Mach-like microkernel. If people want to stay with plain C, another solution is to add lots of hooks for everything (kind of like you have in Emacs).

    Even if this were to make the kernel run a little slower, what good is it to have a kernel that runs blindingly fast but doesn't do what I want and doesn't have drivers for the devices I want to use?

  39. Wait a minute... by mjh · · Score: 4, Insightful

    I'm reading lots of comments on this list about "the patch penguin will scale only as well as Linus, or maybe worse", or "Linus is right". But I'm not so sure that I agree. Having read the original proposal and the entire thread (as of last night around 1am EDT) I think that the proposal is a way of getting Linus to do what he does best (architecture) and relieving him from the mundane duties like trying to make sure that a submitted patch actually applies properly. Once the patch penguine does that kind of stuff, then Linus can review it.

    Of course the advantage of this is that the mundane stuff can be done in parallel to the architectural stuff.. thus allowing more than one thing to get done at a time. Where as Linus himself can only do this serially.

    The reason that this is important is that there is a very large backlog of patches that are simply not getting applied. Allegedly the whole VM issue could have been resolved if Linus had enough time to look at and apply RvR's patches. What this means is that Linux, with the inability of kernel maintainers to effectively submit patches, is turning into Minix. Remember that Linux was born out of Linus & others reaction to the fact that patches submitted to Minix couldn't get applied and redistributed (for copyright reasons). Which meant that in order to get a reasonable system, you first had to download the unpatched code, then go through a little patch-o-rama. It was ineffective. The current patch log reminds some of that situation, and has some fearing a potential kernel fork.

    Of course, the biggest question that I have for the proposal is that Rob wants to just "formalize" a position that already exists and is being done, to some extent, already. If the position is already in place and already operating, then why is there still a patch backlog? How does formalizing it actually improve the situation?

    --
    Key to financial independence: Spend less than you earn. Save and invest the difference. Do it for a long time.
  40. CVS isn't a magic bullet. by Zenin · · Score: 5, Insightful

    Disclaimer: I'm a FreeBSD fan and generally consider Linux et al to be one of the most choatic and sloppy large-scale development projects ever created. Just being a Linux user requires dealing with an absolutely insane about of pointless choas; I fear to imagine what trying to be a maintainer must be like...

    That said...

    "Just use CVS" isn't anything remotely close to an answer. SCM, release control, whatever you'd like to call it is 99% about the PROCESS, not the tools. CVS is a tool. It's a great tool and one I highly recommend, but at best it's 1% of a solution. It seems quite obvious that Linus's current process is incredibly flawed. It would seem a drastically different process needs to be devised. Only once you have figured out what your process is going to be can you even start shopping for tools (CVS, whatever) to help you create it (and even then...the tools are only 1%, if you even have tools. The PROCESS is what's important).

    Of course "CVS forks" of Linux failed. Anyone with even the slightest understanding of CM could have easily predicted such an end. You've got a handful of people, not even the top people, trying to constantly fold in the efforts of thousands of contributers all using a completely different process (ad-hoc patches emailed to devnull@linus.org). What did you expect?

    You have two choices. Devise a workable process which Linus will agree to (with or without CVS, whatever). Or, you can devise a workable process that everyone else is happy with...and simply throw Linus off his paper throne. The first option will likely never, ever happen...at least if every single word Linus has ever uttered on the subject isn't true. The second option might actually welcome the dawn of a non-choatic Linux, one which wouldn't be so easily cast aside as a cheap toy made by a small man with a big ego.

    Linux/Linus Flame (-1k Karma)

    --
    My /. uid is better then your /. uid
  41. Re:The solution is not 'there' by EnderWiggnz · · Score: 2

    some of us want to continue building the house on the solid foundation that was laid by linus et. al.

    really... at some point you have to say that your base is "good enough" and we dont need to start over repouring the foundation. screw that. we've got a good thing going, now lets get some killer apps running...

    --
    ... hi bingo ...
  42. Why not just send patches to the right people? by Bazzargh · · Score: 5, Insightful

    If you read Linus' reply to this you'll see he argues that the 'patch penguin' merely replaces him with someone else, and does not actually help distribute the work. He also comments that it may be better to submit patches to subsystem maintainers.

    This being the case, why not just automate that? Subsystem maintainers are effectively maintainers for a known group of source files. Its not hard to figure out (automatically) from a patch which files are affected - and from that, which maintainer(s) the patch is relevant to. Given how Linus describes his 'trust network' it looks like he wants a hierarchy of subsystem managers who can merge patches for him to accept upstream. I can see that scaling a lot better than the proposal in the article.

    For this to work of course, you'd have to hope the patches had reasonably local scope - if most patches affect >1 subsystem this isnt worth doing at all.

    - Baz

  43. Leadership Structure by The+Bungi · · Score: 3, Insightful

    The whole kernel thing has to stop being like the Holy Roman Church and more like a democracy. Although commercial, closed software benefits from a hierarchical leadership system where a small number of people have the final say on where a product is going, an open project that is so visible as Linux needs a more "for the people, by the people" approach. I understand the need for one person to maintain a semblance of control, the entire decision process as far as Linux is concerned is hampered by the autocratic style under which it has operated since it began to grow so explosively.

    Linux doesn't need a "patch manager", it needs a House Of Commons or a Congress or whatever you want to call it. It can't do away with the president and the chiefs of staff, but it has to have a heck of a lot more checks and balances than it does now. And it definitely needs to be a lot less autocratic.

    Eventually, we're going to see more and more forks as people begin to understand that the OS is no longer Alan and Linus' own private playground but a heritage of the people who use it every day. While they bicker and fight over who gets to play king on a given week, someone is going to pull the rug from under them. Royalty has always been tolerated while the populace is enamored with its trappings, but revolutions do happen once in a while.

    1. Re:Leadership Structure by Dixie_Flatline · · Score: 2

      A benevolent dictatorship is by far the best means of government. If you can guarantee that the dictator is benevolent (which, in the case of linux, you can) then things get done more quickly, and there's less time spent in meaningless deliberation.

      Democracy is rule by the mob, except in the most idealized circumstances, which this is not. Don't let every Tom, Dick and Harry have their say in the kernel...they don't know what they want or what's actually best.

      I'm not sure why people think that a committee of people is somehow better than just one person that knows what they're doing. Our governments are perpetually locked in internal battles trying desperately to get SOMETHING done, and more often than not, they do something that isn't actually in the interests of the population.

      Lastly, Linux is still Linus', when you get right down to it. He doesn't tell you what to do with your software, even if he uses it all the time. Theoretically, if people hated what was going on so much, they could take the code and fork off onto their own kernel dev team, but they don't.

  44. Linux Vulnerability by ackthpt · · Score: 5, Insightful
    As my old boss noted, you don't keep all your eggs in one basket. We were three programmers, all specializing in IT aspects at a community college. He forbade us to all go out to lunch in the same car, in the event there was an accident and his IT shop would be severly crippled.

    I'm sure Linus is healthy and a good driver, but as misfortune befell a former colleague at another job (her car was parked at a light on the off-ramp which was below the highway, a driver from the other direction suffered a cardiac arrest, crossed the median and opposite lanes and went airborne, landing on her car as she waited for the light to change. Gone, just like that,) unfortunate things happen. It would be very tragic for his wife and child to lose a father. It would be a disaster for Linux, as the unifying person would be gone and in the aftermath someone would have to take control. I imagine Linus has already considered this, but his tight grip on the kernel is a bit worrying. He should delegate more.

    --

    A feeling of having made the same mistake before: Deja Foobar
    1. Re:Linux Vulnerability by plover · · Score: 2
      This is a brilliant observation! (where are those mod points when you need them?)

      I think the biggest problem, of course, would be the potential for a cat fight to control Linux. I can see several big corporations jumping in to fill the void: IBM and Red Hat, just to name the most prominent.

      Of course, this then begs the question of what's poor Linus to do? If he says to the world, "Hey, world, I need to form a Linux junta," the lineup of people and corporations would extend across the pond.

      I have to assume he feels there's an unwritten agreement amongst the core maintainers, but dissecting unwritten agreements are the IBM legal department's specialty.

      Even if he doesn't delegate, he ought to at least put it in his will.

      --
      John
  45. The Tree is Green.... by azaroth42 · · Score: 2, Interesting

    Equally, get IBM/RHAT/other sponsor to donate a whole load of different hardware. Write a autobuilding process that runs lots of little tests -- puts up ethernet connections, pings the framebuffer, etcetc. If the machine is down, then the most recent patches broke it.

    Mozilla development does this, but is obviously easier as it's not the Operating System they're testing, just a single application.

    -- Azaroth

  46. Source code maintenance tools/organization by gpinzone · · Score: 4, Insightful

    "...source code maintenance tools/organization are for wimps!"

    I almost don't believe what I'm hearing. How do you manage development branches? How do you roll back your code to undo an enhancement you thought would work? How do know which bug fixes are tied to a particular instance of code? Wimp? More like "anyone who ISN'T using source code maintenance is a fool."

    1. Re:Source code maintenance tools/organization by bgarcia · · Score: 3, Interesting
      How do you manage development branches?
      Linus only manages one branch. It's not an issue.
      How do you roll back your code to undo an enhancement you thought would work?
      By editing the code to *fix* the problem.

      Simply undoing the flawed submission means that you did a poor job of making sure that only quality code goes in. It does not fix anything.

      How do know which bug fixes are tied to a particular instance of code?
      Now, this is the only thing that I think is missing from Linus' vision. An SCC system can store this information efficiently. Linus' system (changelog) can only store this information at the granularity of a pre-patch.
      --
      I'm a leaf on the wind. Watch how I soar.
    2. Re:Source code maintenance tools/organization by gpinzone · · Score: 2
      How do you manage development branches?
      Linus only manages one branch. It's not an issue.

      That may be part of the problem. Linus could allow a new, albeit tested, feature in as a branch. Only until it has been tested in the "real world" sufficiently would he merge the branch into the main development trunk. In the mean time, the old code could be refined and bug fixed in parallel. It would be up to Linus when the branch gets merged, however, everyone could have access to it if they desired.

      How do you roll back your code to undo an enhancement you thought would work?

      By editing the code to *fix* the problem.

      Simply undoing the flawed submission means that you did a poor job of making sure that only quality code goes in. It does not fix anything.

      Ah, but human beings are not perfect; we all make mistakes even when we are very, very careful. It's not a fair statement to say that Linus should only accept "perfect" code. You have to consider the possibility that a bug will crop up even *after* quality checking is performed. Then what?

      CVS makes it easy to pull an older version of the code allowing the programmer an easy way to do a before-after comparison of the software at two instances in time.

    3. Re:Source code maintenance tools/organization by bgarcia · · Score: 2
      That may be part of the problem. Linus could allow a new, albeit tested, feature in as a branch.
      But he doesn't want that responsibility! He wants the developer of the feature to worry about that stuff. He only wants to be given the patch when he personally is happy to have it in his branch.

      There's nothing precluding each team of developers or even an individual developer from using CVS to accomplish this on their own, if they find it useful.

      Ah, but human beings are not perfect; we all make mistakes even when we are very, very careful. It's not a fair statement to say that Linus should only accept "perfect" code. You have to consider the possibility that a bug will crop up even *after* quality checking is performed. Then what?
      You missed the answer to your question.

      You asked, "how do you roll back the code?". I answered, "you don't do rollbacks - you put in fixes.". Rollbacks are not the answer.

      What I was trying to explain is that rollbacks are only useful when you regularly merge in crap code.

      If the code is basically good, but has some problems, you fix it - you don't roll it back!

      --
      I'm a leaf on the wind. Watch how I soar.
  47. CVS can work, look at FreeBSD by Chris_Keene · · Score: 5, Interesting

    A lot of people have said CVS could not work, agreeing with Linus. Yet FreeBSD uses a CVS tree with multiple committers, and has had no serious problems that I am aware of. Infact, I would say they have had less problems than linux has had in the last few years.

    cjk
    Toothpaste likes you

    --
    You will forget this sig before you next see it
  48. It's called "span of control" by DG · · Score: 5, Insightful

    This is a basic principle of leadership/management that the Army calls "span of control".

    It has been proven (through all kinds of research) that any one person has difficulty controlling much more than 10 individuals, with 8 being a practical maximum.

    This is why military units are organized in strict tree structures - at no point does any one leader exceed his span of control.

    So an 8-man infantry section is controlled by a Section Commander (which can be further broken down to 2 4-man fire teams, but rarely). 4 sections report to a Platoon Commander. 4 Platoons report to a Company Commander. 4 Companies report to a Battalion Commander, and so on through Regiments, Brigades, Divsions, and so forth.

    In this manner, the several thousand men in a large formation like a Division can be commanded by one man.

    Further aiding the General in charge of the Division is that each sub-unit is granted a certain amount of autonomy within certain boundries. As you go up the chain, orders become more general (2 Battalion is to attack objective Oscar) and as you go down the chain, orders become more specific (Bob, you're carrying the machine gun)

    While Linux development does not require this level of structure (and indeed, would probably suffer if this many authority-resistant cats were forced into such a regimented structure) the basic principle of "span of control" is still applicable.

    The obvious correct solution is to modularize the kernel into subsections with clearly defined areas of responsibility, with a "mini-Linus" (who Linus trusts) granted control over each module.

    Not suprisingly, this is what Linus has suggested.

    The trick (and the catch) is two-fold. Firstly, you have to find people who are both responsible enough to be able to act as a "mini-Linus" without dropping the ball (which means Linus has to trust them too) and secondly, the kernel has to be modular enough so that changes in Module A do not step on or otherwise negatively impact code in Module B.

    That's a hard row to hoe.

    What I find a little distressing is that there appears to be a whiff of revolution in the air; of people talking about overthrowing Linus (and Alan Cox seems to be among them) This will not solve the problem. It is not that **Linus** doesn't scale, but rather that any single maintainer doesn't scale. Any revolution will just be "same shit, different name"

    CVS doesn't solve the problem either, as anyone with commit privilages can jsut dump anything they want in there, and it becomes canon. Linus' function as a shit filter is very very important. every patch *must* be audited by someone with very high standards before it goes in.

    I hope the crew rallies around Linus - as usual, he's right.

    DG

    --
    Want to learn about race cars? Read my Book
    1. Re:It's called "span of control" by morzel · · Score: 2
      "mini-Linus" (who Linus trusts)
      I have a feeling that this part is near impossible. At this point, Linus does have total control over the kernel (albeit not being able to cope with the load) all the way to the nitty gritty details. (Bob, the machinegun).
      My guess is that Linus wants a solution in which he can keep that kind of fine-grained control over the kernel, which conflicts with trusting someone else to do parts of the job - which is a necessity in the "span of control". (2 Battalion, attack objective Oscar... Bob: machinegun, Carl: mortar, ...)

      If there is a revolution, it's not per se "same shit, different name": I think any kind of revolution people are referring to has the goal of establishing a different modus operandi, be it CVS, a comittee, patch penguin, ... Replacing one dictator with another won't help, unless there's someone with supernatural powers I haven't yet heard of :-)

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
    2. Re:It's called "span of control" by markmoss · · Score: 2

      I'm no expert on the Linux kernel, but just lurking on various discussions like this, it seems to keep coming down to a lack of modularization. Apparently Linus didn't want to modularize the kernel because intermodule communications are slower than within one module. However, this also means that someone working in one area can inadvertently foul up an apparently unrelated area. So Linus can't divide up the job effectively among subordinates, because a sub-Linus focused on one area isn't going to know when he's making a mess elsewhere. (In military terms, span of control becomes impossible if just anyone on your side can march his troops through your sector.) It all has to go to the top (Linus), and obviously his "army" of coders has got too big for any man to keep track of.

    3. Re:It's called "span of control" by scrytch · · Score: 2

      Any new leader that simply does the courtesy of replying to patch submitters with "got your patch, first glance doesn't look like i'm going to take it, so hash it out on k-t to discuss it and i'll jump in when i have time and point out my objections" or just plain "got your patch, don't have time to look at it yet" would be doing a far better job at patch management than Linus is currently doing. Linus's behavior toward developers he has any personal friction with is nothing short of passive-agressive.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    4. Re:It's called "span of control" by Hard_Code · · Score: 2
      The obvious correct solution is to modularize the kernel into subsections with clearly defined areas of responsibility, with a "mini-Linus" (who Linus trusts) granted control over each module.

      Not suprisingly, this is what Linus has suggested.

      But unfortunately there aren't just 4-8 "maintainers" in the world. As Linus says himself in the thread, he can only trust a fixed number of people. That fixed number of people does NOT map nicely to the tens and hundreds, and even thousands of people who are contributing to Linux. There are way more than 4-8 conceptual modules that need maintainers, and through which the world at large can funnel changes and patches. The tree needs to be a bit less broad, but a bit deeper. It's all well and good that Linus says he'll just trust that handful of people he knows well...but what about *them*. They can only trust another 8 or so people, so that turns out to be a maximum of 64 in the world that the system can cope with, without a deeper level of nesting. That's pretty pathetic. Linus also apparently doesn't account for the fact that the job is not *only* accepting patches, but also doing tedious work of *reconciling* those patches and providing a "staging area" so those patches can be reconciled and tested for stupid obvious collisions and bugs before they are really applied to the golden-Linus-tree. One human can not possibly do this (even if he only is in contact with 8 other people through which the world funnels changes). Like Rob Landley says, this responsibility has been taken in the past by Alan Cox, and is currently taken up by Dave Jones. It just needs to be formalized. I see it as a DSP in front of Linus, throwing out (or returning gracefully with a little note!) any out of band signals. It's ridiculous for Linus to insist on a strict 1-level star topology and when he is overloaded simply throw his hands up and say "Hey world, be less noisy!". The noise can be filtered with a DSP called a "Patch Penguin" (or whatever the hell you want to call it), perhaps several levels if necessary (it probably isn't). I don't see the problem. Linus is right in that maintainers and contributors need to take more responsibility, modularize more, and make cleaner patches, but even *if* they do this perfectly there will still be the matter of the tedious work of assembling the various patches - and I'm sure we all know that many "perfect, beautiful" patches do not a "perfect, beautiful" patchset make. In the end, it doesn't even really matter if Linus is Right...the community has needs, and if Linus isn't attentive to them, the community will move on and go elsewhere (or start cracking and fragmenting like it currently is).
      --

      It's 10 PM. Do you know if you're un-American?
  49. What we can learn from history by hubertf · · Score: 2

    Some 20 years ago, another open source operating system development group[*] had the same problem. At that point, several people had access to the source tree, each one supervising a certain area, reviewing and accepting patches for his area.

    When that wasn't enough any more, several people were brought aboard to handle one area.

    That's how things still work today, with a core team doing architectural guidance, developers who have write access to the source tree and who can make modifications on their own, of sent in by contributors and reviewed by the developers.

    - Hubert

    [*] The Computer Science Research Group, working on the Berkeley System Distribution's Unix variant.

  50. Is it Linus or ? by anpe · · Score: 2

    Sorry but Linus Does Not Scale is a false statement. Who could say that (s)he could do better than Linus does.
    It is an organizational problem. I think a system like bugzilla or another colaborative framework could be the solution.
    The only matter is to find someone who as time and capalbilities to do and deploy it.

    1. Re:Is it Linus or ? by dvdeug · · Score: 2

      Sorry but Linus Does Not Scale is a false statement. Who could say that (s)he could do better than Linus does.

      But that's the point! It's not that Linus doesn't scale and that someone should replace him, but that humans don't scale, and we need a new system that doesn't the pressure on the top.

  51. to CVS or not to CVS by YakumoFuji · · Score: 2, Funny

    its easy to see why there will be no consolidated cvs tree for linux. that would make it too bsdish in developmental terms. shock horror gasp! we cant go against the gnu dogma! having subsystem maintainers (aka 'core') commit patches, well we cant move from a 'bazaar' to a 'cathedral' can we? that'd be sleeping with the enemy.

    --

    no sig for you
    1. Re:to CVS or not to CVS by cyber-vandal · · Score: 2

      Yes, shock horror, we still wouldn't support SMP properly.

  52. The Linux Fund? by ansible · · Score: 5, Funny

    How about we set up a fund so that Linus can work on Linux full-time, instead of needing a day job? That's not a permanent fix, but it would help for a while.

    1. Re:The Linux Fund? by MisterBlister · · Score: 5, Interesting
      What makes you think he wants to?

      I'm fairly positive that if he did want to he could find a Linux-related company to back him on this, despite the fact that many are in the crapper (RedHat would take him, IBM would probably pay him a full salary just to work on Linux, etc.)

      Maybe he has interests outside of Linux? Ever even consider that?

    2. Re:The Linux Fund? by bgarcia · · Score: 4, Insightful
      How about we set up a fund so that Linus can work on Linux full-time...
      Yeah, and let's hire him a nanny so he doesn't have to worry about the kids.

      And we could get a gigolo so the wife stops bugging him to perform...

      I got it! Then, we can force him to take ever-increasing amounts of speed, so he doesn't have to sleep!

      Then he can dedicate his life to linux 24/7!!! That would be great!
      </sarcasm>

      Make sure he actually wants to dedicate that much of his life to writing one program.

      --
      I'm a leaf on the wind. Watch how I soar.
    3. Re:The Linux Fund? by ansible · · Score: 2

      In the past he's said he doesn't want to work for a company like RedHat or SuSE because it might seem that he is 'blessing' one of them in preference to other Linux companies.

      With a separate Linus fund, he remains independent of all the companies. Further, we might want to arrange it so that he doesn't know how much any particular party is contributing, so he doesn't feel any special obligation if IBM, for example, chucks in $50K for next year.

      I try to donate $100/year to OpenBSD, and I usually buy 4 sets of CDs as well. I'm sure we can scare up at least $100K USD per year from individuals and companies that benefit from Linux. How much does he really need to live on anyway?

    4. Re:The Linux Fund? by bgarcia · · Score: 2
      His does hold it hostage (Linux) so eventually, he needs to have it as top priority above everything
      What the hell are you talking about?

      How in the world is he holding it hostage? It's under the GPL. Anyone can take the code and release/sell/modify it to their heart's content.

      It's just that there is a general consensus that Linus' version is better than anyone else's. The only other Linux kernel line that comes close to that reputation has been the Alan Cox kernels.

      But to say that Linus "holds it hostage"??? Puh-lease.

      --
      I'm a leaf on the wind. Watch how I soar.
    5. Re:The Linux Fund? by be-fan · · Score: 2

      He's a freaking human being, not a machine! Its just plain weird to talk about him this way. Have some respect.

      --
      A deep unwavering belief is a sure sign you're missing something...
  53. Jordan Hubberd was in the same position by Baki · · Score: 5, Informative

    As "president" of FreeBSD. Then he had the courage to step down and become a "normal" member of the "core-group", a collective in which every member has the main responsability for a part of the FreeBSD code. Apart from the core group there are other committers but the core group decides who these are and can revoke commit-rights in cases of abuse.

    This is a nice distributed system that continues to work very well when the load gets higher; also noone is indispensible, noone has to be afraid what would happen to FreeBSD if a certain person would somehow drop out.

    Of course Linus has every right in the world to remain the status quo, even if it damages Linux. After all Linux is his baby and he can do with it what he likes. Whether it is a good idea to rely on an OS with this kind of a leadership structure is another matter however. But noone can force Linus to change, since he doesn't force anyone to use Linux (take it or leave it).

  54. Thank God Linus doesn't scale by kramer · · Score: 5, Funny

    Imagine the terror of a 50 foot tall Finnish programmer wandering the streets.

    Now let's just hope RMS doesn't scale either.

    1. Re:Thank God Linus doesn't scale by BasharTeg · · Score: 2, Funny

      >Thank God Linus doesn't scale
      >Imagine the terror of a 50 foot tall Finnish programmer wandering the streets.

      Programmers scale on the waistline, not in height.

  55. Re:Microsoft must be laughing by pubjames · · Score: 4, Informative

    Microsoft must be laughing

    Well, I can't claim any insider knowledge, but I bet that all kind of crap goes on within the MS development teams that we never hear about.

    When you've got a lot of bright people working hard on a very big, complex thing, something would be very wrong if you didn't get these kind of problems arising occasionally.

    Personally, I think Linus is right, and all those people who are bitching should sit down and think for a moment, and perhaps think of ways they can help to make Linus's very hard task a little easier, rather than just complaining.

  56. Modularization doesn't reduce control by DG · · Score: 2

    Assuming the kernal can get to the point where it can be successfully modularized to the point where changes in a given module are localized to the scope of that module (and let's be honest, that's a Mighty Big "If") then Linus doesn't have to give up the level of fine-grained control he likes. He can focus his attention on individual trouble spots, secure in the knowledge that the "mini-Linusen" are holding the fort while his attention is elsewhere.

    Successful Generals lead from the front. Really successful Generals (Patton!) are not only at the front, but have the ability to select the portion of the front which most needs them at that particular instant.

    WWI taught that lesson. Generals who sit behind the front lines waiting for information to reach them are too far away in both distance and TIME to be able to affect the outcome of the battle.

    But I agree that the sticky part is getting this structure set up. Once in place, it works, and it offers the best chance of success from all points of view (quality control for Linus, patch responsiveness for individual coders)

    I think the first step is for everyone working on the kernel to - on their own - determine who their subsection maintainer is, and only submit patches to them: this is another principle of leadership called "chain of command" and frees up Linus to do more "battalion" orders and less "Bob" orders.

    But it has to be done SOON. I think it's clear that Linus IS losing control of the kernel - no WAY should that bogus "preemptable kernel patch" that keeps circulating have the life that it does - and Linus' control has been key to the quality control that has worked so well to date. The less influence Linus has, the more willing people are to put up with bogus and wrong code in the kernel, and the more quality suffers.

    DG

    --
    Want to learn about race cars? Read my Book
  57. Go ahead and try it... by Christopher+B.+Brown · · Score: 2
    There may be some merits to such an idea, they are on the "minor" side.

    If people submit crap into CVS (or Subversion, or Aegis, or SCCS, or CSSC, or RCS, or whatever fabled system may be out there), what you've got is crap in the kernel.

    Automated tools have merits, but one demerit is that they make it easier for people to submit a thousand bad
    patches per day

    The wonderful relevant quote, from Mitch Radcliffe:


    Computers
    let you make more mistakes faster than any other
    invention in human history, with the possible exception of handguns
    and tequila.


    Any would-be fork has to put a lot more thought into the political processes than into the technicalities of which version management software to use, otherwise you're arming the teeming masses with tequila and handguns, and that's hardly going to lead to reliable kernels :-).

    --
    If you're not part of the solution, you're part of the precipitate.
  58. Architects of Technology vs. Architects of Product by qbalus · · Score: 2, Interesting

    Linus and team are architects of technology, the distributions are architects of product. This same scenario goes on in the large Unix system development houses too.

    Often there is conflict between the two in terms of goals/objectives, key values, processes, tools, practices, timelines, etc...

    Understanding the key values of each team is critical in developing the correct practices, tools, and processes for the teams.

    The challenge, I think, for the Open Source Community is to develop tools that will respond to different team values and practices, which results in providing support for the individuals to achieve their objective.

    Regards,

    Kramer

  59. I think his judgement is much better than most by anandsr · · Score: 2, Interesting

    I think there is a possible solution, if we look
    closely at what Linus was saying. He talks about
    evolution. He talks about him not being
    indispensable. He likes module maintainers. This
    is all a part of the solution. The only problem is
    that people percieve multiple competing kernels as
    a big problem.

    The perfect solution would be to have each module
    maintainer release their own kernels, maybe not
    naming it like -ac but -scsi or -net. These kernels
    should only have only those module patches and must
    be synced with Linus's kernel. Anybody developing
    a patch needs to look into which kernel suits his
    work most and sends it to the maintainer. The
    maintainer adds it if it fits his kernel, other
    wise the guy needs to try a different maintainer.

    Once a patch is accepted into one of kernels its
    the maintainers headache to sync with Linus. Linus
    will be happy and everybody knows that their
    changes have been included.

  60. Logical absurdities in kernel discussion by Medievalist · · Score: 2, Insightful
    ./
    In many of the posts (yes I read the whole thread) people state things like this:

    "I perceive this to be true. Any objections? Now, since we've agreed this is a global constraint, here is a consequence of the aformentioned thing that I believe to be obvious and thus not requiring any objective support"

    Then the other kernel hackers argue about the conclusions (which are typically quite logical) rather than the premises.
    Here's an example from Linus:

    Basic premise: development is done by humans.

    Now, look at how humans work. I don't know _anybody_ who works with hundreds of people. You work with 5-10 people, out of a pool of maybe 30-50 people. Agreed?
    Now, I personally have worked with well over a hundred people, and I know that there are other humans who can do it (granted, it's a somewhat rare ability - like programming or musical talent). But nobody bothers to point out that Linus is committing the fundamental logical fallacy of ascribing his own attributes to all other humans.

    More from the same post:
    What I'm saying is
    - I'm never going to work with hundreds of people directly, because it is fundamentally against my nature, by virtue of being human.
    - adding a "patch penguin" doesn't help, because _he_ (or she, although I didn't see any women nominated) is also going to be human.
    and again:
    Those are obvious truths. If you don't see them as being obvious truths, you just haven't been thinking things through.

    Linus, I have tremendous respect for you (and I still regret the conversation we had at LinuxWorld that I'm sure you don't remember) but I think that these "obvious truths" are not obvious at all, and that more "thinking things through" may be required on your part. You do not have the same social or organizational abilities as all other humans.

    Alan is one of the very few people on the LKML (as far as I can see) with the balls to say that important stuff is being dropped because the authors don't have name-recognition with Linus. Ingo has that name-recognition, so his patches get respect, and consequently he finds ways to excuse the (mis)handling of others' patches. Sorry, Ingo, but that's what I see.

    --Charlie
  61. Neither did Moses by rjamestaylor · · Score: 5, Interesting
    That Linus doesn't scale reminds me of a passage from Exodus where Moses' father-in-law came and saw his success and also observed Moses judging between the people of Israel from morning to evening. Here's the passage:
    It came about the next day that Moses sat to judge the people, and the people stood about Moses from the morning until the evening.
    Now when Moses' father-in-law saw all that he was doing for the people, he said, ""What is this thing that you are doing for the people? Why do you alone sit as judge and all the people stand about you from morning until evening?''
    Moses said to his father-in-law, "Because the people come to me to inquire of God." "When they have a dispute, it comes to me, and I judge between a man and his neighbor and make known the statutes of God and His laws.''
    Moses' father-in-law said to him, ""The thing that you are doing is not good."
    "You will surely wear out, both yourself and these people who are with you, for the task is too heavy for you; you cannot do it alone."
    "Now listen to me: I will give you counsel, and God be with you. You be the people's representative before God, and you bring the disputes to God, then teach them the statutes and the laws, and make known to them the way in which they are to walk and the work they are to do."
    "Furthermore, you shall select out of all the people able men who fear God, men of truth, those who hate dishonest gain; and you shall place these over them as leaders of thousands, of hundreds, of fifties and of tens."
    "Let them judge the people at all times; and let it be that every major dispute they will bring to you, but every minor dispute they themselves will judge. So it will be easier for you, and they will bear the burden with you."
    "If you do this thing and God so commands you, then you will be able to endure, and all these people also will go to their place in peace.''24 So Moses listened to his father-in-law and did all that he had said.
    Moses chose able men out of all Israel and made them heads over the people, leaders of thousands, of hundreds, of fifties and of tens.
    They judged the people at all times; the difficult dispute they would bring to Moses, but every minor dispute they themselves would judge.

    Here's the Linux version:

    It came about the next day that Linus sat to judge the patches, and the patches stood about Linus from the morning until the evening.
    Now when Rob Landley saw all that he was doing for the patches, he said, ""What is this thing that you are doing for the patches? Why do you alone sit as judge and all the patches stand about you from morning until evening?''
    Linus said toRob Landley, "Because the people send patches to me to fix the Kernel." "When they have a patch, it comes to me, and I judge between the patches and make known the statutes of the Kernel and its laws.''
    Rob Landley said to him, ""The thing that you are doing is not good."
    "You will surely wear out, both yourself and these people who are with you, for the task is too heavy for you; you cannot do it alone."
    "Now listen to me: I will give you counsel, and lucky evolution be with you. You be the people's representative before the kernel, and you bring the patches to the Kernel, then teach them the statutes and the laws, and make known to them the way in which they are to code and the work they are to do."
    "Furthermore, you shall select out of all the people able men who fear the Kernel, men of truth, those who hate dishonest gain (proprietary software); and you shall place these over them as leaders of thousands, of hundreds, of fifties and of tens."
    "Let them judge the patches at all times; and let it be that every major patch they will bring to you, but every minor patch they themselves will judge. So it will be easier for you, and they will bear the burden with you."
    "If you do this thing and lucky evolution so commands you, then you will be able to endure, and all these people also will go to their place in peace.'' So Linus listened to Rob Landley and did all that he had said.
    Linus chose able men out of all LKML and made them heads over the people, leaders of thousands, of hundreds, of fifties and of tens.
    They judged the patches at all times; the difficult patch they would bring to Linus, but every minor patch they themselves would judge.
    --
    -- @rjamestaylor on Ello
    1. Re:Neither did Moses by Anonymous Coward · · Score: 3, Funny

      Damn christians...

      ... you know the BSD devil is just tempting you with CVS.

      bite the fruit of the tree of knowledge, c'mon.

    2. Re:Neither did Moses by landley · · Score: 3, Funny

      The really amusing part is that I'm an agnostic. :)

      Rob

  62. Monolithic kernel by CatherineCornelius · · Score: 3, Insightful

    I think Professor Tanenbaum is laughing.

  63. Sheep versus cats by Convergence · · Score: 2

    Its a lot easier to controll religious sheepeople than to control cats. If the typical religious person differed in perspective from the 'flock' as much as kernel developers differed from Linus, we'd have about 1000x more religions, or, at least a lot less religious thought. Both good things.

    For me, I prefer cats.. They're so busy diagreeing with each other that they don't have time to fuck over my life.

  64. Do It Yourself by LowellPorter · · Score: 2, Insightful

    I think some of you are forgetting that Linux is open source. If you want a version of Linux that has a different style of upgrading features and providing patches than what Linus does, then start your own version of Linux so you can do it the way you see fit. Isn't this one reason it's open source?

  65. Sloppy? by Convergence · · Score: 3, Interesting

    Its sloppy, yes, if you keep up with the bleeding edge. But, the bleeding edge is always sloppy. Linux, because it has the number of developers and a well known mailing list exposes that slop to the public.

    I wonder, how sloppy would freeBSD development be if you synced your kernel hourly with the dev kernels? How buggy would it be? What does the interdeveloper mail look like in the freebad world?

    I run kernels over a year old. There's no slop. I'm (mostly) happy. In about 6 months, I'll switch to 2.4.

    If you want less slop, stick with a distribution kernel. They've chosen and tested it out to be stable and reliable.

    1. Re:Sloppy? by rsidd · · Score: 2
      Its sloppy, yes, if you keep up with the bleeding edge. But, the bleeding edge is always sloppy. Linux, because it has the number of developers and a well known mailing list exposes that slop to the public.

      I wonder, how sloppy would freeBSD development be if you synced your kernel hourly with the dev kernels? How buggy would it be? What does the interdeveloper mail look like in the freebad world?

      I run kernels over a year old. There's no slop. I'm (mostly) happy. In about 6 months, I'll switch to 2.4.

      The point is this: linux 2.4 was supposed to be the "stable" series. 2.3 and 2.5 were supposed to be the "sloppy" series, if you like.

      FreeBSD's stable series is currently 4.x. Trust me, you can sync your source tree to the -stable sources at basically *any* point in time (I do that routinely) and it will run happily, though issues do (rarely) occur and it's a good idea to scan the freebsd-stable mailing list for "HEADS UP" messages before syncing. Nevertheless, -stable gets features merged from the development branch, -current, regularly; typically, this means new device drivers get ported, but there have also been significant changes recently to the pccard code and the linux emulation layer, among others. Basically, freebsd-stable works and the system works.

      And if you prefer the bleeding edge, there's always -current, which is what many of the developers run. There you can see the sort of major changes to the VM and other subsystems which have plagued linux 2.4 -- but nevertheless many people claim -current is quite stable and usable most of the time. Again, you can (and people do) sync their sources to this tree any time you want.

      I think this system works -- in fact, on the evidence, it works incredibly well. When FreeBSD 4.0 was released (the first "stable" release in that branch) it was arguably much better than linux 2.4.x is even today. Linus's system used to work, but is obviously showing its problems now, and it's time for a rethink, it seems to me.

      To answer your question about interdeveloper mail, read
      http://docs.freebsd.org/mail/current/freebsd-curre nt.html
      http://docs.freebsd.org/mail/current/freebsd-sta bl e.html
      http://docs.freebsd.org/mail/current/freebsd-hac ke rs.html

      Disclaimer: I'm not a FreeBSD developer, just a user. I use linux too, but much less now than formerly.

    2. Re:Sloppy? by bugg · · Score: 2
      I wonder, how sloppy would freeBSD development be if you synced your kernel hourly with the dev kernels? How buggy would it be? What does the interdeveloper mail look like in the freebad world?

      Synching hourly with -STABLE (the branch where tested development is done) would rarely cause problems. (Not to say you should be doing this) Doing this on the bleeding-edge -CURRENT will result in a level of success inversely porportional to how exciting the work being done is. They're working on SMP now, so it's probably not the best idea, but it is getting better with time.

      As someone who has tracked FreeBSD -CURRENT, linux stable, and linux development kernels, I assure you -CURRENT isn't anywhere near as bad. Usually. There's certainly always a heads-up before something really bad happens :) Sorry. The bleeding edge is always dangerous, risky, exciting, and fairly bloody, but I wouldn't say that it always is sloppy.

      --
      -bugg
  66. Such foolishness by StrawberryFrog · · Score: 3, Interesting
    Ok it's got to be said. In the words of whoever "source control is like brushing your teeth: you don't have to do it to all of them, just the ones that you want to keep."

    IMHO (very humble in this case as far al kernel hacking goes, but I have been writing software for a decade, using various source control systems for half of that) the fact that Linus doesn't use any kind of source control/version tracking system is immature, stupid, counterproductive and just plain wrong on his part. It's shortsighted that a project of that size and importance depends on the buddy-system (ie Alan Cox has the source as well, etc..) for backups and revision tracking. When I write a few 100's of lines of utility code that i intend to keep, you bet it's in CVS!

    No, CVS or other source control is not a magic bullet, you have to use it right. But if you don't have one, you don't even have a gun.

    I'm not saying he should have a CVS tree with every joe haxor and their dog allowed to write to it. But no version history and change tracking capability at all! Gibber!

    --

    My Karma: ran over your Dogma
    StrawberryFrog

    1. Re:Such foolishness by StrawberryFrog · · Score: 2
      There's plenty of change tracking capability. They call it the CHANGELOG.

      A changlog (e.g. "Fixed stuff in file foo.c - me) is no substitute for the ability to compare any arbitrarily selected versions of the file and see every single difference in the source. If you've used source control systems like you say, you'll know this.

      Please tell me that CVS server isn't on the same machine you just wrote the code on.

      Usually on Sourceforge, but sometimes just on a different HD. The source is always on at least 2 different machines, even in the CVS repository is only on one of them.

      CVS - I don't blame Linus one bit for choosing to stay far away from it yes it can be crufty. Maybe Linus shouldn't use that particular source control system. But that's missing the point in a big way.

      Microsoft SourceSafe is the worst My experience is that the UI is slick, version five has engine problems, but V6 is generally OK, but the functionaity is limited, but if you are only doing straightforward stuff and like paying for closed-source software that only works on Windows, with an undocmented and highly obfuscated backend storage format, it will suffice. (Suprisingly, this describes very many IT shops.) Your millage may vary.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

  67. Oh no! We might have to think about MANAGEMENT! by thenerdgod · · Score: 2, Interesting

    First of, Linus is Right. There, I said it. Why?

    Because 10 is the practical limit to the number of people any project manager can be expected to directly deal with. And five is 'almost perfect'. Now, I will agree that, from a technical standpoint, Linus might need a second, not just for the "Bus Factor", but also for sanity-checking sake, to help smooth out issues where others might complain that Linus is playing napoleon. "Well, Alan agrees with me, so suck it"

    I also think that we need to start thinking of development along honest PM guidelines. And Linus is right, here again. The maintainers for the various modules should be accepting and testing packages. OR, we need a set of people who will be responsible for various functional units of kernel design, a Portability Penguin, a Process Penguin, a Memory Subsystem Penguin, a Filesystem Penguin, a Networking Penguin, &c, who collect patches from the various maintainers. An org. chart where any single node has more than ten connections is useless, just as Linus suggests. These various, and God Help me, Project Managers, would be responsible for accepting patches and making sure they worked with the more core systems, and that things should be checked from whatever the most central modules are to the rest. And it all needs to be documented. There needs to be a Documentation Penguin, too. Dear god, people. Maybe we should all go read the Mythical Man-Month or something.

    But then, I'm a freak. You can't build a car in a Bazaar.

  68. Kernel leadership is backwards! by pdqlamb · · Score: 2

    (How many down-mods do I get for a catchy title like that??)

    I think the problem is that the developers are arranged in the reverse of how they need to be. Linus has chosen the role of point man for advanced development. All very well, it's his baby. But lots of people, like me, need a stable kernel. We want the ultimate sign-off to come from quality control. The problem is that QC is subordinate to Linus. The patch penguin proposal doesn't do anything to fix the problem.

    Ala Cox did a fine job on 2.2 as QC manager. Linus was off putting in new stuff. Trouble was, a lot of those neat new things never made it up to the quality needed for inclusion into a stable kernel. As a result, 2.2 stagnated somewhat, and when Linus decided 2.4's time had come, there was a major hiccup.

    Will the same thing happen to 2.4/2.5? I wouldn't bet against it, unfortunately. It looks like cleaning up the mess that Linus left (like the VM issues) is going to take a while. By that time, 2.5 may be too far ahead to incorporate new stuff while maintaining quality.

    If my thesis is right, what is needed is some way to bridge the gap between the development and the stable branches. Perhaps the "group of developers" can fill this, with the equivalent of a perl pump-king doing the final QC, with the final say as to what gets in and what doesn't. This would reduce the discontinuities when Linus says, "OK, now we're ready to start doing 2.6 or 3.0."

    Maybe it's a revolt, but isn't this a revolution?

  69. Vaporware vs. sourceforge-like deployment by Adam+J.+Richter · · Score: 2

    Nobody is stopping anyone from writing a kernel patch management system. Perhaps, after a dozen or attempts, somebody will write a system that is simple enough, fast enough and good enough by various other criteria so that enough people will gradually start using it in large numbers, just like sourceforge, slashcode, cvs or diff and patch.

    The likelihood that anyone will get it right on the first attempt is low. So, I think it would be courting disaster for the Linux kernel development community to commit to such a system in advance.

  70. /. remarks == loads of BS moded to +2 by Qbertino · · Score: 5, Informative

    Did ANYBODY on /. actually read the ML Thread on this problem the kernelpeople have?

    Rob Landley and Linux Torwalds aren't bashing their heads in on one another nor is ANYBODY of the Kernel Team about to 'dethrone' Linus. Whatever that may be.

    In fact Landley suggest a "Patch Penguin' to actually EMPOWER Linus in his actuall job as an arcitect of Linux.
    Linus in turn says that officially shifting patchin jobs to somebody else (the said Patch Penguin) won't save the problem of, for instance, people being to lazy to clean up their code dependencies.
    Linus wants to see a sort of 'web of maintainers' where everyone knows and works with a overseeable amount of others (just like he does) rather than a big patcheritis boiling around a main single/pair/group of developers.

    It may, IMHO of a absolute non-kernel savy guy, kinda boil down to the monolitic/modular kernel discussion that comes up every know and then.
    Then again, on the other hand I gather the impression that Rob Langley and Linus Torwals aren't that far apart in seeing the issue that needs to be addresses rather than seeing different ways of aproaching a solution to it.

    Anyhow, /.ers should read the actual thread before they post every instant and absurd mindfart that comes to them. Be it about jelousy amongst kernelhackers or Linus supposedly bossing around or whatever other sorts of utter bullshit.

    --
    We suffer more in our imagination than in reality. - Seneca
  71. except it doesn't work by poemofatic · · Score: 3, Insightful

    for software precisely because the "general to specific" heiearchy breaks down.

    It's not enough for Linus to wave his hands and say "we need a new VM", and then Joe hacker writes one.

    Joe hacker, on the bottom, is fixing typos and writing documentation. Actually, Joe Hacker is probably working on apps.

    The brigade commander, in your analogy, is writing the VM in bits and pieces. Linus has to go through it carefully and apply the diffs or not. Software is all about details. There are ways (e.g. modularity and interfaces) of splitting up the work, but only to a certain extent.

    Imagine a war fought almost entirely by the general staff, with their subordinates serving as assistants and sopport staff -- it's the reverse of your analogy: A small group of people at the very top write most of the code.

    --

    When in doubt, have a man come through a door with a gun in his hand.

  72. United we stand, Divided we fall by Sara+Chan · · Score: 2
    KDE and Gnome
    OpenOffice and KOffice
    Linus' Linux and ...

    So there is now talk of forking Linux.... I believe that almost everyone would be better off with a single open-source system. Sorry to those whose egos might be offended: Linux/KDE+OpenOffice. The rest waste OSS resources.

    Please think. Dividing weakens. Uniting strengthens.

  73. 1000 Bugs Per Hour and counting... by Christopher+B.+Brown · · Score: 2
    If everybody can throw their patch at the SCM, that increases the rate at which "crap" can be thrown at the kernel.

    This does nothing to help those that take on the task of seeing which "bits of crap" should stick, and which should be dropped on the floor.

    I don't see that SCM automation does too much more than accelerate the rate at which crap gets thrown at the kernel.

    As for the JVM-like thing, it seems unlikely to me that this would be fundamentally helpful. You would see performance really sucking, because DSP-like stuff (like image processing, audio processing, GUI rendering) massively benefits from being compiled for a specific architecture.

    --
    If you're not part of the solution, you're part of the precipitate.
  74. Bad idea, but feel freed to mod up, though. by Chris+Burke · · Score: 2

    After all, not everything that's (+1, interesting) has to be a good idea. ;)

    Anyway, you aren't actually accopmlishing anything but attaining buzzword compliance by slapping the
    "CVS" label on what is already occuring.

    Think about it. At any point in time, you are still going to have your patch synched against only one 'tag' of the CVS tree. Multiple patches are going to arrive with the same 'tag', none of the patches are going to be commited to the CVS tree (and trigger a tag increment) until they satisfy Linus. If multiple patches are submitted that conflict with each other -- well, you've done nothing to change that.

    In fact, there is no functional difference between what you describe and just downloading the lates kernel source and syncing your patch against that. Except it's called "CVS" instead of "kernel.org", and if the tags get incremented faster than kernel revisions then you've actually -increased- the amount of re-synching and re-submitting that needs to be done.

    --

    The enemies of Democracy are
  75. That's fine - as long as it works by DG · · Score: 2

    The high-tech "telepresence" stuff is great - when it is working. The US Army has had the luxury of fighting against opponents that have not had either the equipment or the desire (or perhaps failed to see the need to) disrupt the communications networks.

    Had Iraq been capable of jamming communications, locating and targeting transmitters, or throwing up a better deception plan, the Yanks might have had a tougher time.

    Not to mention that sometimes the damned stuff just breaks down. Radios will do funky things out in the bush.

    In my armoured recce troup, we used to practice communicating with hand signals and lights all the time. We assumed that any radio transmission longer than about a second would give away your exact position, and that any transmission _at all_ would give away that you were there, somewhere.

    The high-tech stuff is really, really nice when you can use it, but don't assume that it will always be availible to you.

    A few years ago, there used to be this NATO-wide tank gunnery competition called the Canadian Army Trophy. Part of it involved a move-and-shoot range where pop-up targets were shot at.

    When the Yanks first brought out the M1 Abrams, its thermal sight was better than anything anybody had fielded before. It was so good that it picked up the heat from the motors that lifted the pop-up targets - and the Yanks cleaned house.

    The next year, the motors on the targets were insulated, and a large number of fake-motor-heat-sources were seeded on the range. Suddenly, the fancy-shamcy thermal sights were feeding _disinformation_ - and the American performance dropped off considerably. :)

    The bottom line is that technology is no substitute for sound procedures. It may augment them, but it cannot replace them.

    DG

    --
    Want to learn about race cars? Read my Book
  76. The other major problem by devphil · · Score: 2
    The obvious correct solution is to modularize the kernel into subsections with clearly defined areas of responsibility, with a "mini-Linus" (who Linus trusts) granted control over each module.

    But we have to also obtain or evolve the techniques neccessary to make a clone one-eighth Linus' size!

    (Sorry, sorry, I'm just trying to see how quickly I can burn up 50 karma. :-) I agree with your analysis, by the way. It's very well put.)

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  77. Linus is advocating P2P and super Peers by Khalid · · Score: 2

    The model that Linus is advocating is in fact a peer to peer network with maintaines acting as super peers. This seems to be a sound way to scalability for me !

  78. a "mini-Linus" by hawk · · Score: 2
    but, but . . .


    my little sister, the Lynnette you mention, barely knows which side of the keyboard to use . .


    So why don't whe go for a mini-Alan instead. Someone must know a couple of Alena's . . .


    :_)


    hawk

  79. Sounds like ... by Lars+T. · · Score: 2, Insightful

    the Bazaar is getting crowded. To put it mildly.

    --

    Lars T.

    To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  80. Authority comes from trust, not competence by Anthony+Boyd · · Score: 5, Insightful

    ...although I concede that trust comes from competence. But what does this have to do with anything?

    If you're going to overhaul (or in this case, overthrow) an established system, you need to do it with much fear & trembling. Look, I see this all the time as a manager. A new project is given to a manager. That manager hires someone competent and works with that person to build something from nothing. If the project takes off, you can end up hiring a lot of people to help support that project. It is possible for all those new hires to be more competent than the original, lead developer. But that original, lead developer now has management's trust. That lead developer, who got the damn thing off the ground in the first place, has an opinion that -- like it or not -- counts for more than the other developers. You can call that unfair, but certain people are just better rounded than others -- they have social skills, they can explain things well, they understand the market pressures, or whatever. Not to mention that it's their baby and you don't fuck around with stuff like that. As a manager, if I stomp all over the lead developer's project, that lead developer may not want to lead the next project! Sure, I can call on one of the other people brought in to help, but those other people may not be leaders.

    I'm not saying that such an effort is doomed. But I am suggesting that, if you want to propose that Linus relinquish some authority, you damn well better have a value proposition for him. Shouting "this needs to be a democracy" is what you want, not what Linus wants. He's looking at that as a management nightmare, a removal of a power structure that is in place because, whatever it's faults, it was the structure that worked. If it doesn't work well anymore, you either have to convince Linus, or you have to convince everyone else to stop trusting the person in authority. That is a massive undertaking.

  81. Linus does not know CVS by Anonymous Coward · · Score: 2, Funny

    Linus doesn't use CVS or any source control system because he doesn't have a clue about how it works, and how cooperative software development should be done. Please stop giving him points for his ignorance. Period.

    BSD people have been doing very productive and cooperative software for years being based on CVS. It's interesting how they have created more stable and better quality code than the Linux community have achieved, even using the impossible-to-imagine decentralized structure.

    I really wonder why someone in the Linux community who actually have a clue on software management don't setup a CVS tree, give the right permissions to the maintainers and deprecate the dumb Linus centralized model. May it happen that guys as Alan Cox and Marcelo Tosatti are clueless about CVS as well?

    (sorry for the flamebait, it's just that this whole situation is too disgusting)

  82. Web of trust vs. certification authorities by Get+Behind+the+Mule · · Score: 4, Insightful

    The notion of trust seems central to this debate -- who can be trusted to apply patches that will make the kernel better? And it reminds me of structures for establishing trust in the world of cryptography -- who do I trust to tell me that this public key really belongs to the person to whom it's supposed to belong?

    The ideas about kernel patches being discussed remind me of the distinction between a "web of trust" and "certification authorities" in the world of cryptography. Certification authorities are the conventional means, which are used by the most popular web browsers. Some authority, like Verisign or Thawte, is universally accepted as trustworty, and if they sign a key, then it can be trusted. The web of trust was advocated by Phil Zimmermann and built into PGP, and AFAIK, PGP is the only context in which it's ever been applied (or even proposed). It's an attempt to reflect our everyday notion of trust -- I decide who I trust, on whatever basis I choose, and if someone I trust has signed a key, then I trust it. I can also decide if I trust people I don't know, if they are trusted by people I trust. There's no need for a central authority in a web of trust (although I might choose to include CAs in my web and trust them).

    Rob Landley is suggesting that we entrust the patch penguin with the job of filtering patches towards Linus, but Linus sees the PP as a kind of central authority, and prefers to have a web of individuals around hom who he can trust.

    Like Phil Zimmermann, Linus is arguing that his model is much more similar to the way that people decide to trust each other in real life. In the world of crypto, certification authorities have always been regarded with suspicion for reasons just like this -- why should I trust Verisign more than my friends? In the kernel world, Linus is saying, isn't it better and more intuitive to trust a group of people I know well, who can distribute the work amongst each other?

    The analogy breaks here a bit. CAs in the crypto world are suspicious because we don't if they're corrupt -- maybe they're full of Enron managers. In the kernel world, we need to trust maintainers with their skill and above all, ability to handle the workload. Corruption is not the problem (I hope not, anyway.)

    But, to take the analogy further, one should also note that PGP web of trust never really worked well as a practical matter. Most people using PGP had an island of people around them whom they trusted, with few connections outside of their immediate clique. I don't recall *ever* receiving a key from a stranger that was evaluated as trustworthy because of its position in the web topology.

    So I'd say that Linus has a point in saying that the web model fits our common-sense intuitions about trust. But if Rob Landley says that it's not functioning well, the experience of PGP gives some support to his argument.

  83. Theo de Raadt by swagr · · Score: 2, Interesting

    From what I know, the only way Theo eats, pays rent, or goes to the movies, is if he breaks his ass working on OpenBSD. I.e. it is his full time job and he takes it seriously. And the quality shows the the history of OpenBSD's security and reliability. Linus on the other hand has stated many times that he has a life outside of Linux and many other things to do. Fine. Linus, you are a better man than most, and we all owe you a great deal of gratitude. But now that people are using Linux in banks, hospitals, billion dollar companies, etc, maybe Linus should pass his hobby onto some people that will treat it like a profession.

    Sorry if I'm out of line.

    --

    -... --- .-. . -.. ..--..
  84. So how much good software is made by Congress? by Kjella · · Score: 2

    Frankly, I don't see there being much done. And hell, even when they make a desicion in congress, they send it off to some department that'll actually handle it. Guess what? You don't got any department to command around.

    Oh and democracy, for living in a democracy (and elsewhere) you usually pay *taxes* that fund that society. How do you support the Linux kernel? How many patches have you written? The reason you get the vote is because you go no choice accepting the government backed by the people, but you're free to not use linux even if you were the last one on earth not using it.

    And if you seriously believe people will fork the kernel here and there, I'd want something of what you're smoking. Quite simply the kernel needs a simultanious effort, one man patching it will realize the 100 other patches in another kernel branch makes that one much better.

    Kjella

    --
    Live today, because you never know what tomorrow brings
  85. what I'd like to know by doom · · Score: 2
    what I'd like to know is why their aren't any jokes here about Linus in the Pumpkin Patch?

    Slash kids just aren't up on the classics.

    Anyway: Larry Wall isn't stupid. There are reasons they use a pumpking in the perl world. Note: the pumpking is indeed expected to burn out, that's why they rotate the responsibility. The subtext of the dispute between Linus and Landley seems to be that Landley thinks Linus's job can be neatly split into a creative and a routine function, and Linus seems to think that this isn't so easy.

    Or maybe he likes doing the "routine" stuff too, and doesn't want to off load it.

  86. Re:CVS FUD by Alsee · · Score: 2

    The world is watching America, and America is watching TV

    ... and the only thing broadcasters watch are ratings.

    -

    --
    - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
  87. Time to test the free software/OS ethos... by Anonymous+Brave+Guy · · Score: 2
    If Linus wants to play architect, and concentrate on APIs, modularity, and scalability, great. If he wants to bundle components meeting his standard for stability, also great. But, if he can't do it all himself, he shouldn't try to prevent others from stepping in.

    Surely he can't, if all the free software advocates are to be believed?

    Reading the advocacy on /. and elsewhere, there are two points that come up again and again in favour of free software/open source ideas. Firstly, because you can see the source, you know you're not being screwed behind your back. Secondly, because you can develop from the source yourself, you can't be cut out of the loop; there's no "vendor lock-in".

    This is going to be a fantastic test of whether the FS/OS movement is for real, or just a hype machine driven by wannabe code wizards. If it's as solid a development methodology as people so often claim, if it's as robust a platform to depend on as people so often say, then no one individual -- not even Linus Torvalds -- can stop the movement.

    Linux lives or dies by the contributions of volunteers. If they don't like what they see, one day enough volunteers will get together to start work on an alternative, with organisation they do like at the top. They'll branch the code base, leave Linus behind, and go their own way. Linux will stagnate, and NewDifferentlyNamedFreeOS will replace it.

    Of course, whether that would be in the interests of the Linux community, or of Linus, remains to be seen.

    And of course, whether the concept above is even realistically possible, also remains to be seen. I guess this is where we find out if the much-evangelised benefits of FS/OS make the cut.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Time to test the free software/OS ethos... by renehollan · · Score: 2
      Well, human nature being what it is, I think it is understandable that Linus wants to retain some degree of control over "his" baby.

      The intent of my analysis was to determine just how much control is reasonable: certainly he can't stop others from forking kernel maintainance, nor should he try. But, his reputation should not be sullied by their failed efforts. And we all know that reputations depend on what people think, whether or not those thoughts are rational.

      So, some measure of limiting confusability of failed, or buggy forks with Linus' version, is important.

      Of course, a completely different line of thinking leads one to conclude that, since power corrupts, the power to control what other use should never concentrate without consent.

      --
      You could've hired me.