Slashdot Mirror


Alan Cox Quits As Linux TTY Maintainer — "I've Had Enough"

The Slashdolt writes "After a stern criticism from Linus, the long-time kernel hacker Alan Cox has decided to walk away as the maintainer of the TTY subsystem of the Linux Kernel, stating '...I've had enough. If you think that problem is easy to fix you fix it. Have fun. I've zapped the tty merge queue so anyone with patches for the tty layer can send them to the new maintainer.'" A response to a subsequent post on the list makes it quite clear that he is serious.

41 of 909 comments (clear)

  1. Thanks by Hatta · · Score: 5, Insightful

    Thanks for all the hard work. Good luck to the next maintainer. Not much else to say.

    --
    Give me Classic Slashdot or give me death!
    1. Re:Thanks by Deton8 · · Score: 5, Insightful

      After reading the thread on a mirror, it's important to note that after the argument, Alan and Linus continued to debate the technical merits of how to patch the bugs. The ongoing conversation was civilized and concise. Of course Linus is too much of a pompous ass to apologize to Alan for completely misunderstanding the problem and proposing dangerous and useless ways of fixing it, then arguing about it ad nauseum. Oddly, this doesn't seem to bother Alan or maybe he's just used to it. I don't personally care what happens to the linux kernel but let me suggest that any of you who depend on a stable USB stack need to take special note of whatever decision Linus finally makes.

    2. Re:Thanks by dotgain · · Score: 5, Interesting

      Not much else to say.

      How about "Nice work Linus, you'll have the entire kernel back to yourself any day now, I'm sure"

      Back three years ago I was sure I'd never leave. Now, I was no kernel dev, but I found out what it was like to try. In the meantime I grew up, and realised there's two sides to Linux.

      • The 'user' side, where you put up with limited, buggy and badly designed software, finding yourself grateful it even exists, and
      • The 'dev' side, where your success is proportional to the thickness of your skin. Your willingness to sit there and listen to argue with some other twit whose age you guess at 13 over something you know isn't furthering your project one bit. Oh, and telling people who post "I'm leaving" threads on the forum how wrong they are about everything, and how little their contribution was really worth anyway.

      Go and have a look at forums.gentoo.org, where you'll see both at work. I gave up too. For a long time I thought, through contributions and advocacy, I'd help Linux make some real headway in the Server and desktop market. Eventually I came to believe that it would never be big, it'd just mean more communities and more infighting and little real progress.

      So I'm sorry, Alan. I'm really sorry, but you've made the right move. Thanks for everything.

    3. Re:Thanks by abigor · · Score: 5, Insightful

      Former Gentoo and Debian user here...same experience exactly, except I actually did contribute code from time to time (well, mostly bugfixes). The Gentoo maintainers were particularly rude, and you had to pretty much be rude right back to convince them that what you had done was correct. Totally draining experience.

      In an offtopic note, I remember a sort of userland breaking point: I tried to drag and drop a jpg in a browser window (Firefox) to some photo editor. It didn't work. Macs and Windows have been able to do this since at least the mid-90s. I have no idea if you can drag an image from Firefox to the Gimp nowadays, and I don't care.

    4. Re:Thanks by KangKong · · Score: 5, Insightful

      I switched to *BSD 5-6 years ago, the reason being that the community was more relaxed and there was less politics. I've been really happy, the users are more informed and the developers are more eager to help out and less elitist. The best technical solution is chosen and there is way less "not invented here" attitude among the developers. The development is more structured and is not based on the opinions/goals of a single person.

    5. Re:Thanks by iserlohn · · Score: 5, Insightful

      The unstable ABI is the result of the kernel devs wanting for devices drivers to be in the source tree. The implication is that with a stable ABI, there would be no incentive to release source code and to include this code in the kernel.

      Windows H/W support from my POV is abysmal, and that is even with MS' at-all-cost backward compatibility culture. Creative's SB Live drivers do not work at all in Vista. They work fine on all recent versions of Linux distros. Because Windows is so widely used, H/W manufactures have to make passable drivers in order to get their product sold. However, once they are finished with selling them, you get situations like these in which old devices are unsupported. Normally this is ok as the backward compatibility works, but it doesn't all the time.

      From my point of view, the current Linux dev model for driver is the right way to go with the current state of things in the free software world. Having a stable ABI for kernel modules will fix some short term problems but cause long term ones in the dev model.

  2. Linus by Enderandrew · · Score: 5, Interesting

    Linus is brilliant. He is funny. Most days I really agree with anything he has to say.

    However, he has butted heads with people in the past. Perhaps this is just human nature and unavoidable from time to time. Linus isn't perfect, nor always right. I thought he was really unfair to Con Kolivas when he drove Con away.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    1. Re:Linus by Anonymous Coward · · Score: 5, Insightful

      I'm tired of that silly myth.

      The best programmers I have met were nice people and they were very easy to get along with and work with.

    2. Re:Linus by kriston · · Score: 5, Insightful

      You forgot to use the word "inversely" in that statement.

      --

      Kriston

    3. Re:Linus by TheWanderingHermit · · Score: 5, Insightful

      I've worked with programmers, actors, and people in many other groups where some think they can get away with being a prima donna. I have yet to meet anyone who was in top form in their field that I had to work with who really did have that attitude. I know some are out there, but overall, those that want to do something right are too concerned about what they're doing to pump up their own ego. Generally the best are the ones that know more than others, but because of that, they realize how much they DON'T know and that tends to keep them from getting those ego highs.

    4. Re:Linus by geekboy642 · · Score: 5, Funny

      Being smarter is a big factor in programming well. Being obviously smarter than those around you is, well, a major cause of huge ego syndrome.

      Don't you get a swollen head when you walk amongst dullards? Every time I see somebody pushing at the 'pull' on a door, I feel my disdain for others rising. When I stand behind a dunce in line, and hear him ask how many eggs in a dozen, I grow more sure of my position among the intellectual greats. When a waiter is unable to figure sums on his pad to give me a total, that I might reimburse him fairly for his service, I scoff at the fools that populate this world. In fact, in every day, in every way, the imbeciles I walk around cause my ego to grow nigh unto titanic proportions, certain I must be nearly akin to God Himself in my intellectual powers.

      And I can only program in Basic. Imagine those towers of mind that must be a C programmer!

      --
      Just another "DOJ fascist authoritarian totalitarian bootlicker" -- Zeio
    5. Re:Linus by Bill+Dimm · · Score: 5, Informative

      That's called the Dunning-Kruger effect

    6. Re:Linus by Enderandrew · · Score: 5, Interesting

      I'm reading the thread. This is my take.

      Cox -> submits code which apparently caused a bug
      User -> Reports breakage
      Cox -> Can't replicate breakage and asks user for debug info so he can fix it.
      User -> Says they don't know what to debug for, but is willing to work with Cox.
      Linus -> Jumps in and calls Cox's code a buggy piece of shit before any debugging took place, and before it is established if the code is buggy or not.
      Cox -> Continues to troubleshoot the issue.
      Linus -> Flames Cox personally and says Cox is unwilling to work on the issue.
      Cox -> Takes his ball and goes home, except in this case, it is OSS so he doesn't really take any ball with him. He just leaves.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    7. Re:Linus by Enderandrew · · Score: 5, Interesting

      I read the LKML for years.

      Ingo did write the new scheduler, at the request of Linus. Ingo didn't make personal attacks on Con.

      Linus was the one for years who said Con was wrong about scheduler theory. Ingo admitted Con was correct, but Linus wouldn't admit he was wrong. Linus asked Ingo to write a new scheduler, basically ignoring the one Con had submitted.

      When several people pushed to include Con's scheduler (which at that point was called Staircase) Linus made more personal attacks and wrapped it up saying that Con couldn't be trusted to support his work.

      Ingo had nothing to do with that.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    8. Re:Linus by ioshhdflwuegfh · · Score: 5, Funny

      Harry Truman used to say he didn't want to talk to experts because an expert was just someone who didn't want to learn anything more on a subject because if he did, then he'd find out he didn't know it all and wasn't an expert any longer.

      Yeah, Harry was a real expert on experts.

    9. Re:Linus by Hikaru79 · · Score: 5, Informative

      By his own measure, he says about 2% of the code in today's kernel is written by him, but about 80% of it goes through him before being included. It's unrealistic to expect any one person to have a significant percentage of Linux code literally belong to them, so it would be disingenuous to use that 2% figure as some sort of argument to undermine Linus' authority with regards to the kernel.

      Like him or not, Linus is still the man in linux kernel development circles, and for good reason.

    10. Re:Linus by dvice_null · · Score: 5, Interesting

      > I found myself pulling on a door clearly marked Push.

      That is actually just an UI bug in the door. If you want people to push a door, you should use a handle that is like a plate, where you can easily put your hand against and push it. If you want people to pull the door open, you need to use vertical rod as a handle, where people can easily grab on to pull it. With this very small change, you don't even need to push/pull texts on the doors.

      Also, doors should be always pulled when you go in and pushed when you go out. That makes exiting the building easier in case of emergency (people don't rush to the door and jam it, preventing anyone from pulling it open.) and also when people are trying to get in and out at the same time, the person outside is more capable of keeping the door open for the person going out (it is better that people first get out, before new people get in, because inside there is a limited space, while outside contains usually a lot more room). Also outside usually contains more room for pulling, while the inside often has a wall that limits the space for pulling, especially if you want to keep the door open for someone else.

    11. Re:Linus by raddan · · Score: 5, Informative

      BSD has terrible driver support compared to Linux.

      My experience has been exactly the opposite. It wasn't until Ubuntu 8.10 came around (having also tried Red Hat and Gentoo) that I found Linux's driver support to be acceptible. By contrast, my OpenBSD installs always worked for me out of the box. The only driver issue that's ever irked me there were USB-serial adapters. But the ease of configuration in OpenBSD has always been great, especially for wireless.

      Anyhow, it probably depends on what you're doing, and with what hardware. Just thought I'd throw that out there, though.

    12. Re:Linus by severoon · · Score: 5, Funny

      Let me take a shot at summarizing the summary...

      cox: have sum code lol!!!

      user: ur kung fu is weak my pooter crashed and it's all ur fault lame! :-/

      cox: i feex! i feex! -starts furiously working-

      A hush falls over the land, just then...

      linus: RAWR! I SMASH!!! -flames shoot out of every orifice; a baby is heard crying in the distance-

      cox: zOMG!!! -fills pants; amazingly, continues working furiously to "feex"-

      linus: BRAWR! YOUR SLAVISH DEVOTION TO OTHERS ANGERS ME forabsolutelynoreason BRAWR!!!

      user: wtf.

      cox: -terrified of linus-beast, with singed eyebrow hairs- I leev! -boogies out, stage left-

      bill gates (barely visible in background, deep stage right): -twirls mustachio-

      all users: srsly, wtf.

      me: -bows-

      --
      but have you considered the following argument: shut up.
  3. No gratitude? by isd.bz · · Score: 5, Insightful

    I see the tags 'butthurt' and 'whaaaaaaaaa', but no 'thanksforyourtime'. Why won't anyone show any gratitude for the years of work he's generously offered to the project?

    1. Re:No gratitude? by binary+paladin · · Score: 5, Insightful

      Because the slashdot crowd is composed mostly of whiner douche-bags. The rest of us are masochists so far as I can tell.

      After getting my head ripped off for mentioning that I liked operator overloading the other day, I'm trying to figure out why I still post here. I dunno if the crowd is getting nastier or now that I'm far removed from being a teenager, I see how bad it always was. I can't have a reasonable discussion on this site anymore without some asshat hijacking it and turning it into a flame fest.

  4. On slashdotting... by nweaver · · Score: 5, Interesting

    WHY can't lkml.org's mailing list retriever handle a slashdotting?

    Its not like the flashcrowds are all THAT big.

    --
    Test your net with Netalyzr
  5. Slashdotted - Google Cache. by Anonymous Coward · · Score: 5, Informative

    In before the Karma-Whores.

    "stern criticism" -> http://74.125.155.132/search?q=cache:http://lkml.org/lkml/2009/7/28/373&hl=en&strip=1

    "decided to walk away" -> http://74.125.155.132/search?q=cache:http://lkml.org/lkml/2009/7/28/375&hl=en&strip=1

    "quite clear that he is serious" -> http://74.125.155.132/search?q=cache:http://lkml.org/lkml/2009/7/28/378&hl=en&strip=1

  6. Requisite XKCD answers your question by Enderandrew · · Score: 5, Funny
    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  7. *It happens by stox · · Score: 5, Informative

    Time for all to give Alan a sound round of applause and thanks! The TTY subsystem is a gem thanks to his work.

    --
    "To those who are overly cautious, everything is impossible. "
  8. Re:Interesting... by $RANDOMLUSER · · Score: 5, Funny

    Everything.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  9. Re:Interesting... by schon · · Score: 5, Interesting

    ive jumped into quite a few projects replacing a previous programmer. Some were experienced and reading their code was really interesting, others were fired for being incompetent and I ended up rewriting most of their code.

    In any cases, the first few days, weeks or months depending on the size of the code are spent studying the structure rather than actually coding.

    The differences here are that A) this is an open-source project, B) this is a *HIGH PROFILE* open source project, and C) Alan was the maintainer, not sole coder (so he both coded, and accepted patches from others.)

    It's possible that Alan was the only one who knew anything about the TTY code and how it worked, but I'd doubt it. I'd be really surprised if the new maintainer comes into the role cold.

  10. In other News . . by Anonymous Coward · · Score: 5, Funny

    Alan Cox announces he will maintain Slashcode: "After this, it will be bloody easy to maintain the Slashcode codebase."

  11. Re:Open-Source developers are jerks by Hatta · · Score: 5, Insightful

    The overwhelming majority of people I have encountered are jerks. That's nothing open source developers, or any kind of developer, has a monopoly on.

    --
    Give me Classic Slashdot or give me death!
  12. Rarely the diplomate by Anonymous Coward · · Score: 5, Insightful

    Yes, indeed it could have been. But unfortunately that's Linus' modus operandi and we all know from long experience that while a great programmer, his ego is far too big to allow him to apologize publicly in the same fashion in which he slammed Alan. Quite unfortunate really since both are quite talented individuals.

    You can't expect to publicly berate people and have them bow to your every demand and not have it backfire on you at some point.

  13. Thank You by dburkland · · Score: 5, Insightful

    Alan thank you for your contribution to the open source community!

  14. Linus was right by microbee · · Score: 5, Insightful

    As always.

    The argument started when someone found the tty layer had a regression. Linus cares about regression deeply. His basic philosophy is old bug is better than new bug. If a fix introduces a new bug that breaks a real world application, then the fix should be reverted and a better fix should be worked out.

    This ensures predictable behavior of an OS that you can actually rely on, and better release management.

    Alan didn't think so. He thought his fix was too important to be backed out, although it introduced a regression. Linus was frustrated that he had to explain to Alan, a long time Linux hacker, about the rules. And that's where Alan got impatient too.

  15. Re:Not very responsible either by PeterBrett · · Score: 5, Informative

    First of all I am very greatful for everything he did. I know he contributed a lot. Hope the handover will be more than this emotional message: "Please talk to the new tty maintainer whoever that ends up. I no longer care."

    You'll be pleased to hear that not only is Alan helping with the handover, he's been providing some constructive criticism about the way the bug is being fixed now Linus and a few other people have turned their full attention to it.

  16. Re:So long and thanks for all the code. by AuMatar · · Score: 5, Insightful

    If Alan Cox wanted to work at Apple, it would take 1 phone call. Devs like him don't have problems getting hired. I don't know if he's been working on FreeBSD or not, but if so that isn't the reason.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  17. Re:So long and thanks for all the code. by phoxix · · Score: 5, Interesting

    Actually, and bizarrely enough, there is a high level FreeBSD developer named Alan Cox too

    http://en.wikipedia.org/wiki/Alan_Cox

  18. Re:hmmm... by UnrefinedLayman · · Score: 5, Funny

    3) why isn't Reiser 4 in the damn kernel already?

    I'm ready to scream bloody murder over it not being included yet.

  19. Re:Could anyone shed some light... by cryptoluddite · · Score: 5, Informative

    The details are that TTYs in general on any *nix are a huge mess with lots of complicated interactions and weird historical behavior that doesn't make sense. The linux tty stack for a long time was a huge clusterfuck. Now thanks to Alan it's just a normal clusterfuck. That's the context for this incident, which basically happened like this...

    Some dudes: there's a bug in the ttys
    Alan: ok lets fix it
    Some dudes: here's a patch
    Alan: that patch breaks a dozen other things
    Some dudes, Alan reject a bunch of solutions
    Alan: we can fix it with a hack, but it breaks emacs. Emacs is relying on unspecified behavior, so it can go suck an egg.
    Linus: well it SHOULD (sic) work like this, and emacs is too holy to break. This problem is easy, are you a retard?
    Alan: look we can hack it and break emacs, or do a huge rewrite
    Linus: hacks suck, linux should be awesome in every way. Also, your code smells
    Alan: it's going to take forever to get this right
    Linus: then revert the patch that introduced the bug
    Alan: that patch was applied years ago and removing it would break a dozen other things. You didn't think I'd think of that? Who's the tty maintainer anyway, jackass?!
    Linus: I don't like your attitude
    Alan: Then fuck off I quit!
    Linus: Oh yeah did I mention your code smells?
    Linus: and let me quote you something you said earlier, so I can show what a bad attitude you have.

    The TTY and serial line code is basically a huge Rube Goldberg machine and Linus was telling Alan to tweak something somewhere in the middle of this huge contraption. Having followed the TTY code a fair bit, I totally side with Alan on this. It's a miracle that it even works, and not something you can just stick your head in and give advice about how to fix. Also, if Linus is so concerned about proper behavior for user space programs maybe he should take a look at ioctl... because it's completely screwed up in linux.

  20. Re:Slashdotted - Google Cache the real links by squizzar · · Score: 5, Insightful

    I sometimes wonder if it's the very public nature of Linux (and much open source) development that gives that creates this impression of everyone acting like children. I've heard plenty of people describing working environments (no matter the expertise) that sound exactly the same as this, it's just that no one outside the company will ever see it. It's kind of a software development soap opera...

  21. Re:Open-Source developers are jerks by hey! · · Score: 5, Insightful

    When I was in college, I was in a volunteer group. I took a project leadership position, and I was warned that the people volunteering for us were unreliable and unpleasant to work with. Later I was pleasantly surprised to find that not to be the case. Of course people did mess up from time to time and sometimes people found themselves over-committed, but on balance I found the volunteers cheerful, eager and reliable as I could reasonably expect under the circumstances.

    I found other project leaders would talk about *the same people* I worked with successfully as if they were totally unreliable. What was mystifying is that I am so *not* a nice guy. I'm not a *bad* guy, either, but I'm kind of gruff and impatient, and I don't mince words either.

    So I watched how *they* managed volunteers, and compared to how *I* managed volunteers.

    I'd say, "Can you do such and so on Saturday? You'll need to show up at noon and stay until four. You can? Good. Do you want to scare up some helpers or would you like to take care of that? Great, thanks. Give me a call if anything changes."

    They'd say, "Look, we really, really need somebody to do such and so. I know you're *so* busy, and I really hate to ask you to do this, but nobody else can and we're desperate. Can you, PLEASE? Really? Are you *sure*? It'll be a disaster if nobody shows up so I really need to know for sure. Really? OK I know this is a HUGE sacrifice for you."

    The conclusion I came to was that the other guys were trying way too hard to be nice, and so they were failing on an epic scale. It didn't even *occur* to me to try to be nice, and so I didn't commit any of their horrible mistakes.

    I think the problem with the phony "nice" approach was it demonstrated lack of respect in so many ways. First of all their attitude practically radiated their lack of confidence in the volunteer. They assumed the volunteer didn't want to volunteer, and would volunteer just to shut them up (probably true) and then not show up (also often true). They assumed the volunteer would be swayed by flattery (you're so busy), guilt (it'll be a disaster if you don't show up), twisted pride (this is a job so horrible nobody but you would consent to do).

    It's hard not to step on that disrespect third rail now and then, but these guys were jumping up and down on it from the get-go. It's ALWAYS a mistake. If you want a guy to leave, you should just say, "Sorry, this isn't working out. Let's move on." Getting snarky on them just means they'll stay and work like malcontents.

    Linus's post is perfectly understandable. I don't think it shows towering ego and arrogance. We all get exasperated now and then. He's trying to be nice about it, but he just can't help himself. He's only human. It doesn't *matter* whether he's right or wrong, he let his exasperation show. When you're on the receiving end of that it comes across as disrespectful. Sometimes *trying* to express your exasperation *nicely* is even worse. It's patronizing.

    One thing I learned is that people will do good work for no money before they'll do good work for no respect. And the best people won't work at all without respect.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  22. Re:Drag'n'drop by lennier · · Score: 5, Insightful

    "Once you can drag and drop one thing then you want to be able to drag and drop anything. In the case of arbitrary file formats not only must you implement code to check the incoming data stream (thus exposing yourself to all of the security considerations of "how many different ways can someone try to wax my process of checking the incoming data stream?") but you must consider that a data stream which is valid using one codec algorithm may cause a fault using another codec algorithm."

    But isn't that precisely what object orientation was invented to solve? To find a way of unifying data transfer between absolutely everything, everywhere, by sending not raw data but objects which could then be queried to ask things like 'what kind of thing are you?' and 'give me your data in Format X, Y or Z which I can read'.

    Drag and drop to me is one of the acid tests of 'do you actually have a functioning object model?' And pretty much every GUI OS, including Windows and OSX, fails this: drag and drop works in many places, if the developers have jumped through hoops to but not all; there's no way to universally query ANY object and do stuff with it. The only exception I can think of is, perhaps, Smalltalk/Squeak (the original OO system) with its direct-object-manipulation interface.

    Why didn't the promise of OO happen? We got COM objects instead which seem to do almost precisely the opposite: be very brittle, add a whole layer of complexity, and only make sense inside huge frameworks which can't be split up into objects. C++ seems to be the anti-Smalltalk in almsot every way and yet it still gets to be called 'object oriented'. How did we allow such confusion of language?

    I don't agree that the answer is 'drag and drop is far too complicated and you shouldn't be trying to do that'. We should say 'hey, this poses interesting questions about why our fundamental operating system models are, in 2009, still broken even by 1979 standards.'

    --
    You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
  23. You missed one point: Linus was right by MikePlacid · · Score: 5, Insightful

    >Cox -> submits code which apparently caused a bug
    >User -> Reports breakage
    >Cox -> Can't replicate breakage and asks user for debug info so he can fix it.
    >User -> Says they don't know what to debug for, but is willing to work with Cox.

    Here they have found the bottom issue: emacs was expecting some reasonable behavior from the kernel: data delivery before notification of producer's termination. The behavior was broken.

    >Linus -> Jumps in and calls Cox's code a buggy piece of shit before any debugging took place, and before it is established if the code is buggy or not.

    Hello? The code broke a reasonable expectations of its users. Not buggy? That's technically is a DEFINITION of a bug.

    >Cox -> Continues to troubleshoot the issue.
    >Linus -> Flames Cox personally and says Cox is unwilling to work on the issue.

    Cox was proposing some strange solutions.

    >Cox -> Takes his ball and goes home, except in this case, it is OSS so he doesn't really take any ball with him. He just leaves.

    Then they had a technical discussion, and it appeared that Linus was right.