Linked by Adam S on Wed 30th Apr 2003 07:26 UTC
Linux Lately, we've all read a lot of articles about desktop Linux - so many that it's getting hard to tell them apart. One says "Why Linux Sucks," the next "My Success With Linux." Even Michael Robertson of joined the fun with his "Why Desktop Linux Sucks, Today." But very few people have proposed anything radical, and I believe that's what's needed to take GNU/Linux to the next level.
Permalink for comment
To read all comments associated with this story, please click here.
FSH Reorganisation?
by Iain on Tue 29th Apr 2003 23:31 UTC

I'm been thinking about this issue for a while, and it seems a lot of people around the internet have been having similar ideas over the past few years as I've been looking around on the issue.

Looking at my first impressions of using UNIX for some development as I slowly migrate away from Windows, and I have come to one conclusion on the current state of the UNIX style filesystem (and to some extend current hierarchical directory structures) are beginning to get extremely outdated.

I've been pondering for months and coming up with some ideas on how I think Linux, or a BSD variant of your choice, could evolve into a far more powerful and readible system.

They way I see that the UNIX filesystem should develop is to first leave the hierarchical directory structure and use a more Database orientated approach to the naming of files using tagged meta-data. Even windows is going this way, and in all honesty I consider this definitely the way forward.

For one this would make searching a large FS a heck of a lot faster.

This is only a few abstract ideas, as I can see instead of initially having directories off the 'root', you would instead have resources such as 'Hardware', 'Libraries', and 'Applications' or anything else that could be custom defined within the schema.

Say in the 'Hardware' resource, this would develop more like the devfs system in Linux, but since any style of meta-data could be used since this FS is a database for all intents and purposes it could define all the installed hardware.

For 'Libraries' this could simply be a table listing all the installed libraries on the system, indexed by name, and version - this gets rid of any possibility of something like DL-Hell. You could have more than one effective namespace for this too, having a complete one for the system editable by 'root', another for each specific user, and one more that could be attached to an installed application.

(This could allow the easy drag-and-drop installs, although I've not tried giving Mac OS X a whirl, that would require me owning a Mac.)

The installed 'Applications' on the system as well could be stored in a table the same way, for the system, and individual users and could UNIX style commands for running at the equivalent of a terminal window. Along with this other data could be stored, including Configuration within the filesystem itself as attached meta-data or something more complicated defined by how this Filesystem schema could be developed.

Even your own documents could be handled like this, as you could tag the document with any kind of meta-data you could think of it would let you organise your files they way you wanted. Or this could allow a more Task Orientated design to how users look at files.

Making this extensible would be the only way I could see something like this actually working, allowing some sort of plug in module system for say handling a new 'WebRoot' resource, or something similar.

It may sound a bit like rambling, I'm just dumping ideas to the keyboard. Feel free to poke holes, I don't mind the criticism.