New Linux Kernel Development Process
An anonymous reader writes "Releasing the 2.6.13-rc4 Linux Kernel, Linus Torvalds announced an improved development process to try and minimize the number of bugs in the kernel. The general idea is simple: changes will only be allowed for two weeks after the release of a stable kernel. All the rest of the time between releases will be spent on fixing bugs. This should improve upon last year's development module, which allows for active development in the 2.6 stable kernel."
It almost sounds like a normal sw dev process.
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
This seems to put more pressure on individual distro vendors to add features and test them, then discuss their inclusion in the upstream kernel. Seems pretty reasonable to me. This should definitely stabilize the kernel a lot.
Proper English is:
try to minimize
not:
try and minimize
I'm just going for my dialy troll mod, since I seem to be getting many troll and overrated mods for posts that don't deserve them.
Two branches one a server platform and the other a desktop platform
Just make the kernal completely modular.
I was planning on submitting a patch to make a certain tablet pass pressure data to X. (By re-mapping Tablet-Pressure to Mouse-Z).
Now I'll have to rush to get it in without a huge wait before it gets in the main tree.
It means the longer you wait, the more stable the kernel will be.
No more lucky dips, and less need to depend on the vendors tracked patchsets.
Sam
blog.sam.liddicott.com
This has been discussed many times. You can configure your kernel to omit sound, v4l, etc. Even if you do compile these things, they won't be included in your running kernel unless you load the modules.
What you want can be done by removing sound and other desktop stuff from the startup services. Most distros have a friendly way to do this. No kernel recompile necessary.
When we're about to release a new version of our software, we only focus on fixing bugs and adding important requested features. And of course, there are the all-famous CVS branches. In any case I'm glad the Linux development process has taken this approach.
make --menuconfig
How this would affect who get their kernels from their distros? Most distros have periodic binary builds for stable kernels, and even source-distributions like gentoo have dedicated teams to monitor and patch stable kernels. So how much is this gonna affect us who just use the standard distro kernels? They've always seem pretty stable to me.
Linux has made amazing progress.
But as I browse the submitters of actual code, it seems that it's no longer the every-man's operating system.
More and more often we're seeing Red Hat and IBM employees tinkering with the code.
Does this mean a lack of quality? No, certainly not. A professional developer is usually very well versed in what he or she's working on.
But I propose that we watch what is being worked on and that our priorities are appropriate.
Perhaps an IBM or similar company has a new feature that they want, or worse, need, in the Linux kernel, and as such they spend all their time working on that.
The reality might be however that an improved VM is needed but all the Red Hat guys are busy working on some scheduling code that really isn't as crucial.
As far as I know, Linus himself still verifies all submissions and deems which baselines they appear in, but I hope that since he's also a professional and getting paid by Corporate if our priorities are straight.
Hopefully RM Stallman and friends are always heads-up, but I'm aware that often some serious fights take place on the Linux kernel mailing list regarding these types of issues.
Let's keep Linux progressing in the areas it needs to mature!
If you "get" pointers add me as a friend (116)!
This seems to work successfully for a number of open source projects, which use a version numbering system that allows users to tell at a glance whether they're using a development version.
Try not. Do or do not, there is no try.
-- Dr. Spock, stardate 2822-3.
No need. The distros all ship modular kernels. If e.g. your server has no audio hardware, no audio drivers will be loaded. IMHO maintaining two separate kernel branches would be inefficient - and if two, why not a third, low-power kernel branch, and a fourth, router-optimized kernel branch? This road leads to madness, and we lose sight of the fact that the one general purpose linux kernel is flexible enough that it works pretty well on everything from embedded devices to gaming workstations to mainframes to supercomputers.
Assuming there is a valid case for a desktop performance oriented kernel and a server performance oriented kernel, the vendors could easily provide separate optimized kernel packages, built from the same source, but with different options. The desktop users want low latency for video, music and 3D FPS gaming, while server users want scalability and throughput...
In fact some vendors may already be doing this.
You can already do that fairly easily.
Just pick what modules you want to use for whatever system.
Then utilize make --menuconfig and build as appropriate.
More information available via Google search.
If you "get" pointers add me as a friend (116)!
Didn't Torvalds once say something along the line that 'perfect is the enemy of good' when criticizing BSD? Is he moving away from 'good-enough' with lots of features constantly coming out, towards a more BSD-esque, move along slowly with stable-code philosophy?
That must be an uncomfortable situation when they are at the same party.
I, for one, welcome our English-correcting overlords.
As long as the correction is done in a kind manner, this kind of stuff does nothing but help. I've learned a few things, at least.
More
let's start hacking again
As I think more about this decision, I wonder why not simply split the development between bug fixes and feature providers.
For example, Linux kernel 2.7 is released.
We run regression test on it for a week or two.
At that point, we document all known bugs and hand them and the entire 2.7 codebase off to our bug fixing team.
Then we identify improvements to current capabilities as well as new features we want to add, document all of it clearly, and hand that off to the feature team along with their own copy of the 2.7 baseline.
Then we have our bug guys working the 2.7_bugfix baseline and our features guys adding valuable new code to the 2.7_features baseline.
Prior to the next release, we merge all the changes together, spend a week sorting out any dependecy problems and interface problems, then we ship.
And repeat.
Sounds feasible to me. I just don't like the feeling I get when thinking that there's such a short development window.
The Linux kernel is already pretty darn stable, especially when compared to other operating systems. Let's keep the new features coming!
If you "get" pointers add me as a friend (116)!
2.6.x releases should be very stable. 2.6.x.y would be quite unstable (especially the first 3 weeks after 2.6.x), then get more stable as the y increases.
I think you misunderstood the concept. A developer doesn't have 2 weeks to insert new functionality. A developer can work on enhanced performance or new features for 9 months, but there is a 2-week window after each release in which patches will be accepted.
The two things are orthogonal. Once the code has been thoroughly tested and a patch is ready it should be no problem for the core developers to email the patches to Mr Torvalds within that 2-week window of opportunity. I see no problem here.
In addition to making a more stable OS only allowing two weeks to make changes cuts out people trying to submit changes that haven't been completely developed and tested.
-----------
http://ccc.1asphost.com/codeworm/
Funny yes, off-topic maybe, troll no.
Feel free to fork it at any time.
Sane input devices use XInput and help from an X driver, not remapping. And apps that understand pressure, expect Xinput devices. Just pointing that maybe your approach is far from normal.
and i think he did just fine
Also note that they are going to try this approach. If it doesn't work out, I expect that Linus (ever the pragmatist) will drop it rather quickly...
This simply makes it so that bug patches don't get stepped on all of the time. Developers that are submitting feature updates will have to simply time their submittion. I don't think it'll slow development at all, it'll just polish releases more easily.
There are several projects doing stuff like this. This is a listing of different kernel sources and patchsets that gentoo provides, for example: http://www.gentoo.org/doc/en/gentoo-kernel.xml
How about fixing the bugs that have been outstanding for well over a year?
It really is disappointing to spend hours testing and finding how to 100% reproduce bugs, even those that freeze the system as a user, report it to the various mailing lists, only for them to be ignored.
Yes, I've tried fixing some myself.
A developer doesn't have 2 weeks to insert new functionality. A developer can work on enhanced performance or new features for 9 months, but there is a 2-week window after each release in which patches will be accepted.
The two things are orthogonal.
We'd better hope everyone's patches are orthogonal too. If five Linux kernel developers all spend 9 months working independently on patches which turn out to make conflicting changes to the same subsystems, then after 2 weeks there will be one happy developer with his patch in the Linux kernel and four unhappy developers deciding whether to fork Linux or switch to FreeBSD.
Of course, to avoid such problems we can assume that those many different kernel developers are not working independently, but are committing changes to a single unstable kernel to share those changes and prevent conflicts. In that case, let's just call the new unstable kernel "2.7" and return to the system that was working so well for years.
If you people can't even write everyday English, let along meet the more stringent requirements imposed by programming languages, then no wonder software sucks so much.
People who live in glass houses shouldn't throw stones.
They changed it a while back. And then it changed back to the old search. And then they changed it back to google. The thing I don't like about the google search is that it doesn't show the articles in the order they were posted.
Coder's Stone: The programming language quick ref for iPad
2.6 has been one big regression fest, and despite its advantages I've always had to use something else for anything but desktop duty because the risk was too high.
There has to be a tradeoff between new features and sufficient stability to contemplate using the new features -- they aren't an advantage if they are inseparable from the bugs.
Glad Linus came around.
I rarely criticize things I don't care about.
I have them turned off and I didn't see his add. It also makes slashdot a hair less annoying.
My first reaction is "then they better start releasing major kernel versions more frequently. I'm not trying to wait two years for each significant update. But then I started thinking. I have a couple of comments.
1) Is the driver system in linux mature enough that it is ABI-stable? Do you need to continue to have that many features added if drivers can be added easily by distros?
2) What features are still being added to the kernel that aren't drivers? Are they that exciting that you can't wait.
3) Will it really be good for distros to be doing development on the stable branch for stuff that won't get into the offical kernel until the next stable version? All the software is being developed on a platform that it won't ever officially be on.
What comes first, finding a teacher or becoming a student?
If you compile sound, v4l, etc into your kernel, then they will be in your running kernel. If you compile them as modules, then they won't be included in your running kernel until you load the modules.
Two different things you're talkin' 'bout here. Now, most main stream distros have just about everything included as modules, except system-critical stuff, and then use various means to detect your system hardware and load the modules needed.
uh...word.
I suppose it's obligatory for me to note that LWN's kernel summit coverage talks about the development model changes - and many other things.
Jonathan Corbet, LWN.net
Actually there are a couple of basic facts to mitigate the concerns you cite above:
First of all, the developers tend to have really good communication among themselves, they know each other, and the developers know what other developers are working on. Some random john doe who appears out of the blue one day with a huge patch is not about to get his work accepted. It's also common sense to submit a patch against the current tree, not something from 13 versions ago.
Secondly, Linus uses a system to manage all these potentially conflicting changes. (For several years until just recently, bitkeeper was used to manage patches to the kernel tree - now that function is being filled by a tool called git, a version control system developed by Mr Torvalds)
In any case, these things have been thought through.
Thanks, I checked that link out - the low latency mods from Dr Kolivas are available for gentoo kernel builds, that's very cool.
I remember when the Linux kernel was rock solid, stable and reliable. I remember when there were no huge code changes in the "stable" even-numbered kernel series. Remember those days? I'm talking late 2.2.x before the whole VM debacle in the first part of 2.4.x.
In the last few years, it seems the push to carve out marketshare on the desktop has been fuelling kernel development more so than server-oriented work. I've been frustrated to the point of recommending Linux-kernel-based systems only with caution and caveats, preferring instead Solaris for serious enterprise-level server-side work.
If this works out, it'd be a boon for enterprise adoption of the Linux kernel. Hats off to Linus et al. for this change in their practices.
--rc
In British usage, either spelling is correct, although I think that the -ise spelling is more common: it also tends to be the form used by official publications.
The Oxford Dictionary has always preferred -ize, although this is more through tradition and stubborn prescriptivism than anything else. (And maybe the fact that one of the original edition's most prolific contributors was the American murderer and lunatic William Chester Minor, then detained in Britain, might have had some small part to play.) Older editions of Chambers, on the other hand, preferred -ise to the extent of not even acknowledging the -ize variant.
I think that the strong desire to differentiate British usage from its colonial counterpart has also led to an increase in the usage of -ise, in an analoguous process to that in which Noah Webster attempted to Americanise the US orthography for political reasons.
If your comment title says 'Re: Foo', I'm not likely to read it.
Problem is, those soft freezes never worked well when we had them for the year-plus cycles, so there's no reason to assume they'll work well for the spin-cycles.
Having said that, anything that encourages rapid development AND a clean stable version has to be a good thing, whether the developers stick to the strictest interpretation or not.
What's more, it might encourage vendors to MAINTAIN their code. (You listening, Red Hat?) A lot of vendor patches have been sluggish on the updates. By compelling developers to work in a much burstier fashion, vendors will have time to make the updates and be sure they're going to work, but are at much greater risk of them NOT working if they do nothing.
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)
This is a new one for the Eggcorn Database, I think.
If your comment title says 'Re: Foo', I'm not likely to read it.
This is sad.... I never said the kernel wasn't modular... i was just expressing feelings that most distros should have split kernel trunks for different platform.
if it can't be done at the distro level it should be done at the Development level.
Do you know how big the kernel is stock?
maybe there can be make --menuconfig --server
Having the 1st 2 weeks in the cycle be the only time for development need not slow us down.
:0
We can just release a new kernel every 2 weeks and spend all our time adding features!
Just because it CAN be done, doesn't mean it should!
when someone trolls and notes that they'll get "unfairly" moderated for it, the usual response is "informative" . . . whehter it's trollish, informative, both, or neither . . .
hawk
While I'm wishing for ponies, could the bugfix-only release also have a stable ABI, pretty please?
I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
Longhorn will just in turn be the next in a long line of mistakes.
p tion=content&task=blogsection&id=8
Bill Gates on the other hand has donated billions of dollars to curing third world hunger and AIDs through the Bill and Malinda Gates foundaton. In this sense he is continueing the work that *saints* such as Mother Thersa performed. Bill Gates, Microsoft and Windows form what could be considered a contemporary "Holy Trinity".
Spoken like a truely blind Microsoft folder. Dont let Mark Shuttleworth here you say those words. The millions that he just throws at good and just causes , Ubuntu linux included, to help benefit those in third world countries would all be in vain. Of course...let Gates donate millions of dollars to charity, maybe it will make up for the fact that he peddles his 200 dollar equivalent OS in countries where the userbase cant even think about spending that kind of money. Is that why XP - Lite exists......for a measly 90 dollar equivlency. Why bother when you can acquire a good stable Linux system for 0$. In starving 3rd world countries, Free is a lot more economical and cost effective than 90$. Your talking like a blind follower if you believe for an instant that Gates really does care about the humanitarian causes you think hes so supportive of.
Shuttleworth hard at work and much more a humanitarian than Gates will ever be.
http://www.shuttleworthfoundation.org/index.php?o
Next thing you do is tell me that President Bush is really actually doing a good job.
"God of Rock, thank you for this chance to kick ass. "
Maybe I'm just an insensitive clod, but I think that starving people is just more interested in some other things (as, for example, eating) that in which OS put in its PC.
And about the donations, just three thoughts:
Why can't
Majority of the people on the internet are not native english speakers. Get used to it.
Red Leader Standing By!
Maybe I'm just an insensitive clod, but I think that starving people is just more interested in some other things (as, for example, eating) that in which OS put in its PC.
Well, I am sure that starving people do have immediate concerns, but I believe that some of the starving people are doing their best to find ways for them to break out of their prison of starvation. And one of these ways would be to find advantageous uses for technology, and instrumental in this could be saving several months' worth of income by using a free (as in beer) OS.
Mmm I read the following in The Letters of J.R.R. Tolkien (letter 148 to Katherine Farrer):
Jarrold's appear to have a highly educated pedant as a chief proof-reader, and they started correcting my English without reference to me: elfin for elven; farther for further; try to say for try and say and so on. I was put to the trouble of proving to him his own ignorance, as well as rebuking his impertinence.
FYI, Tolkien was professor of English language and literature at Oxford.
(Note that he doesn't say that "try to say" is wrong).