I wanted to post this to the planet because we rarely get to think about the kernel in the Ubuntu world, and when we do get kernel related posts they’re usually fairly dry and require some background skill to read.
This is a commentary piece.
Getting the community involved in testing
There is not enough testing of RC kernels. Most people who attended thought the level of testing in Linux was bad.
Testing would be much easier if there was the possibility of safely testing a kernel by selecting installed RC kernels on boot in Ubuntu and letting it run through an automated set of regression tests which could automate a potential report for time and regression and then perhaps reset (if possible). Such a test suite could expand the number of users who would be willing and able to test the kernel without background skill in kernel development.
I feel that not enough time has been spent on coding the boring part (tests) and too much emphasis is put on the exciting features development. Of course the rationale is that users will just test out the bugs. But if the user-base is shifting then users won’t be able to carry the burden of testing for all regressions forever.
Increasing invisibility of the Kernel
The kernel ecosystem is concerned with the lack of visibility and the unattractive nature of working on the Linux Kernel. The pressure is to increase the visibility to end users to make the brand glamorous to work with. The licensing of the kernel doesn’t require any sort of attribution upon the distribution of a product using the Linux kernel, it’s not well known that the Linux kernel (with busybox in toe) runs the majority of embeded consumer devices as well as some of the most popular phones but isn’t well known.
Perhaps another problem with the Linux kernel is that it fails to control it’s brand in such a way as to make it clear that you are not working on Linux _unless_ you are working on the kernel project. This is a failure of the project to correctly market itself as a kernel and not a whole operating system stack which seems to be the current problem. The attempt of the kernel project to hijack the branding of the standard distro space has caused a lot of confusion and head scratching.
Ubuntu is not Linux, in the same way that an Ice cream isn’t a waffle cone.
Playing with Branches, New Version?
Does strict release cycles put new developers off from playing with the Linux kernel code base. Perhaps it’s due to the fact that we should be having a play-with branch set which doesn’t need to be versioned as 2.6.7 or 2.6.9 in such a way that it could potentially lead contributors to believe that they are working on code which is the future of a Linux release. Which is not the intent of a highly experimental space. For a play branch it just needs some educational type of person to manage a playground kernel branch specifically for the weird and wacky as well as perhaps educating new users. Perhaps some educational grants could be put towards paying someone to run such a program.
Getting Patches Into Linux
Security is a fairly hard area of kernel development where scrutiny over patches is very high. If there is a developer that is finding it hard to get patches into the Linux Kernel mainline then it’s advisable for the to separate their changes into manageable chunks. From these chunks it’s possible that some chunks would be acceptable and merged in on their own merits, while other chunks/patches would remain in discussion.
For google to get their wait lock Android patches in, they’ve basically got a small team which is trying very hard to upstream the code. Of course the technical solution chosen isn’t quite good enough yet for the kernel team to accept just yet and the solution does need the costly and extensive discussion for the appropriate way forward to be selected. This of course does create a cost barrier to google and the team that works on this functionality has found that it needs to work in non-work hours in order to both fulfil the requirements of releasing a solid Android release and at the same time attempt this much more idealistic technical feat of getting the right solution unto the mainline kernel.
I don’t have any thoughts on this issue, it seems like everyone is one the same page.