Basically, when Unix was developed, hard drives were small and as such, data was split in different folders so that it could be mounted in different drives. That's where /usr came from, for example.
A distribution called GoboLinux has an alternative file system layout. See here, it's an interesting read.
Something the Distrowatch story fails to mention are Compile and the "Recipes" - yes, software is installed by code, but you don't need to do it by hand. Just type, say, "compile snes9express" or "compile liferea" and you're good to go.
Also, the main reason for the change of names (such as /usr becoming /Programs) was not just "user friendliness", but to avoid clashing with the traditional hierarchy. Source.
Reminds me of GoboLinux, where it has Programs, Users, System, Data, and Mount directories under root, with programs having their own subdir e.g. /Programs/Firefox/
No. Linux, since it was intended to be "UNIX-like" from the beginning, has inherited this filename structure from UNIX which was first created in the late 1960's. And back then terminals were so horribly slow that typing anything longer than 4-5 characters was painful. So the creators Ken Thompson and Dennis Ritchie stuck to very short folder and command names. It stayed like that when the first original UNIX was released in the early 1970's, it stayed like that with all the various derivatives that were created in the 1980's (HP-UX, SunOS, Tru64, IRIX ...) and it also stayed exactly like that when Linus Torvalds created Linux in 1991.
So these names being short is purely historical and for compatibility reasons.
Mac OS broke away from this standard by introducing its own folder structure.
And there is one Linux distribution that also tried its own approach and do away with this antique folder structure: GoboLinux, https://gobolinux.org/
Not sure how popular that one is, though.
Sticking to these old short folder names also has its upsides, e.g. it doesn't matter what distribution (SUSE? Red Hat? Ubuntu? Debian? Gentoo? Arch? ...) or OS family (HP-UX? Solaris? FreeBSD? AIX? ...) you have to work with, but you can bet that the configuration files will be in /etc
and that log files will be in /var/log
...
LFS is not really a usable day to day distro. No matter how much time you put into it, without a package manager you'd be dumping files in the same dirs with no way to keep track so good luck when something breaks or you want to upgrade something. You can try to work around that by forcing packages into their own prefix and only symlinking from root dirs but you'd be surprised how many essential Linux packages ignore prefix compile flags or outright hardcode root dir locations.
LFS is more of a practical exercise for learning how a Linux system works. Give it a shot if you haven't ever tried it, it's a cool experience and it teaches you a lot more about Linux internals than regular distros. But you'll have your work cut out for you just getting graphical drivers, X and a basic standalone window manager working, let alone fancy graphical software like a modern browser (which are some of the most beastly and challenging packages on Earth to get compiled).
I see that GoboLinux is still alive and kicking after 18 years, perhaps have a look at it as an alternative or in addition to LFS. It's basically LFS with a community and helpful tools, plus some cool ideas, like solving the need for a package manager with a clever filesystem reorganization.
If you want something really out of the box, check out Gobolinux. They have an unique kind of file system organization that is radically different from everyone else.
> How do you remove all of the extra files an app places outside /Applications?
"In GoboLinux you don't need a package database because the filesystem is the database: each program resides in its own directory, such as /Programs/Xorg-Lib/7.7 and /Programs/GCC/6.2.0."
It's as simple as deleting the directory with the version number
I linked to the screenshots page above, but here's the intro page for the release:
https://gobolinux.org/gobolinux016.html
GoboLinux is a research/experimental distro, so we thought it wouldn't be a problem shipping with a git snapshot (soon-to-be 4.0), because I bumped into some bugs in 3.5.x when designing the Gobo theme and config that were fixed in git.
I've been using Gobo with Awesome-git for a few months now and it's very stable (the few issues I had during this period were duly reported in the Awesome issue tracker and fixed by the Awesome team).
Our distro is a Live-ISO so if you want to give it a spin without committing to an installation, just go ahead, download the image, and run it straight from the ISO. :)
Sadly I think this problem will still exist 20 years down the line. If all apps would follow the XDG base directory specification I could live with that. But this will not happen for a long time if ever. At most we can look at solutions like GoboLinux
Funny you mentioned breaking the Filesystem Hierarchy Standard, Gobolinux's saner virtual rearrangement of things also allowed multiple versions of a package if you wanted, though because it was only virtual, there were issues that were later addressed
Definitely noticing a pattern here with FHS carrying some ancient baggage that's holding things back.
Personally I like how things are organized on Linux, but I understand everyone has their preference. There's even a distro that does something similar to what you want but its package repository doesn't look up to date so I wouldn't suggest you to try it.
Can't really say anything about performance but after reading this site, $PATH points to /System/Index/bin
and contains symlinks to the executables. Similar folder exists for libraries, manuals and so on.
If you want an interesting Linux, you should take a look at GoboLinux. It has Awesome as default DE, and it redefine the entire filesystem hierarchy.
I never tried it, but if you're looking for something original, I think it's an original Linux ^^
I think all of these tools are just absolutely useless crutches.
I also explained this in the past. I don't need any "version manager" for ruby because ALL MY PROGRAMS are already versioned at all times. I use a setup that is very close as to what GoboLinux uses.
https://gobolinux.org/documentation.html
I did use several ruby versions side by side under /Programs/Ruby/ but these days I just keep on using the latest stable and that works for me. (I don't use unstable ruby versions, other for quick testing, mostly because when I publish gems, I think people expect only stable ruby releases really, since unstable variants can sometimes break, which just isn't fun for anyone.)
Probably something similar to GoboLinux. Its filesystem is completely different to linux standards.
From the about page the top level folders are: Programs Users System Data Mount
We included Awesome-git in the last release of GoboLinux (it's a research/experimental distro, so I thought it wouldn't be a problem to include a snapshot — I've been running that particular snapshot for a good while, it's pretty stable). Here's our screenshots, I designed a custom theme and config as well: