![是什么原因造成开源应用程序的规模较小?](https://linux22.com/image/1034934/%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E9%80%A0%E6%88%90%E5%BC%80%E6%BA%90%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%A7%84%E6%A8%A1%E8%BE%83%E5%B0%8F%EF%BC%9F.png)
我是 Ubuntu 新手,我很惊讶我的 Windows 应用程序的开源替代品,如 GIMP、Amarok、Libreoffice、Cheese 等,比它们的 Windows 同胞(MS Office、Photoshop、Youcam 等)小得多。Ubuntu 必须是有史以来最好的进化!而这一切之后最好的是它完全免费
答案1
您指的是磁盘占用更小?可能是由于大量使用动态链接库,这些库在多个应用程序之间共享。当然,Windows 也支持这一点,但 DLL 不易版本控制,而且“DLL 地狱”的风险并不鼓励共享。
答案2
不过,有许多可能的原因,但这些原因在一般情况下并不成立。规模较大的软件可能具有更多功能。或者更多垃圾。或者两者兼而有之。或者开源软件的设计比同类软件巧妙得多。在任何特定情况下,这些原因中的部分或全部可能是原因。也可能不是。
一一般的原因在于集中式软件分发和依赖性解析的好处。在大多数基于开源的操作系统环境中,当安装依赖于其他软件包的软件时(最常见的情况是,例如可执行文件依赖于库等),如果尚未安装,则也会安装这些依赖项。因此它们最多安装一次。
如果没有集中式软件分发和依赖项解析(例如在 Windows 中),这些依赖项可能经常与需要它们的软件一起打包。因此,依赖项 X 可能与软件 A 以及 B(以及 C 和 D 等)一起打包 -> 相同的依赖项被多次安装(甚至静态链接到可执行文件中) - 只是为了安全起见。
所以这或许可以解释一些尺寸上的差异。但肯定不是全部。