Linked by Kevin Adams on Fri 9th May 2003 23:04 UTC
Linux "Lately, there has been lots of discussion on the current state of Linux as a desktop system, and articles pop up here and there, occasionally with very good ideas. However, none have surprised me more than this one. It was all very hyphothetical, but had pretty radical ideas on how the author thought the Linux directory tree should be reorganized." Read more about GoboLinux, a Linux distro that uses a new style directory tree at Kuro5hin.org.
Permalink for comment
To read all comments associated with this story, please click here.
Doh, less coffee required.
by Err on Sat 10th May 2003 17:51 UTC

Ok, I admit my last comment was uncalled for,
apologies. I'll rephrase the argument into something that isn't a troll post.

The server and home desktop are totally different environments, and they make totally different demands upon the OS being used.

Linux (And *nix in general) is very good in the server arena. It's stable, it's friendly to sys-admins, all the funky server apps are generally available for it. Basically it gets the job done.

The office desktop makes a few more demands (Like a graphical environment, word processors etc), but not really any greater demands than the server environment (I'm not talking about availability of application xxx). Linux is a perfectly capable office desktop.

Which brings us round to the home desktop. This makes demands that simply aren't present in the other two environments and this is precisely where Linux falls down. A responsive desktop is pointless if you're operating a server, and having it be not quite so responsive is perfectly acceptable on the commercial desktop, but on the home desktop it MUST feel responsive to the user. Similarily with audio and 3d acceleration, amongst others. Only the home desktop actually requires these elements to perform to a high standard (Small exemption here for commercial desktops that are used for graphical purposes).

Or to put it another way.

A server OS has to service the needs of many users at the same time, both local and remote, and do it in such a manner that they are prevented from interfering with one another.

A home desktop OS has to service the needs of one user at a time, and do it in such a way that the minimum amount of effort is required to use the apps the user wishes to use. People mostly use computers for fun when they're at home. A good home desktop OS should place as few stumbling blocks between the user and their apps as possibly.

Now these environments just don't mesh well with one another, they pull the OS designers in separate directions more than anything else.

For example:

WinXP is a good home desktop (That isn't an invitation to flame btw). I can perform my most common actions (Installing games, browsing, reading my mail etc) quite simply. It's fairly idiot proof (Which helps :>) so I can just throw the CD in the drive and be playing games a coupla hours later. It might not be perfect, but it lets me do the things I want to do without ever having to engage my brain to do them (When I want to do developement work I switch to Linux because it has better free tools).

All well and good. But WinXP is reputed to be a poor server OS. I haven't used it as such, but just reading around the web a little has revealed plenty of flaws when it's operating in this environment.

Now this is to be expected. WinXP works well on the desktop, and less well as a server (I'd expect OSX to be similar).

Linux, and the other traditional *nix perform well on the server, for application developement, and less well on the desktop.

It shouldn't be surprising. WinXP was designed with the home user in mind, whereas the *nix variants' design leans towards a multi-user academic/business server environment.

Ok, lengthy and slightly boring explanation of things folks already know, but I'm getting to my point.

There is a resistance to change in the *nix community, but in the main it's driven by folks who just don't need *nix to change. If they're sys admins, developers or office desktop users then it's already fulfilling their requirements and radical change is too little reward for too much expense (Familiarity vs relearning the system).

Now that's all well and good, and a perfectly understandable position to take, but it doesn't help out the home desktop users. If Linux is truly going to make the big push into being a good home desktop OS then changes are going to be required, and they are going to be very large changes indeed.

These two positions are not harmonious, the target userbases have different objectives. Pushing Linux (In it's current form) onto the home desktop is like trying to put a square peg through a round hole. You can do it, but either the hole has to be big enough or you have to alter the peg. In a similar fashion I've got no doubt that Linux can move towards the home desktop, but people should accept that the Linux on your desktop will not be the same Linux you use on your server.

It's high time Linux developers stopped trying to be all things to all users, and provided separation between the two roles. In one incarnation Linux would be focused on the home desktop, in the other it would be focused on the server environment. Attempting to create the perfect OS that is all things to all people is simply diluting the developer's efforts. Concentrating them into clearly defined roles will produce much better results.

(Back on topic, finally :>)

Now GoboLinux may or may not have got it right in altering the file system, but in making such a radical alteration what they have got right is to state categorically that this distribution is willing to make sweeping changes in response to the demands of the home desktop user. For that alone they should be congratulated. Standards are good things, but if followed too slavishly they can also be an impediment to progress.

Finally. It's the job of the OS to adapt to needs of its users, not the job of the user to adapt to needs of the OS.