This solves exactly one problem while creating many, many more. "disk space" is not the only concern. Bugfixes, patches, etc. are also important. Imagine, if you will, a world in which every managed, non-core, assembly is installed privately by the application. All of these applications are effectively statically linked to that version of the respective libraries. Now, say a security problem is discovered in one of the dependent libraries so the administrator dutifully updates the system library to fix the problem. Of course, you may not have been aware that the library was in use by that application, let alone using a private copy of it. So the security problem persists until the developer of that application decides to update it.
There are many, many other ways of solving the dependency problems you mentioned, even in the UNIX world. Packaging things like that makes perfect sense for "technology demonstrations" or "/opt" but is, quite frankly, idiotic to do on a system level. Especially considering .NET assemblies support interface versioning at a more fine grained level than simple ELF versioning. Parallel installable libraries is just one way of alleviating the "dependency hell" on UNIX and, unlike Windows, it works quite well. -- --Shahms
signature.asc
Description: This is a digitally signed message part
