"There is one huge difference between the free and non-free software that has some very practical implications in the way we use it. One of those implications are the dependencies between single software packages in the free software model. What do they have to do with the free software philosophy and why should not you be afraid of them? Read on to find this out."

What you are saying is partially true. For example: if several programs are using the same dynamic library, you do have to potential to reduce memory usage and avoid reloading the library. BUT, that assumes that you are concurrently loading software that uses that library. That probably is a safe assumption for libraries like GTK+, Qt, and ncurses. Yet that probably will not be the case for something like Motif, where any given person may use just one or two Motif applications. Also, it is my meager understanding that Linux will not load a page into memory unless that memory location is accessed. So large static binaries should not make much of a difference in terms of RAM consumption or application launch times.

In reality, any application should probably have a combination of statically and dynamically linked libraries. The developer should choose to statically link a library that is small or uncommon, simply to reduce the likelyhood of dependency hell. The developer should choose to dynamically link a library that is large and common, simply so that the user can reap the rewards of dynamic linking in cases where those rewards actually exist. Unfortunately, most developers and packagers either don't want to put that much thought into their decisions, or they make their decisions upon pure ideology.