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.
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!
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?
That is why you have to have coding standards...
I'd also hope you never have 1 person in charge of 3M lines of code.
This could have been handled much better via a private message (or phone call) than in a public forum.
[Insert pithy quote here]
I maintained an open-source project for several years. Open-source developers are jerks. They never accept it when their code just isn't going in. I know they're all smart and I get really good contributions, but sometimes you aren't meeting the need. The overwhelming majority of open-source developers I have encountered are just that: jerks.
Kriston
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.
No, this pretty much *is* a definition of a "benevolent dictatorship".
Benevolent or not, a dictatorship is a dictatorship. It can be a great way to get things done (really, I think clearly establishing leadership is essential for establishing a coherent direction for a project...) but of course people won't always be happy under such circumstances.
Bow-ties are cool.
You forgot to use the word "inversely" in that statement.
Kriston
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.
Bullshit. The best programmers don't know if they're awesome. They just think everyone else is stupid.
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.
Yeah, and although this invalidates the original statement (that brilliant programmers have great egos), your statement still means that great programmers give everyone else a hard time. Especially when that belief that someone else is stupid ends up being wrong once in a while.
It has been said by a lot of people already. But anyway, thank you Alan for your work in the linux kernel.
your statement still means that great programmers give everyone else a hard time
Alright, I'll rephrase: great programmers think they're slightly above average, and they don't understand why other people can't solve problems that easily.
They won't say "use this algorithm because I'm the greatest". They'll say "use this because it's 20% faster and only uses half the memory". And if they're wrong, they're smart enough to realize it.
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.
The tty layer in Linux is really old. Not all of it, of course, but I would guess it's one of the oldest bits left in Linux. It doesn't need to be high performance, so noone has rewritten it for that. It is a bit brittle in general, and it interacts with e.g. hundreds of serial port drivers on almost as many architectures. Also, lots of applications use it, some of them with a long history on their own. POSIX and the Single Unix Specification have tried to standardize it all, but there's just too much ancient history.
In other words, slowly rewriting it as Alan was doing it WILL break things (which users will notice) and most of the improvement is just in prettier code and therefore less work for the kernel maintainers (which users won't notice). It will probably prevent the occasional OOPS as well, but those are pretty rare already.
Anyway, I'm not really a coder, I just read LKML.
Finally! A year of moderation! Ready for 2019?
Alan thank you for your contribution to the open source community!
Overall I hope Alan finds a new project, I suspect that his experience could really help all sorts of userland code.
Coders are stubborn and dislike being told how to do anything. No shame in saying shove it when its time.
Storm
A programmer with a big ego is more likely to write code that only they can maintain. So, I would have to disagree with your statement.
132.155.125.74.in-addr.arpa domain name pointer px-in-f132.google.com.
That said, who wants to bet we can find a google cache of goatse?
Check out my sci-fi/humor trilogy at PatriotsBooks.
"Please talk to the new tty maintainer whoever that ends up. I no longer
care."
You know what really gets on my nerves? When people say they no longer care, when in reality they do. If he really didn't care, he would have typed the first sentence and stopped.
Linux is a great product, and that is the result of the magnificent work of all the coders and contributers. But sometimes they just act like children.
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.
A tested IQ of 151... and you think IQ is related to intelligence?
The ringing of the division bell has begun... -PF
Basically, Linus' main role in Linux has been to initiate the project.
And manage it, that's huge. He still has the final say on any code that goes into the main line. Any serious kernel developer will have to at least tolerate him, which shapes the direction of Linux immensely.
In a fair world, refrigerators would make electricity.
To be fair, "I no longer care" is shorthand for the closely related "I no longer care enough to put up with the criticism" which is just a statement of cost/benefit analysis. He does care, but not enough to keep going, and that roughly approximates "I don't care".
Nostalgia's not what it used to be.
I would go further than that and say that there's something about "having a relentless ego" that tends to work against "being great". Having some kind of an ego can help. It can make you more bold and assertive and willing to pursue your own good ideas even when others are unconvinced. On the other hand, being unwilling to acknowledge your own mistakes and shortcomings leaves you prone to repeat mistakes. Also, having such a large ego that you're prevented from working well with others often ends up with sub-standard output-- because let's face it, we generally can't do it alone, whatever "it" is.
In this example, Torvalds may be brilliant, but he certainly hasn't built Linux all by himself, and it's very unlikely that he could have built it himself. In order to produce the Linux kernel, he had to work with others. And he must not always be too awful to work with, or someone would have forked the kernel a long time ago.
Solaris :)
you had me at #!
It's not nothing. The TTY module has lost a very talented maintainer.
OTOH, it's definitely not the end of the world, either.
I ONCE wrote a serial driver for an RS232C port on a CP/M system. This is my only right to criticize. For such right as it gives... Alan deserves full credit for many years of irritating work with a stupid messy standard. And *I* only had to interface three devices. I think that was the project that convinced me to never again touch assembler.
I think we've pushed this "anyone can grow up to be president" thing too far.
"Please talk to the new tty maintainer whoever that ends up. I no longer care."
You know what really gets on my nerves? When people say they no longer care, when in reality they do. If he really didn't care, he would have typed the first sentence and stopped.
You know what I find entertaining? People who are smart enough to see through a fairly transparent dysfunctional coping mechanism, and then continue to let it bother them after they've encountered it for the nth time. "Hey, he really does care! He's *lying* to us..."
Computers are useless. They can only give you answers.
-- Pablo Picasso
Precisely!
http://www.newscientist.com/article/mg20227115.500-humans-prefer-cockiness-to-expertise.html
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
If everyone contributed as much of their time as you have, the (open-source) world would be a better place.
Thank you.
I don't know the meaning of the word 'don't' - J
Assuming what Linus said is true, about Alan blaming user land code for problems he was responsible for, then Alan was clearly in the wrong. However, Linus is wrong to have taken him to task in such a public forum. If he had any sense, he'd have done it privately, and Alan Cox would probably still be the maintainer. There's more to managing people than simply "being right".
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...
Interesting. My information seems to be outdated then, and this invalidates most of my arguments.
Well said. About the only counterpoint is that a door which opens outward will tend to have hinges on the outside, making illegal entry easier.
Where I live, commercial establishments usually have outward opening doors for the safety of the large number of people that might need to exit in an emergency; whereas residential doors will have inward opening doors so that the hinges are not exposed.
far more often than technical challenges. This incident provides an enlightening view into Linux development. Working for someone with the social skills of a 13 year old girl, who doesn't actually pay you, never ends well.
"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
so now that you've beggard the question. why does linux have a tty layer? /.ers have never seen a tty. why emulate them?
i'd bet 3/4 of
> Miles and meters? WTF?
You get the point - until it's specified, your guess is as good as mine.
...and also so that it's easier to break the door down from the outside in case of fire or police emergency. This is not a coincidence.
"Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
Something Feynman said about working with "Monster Minds". The story goes that he's working on a lecture and progressively it gets revealed that some really important people (in physics and math) are going to show - including Einstein. So he starts worrying about what to do if these people start asking questions. Pauli is the first to stand up and say why he thinks the theory Feynman is presenting is wrong and ending with "Don't you agree Professor Einstein?". Einstein essentially says that the only problem he can see is that it doesn't agree with his theory about relativity but that's okay since there isn't much experimental evidence to support his theory.
;-) Still I like it as a rule of thumb.
This story has stuck with me about how criticism of ideas and especially criticism of ones own ideas are the hallmarks of the very intelligent. That said...any idea of this kind is bound by the "tyranny of small sample"
>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.
What drivel. Drag'n'Drop is the shortcut equivalent of 'Save File' in program 1, 'Open File' in program 2. It's a bunch of o' bytes. It makes absolutely no difference if the bytes come through the Drag'n'Drop route or through a file.
Why didn't the promise of OO happen?
I wasn't around for it. But I'd say it's just another example of cargo cult programming.
It's much easier to say you're doing something, and maybe to observe some of the rituals, than to actually do the work. A lot of people working in OO languages don't even know what constitutes real OO. And I don't blame them; most intro Java books, for example, just give little snippets of procedural code with an occasional OO gloss.
You can see the same pattern happening today with Agile development. Some people get great results by deeply changing how they work. Others hear about it, adopt a fraction of it, and still see improvement. Then a lot of other people jump on the bandwagon, watering it down to the point where it's worthless, but in the meantime turning a big profit on certification, training, and consulting.
Here's my theory....
I get paid WAY too much to just shut up and do stupid stuff. If they wanted someone who would just shut up they could find someone much cheaper.
So if my boss (or her boss, or her boss's boss) tells me to do something I think is stupid, I do my best to explain to them exactly what is wrong with that plan.
So I'll argue about it. I'll disagree with them. I'll be difficult. But the whole time I'm telling them I'm just being difficult because I think it's a bad plan, not because it's personal.
And there may be some reason I don't see that it's actually the right answer.
In any case, once I'm sure they've gotten the concept I'm trying to express, I let them decide - them being the boss - and I go do what they said. Sometimes they change their mind. Sometimes they tell me the reason it's the right answer. Occasionally they tell me that they agree, but their boss says do it.
Always fight the stupidity. Don't take the fight personally - but if you're in technology, the fight is part of your job.
The preferred solution is to not have a problem.
What I find interesting from a psychological perspective is the baseless optimism of the participants.
Do they think that in 1979 (or some specific date since) that Bill Gates stroked an imaginary 'Snidely Whiplash' mustachio and cackled over how he'd dominate the computer market and exploit people for his own wealth?
Do they really think that any corporate/government organization that represents the polar opposite to the Linux 'paradigm' - highly bureaucratic, stifling, top-down organizations - didn't START with a font of goodwill, like Linux?
What, precisely, did they think made their effort unique? Why did they actually think that Linux, as it becomes more relevant, wouldn't ALSO become a balkanized playground of ego, power, and territory-marking?
How many distros of Linux are there? And how many of them have forums filled with not just people who are talking about the postive aspects of this distro or that, but who display the fanboi-attack piranha behavior toward anyone that dares preferentially support some other distro?
Hey, I congratulate the guy for putting up with it as long as he did. He made a valiant effort, regardless of its futility.
But as far as what he was fighting? Q.E.D.
-Styopa