让我们重温一下Linux社区的最佳愿景——推广去中心化应用,解决分布碎片化问题。继上周的文章:“Snaps、Flatpaks、One-All-Distro软件包真的有用吗?”之后,出现了一系列新观点,其中可能包含有关此类应用程序是否有用的重要信息。缺点在这里关于这个主题的评论中,一位名叫Till的Gentoo用户对我们上次没有完全解释的问题给出了一些新的观点。对于上次我们选择称之为bloat的东西,Till重新审视了bloat的未来发展,这可以帮助我们更好地理解它的构成和影响。这些所谓的“捆绑应用程序”在所有发行版上运行的机制是将其依赖的库包含在它们的应用程序软件中,Till说:“捆绑应用程序加载了很多应用程序开发人员不维护的软件。如果发现其中一个库存在安全问题并需要更新,您必须为每个单独的应用程序安装更新以确保系统安全。”本质上,Till提出了一个重要的安全问题。但它不仅仅与安全有关,它还涉及到很多方面,比如系统维护、原子更新等等。此外,如果我们更进一步假设依赖的开发人员可能会与使用它的应用程序合作发布他们的软件(理想情况),这将导致整个平台的开发整体放缓。另一个会导致的问题是透明的依赖关系变得模糊,也就是说,如果你想知道一个应用程序捆绑了哪些依赖关系,你必须依赖开发者发布这些数据。或者正如Till所说:“例如,某某包是否已经包含更新的某某库的问题将是您每天需要面对的问题。”相比之下,目前Linux标准的包管理方式(包括二进制包和源码包),你可以很容易的注意到系统更新了哪些函数库。此外,您还可以很容易地知道还有哪些其他应用程序使用了这个函数库,从而使您免于逐个检查每个应用程序的繁琐工作。膨胀可能导致的其他缺点包括:更大的包大小(依赖项与每个应用程序捆绑在一起),更高的内存占用(没有共享库),以及更少的***过滤器来防止恶意软件:发行版的包维护者也充当开发人员和用户之间的过滤器,确保用户获得高质量的软件。捆绑应用程序不再是这种情况。最后,Till声称,虽然在某些情况下有用,但在大多数情况下捆绑应用程序会削弱自由软件在分发中的地位(专有软件供应商将能够分发他们的软件而无需将其放在公共存储库中)。除此之外,它还引发了许多其他问题。许多问题可以简单地归因于开发人员。优点相比之下,另一位名叫Sven的人的评论试图反驳当前反对使用捆绑应用程序的普遍论点,从而为其使用辩护和支持。“浪费空间?”-Sven声称,在当今世界,我们还有许多其他东西会浪费磁盘空间,例如存储在硬盘驱动器上的电影、本地安装等...最终,这些东西浪费的空间远远超过“100MB和您每天使用的程序”天……所以浪费空间的想法真是可笑。”“浪费运行内存?”-要点是:共享库浪费的内存远远少于程序运行时数据占用的内存。现在运行RAM很便宜。“安全噩梦”——并非每个应用程序都真正关注安全性。此外,除了“滚动发布”之外,许多应用程序甚至从未获得任何安全更新。除了Sven务实的观点外,Till实际上还指出,捆绑应用程序在某些情况下也有优势:专有软件供应商可以更轻松地让他们的代码不受公共存储库的影响。未被您的发行版打包的小众应用程序将变得更加可行。在没有beta包的情况下测试二进制发行版中的应用程序将很容易。将用户从复杂的依赖关系中解放出来。最佳想法尽管对这个问题有不同的看法,但有一个普遍接受的观点:捆绑应用程序在充实Linux生态系统方面发挥着独特的作用。尽管如此,它的地位,无论是主流还是边缘,都变得越来越清晰,至少在理论上是这样。想要尽可能优化系统的用户在大多数情况下应避免捆绑应用程序。注重易用性和尽可能少维护系统的用户可能会觉得这个新应用非常舒服。
