2.4 Maintainer Marcelo Tosatti Answers Your Questions 287
1) list of changes for the common folk
by e40
One thing that is really missing is a list of changes in each kernel release that is meant to be consumed by the masses. The "changelogs" that are offered up are sorely lacking for us non-kernel hackers. What I'd like to see is a prose description of the changes in each version. Something like Release notes for 2.2.18 by Alan Cox [linux.org.uk] is a step in the right direction, but some of it is even a little too technical. For example, in the above document, set_current_state
* Fixed potential SMP race
means little to me and probably a lot of other people. Under what condition does this occur? The question why should I care about this change? should be answered for each entry.
How do you feel about doing something like this?
MT: I agree on that the changelog is "not for end users."
As I've seen several requests, I'll try to do more extended changelogs.
However, please note that right now I'm giving higher priority to fixing problems than to writing extended changelogs.
2) diary
by Lennie
Do you have a diary, like Alan Cox we can read?
Because we all like to know, if you'll actually be doing what your gonna promise now :)
MT: No I don't, sorry...
3) Kernel growth -- is it a problem?
by connorbd
While I am a passionate Linux supporter, I have also come to the conclusion that kernel bloat is likely to be a major issue fairly soon. It appears to have been the case for some time that =486 systems Need Not Apply, and Red Hat in particular has become a rather memory-hungry distro (it won't even install on my 16MB Pentium system, though I doubt this is really a kernel issue). The end result is that Linux seems slowly to be growing out of the lower-end used-server-in-a-closet market that helped it get so big in the first place.
My question: I presume kernel bloat, both in terms of code size and resource demands, can impact heavily on maintainability. Do you see this as a significant issue for the future, how much of a problem is it, and is it something that can be easily addressed without tearing apart the code base and reorganizing it from the ground up?
MT: Core kernel bloat is a _very_ bad problem. However, I'm pretty confident Linus is not going to allow that on 2.5, though.
About more drivers/fses being added to the kernel, well, thats a bad problem for maintenance.
All we can do about it is to make sure all accepted code to the kernel is clean, simple, and well designed to make maintenance easier later...
4) code control
by brer_rabbit
Have you thought about putting your changes under some sort of version control software? If you started putting the kernel/patches under CVS, maybe the rest of the kernel crowd would follow.
MT: I'm releasing pre patches now pretty often. However, I could export my local CVS, yes.
I might do that in the future.
5) Any plans to improve documenting the kernel?
by Carnage4Life
Currently the Linux kernel is filled with functions that are either poorly documented or completely undocumented. One of the purported benefits of Free Software is that many developers can jump in and help yet when you have functions like __free_pages_ok [linux.no] in page_alloc.c that are important, complex yet the only comment is:
"Buddy system. Hairy. You really aren't expected to understand this."
Doesn't this somehow defeat the point of the source being available in the first place? Basically the question I have to ask is this, "I have flirted with the thought of sending comment only patches to the kernel to further help people understand certain subtleties (e.g. why the pprev and next pointers in user_struct are not what they seem) in the source code especially CS students who are learning about the kernel in operating systems classes. If someone were to start such a program would such patches be accepted into the kernel?
MT: Yes, I would accept such patches as long as I agree with the documentation _and_ as long as I have time to read all patches :)
6) A pretty generic question
by archen
How do you view Linux in the scheme of things? Mainly where do you think the niche of Linux is now, and where will it be years from now. How do you view the direction Linux tends to be taking compared to other OS's (Windows XP, FreeBSD, etc) - ["direction" is up to what ever you personally interpret it to be BTW]
MT: Linux has a lot of "niches": the embedded market, the home users market, the enterprise market: Handling all of those "niches" in the best possible way is a very nice challenge.
I don't see any "direction" to Linux, though: It can work well on several niches.
7) Why you?
by CmdrPinkTaco
This is not intended as a flame or a troll, more of an interview style question. I figure since we are the people who are putting our trust in this person to handle *our* kernel, that this should also be our chance to learn about the person responsible.
What makes you think that you can handle maintaining the Linux Kernel? What qualifications do you have and why should we (the people) trust you with the Linux kernel.
I realize that this is actually two questions, but they more or less go together in one answer.
MT: I think they chose me because I can deal with different people without ego fights. I usually avoid conflicts and instead I try to solve problems.
About qualifications: I've been working at Conectiva for some time (4 years) as a software developer. I'm working together with technical support, which makes me have an idea of usual end users problems/needs.
8) Patches
by return 42
Linus likes very small patches, everything broken down into little chunks of functionality. Alan is ok with bigger patches. What do you like and dislike in the patches people send you?
MT: I prefer patches which touch specific things only: what I really hate are patches which touch several kernel parts.
9) CML2, cvs, kdb, crypto and more
by iamsure
If during the course of your maintainership CML2 proves very successful (as I beleive it already has) would you consider using it instead of CML1?
Also, would you consider moving crypto into the main tree in the near future? Debian has, Redhat will "soon" ...
Would you consider using bitkeeper, cvs, or even complete changelogs with proper attribution of WHICH merges took place?
And finally, would you consider FINALLY bringing kdb into the main kernel? Linus doesnt want it, but he doesnt want it because he doesnt see the value. He didnt say he banned it ...
MT: About CML: Sure, I may consider including it in the future. Not now, though.
About crypto: I want to be out of legal problems. Sorry.
kdb: Maybe. Not now, though.
10) Alan Cox and politics
by melquiades
Alan Cox's stand on the changelog is clearly not only a matter of personal protection, but a political statement. He has chosen an issue that is tremendously important to Linux, free software, and software developers everywhere, and certainly it's right for him to be pursuing it.
But is the Linux kernel the right forum for politics? Do you feel that it's a bad idea to involve the kernel in politics -- a slippery slope in which the software itself becomes a political pawn? Or would you say that the kernel -- and all software -- has already become a political pawn, and Cox's actions are entirely justified given that free software's existence is under increasing threat?
MT: I'll try to avoid involving the kernel in political questions.
11) Sound drivers
by BlowCat
The sound drivers are very poorly written. A lot of code is duplicated. Not all drivers support some ioctls. Every driver has its peculiarities, e.g. some drivers reset dsp to mono, 8bit on DSP_RESET, some don't. Some support /dev/audio, some don't.
Not having ALSA in 2.4.x means no good sound support in the stable kernel for another year of two. Do you plan to integrate ALSA into the 2.4 branch? If yes, will it happen after it's done on the 2.5 branch?
MT: I do not plan to integrate ALSA on 2.4.x.
12) How do you plan to handle the big companies?
by hansendc
As all of us know, many large companies are putting large amounts of resources toward Linux. 2.4 will continue to be important to these companies because it is the version currently being shipped with the distributions, and will continue to be shipped for at east a year or two.
How are you going to deal with the submissions from people like IBM and SGI who are going to want to make significant changes to 2.4?
MT: If their changes are non intrusive and I agree with the way they are coded, sure I'll apply them. Why not?
13) Stability vs Features
by azaroth42
How do you intend to decide which new patches should be added to 2.4, the stable tree, and which are not to be included as being more appropriate to just 2.5, the unstable development tree? For example, do new or updated device drivers rank more highly than VM updates?
MT: I'm really trying to avoid new features which are intrusive: Those ones are for 2.5.
New features which are non intrusive are OK.
14) Threads
by Exmet Paff Daxx
What are your thoughts about threads? Specifically, do you support Linus's "Context of Execution" generality with clone() or are you going to focus more on plain POSIX pthreads compliance?
Any chance of Alan Cox's multi-threaded post-mortem debugging patch which dumps multiple core files for each lightweight process (LWP) making it into the kernel? How about support for post mortem debugging of multithreaded core files in general (right now there is zero support).
Any rants about threading as a general topic would work.
MT: I do support Linus's "Context of Execution" idea, yes.
About Alan's multi-threaded post-mortem debugging patch: I haven't read it yet. But I might apply it.
15) Age a question?
by debrain
If what I've read is correct, you are the youngest maintainer for this kernel. Do you have any feelings on a social level, regarding much of the peer review and critism will come from people who are older? (and very possibly set in their ways, and potentially intimidating)
MT: I don't have any feelings wrt age. I just hope that older people don't take that into account.
16) Expectations
by MikeBabcock
In the time you've been aware of or been using Linux, how have your expectations for what it ought to be or eventually become changed? I know in the time I've used it I'd never expected it, for example, to become a desktop OS but rather a good server or embedded product. What did you expect when you first started with Linux, and what do you expect now?
MT: I expected it to be a server system when I started using it.
Now I expect it to be a Unix system which can work in a lot of different environments. :)
17) Hit by a bus
by moonboy
I'd hate to stray from the status quo where standard interview questions are concerned, so in keeping with it, I ask:
What's it like knowing that, if (God forbid) Linus and Alan were hit by a bus, you might be "The Man"?
Hey, someone had to ask.
MT: I don't know, dude.
18) Re:Do you use a distribution?
by bfree
To rewrite the above question the way I'd like it asked:
What operating systems and platforms do you personally use and which ones do you also use (and why)?
MT: I use Linux for work and sometimes I use Windows to play games.
Do you run a common environment on all your machines (in as far as possible) or do you run different things in different places and which environments do you prefer for what?
MT: I do run Linux on all of my machines. I like to take a look at other OSes when I have time...
What development tools do you use (especially for the kernel), would you do anything differebtly for the kernel (like make it compile with other compilers) if you could (or will you) and would you like to (or will you) place the Linux stable kernel into CVS or another version control system?
MT: I use vi for editting source code and gcc to compile the kernel. :)
No, I'm not going to put the kernel in any kind of version control system because I have to know what goes into the kernel.
One thing which I'm going to do, and which matters, is the use of STP in each -pre release of the kernel.
I hope the SGI guys can get STP stable and working well soon.
Do you feel any personal preferences for anything might actually be in anyway reflected in your work as the stable kernel maintainer?
MT: No.
Do you have a good lawyer?
MT: No. Actually, I don't have a lawyer at all and I hope I'll never have to use one on Linux related issues.
Are you planing on travelling to the U.S.A.> (for all I know you live there, excuse my ignorance:-)? [Note: Marcelo lives in Brazil.]
MT: No. I may go to some congress, though. Not sure yet, though.
Have you experience dealing with politicians, business leaders and large groups and do you see this as a part of your job description? MT: I do not have experience dealing with politicians, business leaders or large groups. I see that as part of my job description, yes. I hope I can learn that with time...
When you stop maintaing the stable kernel, what would you like people to be saying about your reign?
MT: That it works well. ;)
Interview suggestion... (Score:1, Insightful)
That gives you guys an easy interview, and we get our questions answered straight up.
Anyone else interested?
Mods that are interested, mod me up (don't worry, I'm at the cap).
Priorities... (Score:5, Insightful)
Poor/Incomplete/Out of date documentation is the Achilles Heel of open source.
What people will say (Score:4, Insightful)
Nothing. The less that ends up being said, the better a job he's done.
"Worst... Interview... Ever!" (Score:2, Insightful)
Come on! This guy is the kernel maintainer? I know I will probably get modded down as flamebait because I am not singing his praises about being concise and to the point, but that interview was awful! I can't believe he is suppose to be the point of contact of anybody (read IBM, HP etc) that want to submit patches to be in the 2.4 tree. It looks like he spent about 10 minutes answering these questions, I can only hope he takes his job maintaining the kernel seriously. This interview certainly doesn't instill confidence in his ability to maintain the tree.
Kernel bloat is inevitable. (i.e.: Stop whining.) (Score:4, Insightful)
- A.P.
Inconsistent answers re: revision control? (Score:4, Insightful)
However, I could export my local CVS, yes. I might do that in the future.
And then, to Q18:
No, I'm not going to put the kernel in any kind of version control system because I have to know what goes into the kernel.
Last time I used it, CVS was a version control system. So, am I the only one to think this question can't be answered with "yes" and "no" at the same time and still make sense? To me, this is just plain weird, and if this was a "real" interview, I'd think bad thinks about the interviewer. Now I guess I'll have to settle for the editors, as a few others in the thread already have. Heh.
Re:"Worst... Interview... Ever!" (Score:2, Insightful)
I hope I don't need to spell it out any more clearly for you
Re:"Worst... Interview... Ever!" (Score:4, Insightful)
Why judge the guy's ability to maintain a complex technical work like the linux kernel based on an informal non-technical interview?
I am willing to bet that if he was asked to explain how various parts of the kernel work together, that he could give a very reasonable answer, that would leave you with no problem understanding how it works. Now that would be a good base for his ability to maintain a kernel.
Re:Inconsistent answers re: revision control? (Score:2, Insightful)
Obvious (Score:4, Insightful)
What he said is that hes Not going to make a writable cvs available to anyone else: all contributions will have come come as patches in email.
In summary he gets cvs and you dont.
Re:Code style? (Score:2, Insightful)
/* Accepted */
int min_value, max_value;
minvalue = 2;
max_value = min_value + 2;
Re:"Worst... Interview... Ever!" (Score:3, Insightful)
But it would be nice if he could show that he is, oh, *human*. With guys like him giving representing Linux, no wonder computer ppl have the image of humorless, socially awkward children. I mean, a simple lighthearted question about how it "feels" to be in the position he is in, and he has no idea? WTF?
Believe me, I'm not looking for a friggin dissertation coming from him, but it might be nice to see that a computer person can speak and act like a human.
Probably too much to ask for though.
Re:Kernel bloat is inevitable. (i.e.: Stop whining (Score:4, Insightful)
being able to say it runs on a 386/486 has always been a great way to get the point across. Sure we can say 'it runs on a p90! but that just doesn't have the same kick.
Personally I don't have a problem with slow obsolence 10 year old hardware support in the 'newer' kernels, as long as its only with hardwaare at least 10 years old. To do obsolence of support any quicked pputs us in the samw league as MS. meaning we can't point our fingers t MS and say "See they made you buy new hardware, AGAIN"
Re:Kernel bloat is inevitable. (i.e.: Stop whining (Score:3, Insightful)
The thing is that I would never dream of using a 486 to surf the net, send/receive e-mail, play games etc. But I DO use a 486 as the router for my network.
Why would I want to put a fairly modern machine in charge of something that doesn't require it?
I love the fact that I can install slackware on my old 486 and have it forward packets for me. If Linux didn't run on it I would have to have used one of my celeron boxes that I instead gave my kid. What a waste that would have been!
--
Garett
Re:"Worst... Interview... Ever!" (Score:3, Insightful)
If I was submitting code this is exactly the sort of response that I'd most appreciate.
old machines just becoming supported today (Score:2, Insightful)
I have an active interest in Linux on Nubus PowerMacs. They were new in the 1994 era. Support for Linux on these machines is still spotty, and you have to jump through hoops to get something to work. However, it is a perfectly adequate machine once you get done.
One might have to build a custom kernel to fit within the limitations of the hardware. But it's a case of only the newest kernel being able to run on the old hardware at all. I'm glad that people are actively developing for it, otherwise I'd be unable to learn to use Linux because I don't have new hardware available.
Re:Kernel bloat is inevitable. (i.e.: Stop whining (Score:5, Insightful)
It does run fine on 368/486 - if you run the software appropriate for that system. KDE2 is gonna suck goat balls, but so is XP. The difference is, you can trim down Linux to work great. On a 486, you can use Blackbox, on a 386, I'd stick with textmode apps - there are plenty of good editors, browsers, etc, still in active development for textmode in Linux. Significantly fewer for XP (and many of them are "Unixy" things like shells and telnet clients).
Use a setup appropriate to the hardware, and Linux works fine... the Jailbait distro (so named because it's under 16 megs, haha), is very full featured, and there are "routers on a disk". Also, don't forget that 2.0.36 and kin are still out there, downloadable and usable. Unlike Win98, which just went unsupported and realistically unavailable, old *and* stable kernels are available. And then there are specialty forks - I think the one for the 16 Mhz Dragonball processor is an amusing example (a.k.a., Linux on Palm).
--
Evan
Re:Whelp... (Score:3, Insightful)
Re:Code style? (Score:1, Insightful)
int min, max;
min = 2;
max = min + 2;
the _value is completely unneeded, min & max is unambiguous, so no need to append _value, it just takes up space and does not improve readability in any way.
Embedded use (Score:4, Insightful)
If Linux is going to be suitable for a wide variety of niche markets, it needs to be scalable down as well as up.
Re:Priorities... (Score:3, Insightful)
Not in the kernel, it is not.
Documentation as the Achilles heel is end-user documentation. Developer documentation is a poor poor substitute for the source. Any problem can be traced through the kernel calls, flow charted, etc. There is no problem there. The source is critical, documentation is just about making it a little easier.
For the end user though, you cannot have an expectation the user will ever read the source, so documentation becomes important. I think you can strongly argue the kernel documentation is utterly irrelevant to the end user, though. Quite whining and "Use the source"
Linux Dude #3 uses windows.... (Score:4, Insightful)
I can't that you can blame him, personally I don't run windows, but I also don't play many games... However, almost all of the really good games at the moment are either console or PC only.
Most of the rest of the interview was pretty much what you would expect anyone to say, this is the only bit that jumped out and said "boo" to me. If we can keep him to his promises though Marcelo looks to be every bit as good a maintainer as Alan and Dave.
Re:Alsa? (Score:3, Insightful)
As I understand it, it's not a problem with OSS being wonderfully advanced or with ALSA being buggy, but just that ripping out the core sound code and replacing it with ALSA in a stable kernel seems like more work than it's worth, especially when it's pretty easy to build the drivers as kernel modules 'outside' of the kernel.
That said, I'm STILL looking forward to seeing ALSA go into 2.5...
Re:"Worst... Interview... Ever!" (Score:2, Insightful)
He's a Kernel maintainer, not a celebrity -- and he acts accordingly. Cool.
Re:"Worst... Interview... Ever!" (Score:2, Insightful)
Ah, cut the crap! Where do people get the attitude from, that the kernel developer owe them anything? He did this on his free time as a hobby. Sure, now he's getting paid for it and is famous and all, but that doesn't mean that he has any special responsibility in advancing the "only viable alternative to a desktop OS."
People, please don't be so uptight!
Re:"Worst... Interview... Ever!" (Score:3, Insightful)
The question was completely niave, but Marcelo being the diplomat that he is did not want to point this out and embarass moonboy.
The question assumes that Marcelo is not currently "The Man" when in fact Marcelo is quite clearly "THE Man."
Re:Kernel bloat is inevitable. (i.e.: Stop whining (Score:3, Insightful)
Many programmers (yes, I am guilty too), take inexpensive hardware as license to write ineficient code. So what if the end user needs more RAM or a faster processor....thats progress!
This attitude only works because end users don't realize the benefit of non-bloatware. The replies to the above post all mentioned being able to run the kernel on an old 386/486 computer....fine, thats a worthy goal. I do it myself. However, what happens when the same "removal of bloat" is applied to regular software, as to that run on old hardware?
I dare anyone to say that the above four points are in any way a Bad Thing [tm]! I don't know about everyone else reading Slahdot, but I'd love for my computer to run even 5% faster without any changes to the hardware....even (especially?) on my new 1.0 GHz / 512 MB RAM / 48 GB HD system.
Re:Kernel changelogs (Score:4, Insightful)
Right now, for example, I'm using 2.4.17-pre6 because it's the first kernel with drm support for sis. But that was clearly marked in the changelog.
For most people, I just say they should probably stick with their distro's kernel. Those will be more thouroughly tested.
Anyways, it doesn't matter to most end users if the changelogs were longer. Only a minority of end users would be able to understand them or care. Take Andrea's changelogs. They are normally quite in depth. Here is an actual excerpt: [kernel.org]
I mean... wasteful cows???
Of course, I'm fairly sure that if you wanted to write some really great changelogs then either kerneltrap.org or linuxtoday.com would post them for you. I would definately read them.
Re:Kernel bloat is inevitable. (i.e.: Stop whining (Score:3, Insightful)
Look at it this way: yes, I can use a 1.x kernel, but forget about things like up-to-date security, USB support (a lot of old Pentium MMX boxen have the ports), etc. Who can someone in that situation turn to but Linux?
/Brian
Curt is not a problem (Score:2, Insightful)
Okay, fine: the interview was a little dry. Perhaps, 5 years from now, we'll have trouble remembering it.
What the hell do you expect from a kernel maintainer? Trust me, you don't want revved-up and passionate...because he'll make revved-up and passionate mistakes. Marcello wasn't hired because of his strong views on the future of technology...he probably just does his job really well. I wish I could say the same about many people I've worked with.
Re:A little on the young side? (Score:2, Insightful)
Just an observation....
Mmmmnnnnn... (Score:2, Insightful)
On the other hand I am not sure Marcello was the correct choice for 2.4 maintainer (no offense intended... read on). In my opinion Alan should have handed the relatively mature codebase that is 2.2 on to Marcello so he could get to grips with maintaining something that is already pretty mature. Giving him 2.4 is kinda throwing him in at the deep end because we all know it has a long way to go before it is what it could be. Also, with 2.4, SGI, IBM and all the others will be hounding him with patches that they want in the kernel, this would have been less of a problem with 2.2.
However... I love to be proved wrong.
(PS: I think the biggest complement a maintainer can get is to be told that you want him to maintain the next kernel release too. Thanks Alan.)