Ask New 2.4 Maintainer Marcelo Tosatti Anything
Linus keeps hinting (declaring, even) that he's nearly ready to work full-time on the 2.5 development branch of his kernel, and hand the 2.4 kernel off to Marcelo Tosatti. Marcelo's graciously agreeed to answer questions (you might want to read some of his mailing list contributions first), so here's your chance to ask him what he'll do in the famous footsteps of Linus and Alan Cox, and how he got there. Please only put one question per post; we'll pass along the top-rated comments to Marcelo for his answers, and hear back from him shortly.
Will Alan Cox's choice to not unveil security changes in the kernel changelog potentially affect other developers?
If you celebrate Xmas, befriend me (538
For those of us not part of the kernel community, can you give us an overview of your background and past work done in the Linux world?
Do you ever have strange, murky dreams about launching a major coup against the established leaders of the Linux kernel, surmounting their positions and establishing yourself as the all-time evil maniacal leader of Linux? (mwuhahaha)
How much do you expect to be backported from 2.5? Obviously there's a lot of stuff people are interested in putting in the kernel, but should probably refine in a development kernel first (e.g. XFS, JFS, preemption, lowlatency, etc.)
Does someone pay you for working on linux, do you have another job where you can earn some money to buy food or do you have to beg on the mainstreet in your spare time?
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.
Co-founder and designer at Music Nearby: http://musicnearby.com
What hardware do you think will need additional support in the 2.4 branch? Big (>150G) hard disks? KT266A and/or nForce chipset motherboards? USB 2.0?
Stupid job ads, weird spam, occasional insight at
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?
- Michael T. Babcock (Yes, I blog)
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)
Ok, here comes the question that everyone wants to have answered: When will the patches to make linux fully preemptile be included in the official kernel?
Will you be following Alan Cox's lead by withholding security patch information from the kernel Changelogs?
Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
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.
If guns kill people, then CmdrTaco's keyboard misspells words.
For example, do new or updated device drivers rank more highly than VM updates?
-- Azaroth
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 least 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?
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?
1) Maintain Linux's kernel
2) Date Daisy Fuentes (or any one person of your choice)
3) Get to play around with a bat and various people from Microsoft
We do not live in the 21st century. We live in the 20 second century.
If you use a distribution, which one and why? How about a GUI environment? VI or emacs?
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?
What scares you the most about taking on this fairly hefty responsibility?
Chris "Ng" Jones
cmsj@tenshu.net
www.tenshu.net
This is a mixed question/comment.
What is going on here?
It seems that Alan has stopped doing his -AC series...
Linus is finishing up 2.4.X after making some deep changes to the VM (Adrea's new VM), and thankfully adding EXT3, but form what I have been reading, 2.4.15 is the end of the stable kernel series (with no XFS or JFS support which is upsetting).
Andrea has a plethora of experimental/tweaked patches in ftp.kernel.org/pub/linux/kernel/people/andrea. What is interesting/worrisome to me is that Marcelo's directory there is empty.
Marcelo must be a great guy, I've seen a lot of banter on newsgroups with him, and a few chages in the stable changelog here and there, but to me it looks like a lot of talk. Alan used to release (past tense, it seems it has stopped) AC patches on a near daily basis, to me, Marcelo is vapor.
Is the maintainer's jobs simple to make small changes to the kernel when errata is found? Or is it, as Alan has done, to integrate and merge a LOT of stuff to produce a useful and robust hybrid kernel and then suggest that maybe the unbroken things should be merged in.
I wish Marcelo luck in this endeavor, but also wish to see loads of "maintainence," Linux really, really needs feverish active development, and there a lot of people, Like Alan and Linus, who put out quite a bit. I am hoping Marcelo will set a new precedent for uber-feverish maintenance - maybe even see XFS and JFS and other things that the distributions have to waste huge amounts of time tinkering and adding various enterprise-ish things to make the Linux kernel stand up for, as they put it, prime time.
Legalize the constitution. Think for yourself question authority.
i think this is a valid question, if the answer is creative enough it will offer some insight as to his overall maintenence methods, albeit abstract (but we all deal with massive abstraction on the internet anyways, so why complain)
slashdot: where everyone yells sarcastic metaphors to themselves to understand the issue
I'm assuming that maintaining the kernel is a volunteer, non-paying position. And since it takes money to live in this world, how do you find time to actually earn a living while keeping up with the kernel?
Where are we going and why am I in this handbasket?
They were talking about RedHat version 7.2. RedHat is a Linux distribution, it is a collection of software including the Linux kernel that is known to work well together and all wrapped up in a nice installation process. RedHat 7.2 includes version 2.4 of the Linux kernel.
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..
GPL'd web-based tradewars themed space game
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?
I know you work for a Brazilian company (Conectiva), though your name seems more Italian than not. Regarless, you are (along with Miguel de Icaza, who is from Mexico) probably the most visible non-european/american member of the Linux kernel development community. Do you have any plans to promote or push Linux as a viable alternative to government agencies or companies in Brazil or other Latin American countries?
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.
Please give your mod points to others, Im at the cap. They will appreciate it more
A number of distros are already using 2.4.x. I am curious how much of the maintenance of the 2.4 kernel will be simply incorporating changes already made by the different distros, how much will be making changes in response to distro requests, and how much of the process is independent from the distros?
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]
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?
Are you Ready and psychologically prepared to become one of the Linux head Honchos? I mean in about a year or so, people will be throwing your name around places like /. and Linux today as freely as they do now with Linus and Alan.....Do you think it will be difficult for you to handle the sudden fame?
I am the Alpha and the Omega-3
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.
In your experience, is the kernel development genuinely international and multilingual, or are there tensions between developers from different regions or who speak different native languages?
--saint
No, the -real- question is whether you will be treating 2.4.x as a "maintained but dead" branch, or whether you'll be actively beating the code senseless with a (plank *) twoByFour?
(Quick followup: If you -are- going to actively develop 2.4.x, will you be restricting that to merging in 2.5.x code, or will you be seeking out new patches, boldly coding where no kernel has gone before?)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I think the question should be:
emacs or vi?
main(i){(10-putchar(((25208>>3*(i+=3))&7)+(i ?i-4?100:65:10)))?main(i-4):i;}
As a brazilian citizen (and Conectiva employee), will you be free to publish anything on the changelogs?
------I can please only one person per day. Today is not your day. Tomorrow isn't looking good either.------
Who would win in a fight? You, Alan Cox, or Linus?
What kind of support for non-x86 architectures do you envision (PPC, Sparc, Alpha, etc..)?
Also how do you see yourself handling issues like that in 2.4.11 and 2.4.14 where simple drivers would not compile or would not run, because of obsolete function calls in the kernel? I.E. Wait till 2.4.15 to fix this or release 2.4.15 with just that fix?
Only 'flamers' flame!
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?
/Brian
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
New things are always on the horizon
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 is a step in the right direction, but some of it is even a little too technical. For example, in the above document,
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?
There is no need for any of that, 2.4.XX will eventually become stable, (it already is getting there fast), and 2.5 will be the unstable branch, with more extensive patches done to it.
As long as people use the latest 2.4, it will be the most stable. (Unless Marcelo screws up.)
I've had enough abrasive sigs. Kittens are cute and fuzzy.
Lately, Linus has been releasing a new 2.4 version every month (sometimes more). Will you continue at that pace, or slow it down?
Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
How will you respond to criticism from the corporate world (most of whom don't understand what linux is, let alone a kernel), that "linux" is being maintained by an 18 year old?
Do you think this will reflect badly on the image of linux? (as seen from IT decision makers)
I've used FreeBSD exclusively for servers due to the fact that each release marked as 'stable' is in fact, very stable. Will the 2.4 branch fill this role, of stability, and provide a path for me to switch? What policies will you use to determine if something is worthwhile for the 2.4 branch?
Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.
Recently there was a post on /. that asked for a stable and fast kernel. (I'm too lazy to look it up.) The poster cited older kernels' stability and speed and the trend toward recent kernels having too many bugs to be worth all of the new features they have.
What will be your main focus while maintaining 2.4, stability or backported extra functionality. It is doubtless that there will be some backports. But what will you focus on stability and speed or features?
While browsing through the kernel mailing list a while back... I noticed a post that went unanswered about some specific problems Google was having with 2.4 kernels and the new/old VM.
It seems obvious from this post that Google can't use 2.4 until this gets worked out, and Google is one of Linux's big success stories...
How does that weigh in on the todo scale versus my problem with the Visor driver? What if it was Connectiva that had the problem? (Or Redhat?)
(and a quick second question: How can any human read teh 7000 posts a month to the mailing list and still get any coding done?)
apt-get install redhat please god - Me (take it easy, I love Debian)
Last I checked (which was a while ago), Linux kernels included only DRI support for XFree86 4.1, whereas Alan kernels included DRI support for both (or, rather one or the other, selected at compilation time). What will be the case with future official 2.4.x kernels?
-Rob
After the interview is all said and done. That's only ~10 questions. I'm seeing a lot more than 10 very important (IMHO) questions. Some of these questions being unanswered is a big contributor to why Linux is not so readily accepted in the corporate world.
Where can we get the questions answered? I think that there ought to be a Linux kernel documentation project to bring the docs up to speed and answer questions like this. I have not the knowledge of the kernel for this, but such a project would be invaluable to the Linux community.
African or european?
Linus has stated that he'd like to get rid of a lot of the "non-informational" messages on boot and with this I have to agree with him.
Do you plan on furthering this cause, and helping make our boot times a simpler, less complicated read?
May contain traces of nut.
Marcelo,
I must say that you are an amazing yet rare individual, to have commanded that much respect at the age of 18. Wow. I can't handle OS design now, let alone when I was 18. Would you be so kind as to share some about your upbringing, environment, faith, or other factors that were beneficial to you in making you who you are today?
Thank you,
Daniel
Now that you are suddenly famous, do you see a lot of girls flocking to you yet?
Do you intend to bend to popular demand for features at the price of stability or is stability king in the stable kernel ?
Type unto others as you would have them type unto you.
I looked over some questions, and there are a couple of pretty obvious ones that either aren't their, or hidden due to that pesky moderation.
For instance:
1. The "lousy magazine"-question: Who would you rather be stuck with on a desert island?
2. The "bitter old sysadmin"-question: You are 18, do you punk even know what Multics or VMS is?
3. The "trick"-question: what do you prefer, emacs or vi? (trick question because we all know emacs is superior).
Is Conectiva going to let you spend all your time to the 2.4 kernel?
I read that you live in the same house as Rik van Riel, who wrote the first Linux 2.4 VM and who also works for Conectiva. Rik wrote in his not-that-very-often updated diary that he travelled a lot in Brazil, to help customers anywhere. That takes a lot of time. Is your job going to be different once Alan Cox passes the maintainership?
What is up with your version number? 2.3.1? Why?
2.3.1 -> This is the first upgrade to the third re-working of the second major build of FOLK.
It's not intended to be the same as the Kernel patch number, as I don't intend to release one FOLK patch per kernel, any more than Alan Cox did. The reason I use 3 digits to his one, is that something as complex as FOLK can experience major changes in behaviour with only minor changes in the code. It's far more useful for people to be able to see the degree of change, and what sort of change it is, than to just get a single revision number.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
If you look at the growth of the kernel you'll see that the main parts have basically stayed the same size (in terms of lines of code) since 2.2.
:)
By the main parts I mean everything except drivers. The largest parts of this are the file system and network code. The file system grew a bit when Rieserfs was include into the kernel but it's a tiny increase compared to the rest of the code.
Drivers make up more than 75% of the Linux source code. And this driver code is growing rapidly.
People talk about the fact that you can cut things out of the Linux kernel if you don't want to use them. This is true. But it's even more true to say that if you did want to use everything in the Linux kernel you would have to buy a lot of hardware.
You are speaking of two separate things here. The first is that Alan Cox, among other things, is the maintainer of the 2.2.x series kernel. Maintainance entails fixing bugs, updating drivers, and possible backporting features from the next kernel series where determined to be appropriate. This is what Marcelo will be doing as maintainer.
In addition to maitaining the 2.2.x series, Alan also has his own, more experimental tree knows as the -ac tree. This is where a lot of developers submit their patches for initial testing for a few reasons: Alan can get them in his tree sooner because his tree is more experimental than the main kernel tree; Alan is a direct link to Linus so if Alan approves of your patch, he will eventually submit it to Linus (all those merging comments in the kernel change logs).
If you want to compare Marcelo's position to Alan's, your question would have to be, do you plan to start an -mt tree for the 2.6.x kernel series while maintaining the 2.4.x kernel?
"Karma can only be portioned out by the cosmos." -Homer Simpson
I have grown to respect quite a bit you as well as some of the other folks who work in kernel development at conectiva in Brazil (Rik, Arnaldo..).
I have been wanting to try to read more and more about the linux kernel, and maybe(?) try to get involved, so i must ask how did you start out? Any pointers that i should follow to get to understand more deeply the kernel? I mean you are not in heavy kernel hacking and you are a few years younger than me... (My guess is that it wasnt in college, since by now you should be doing the infamous college entrance exams... aka vestibular =P)
Also it seems that you value your privacy, since there isnt much public information about you out there... Would you elaborate a little on how you got where you are? =)
Just one more thing... I feel i must say that all Brazilians and young people in general are very proud and happy to see where you are now! Thanks a lot and keep up the good work!its GNUEmacs or vi?
http://saveie6.com/
Not that I wish to put you in an uncomfortable situation, but would it be possible to get your reaction to Eric S. Raymond's comment about the state of kernel development:
"I've been examining the existing kernel configuration system, and I have about concluded that the best favor we could do everybody involved with it is to take it out behind the barn and shoot it through the head."
For someone as persuasive and influential as Raymond to make such a statement, it begs for a response, if not a rebuttal.
This wasn't just plain terrible, this was fancy terrible. This was terrible with raisins in it. - Dorothy Parker
Alan says: it is a great but academic project.
linus says: Don't do drugs. (Or "i don't care")
what is you opinion about this?