Podcast on Filesystems
Filesystems are little different from their initial inception last century. Memory, on the other hand, has gone from a state of anarchy that filesystems still reside in, to an abstracted virtualized version in all major consumer operating systems today. While hacks to the limitation of present filesystem design has been lopped onto various versions, most of these have been either horribly inaccessible (the windows registry) or geared toward protecting users from each other (permissions). Little to nothing has been done to protect one application from the next. This problem is so great that entire cottage industries have sprung up supporting these problems, with substantial emotional investment in one implementation or another; most fights about linux flavors center around package management.
We need protected/virtual filesystems. Just as processes can, today, assume they are the only process on the system, we need to allow applications to assume that they are the only application installed on the filesystem.
This will give developers a transparent solution to dll version conflicts, file overwriting issues (you own the file, who cares if you overwrite it), install paths, etc. Each program can dump every config file it wants to in /etc because /etc/config.ini is unique for each application. Each program can install the same version /lib/mscorwks.dll that it was developed under, and never worry that iShittyApp will come along and install /lib/mscorwks.dll from the BLEEDING_EDGE_UNSTABLE tree and hose 90% of applications.
Users won’t need install or uninstall libraries. Nor will they worry that installing World of Warcraft will break something in Office. This is good. This is what we need.