Linux 没有更多应用程序的 6 个原因

Linux 拥有丰富的软件,但是当您第一次进行切换时,您可能会因为缺少熟悉的名称而感到沮丧。 如果您已经使用 Linux 一段时间,您可能还会对相对缓慢的变化速度或某些类型的软件的长期缺乏感到失望。

为什么某些应用程序还没有出现在 Linux 上,是什么阻碍了社区产生更多的替代品? 让我们来了解一下。

1. Linux 的版本太多了

当你为 Windows 开发软件时,你只需要在少数几个系统上测试你的软件:最新版本的 Windows,之前的版本,或者,取决于你的程序是否针对非常缓慢的业务,之前的版本. 它相对简单。

在 Linux 上,有许多不同的版本,称为发行版。 即使您将自己限制在最突出的那些,这仍然可能意味着支持六个发行版。

假设您决定仅支持个人计算机上最流行的版本 Ubuntu。 Ubuntu 的发布计划意味着每六个月进行一次升级,即使这样也可能比听起来的要多。

通用包格式改善了这种情况,但仍有多种选择。 如果你的目标是 Ubuntu,那么使用 Snap 格式是有意义的,但大多数其他发行版更倾向于 Flatpak。 一些人选择了 AppImage。

理论上,这三种格式中的任何一种格式的应用程序都可以在任何发行版上运行。 但是,假设您的发行版附带了 Flatpaks 需要运行的较旧版本的后台组件。 这意味着应用程序可能缺少开发人员希望您拥有的功能。 情况正在好转,但 Linux 仍然有办法让应用程序开发人员更轻松地开发环境。

2. Linux 的融资模式不明确

Linux 既是一种操作系统,也是一种哲学。 从技术上讲,Linux 甚至不是一个操作系统,而是一个内核,是计算机的一个方面,它使您按下的按钮能够实际执行某些操作,并且您的屏幕可以显示正在执行的操作。

我们使用的桌面界面和应用程序实际上与 Linux 无关。 您可以在不使用 Linux 内核的 FreeBSD 上运行大部分相同的软件,而您无法在 Chromebook 或 Android 上运行这些程序中的大部分,而后者使用。

支持桌面 Linux 的哲学是软件自由的概念,即代码应该是可见的和自由共享的。 这是唯一已知的方法,可以确保程序不会做一些不正当的事情,并实际上让人们拥有对他们的设备的所有权。

这样做的结果是很难直接对软件收费。 您可以根据自由软件许可证出售程序,但由于代码是免费提供的,因此没有什么可以阻止其他人编译和分发您的程序的另一个副本,而无需花钱。

因此,开发 Linux 和相关软件的人们不得不尝试不同的方式来资助他们的工作。 许多人是志愿者,他们通过不同的全职工作资助他们的工作。 许多志愿者是学生。 有些人在获得报酬的地方找到工作来开发 Linux 的一个方面,但在空闲时间,他们会为另一个方面做出贡献。 只有少数开发人员能够带来足够的捐款来补偿他们的努力。

除非这些应用程序是专有的,许多 Linux 用户不想与这种软件有任何关系,否则对于那些希望像其他平台一样为 Linux 创建应用程序谋生的人来说,没有一个明确的融资模式。

一个 Linux 发行版,elementary OS 为 AppCenter 中发布的免费和开源应用程序(如上图)提供了一种按需付费的方法,但到目前为止,人们还没有为应用程序开发人员支付足够的费用来考虑这是一个全职的工作。

3. 资金不足

这种不明确的资助模式是许多 Linux 社区无法获得足够资金来做他们想做的工作的部分原因。 在特定桌面环境中工作的人可能希望设计一整套与其界面集成的应用程序,但缺乏资源来支付人们做这项工作的费用。

这种资源缺乏意味着自由软件社区主要依靠志愿者来加强。 如果没有一个有兴趣、时间和技能的志愿者,那么通常无法制作出所需的软件。

这也导致志愿者在某些项目上进行合作。 这不一定是坏事。 但是,如果您想知道为什么没有更多的开源替代品可以替代 LibreOffice,部分原因是对于志愿者,甚至是雇佣少数开发人员的公司来说,向 LibreOffice 贡献他们想要的功能比制作另一个更有意义从头开始的套房。

4. 公开对话带来分歧

由于志愿者在 Linux 上进行了如此多的开发工作,并且由于开源理念和财务限制都促使人们一起工作,因此需要大量的沟通才能将所有部分结合在一起。

由于人们通常无法吸引付费开发人员,因此出于道德或实际原因,他们必须说服人们自愿投入时间。 这意味着博客文章或面对面的演讲可以激发一些人并推迟其他人的影响。

开源开发也倾向于通过邮件列表和 GitHub 和 GitLab 之类的方式进行。 这些对话通常涉及意见分歧。 可能会形成裂痕,导致开发人员从头开始开发自己的界面,重复其他人已经完成的工作。

这就是 Linux 有这么多接口在技术上做同样事情的部分原因,只是方式不同。

所有这一切都是在使用所有这些软件的人参与之前。 用户可能拥有比开发人员更强烈的热情,尤其是当他们对心爱的程序正在改变其外观或他们所依赖的功能完全消失时感到无能为力时。 一些开发人员面临如此多的敌意,以至于他们因为倦怠而退出了自由软件开发。

5. Linux 桌面市场占有率低

当然,人们渴望的不仅仅是专门为 Linux 开发的软件。 许多人希望访问他们在 Windows 和 macOS 上使用的相同软件,例如 Photoshop。 其中一些程序确实进入了 Linux,例如 Steam,但很多没有。

Linux 相对较小的市场份额是一个重要原因。 虽然 Linux 在服务器和超级计算机上占主导地位,但只有相对较小比例的人在他们的个人计算机上使用 Linux。 这仍然适用于数百万人,但许多公司认为,当他们已经赚到足够的钱时,支付开发人员维持对第三个操作系统的支持的成本是不值得的。

6. 企业存在 Copyleft 许可问题

一些公司对 Linux 上的大多数软件使用的 copyleft 许可持保留态度。 这些组织可能想要开发软件或集成某些组件,但他们担心最终会因法律要求将其专有程序中的所有代码开源。

许多公司厌恶 GNU 公共许可证,它要求任何使用在 GPL 下共享的代码的软件都必须开源。

确实使用免费软件的公司通常更喜欢在许可许可下提供的代码,例如 MIT 和 Apache,它允许人们使用代码而不要求生成的程序本身变得免费和开源。

对于一家商业模式围绕销售封闭源代码的公司而言,误读自由软件许可证并将自己卷入法律诉讼可能会威胁到公司的底线。

尽管如此,Linux 应用程序开发仍在继续!

尽管存在这些挑战,Linux 仍继续吸引着软件开发人员。 Linux 的自由和开放性使其成为学生学习的好地方。 开放代码还使人们可以将现有应用程序用作新应用程序的基础,而不是从头开始。

还有一些人认同 Linux 的价值观,他们无法让自己最终帮助微软、苹果或谷歌赚更多的钱。 这使生态系统保持活力和活跃,即使您必须愿意尝试以前从未听说过名称的应用程序。