Hi guys (and gals)!
I just wanted to share one idea of why the linux desktop, particularly Kubuntu, still sees slow adoption rates (although the trend is positive). First off is the issue of stability vs new features. The release cycle is a bit frequent, but the way things are laid out, it has to be in order for any software to be kept up to date. I argue that this is a faulty model.
Having a system that is stable and workable but without the luxury of updating choice user software (OpenOffice, Firefox, media player, even to a great extent the KDE desktop itself) is not good. It's quite a pain. Here's the thing: Lucid 10.04 is the only distro to work properly with my system (and a few friends', with some heavy tweaks), since distro X or Y some years ago. Having spent countless hours debugging and tuning the system to play well with our hardware, waded through countless forums and chats, and invested plenty of sweat and tears into personal debugging, we all found a system we could be very proud to call our own, and we were happy to contribute back to the community.
Now, satisfied that our computers interface perfectly with all our hardware, we've moved on to jobs, school, and so on that afford us little time to invest heavily in repeating the process for new distros. It's a well known (and disenchanting) truth that some distros work, and some don't, through no fault of the developers (usually). But again, here's the thing: there's no guarantee (or even likelihood) that all of the hardware will work properly with the next incarnation of your favorite distro, kernel, X, hal, or whatever new drivers come our way.
This is a somewhat broken model for many people, particularly those with average assortments of hardware that experience changing levels of support. It's rare in my experience that every version of Ubuntu from their starting version to 2+ versions later works just as well for them. The same tricks/tweaks rarely work in the same way with all of the structural changes in the distro.
My point is this: Once we get a distro working properly with our hardware, we're out of luck for all future software updates as well. The solution? Keep rolling out new versions of the software, installable at the user's discretion. It's very difficult and time consuming to obtain new copies of OpenOffice, Firefox, KDE software, etc within the framework of the distro we worked so hard to get working properly. All software except that which interfaces directly with the hardware should be constantly updated and provided in (a) user-selectable software source(s). We (I speak for the group I'm talking about) are growing very weary of Linux in general (which is unwarranted) because of the need to invest large amounts of time into keeping abreast of the essential feature updates.
Some questions you might be wondering:
Why just update the user software and not the hardware-interfacing stuff?
- Because the hardware stuff is likely to result in breakage when updated, or otherwise necessitating sweeping changes in architecture with all attendant bugs. User software doesn't because they're just programs that run atop the framework established by the former.
But the same argument applies to user software: if it's not broken, don't fix it. If your hardware-interfacing software (kernel, X, drivers, hal, hardware support) is stable and you don't want to change it, why should you bother with the software either if it's stable? It's all or nothing, and the distinction is artificial.
- New versions of Firefox are required to stay abreast of changing web standards. New versions of OpenOffice are required to maintain feature-parity and compatibility with Office products. More fundamentally, new versions of KDE (particularly 4.5.2 in my Lucid case) address essential bugs/stability fixes plaguing previous versions, even those offered through "semi-offical" PPAs. The software world is changing constantly, but my hardware remains the same. Most people actually tend to keep their expensive computers for 2 years (or more) and don't want to risk breaking their systems for every release.
What about "rolling distros" that constantly update their software?
- Many of these distros are perfect examples of the minefield principle. This is because they update both user software and hardware-interfacing software on a rolling schedule, ensuring constant annoyance (or breakage) in some cases. There's a good reason the likes of Ubuntu and set-release distros are more popular-- they maintain hardware compatibility and emphasize stability after release. But the likes of Ubuntu et al use this philosophy too much and too little, simultaneously. Instead of continuing the focus on stability, either: 1) A new distro is released and the old is unsupported, or 2) LTS releases focus entirely on stability and lose software relevancy. A proper approach would be 3) Less frequent releases, emphasis on hardware stability within each release, but provide the latest user software. Rolling for software, not for hardware. That is, provide rolling user software updates such as Firefox, OpenOffice, KDE SC, GIMP, etc but focus only on security/bugfix updates for the kernel, drivers, X, modules, hal, CUPS(?), etc. This would keep the distro relevant, up-to-date, and functional for a span comparable to Windows and OSX. It may even be perfectly feasible to focus entirely on LTS releases every other year or every 3 years (with the option of an "experimental" release in intervening years).
Some real-world examples:
- Sony Vaio P. Hardware works perfectly under Karmic with Poulsbo, terrible in Lucid and Maverick. Because it was stuck on older versions of Firefox (which went out-of-compatibility with some web sites), OpenOffice (which doesn't support the many essential docx features like the new one), KDE (with bugs that will now never get solved), I had to go back to Windows 7.
- Anything with Intel GMA8xx to 9xx graphics: Hardy/Intrepid+self-installed 2.7.1 driver was fastest and most stable. There were many threads devoted to this. Intel graphics support has since ditched this kind of acceleration, leaving these systems in the dust (but supported perfectly, speedily, and stably by Windows 7 Ultimate x32/x64). This was made impossible by later versions of the driver and kernel. Hardy systems are now mostly unusable for modern work, as Firefox, OpenOffice, etc are quite antiquated. So all of these systems got Windows, too.
- My friend's UMPC (forget the name) had a special webcam and fingerprint reader he could only get working in Intrepid and (somewhat) Jaunty. These are now obsolete in terms of software, and he reverted to Windows 7.
- Brand new Dell laptop -- got it all working with Lucid finally, but Maverick breaks some things again. This is a core i7 system with new NVIDIA chipset, so it's not antiquated. But I made the mistake of upgrading to the new KDE 4.5.1 via kubuntu.com's instructions. This is apparently a dead-end, because they are canceling the PPA, even though I thought LTS Kubuntu meant the dot upgrades would make it. This left a very bitter taste in my mouth, and I now write this on Windows 7. Dual-boot for now, but without software updates (or the promise of more pain getting hardware to work again in Maverick), I really don't want to spend another few weeks tinkering.
Windows 7, for the record, works perfectly on all of them, even the older ones (with some tweaking). It will continue to support all software updates well into the future. Even windows XP receives software updates for virtually every piece of major software, and it's almost 10 years old. Support is just now beginning to dwindle with IE9, WMP12+, etc on the horizon, but currently Firefox keeps itself up-to-date, Office 2010 installs easily, etc. Not even the current LTS release of Ubuntu can claim to be as up-to-date... it already lags behind the competition, and Maverick isn't even out yet.
tl;dr version: keep updating software of user's choice for the lifespan of the distro, at least for LTS. I thought this was common sense, but the developers do love tinkering, so it's hard to get the message across that the mainstream (or even geeks like me) actually want to keep a stable, modern system without screwing around with their hardware every few months. This means keeping the functional hardware stuff in place, but keeping the software up-to-date. Anyone?
I just wanted to share one idea of why the linux desktop, particularly Kubuntu, still sees slow adoption rates (although the trend is positive). First off is the issue of stability vs new features. The release cycle is a bit frequent, but the way things are laid out, it has to be in order for any software to be kept up to date. I argue that this is a faulty model.
Having a system that is stable and workable but without the luxury of updating choice user software (OpenOffice, Firefox, media player, even to a great extent the KDE desktop itself) is not good. It's quite a pain. Here's the thing: Lucid 10.04 is the only distro to work properly with my system (and a few friends', with some heavy tweaks), since distro X or Y some years ago. Having spent countless hours debugging and tuning the system to play well with our hardware, waded through countless forums and chats, and invested plenty of sweat and tears into personal debugging, we all found a system we could be very proud to call our own, and we were happy to contribute back to the community.
Now, satisfied that our computers interface perfectly with all our hardware, we've moved on to jobs, school, and so on that afford us little time to invest heavily in repeating the process for new distros. It's a well known (and disenchanting) truth that some distros work, and some don't, through no fault of the developers (usually). But again, here's the thing: there's no guarantee (or even likelihood) that all of the hardware will work properly with the next incarnation of your favorite distro, kernel, X, hal, or whatever new drivers come our way.
This is a somewhat broken model for many people, particularly those with average assortments of hardware that experience changing levels of support. It's rare in my experience that every version of Ubuntu from their starting version to 2+ versions later works just as well for them. The same tricks/tweaks rarely work in the same way with all of the structural changes in the distro.
My point is this: Once we get a distro working properly with our hardware, we're out of luck for all future software updates as well. The solution? Keep rolling out new versions of the software, installable at the user's discretion. It's very difficult and time consuming to obtain new copies of OpenOffice, Firefox, KDE software, etc within the framework of the distro we worked so hard to get working properly. All software except that which interfaces directly with the hardware should be constantly updated and provided in (a) user-selectable software source(s). We (I speak for the group I'm talking about) are growing very weary of Linux in general (which is unwarranted) because of the need to invest large amounts of time into keeping abreast of the essential feature updates.
Some questions you might be wondering:
Why just update the user software and not the hardware-interfacing stuff?
- Because the hardware stuff is likely to result in breakage when updated, or otherwise necessitating sweeping changes in architecture with all attendant bugs. User software doesn't because they're just programs that run atop the framework established by the former.
But the same argument applies to user software: if it's not broken, don't fix it. If your hardware-interfacing software (kernel, X, drivers, hal, hardware support) is stable and you don't want to change it, why should you bother with the software either if it's stable? It's all or nothing, and the distinction is artificial.
- New versions of Firefox are required to stay abreast of changing web standards. New versions of OpenOffice are required to maintain feature-parity and compatibility with Office products. More fundamentally, new versions of KDE (particularly 4.5.2 in my Lucid case) address essential bugs/stability fixes plaguing previous versions, even those offered through "semi-offical" PPAs. The software world is changing constantly, but my hardware remains the same. Most people actually tend to keep their expensive computers for 2 years (or more) and don't want to risk breaking their systems for every release.
What about "rolling distros" that constantly update their software?
- Many of these distros are perfect examples of the minefield principle. This is because they update both user software and hardware-interfacing software on a rolling schedule, ensuring constant annoyance (or breakage) in some cases. There's a good reason the likes of Ubuntu and set-release distros are more popular-- they maintain hardware compatibility and emphasize stability after release. But the likes of Ubuntu et al use this philosophy too much and too little, simultaneously. Instead of continuing the focus on stability, either: 1) A new distro is released and the old is unsupported, or 2) LTS releases focus entirely on stability and lose software relevancy. A proper approach would be 3) Less frequent releases, emphasis on hardware stability within each release, but provide the latest user software. Rolling for software, not for hardware. That is, provide rolling user software updates such as Firefox, OpenOffice, KDE SC, GIMP, etc but focus only on security/bugfix updates for the kernel, drivers, X, modules, hal, CUPS(?), etc. This would keep the distro relevant, up-to-date, and functional for a span comparable to Windows and OSX. It may even be perfectly feasible to focus entirely on LTS releases every other year or every 3 years (with the option of an "experimental" release in intervening years).
Some real-world examples:
- Sony Vaio P. Hardware works perfectly under Karmic with Poulsbo, terrible in Lucid and Maverick. Because it was stuck on older versions of Firefox (which went out-of-compatibility with some web sites), OpenOffice (which doesn't support the many essential docx features like the new one), KDE (with bugs that will now never get solved), I had to go back to Windows 7.
- Anything with Intel GMA8xx to 9xx graphics: Hardy/Intrepid+self-installed 2.7.1 driver was fastest and most stable. There were many threads devoted to this. Intel graphics support has since ditched this kind of acceleration, leaving these systems in the dust (but supported perfectly, speedily, and stably by Windows 7 Ultimate x32/x64). This was made impossible by later versions of the driver and kernel. Hardy systems are now mostly unusable for modern work, as Firefox, OpenOffice, etc are quite antiquated. So all of these systems got Windows, too.
- My friend's UMPC (forget the name) had a special webcam and fingerprint reader he could only get working in Intrepid and (somewhat) Jaunty. These are now obsolete in terms of software, and he reverted to Windows 7.
- Brand new Dell laptop -- got it all working with Lucid finally, but Maverick breaks some things again. This is a core i7 system with new NVIDIA chipset, so it's not antiquated. But I made the mistake of upgrading to the new KDE 4.5.1 via kubuntu.com's instructions. This is apparently a dead-end, because they are canceling the PPA, even though I thought LTS Kubuntu meant the dot upgrades would make it. This left a very bitter taste in my mouth, and I now write this on Windows 7. Dual-boot for now, but without software updates (or the promise of more pain getting hardware to work again in Maverick), I really don't want to spend another few weeks tinkering.
Windows 7, for the record, works perfectly on all of them, even the older ones (with some tweaking). It will continue to support all software updates well into the future. Even windows XP receives software updates for virtually every piece of major software, and it's almost 10 years old. Support is just now beginning to dwindle with IE9, WMP12+, etc on the horizon, but currently Firefox keeps itself up-to-date, Office 2010 installs easily, etc. Not even the current LTS release of Ubuntu can claim to be as up-to-date... it already lags behind the competition, and Maverick isn't even out yet.
tl;dr version: keep updating software of user's choice for the lifespan of the distro, at least for LTS. I thought this was common sense, but the developers do love tinkering, so it's hard to get the message across that the mainstream (or even geeks like me) actually want to keep a stable, modern system without screwing around with their hardware every few months. This means keeping the functional hardware stuff in place, but keeping the software up-to-date. Anyone?
Comment