1. 6
  1.  

  2. 5

    I have quite mixed feelings about these. I agree with two principles:

    1. Applications should be sandboxed as much as possible.
    2. It should be easy for third parties to distribute software.

    However, none of the Linux distributions can agree on a sizeable base system in terms of libraries. Also, in general library versions differ quite wildly between Linux distributions, with even ABI differences between important libraries. The end result is that an application bundle (I tried AppImage and a bit of Snap) typically end up containing a large number of dynamic libraries. And all these libraries need out-of-band security updates. Things were already miserable when there was a known problem in the Sparkle framework, but imagine that you are packaging enough for a small desktop environment.

    OS X and the BSDs seem to be positioned better here, since they are not so fragmented and have less-frequently changing base systems. As a result, you only have to package what is not in base the system.