2.4 Maintainer Marcelo Tosatti Answers Your Questions
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. ;)
..if his code is as terse and to-the-point as this interview, the kernel's gonna shrink by at least 75%.
Hate trolls? Troll 'em back...at home!
Take a break, he's 18 and English is his second language.
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?
Whats he mean by "... and I agree with the way they are coded"? If it works and has nothing bad in it, why would he reject it?
An optimist believes we live in the best world possible; a pessimist fears this is true.
However, please note that right now I'm giving higher priority to fixing problems than to writing extended changelogs.
Poor/Incomplete/Out of date documentation is the Achilles Heel of open source.
The best thing a maintainer of a stable kernel tree can hope will be said after his reign is:
Nothing. The less that ends up being said, the better a job he's done.
'Storm a toilet, AC' = 'Marcelo Tosatti'.
Spread the word.
"Do you guys read your own site?"
-no.
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Does anyone really expect to be able to run the latest kernel on their 386/486 machines? Let's think about it: Your system was built and purchased probably between 1989 and 1992. It is now almost 2002. That's really not a bad run for something so antiquated. Should the people who work on the modern 2.4 (and now 2.5) kernels really have to bend over backwards to support such ancient hardware? If you want a kernel for your 10-year-old hardware, use 2.2 or 2.0. If you want to take advantage of new hardware, use 2.4 or 2.5. Why is it that people can't understand this?
- A.P.
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
I can't seem to make sense of the answers to questions #4 and #18, about putting the kernel in CVS or similar system. Marcelo wrote, in response to Q#4: ;^)
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.
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
I think he meant he wants to use LTP, not STP.
STP isn't much use for testing kernel pre-releases.
Marcello is not a professional interviewer, if he was, I would expect some great wordy response, which would leave me standing speachless. Instead, he seems to have more of a "cut-the-crap" kind of attitude that will bring the kernel to a new level of stability (which really wouldn't take much for the 2.4 series).
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.
chown -R us.
OlympicSponsor: Seriously, can you give us a breakdown of how much time each editor spends actually reading the site they nominally run? Like, time spent clicking on user comments?
CowboyNeal: I know from our internal discussion lists and channels, that all of us are constantly reading the site, but as for a detailed breakdown, I'd have no idea where to start.
Segmond: Have you ever used "super moderating power" to mod down posts attacking slashdot editors...?
CowboyNeal: As for "super moderating power", I know I could go into the database and moderate like crazy, but my ethics won't allow me to do so. Also, I don't usually read comments attached to stories.
Truth is, most of the editors seem to have gotten completely bored with the site but for whatever reasons feel compelled to keep plugging on. They've long since given up caring about it and seem mystified that any of the readers would care either.
What I'm listening to now on Pandora...
Marcelo actually answered a few more questions that didn't appear in the main article, and were cut to save space. Here they are:
What do you think is an appropriate length for interview answers?
MT:17
Can you elaborate?
MT:no, sorry
Do you think that people who write long interview answers are compensating for other shortcomings?
MT: Yes, definitely
microsoftword.mp3 - it doesn't care that they're not words...
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.
Linus lives in Silicon Valley, Alan in Swansea, Wales. That's one monster bus.
Marcelo, please discuss what exactly this great responsibility means to you in terms of your childhood and your relationship with your parents.
...
MT: it's groovy...
Tell us your psychological approach to kernel development vis-a-vis great 19th century philosophers.
MT: not now. maybe later. sorry...
Some people have likened coding to a visual-perceptual dialectic where the dynamic energy of structure versus entropy result in communal "oneness." What are your thoughts on this?
MT: Code is green...
Is there anything else you'd like to add to this interview, given that you now have a chance to speak to the large slashdot community? Any particular issues you feel strongly about?
MT:
One of the features of Linux has always been you won't need a hardware upgrade every 5 years for your servers.
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"
The Kruger Dunning explains most post on
I really like the idea of better changelogs explaining fixes and problems to the "end users". Granted, the "end users" compiling their own kernels are generally not typical computer users... some changelog lines are easy to understand while others aren't. The understanding is based solely on the users knowledge of the inner workings of the system.
I don't necessarily think that end user style changelogs should be of much concern to core kernel developers. Obviously, they should be concentrating on fixing problems. However, I have an idea that should make everybody happy...
A group of kernel savvy & knowledgeable systems experts should get together and form an open changelog review project. This project could work alongside the core kernel team for the sole purpose of documenting kernel changes, answering the questions of why, where, how, etc.
This would achieve great kernel documentation, and avoid putting that added stress on the kernel team. Thoughts?
Skiers and Riders -- http://www.snowjournal.com
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
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
m00.
I've read longer haikus than some of those answers! I guess it makes sense though, he's the 2.4 kernel maintainer, not the 2.4 kernel spokesperson.
I have to agree with several posts that say inaccurate documentation is OSS Achilles' Heel. Sure, you could just jump in the fire and learn, but why not help folks out with some documentation?
What good is an OSS project if no devs join the construction effort and no users can figure out how to make it work? I'm not saying that you need a big fancy website and tons of UML diagrams, but don't just dump a pile of code and a makefile in my lap and expect me to be as giddy as a schoolgirl about the project.
it's not going to stop until you wise up, no it's not going to stop. so just give up.
Remember back in college when the professors took off points for lack of documentation. Comments from them usually include something as, "Sure you know how it works, but what about me." It was the first commandment of programming. So I think it should be one of the first changes to be made by commiters and developers posting patches. That includes all mighty Cox and Tourvalds taking some time to document some routine functions in the source code tree. There is some commenting that is relevant and some that has no purpose being there at all. BSD people should hush up too. They are just as bad. Yeah I know I should be willing to sit down with a pepsi and read through yards and yards of code. I shouldn't have too. I should be able to get an idea of the logic behind a fuction from your documentation. grade 60% you fail, repeat the class....
One thing people tend to forget about when talking about the ability for Linux to run on older hardware is the embedded market. If we (I work for MontaVista so "we" seems the right term) can't run Linux on 386-486 hardware, it probably won't run on that (hypothetical) new $15/unit low-power x86 SBC that one of our customers wants to use.
If Linux is going to be suitable for a wide variety of niche markets, it needs to be scalable down as well as up.
What's the deal with Alsa? I mean Suse has been behind it for quite some time now. The code seems fairly mature these days. People have been talking about merging it into the Kernal for years. What's the deal? Has OSS really jumped ahead recently in features, or does Alsa have a lot of bugs we don't know about?
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.
Wow. Could everyone here cut Marcelo a little slack and be nice, if only for a little while? I just don't see the point of making hurtful remarks like that about a complete stranger, especially one that young. He's obviously talented or he wouldn't have been chosen, and I'm sure he's going to do the best he can with his new responsibilities if people let him. And, really, why are you assuming that he's not "a balanced human being?" What a lousy stereotype.
Like you said, give him a chance.