woah there! flamebait! shall we do it
>>20?
FHS was designed for pretty much anybody - remember that unix was designed for servers. FHS was designed for
minimizing reduncancy, maximize sharing and maximizing flexibility for the maximum number of people. you really need to read the FHS.
http://www.pathname.com/fhs/pub/fhs-2.3.html#THEFILESYSTEM
I've read it once and to me (and apparantly many others) it seems like FHS is a sane standard.
The short names are used to minimize computer resource usage. For a server in a business, the resource savings do add up. e.g. in /user vs. /usr, the /user string is 25% longer than /usr. do the math and you'll find in a year, the computer does less work overall by not pushing as many character bytes which will impact electricity usage.
Running different versions of a software simultaneously is a specialty task. Very few people have this requirement. As a result, the system is tending towards using only one version of the software. If I had this requirement, I'd just statically link the app or contain everything the app requires in a directory (mswindows-style) and drop the result to /opt.
As your gripe about package managers, don't you see the benefits of dynamic linking and shared libraries? Incrementally updated shared libs have an immediate effect upon app that depend on them. Only one copy of a library is needed on the hard drive and in memory rather than having multiple library copies in every app that needed it. Package managers exist because of all the benefits of shared libraries.
If all you wanted was gobolinux why didn't you say so. For me, the waste of resources by having multiple copies of libraries that have the exact same function is insane.