问题描述
我想知道为什么有这么多应用程序用于相同的目的,但适用于不同的桌面环境。例如刻录软件 Brasero
用于 Gnome
,K3B
用于 KDE
。这不是一直在重新发明轮子吗?为什么不合作呢?
最佳回答
一个更有效的问题是:为什么有这么多分布,除了标志之外看起来都一样!
虽然这可能有一些缺点,就像你说的重新发明轮子一样,但这有很多优点。这就是Linux和开源所代表的自由。
这就是Linux的强大之处。多样性,你可以为同一个应用程序找到许多替代方案。
这不是弱点,而是强大之处,使用 Linux 的人可以有很多选择。
此外,每个软件都有不同的背景和不同的编程语言,开发人员也有自己的个人态度。
这里要列出的重点是,Linux 中的大多数应用程序都是基于社区的,由非营利开发人员开发,这意味着这些开发人员没有一个单独的公司可以工作,尽管协作需要联盟并成立一家公司来赞助和指导。
另一点需要注意的是:你还应该注意到,实际上这些应用程序中的大多数都不是真正地重新发明轮子,它们中的大多数都依赖于相同的核心包,差异主要在于外观。例如, k3b
和 brasero
都依赖于相同的核心包 cdrecord
和 wodim
。
次佳回答
简短的回答是因为(至少在理论上)这样所有的软件都会运行得更好、更高效、更有凝聚力。
长话短说,大多数桌面环境的目的是满足用户的大部分基本需求,而从事这些项目的人们对于如何完成这项工作有着不同的想法。因此,他们都在创建代表他们满足这些需求理想的软件。
GNOME 拥有 Gedit、Brasero 和其他基于 GTK 的软件,因为它运行流畅,不需要额外的框架,并且符合 GNOME 开发人员认为的理想桌面体验。与此同时,KDE 拥有基于 QT(另一个软件框架)的软件,代表了 KDE 人员认为更好的桌面体验。
他们之所以没有一起开发软件,是因为他们对设计的看法完全不同。开发软件既是一门艺术,也是一门科学。GNOME、KDE、Unity 以及您能想到的任何其他桌面都是由那些想在桌面上看到什么的人开发的。
除此之外,正如我之前所暗示的,这些东西都是基于不同的框架构建的。GNOME 使用 GTK,KDE 使用 QT,等等。当您为同一框架和环境构建所有内容时,它们会很好地结合在一起,并且通常运行得更好。因此,将软件“保留在家族中”也有助于这方面的开发。
我只使用默认的 Ubuntu 桌面 (Unity),而且我通常不关心应用程序是 KDE 还是 GTK-specific。我会使用最适合我的软件。使用 Ubuntu 和 Linux 时,您总是可以自由选择!