In a comment over on Kasia's blog, David said:
Consider Linux as a work in progress..things are going to be a-changing, so tomorrow you may not even see that problem. It might have already been fixed..things are constantly improving.
That got me wondering a bit. How does a linux distribution "decide" when it's time to cut a new release, anyway? I really have no idea what the process is like. I do have an idea how the MySQL folks decide when to release a new stable version (it has a lot to do with squashing all known bugs first).
I'm particularly unfamiliar with RedHat's processes, since I stopped using their software many years back when RPM bit me a few too many times. (I know a bit more about Debian's release process.) From what I can glean on this page, Fedora Core 1 (which she said she used) seem to be a non-test version of the software. I wasn't really able to find any explanation of their release process on the site (and Google wasn't much help), so it's hard to say.
With the recent push for "Linux on the Desktop" gaining media attention again, this seems troublesome. Whenever discussion of the "average user" comes up (as it does in other comments on that post), the notion of a it being a "work in progress" isn't going to endear many new users.
Remember, for most users, the Operating System is supposed to be a transparent and stable base upon which to run their daily applications. What would you think if, at the car dealer, the salesman said something like this:
Yeah, this baby's great... The engine? Well, it's a work in progress but should serve you well. Don't worry!
Yes, Linux is always getting better. But it's odd that the basic stuff, like the installer and keeping-itself-update stuff is still problematic. Or that a bug this obvious was released.
Anyway, I'm sure it's fixed in the latest version. That's always the response in the software world, right?
Posted by jzawodn at May 05, 2004 08:29 PM
i get the distinct impression that debian no longer has a release process. (the last stable release was in july 2002, and the next is apparently expected no earlier than 2005.)
microsoft isn't doing much better than the debian folks, either.
while a lot of people have talked about software subscriptions, apple is actually releasing a new version of the operating system a year, and charging $120 or so for it.
i guess the question now is whether we will see one, two or three new versions of mac os x before longhorn and woody both ship.
Every operating system is more or less a work in progress- some just seem to be there faster and more transparent ("hey heres your error bastard, now i'm closing") in the user land [a la Mac OS X and Microsoft].
I think that defining work in progress depends on where its applied to..and where you want to limit it at.
In defense of your own argument, i'd say yes- it is kind of stupid that those errors exist and aren't ironed out yet, and i'm sure Kasia is not the first to notice them..
The analogy for the car fits almost, but there something to be said there..cars can't really be fixed once they're out there without large expense, so the makers have to try and debug, debug, debug till their brains explode. Developers that can get their users to 'update' once the software is out are more fortunate- they can slack off on building a better pre-programmed prom date and still meet production deadlines. Heck, some developers could comment out half a page of code, and remove certain functionality because they deem "these people can get it from an update later".
Who doesn't in the software world..look at almost every comsumer router for an example even..
My WGR614 has comments hidden still in the sidebar with unimplemented features. They (Netgear) had to rush to release with their "big fat product" to beat the other guys, and feed everybody firmware updates (not that those ever got uncommented) later to suppliment the router.
Not that that really has anything to do with the above, but its just example of how some software people can be more lax than others.
Work in progress still defines many operating systems actually (none that I will name here- because I don't want to turn this into /.), and that by plenty..has already endeared many users with their blue and green screens- and perhaps a logo of a bouncing something.
Just crank up your tolerance level for Linux a bit, and you'll have a great desktop with a little effort.
As always, it'll change (hopefully). Stuff does. Kasia's blog came out with permalinks for comments today for instance..everything is always being hacked on, being improved on..can't say much beyond that I suppose..
It's my impression that Fedora sets some big targets ("kernel 2.6 and gnome version X") and then cuts the release when those things are in. All the other packages are chosen on a "best available that works with everything else" basis.
They write some about it here: http://fedora.redhat.com/participate/schedule/
As Jim pointed out, Debian is absolutely hopeless with this.
- ask (using OS X and RHEL depending on the platform)
mandrake's new release process : beta /bug test for a few months, then release it.
This happened for the latest iteration - version 10.0 "community" was the beta, which was followed by the 10.0 "official" release.
Yeah, this baby's great... The engine? It's a work in progress and in a few months it will have 30% more horsepower, and it'll get 5 more mpg.
jeremy said:
"keeping-itself-update stuff is still problematic"
Mandrake 10 release notes:
"urpmi can now do a distribution upgrade simply by adding urpmi sources for the 10.0 dist tree or cd's and then running 'urpmi urpmi' then 'urpmi --auto-select' and finally 'urpmi kernel' to install the new kernel. "
Sounds easy enough, until you read the KDE 3.2 notes:
"The KDE Project has reorganized applications for the 3.2 release. An example is that kmail is part of kdepim now instead of kdenetwork. This could cause upgrades from 9.x that have KDE 3.1.x installed to not go smoothly. The best way to do an upgrade from 9.x will be to completely remove KDE from the target system, run the upgrade using your preferred method (urpmi --auto-select or upgrade installation) and then install KDE from the 10.0 media. "
Ridiculous - KDE move some stuff around, therefore I have to de-install my entire KDE in order to upgrade.
This should NOT be happening folks!
David:
"Every operating system is more or less a work in progress"
Sure. They're on an evolutionary track. But does that mean we should be shining a light on that? I doubt it. People don't want to hear that what they're using today will be, in some ways, "obsolete" shortly.
"cars can't really be fixed once they're out there without large expense"
The same is true of mainstream software. Have you ever thought about the actual costs involved in a major OS upgrade for average folks? It can be quite traumatic, considering how bad modern operating systems are at maintaining custom configrations between upgrades.
My contention is that if we expect "normal" folks to use this stuff, those problems must be solved first.
Not to nitpick, or seem like some kind of fanboy, but I think the engine analogy is particularily bad. More appropriate might be a comparison to a freeway system or, better yet, a large municpal traffic grid. Now imagine a car dealer sayng something like:
'Yeah, this baby's great... The roads you need to drive it on? Well, it's a work in progress but the traffic isn't really that bad, the potholes are being fixed, the light timing isn't as bad as it used to be and next year, should the funding come through, mainstreet will be widened to allow for better throughput. Should serve you well. Don't worry!'
Funny how such things are a problem at circuit city, but not even worth mentioning at your local ford.
"Sure. They're on an evolutionary track. But does that mean we should be shining a light on that? I doubt it. People don't want to hear that what they're using today will be, in some ways, "obsolete" shortly."
I was trying to pin down the idea that everything is kind of on its own cycle pretty much. Its evolving daily- doing something better, so is Linux. Linux is just behind in the.."make it simple so everybody can use it" arena.
"The same is true of mainstream software. Have you ever thought about the actual costs involved in a major OS upgrade for average folks? It can be quite traumatic, considering how bad modern operating systems are at maintaining custom configrations between upgrades."
Sure, in essence to the average person (to big companies this might mean something) they would forgo all their settings. They keep their files, mail- would it be so hard as to reconfigure everything that was lost? I do it all the time...in Windows.
You're exchanging something older for something newer- things are sacrificed.
Since work is never really finished on an OS, I like the way OpenBSD does it: twice a year, they collect all the changes (patches, fixes, improvements, and added features) and do a release.
I also like the fact that Theo does not make the version numbers jump around. Since I have been following OpenBSD, it was released 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, and recently 3.5.
Everything is a work in progress. Even car engines. They're constantly improving on the design and manufacturing, but once they get something they like, they work out the bugs and release it to the public. Then they keep working on it.
Of course, you sell it as if it's a finished product. That's what the distributions do. Even as they're releasing their finished product, the kernel is already several version ahead.
It's not just technology that works like this. You could think of living things as a work in progress. Any individual is a finished product, but their species is being refined through evolution.
Saying Debian hasn't had a release in n years is a bit stretching it -- what's really happened is that they haven't had a change of "stable" in that time.
If you run 'testing', which is what you would normally do on a desktop, software gets upgraded constantly. 'stable' is what you use when you *don't* want new versions, such as an unattended server.
I think Debian should be clearer about this. Gentoo follows it a bit more to the extreme: there are no 'releases' in the ordinary sense. They update their live-CD/installer twice a year, but any CD will install the 'current' tree and keep you upgraded. They never change trees.