Torvalds & Linux Dev Process
sebFlyte writes "Builder UK is reporting that Linus Torvalds is concerned that the Linux production kernel maintainence process might be overly taxing Andrew Morton, saying: "One issue is that I actually worry that Andrew will at some point be where I was a couple of years ago -- overworked and stressed out by just tons and tons of patches. If Andrew burns out, we'll all suffer hugely." Morton himself wants to make -mm releases more often. He sees bugs as more of a problem, rather than patches themselves. His solution is simple: "I'd like to release -mm's more often and I'd like -mm to have less of a wild-and-crappy reputation. Both of these would happen if originators were to test their stuff more carefully.""
What if he gets hit by a bus? What would happen then?
Is there a hierarchy of maintainers (like the succession to President) or what?
Seems to me they should have at least 2 people at that spot so its not completely a single point of failure.
Add a requirement that each bug should have a failing unit test, that fails before the patch is applied and succeeds after the patch is applied.
This is an architectural problem, not a resource problem. There is no reason why the Linux kernel should require the baroque system of manual patches and updates that is currently in place. Instead, it should be composable at runtime out of many modules that are encapsulated enough and insulated enough from one another to be developed and updated independently.
Automated tests can be an excellent tool for software issues, but aren't as valuable when dealing with some of the hardware interaction problems that kernel bugs get reported for. A Perl module can spit out the result of a test immediately, whereas a kernel bug might only show up after a few days of heavy load, or be amazingly specific about the combination of hardware in use, perhaps enough so that only a few people in the Linux community would have the same kit.
Still, it's something to have a go at. There are quite a few automated tests done on the linux kernel already, such as the Linux Test Project - http://ltp.sourceforge.net/.
Well, here it is (odd second#) ftp://ftp.kernel.org/pub/linux/kernel/v1.1/v1.1.0. tar.bz2 for you to feel kewl and believe me, that it was still fresh in 94
Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
It sounds like they could benefit from a practice in Xtreme Programming. The test cases should be written before the patch is written and submitted with the patch. The test cases would then go into a regression framework and the regression test must be passed before a release.
09F911029D74E35BD84156C5635688C0
Jesus loves you, I think you suck
Quality comes from design and implementation, not testing. Testing confirms that quality (or its lack). Testing is only one means of achieving that confirmation, and it's almost never the most effective of those means (assuming "effectiveness" is measured as number of defects removed per unit of effort expended).
Show me how to write usable test cases for hundreds of peices of random hardware.
That which can be tested already is (The big one I can think of is filesystem stability).
You should at least read kernel traffic to see how much attention some of this code gets, and personally, I'm amazed at how few bugs are left, and how many of those are just badly designed hardware.
/* FUCK - The F-word is here so that you can grep for it */
The thread actually went in the other order. Linus said he was worried about Andrew burning out, and asked him how he was doing. Andrew said he's fine with his job, but that getting patches that don't work slows him down a lot. Then he said that there doesn't seem to be much queued for 2.6.15.
The reason for 2.6.15 being light isn't that everyone's using 2.4; 2.6.13 got so many changes that the changelog (since 2.6.12) was too big to send to the mailing list. My theory is that the latest change to the process (everything for 2.6.14 had to be ready two weeks after 2.6.13 came out) meant that everything close to ready got done in a hurry to meet that deadline, instead of slipping towards 2.6.15. There's also been focus on streamlining the process, which means that stuff goes through it faster, so the volume he's dealing with for a given throughput is lower.