We have evaluated Snappy a lot. In Snappy you can only share executables as dependencies, not librarires. So, you can use curl as a program, however if you want to use libcurl in your application, you have to include the library in package. When this list goes large, you have to keep track of the state of the every dependency you include. Bugfixes, security patches.. However, in regular package managers, you can also depend on libraries. And this solves a lot of headache, since those packages are shared globally and updated by system. I have almost never seen a backwards incompability caused by an update (some program needs to update liba, but some other program cannot use that upper version), it happens very rarely.<p>If you insist of using a specific library version, there is nothing stopping you from including it in your package , like snappy's.<p>Lastly, when you include libc a million times, or static compile your binaries, the size goes up and storage/bandwith also becomes an issue.<p>I agree that Snappy solves some problems, but introduces new serious ones as well.