today is the day before i head out for the ohio linux fest so i'm rebuilding kde from svn (distributed builds via icecream rocks), going over my presentation, cleaning up the house and tidying up miscellaneous loose ends that can't wait until monday.
and whilst doing so, my thoughts cast back to yesterday and conversations i had with two friends about the stabilization of software. in particular, we talked about the linux kernel and kde.
linus recently said that all the interesting stuff was going to happen on the desktop in the years to come and that the kernel was pretty boring these days. i remember how, not so many years ago, whenever a new minor kernel revision would come out it would appear on the front page of slashdot and everyone would run out and grab it to compile the latest and greatest on their system. this is still how it works these days with open source desktops, but those days of "kernel wow-dom" are mostly over. why?
well, back when i bought my pII-400 (which now sits next to me, currently unused and unplugged save for occasional bouts of testing) i couldn't use the usb ports on it. i had to grab the latest kernel, patch it then build it. and sometimes it worked. for my pII-300 laptop i had to patch the kernel for proper pcmcia support. and still not everything worked. every kernel brought incremental improvements that i needed. everything from smp support to firewalling to hardware drivers was in flux and improving at an exciting pace, where "exciting" meant something else might actually start working properly with this release! people would discuss kernel releases on linux web sites and at lug meetings with baited breath!
well, those days are mostly gone. i'm writing this on a laptop that is running a vendor-supplied 2.6.8 based kernel. 2.6.8 was release over a year ago and i didn't even build this one. yet when i slapped in a wireless pcmcia card it just worked. the kernel supported it and everything went off without a hitch. there's nothing this kernel doesn't do that i need it to.
there are still many improvements to be made, of course. and there's still some very cool and challenging development being done, and yet to be done, in the linux kernel. there are still people waiting for some specific piece of hardware to be supported better, or at all. there are still features that aren't all the way there yet. but generally speaking, the linux kernel has matured and isn't something everyone runs out and compiles as soon as it's available like they used to.
one of my friends suggested perhaps this is because there are less sophisticated linux users these days, but upon consideration it became evident that many of the advanced linux users we know who used to compile their kernel because they basically had to don't anymore because, well... they don't have to and have better things to do with their time.
now think about kde.
many people feel the requirement to stay at the leading edge of kde releases so that they get the latest in support for things like instant messaging, groupware and web site support. long standing bugs and structural issues are ironed out and new classes of features such as gui response to hotplug'd devices appear in each release. this is like the kernel back when so many people still hand compiled it with each release.
i look towards kde4 and see us making changes analogous to the scalability improvements the linux kernel went through post-2.4 in the sense that they are major, but also required for serious industry adoption. perhaps in a few "dot" releases after the first kde4 release, the desktop framework will become "boring" like the kernel is now and we can turn even more of our guns further up the stack towards applications.
in support of this, kde3 saw the start of this change in momentum as fewer changes were made to the kde technology base and more effort went into applications. now we're revisting many of our basic building blocks (and keeping many of them too =) and filling in holes in the walls that we couldn't get to previously without some renovations.
in 2 years time will we find ourselves saying in interviews, "oh, the desktop environment isn't all that interesting anymore. all the interesting stuff is happening in the applications."
Thursday, September 29, 2005
Subscribe to:
Post Comments (Atom)

4 comments:
There're many people who compiles their own kernel, when the fact is that is not necessary anymore! Is not just that users don't know how to compile kernels, is that kernel should be good enought to avoid that, without requiring users to do anything at all (not like "other" OS where users are faced with this "driver installation" thing when the fact is that things should Just Work (tm) without users' intervention)
Speaking of scalability improvements in 2.6, dual-core CPUs (and Intel roadmaps talk about 10 core per cpu at the end of the decade IIRC) are coming! This makes me wonder if there's something missing in the QT/KDE framework to make easier for apps to use all those cores if neccesary. Not everything can be parallelized of course but making it easier would be definitively a Good Thing
Nice thoughts Aaron. I think you're totally right about the kernel, for most common systems any stock kernel is just fine. I'm running Gentoo and getting every new kernel source, but I hardly ever go and actually compile it (unless it solves some problems with rather new/exotic hardware).
I see your point on the desktop too. KDE has had some very neccesairy improvements over the time, but at this point it's allready really really good. Everything just works great, it's allready much better than Windows Explorer.
I think after hardware accelerated desktop/qt most important work is done and the apps will probably get more attention.
So basicly I totally agree :)
I'm really gunning for the time when their is one de facto standard desktop. Only then will the desktop be "boring". I'm hedging my bets on KDE. Thing is, I spend very little time on the desktop. IMO, it exists to simply keep my headaches to a minimum.
Everybody is waiting for that. A day when computers and software will become boring and actually just damn well work ;-).
Post a Comment