elementary OS should use a customised filesystem

Registered by anonymous815

Ala Gobolinux and Moon OS, elementary should use a custom filesystem hierarchy. One that is more friendly and logical to any new or returning Linux users.
It would mean that the folder layout from the root onwards would be completely different to the standard Linux distribution. But if done in a thoughtful way it can make the new and old users life easier.

For example, if looking for the themes folder a user could now find it in the root of the filesystem under: /themes. As opposed to: /usr/share/themes.
This can be done for many other folders, the least of which would be the users home folder which could be relocated say to the root of the filesystem under: /users.
The surprising thing is, you can still install and use these distro's as any other, due to symbolic linking of the old filesystem hierarchy.
For easier reference (as it has not yet been named) I'll call it: Logical Filsystem Organisation. LFO, for short.

Here is some documentation with a better explanation and the implications:
http://www.gobolinux.org/?page=faq
http://www.gobolinux.org/?page=at_a_glance

Blueprint information

Status:
Complete
Approver:
elementary core
Priority:
Not
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Superseded
Series goal:
None
Implementation:
Beta Available
Milestone target:
None
Started by
Sergey "Shnatsel" Davidoff
Completed by
Sergey "Shnatsel" Davidoff

Sprints

Whiteboard

We reached the conclusion that no regular user will look at the filesystem without any instructions to do so and this system does not really add anything of benefit for expert users --council meeting 01. Oktober 2011

---

netherblood: i've created a working implementation of this - you can check it in the "related branches". please note it doesn't work with marlin, since it is missing a required feature. it works fine with nautilus.

---

ampharos: How is this?
jamiewhite: Good :) I'm glad someone got it. I wasn't sure with my description was, erm... descriptive XD
ampharos: too wordy jamie, and now you're scattering the things! fixed it. Themes should be treated like any other data: in /System/Data/Themes or /User/user/.config/Themes - also .config/Local

----

/Applications - a dir with all the data an application needs. Any app-specific binaries, libraries, data, and configuration go into an AppDir (similar to an AppImage, but not contained, not compressed, and more organized) with a logical layout, for example: /Applications/<appname>/bin, etc. With an XML file describing the app and how to launch it, in the apps main folder. Most /usr/share folders would find their way here.

/Users/<yournamehere> - Works like any other home folder.

/Users/<yournamehere>/.config - Something like this, the title's less important than the idea right now. Above (/Users/<yournamehere>) would be the user's standard home folder and would contain all of the visible user folders (I.e. Downloads, Music, Pictures), but this one (/Users/<yournamehere>/.config) would contain all of the hidden folders and system text files usually found cluttering the home folder. (We might not make this hidden, for easier backup, and management of some system things. A warning should be added, at least in enblem form)

/Users/<yournamehere>/.config/Local - Like the normal config directory, but machine-specific configuration data for users. Things like screen resolutions for games would go here, and should not be synced if a syncing program is installed.

/System - where the kernel and global objects remain. These include core utilities (Binaries), system wide libraries
(Libraries) and configuration (Conf), locales and other data (Data), headers and stuff for compiling (Dev), etc.

/Abstractions - Where things like /dev, /proc, and /sys go.

/Public - Where everything else goes. This should be system-wide; global user read/write, and networked if file sharing is enabled.

/Media - Removable media.

/Disks - misc. disks and partitions that are internal, but not allocated onto the system directories.

/Temporary - temp

Please add to ensure refinement.

-----

I quite like the ideas above - I'd change it so /Abstractions would be hidden by default. Users seldom venture into the folders described.
--ottorobba

-----

+1 internet to this idea. - W.Kirby

-----

WTC? What you mean with logical... it is logical, like it is now in traditonal unix environments, if not it wouldnt work, and there wouldnt be so much POSIX compatible apps available. Why should we change the way it is, or hide the way it is now? Programers will still use the unix filesystem hierarchy, if not, the app wouldnt run on ubuntu, etc. . GoboLinux did an amazing stupid thing IMHO . They changed the whole filesystem hierarchy, and not just simply "hide" it like its descrbibed in this blueprint. Why double the work, and "hide" the way things simply are ? Why lie to the user? Marlin already did much good things for simply hiding the the system specific stuff ( of course not as good as finder on mac OS X®, but still good) I dont know, if mac® users know how the mac filesystem is structred, but I think the most/average and not average users give a sh*t on it, couse it simply works! We would need an other base to "realy" realize that, when we dont simply want to hide it (like moonOS it does, and gobolinux doesn´t) . -- gotwig

-----

The question is: ¿why the regular users (like my grandma) needs to know the filesystem?. They have a directory where they can begin to work and save files. ¿Why do the change? ¿How the unix/linux developers will see the change?. I'm a dev and personaly I don't like this change. --jlnavarro111

-----

For me is really a bad idea: non expert user rarely uses "/" stuff, and uses only /home/user and if they search in internet for themes in linux tehy will found /usr/share/themes and not /Themes or something else. Expert users/Dev don't care about this: they use Unix hierarchy and not the specific distro on. And add too much
simbolic links will only be confusing... -- Filippo

-----

This blueprint was declined for elementary OS on the elementary Council from the 1.th October 2011: http://elementaryos.org/journal/council-notes-october-1-2011 --gotwig
 --

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.