Linux mostly focuses on API compatibility. For drivers, this is due to the lack of a stable kernel ABI, while for user space, it's due to cultural rather than technical factors. From the outside, most distros appear to care more about critiquing the internal details of the vendor's software design than they do about delivering working software from vendors to end users.
There are couple of notable exceptions to this: Android and Ubuntu. Android is a Linux distro that expects applications to be self-contained bundles independent of everything else. Ubuntu (via the Software Centre) is a distro that focuses more on getting working software from vendors to end users, and leaves it up to the vendors and end users to decide whether or not the four freedoms are important for their use case. So long as your stuff can install cleanly and doesn't interfere with the rest of the system, Canonical doesn't care if your application contains a copy of a library that is also used to implement parts of the underlying operating system and platform utilities.