Linux 没有更多应用程序的 6 个原因
大多数 Linux 应用程序都是社区开发的,但仍然缺乏适用于 Linux 的开源和专有应用程序。为什么会这样呢?
Linux 拥有丰富的软件,但是当您第一次进行切换时,您可能会因缺乏您熟悉的名称而感到沮丧。如果您已经使用 Linux 一段时间,您可能还会因为变化速度相对缓慢或某些类型的软件长期缺乏而感到失望。
为什么某些应用程序尚未登陆 Linux,是什么阻碍了社区开发更多替代品?让我们来看看吧。
1.Linux的版本非常多
当您为 Windows 开发软件时,您只需要在少数系统上测试您的软件:最新版本的 Windows、以前的版本,也许还可以是之前的版本,具体取决于您的程序是否针对发展缓慢的企业。这相对简单。
在 Linux 上,有大量不同的版本,称为发行版。即使您将自己限制在最突出的发行版上,这仍然可能意味着支持六个发行版。
假设您决定仅支持个人计算机上最流行的版本 Ubuntu。 Ubuntu 的发布时间表意味着每六个月升级一次,即使这样也比听起来要多。
通用包格式改善了这种情况,但仍然有多种选择。如果您的目标是 Ubuntu,那么使用 Snap 格式是有意义的,但大多数其他发行版更倾向于 Flatpak。一些人已经选择了 AppImage。
理论上,这三种格式中任何一种的应用程序都可以在任何发行版上运行。但假设您的发行版附带了 Flatpaks 运行所需的旧版本后台组件。这意味着应用程序可能缺乏开发人员希望您拥有的功能。情况正在改善,但 Linux 仍然有很多方法可以让应用程序开发人员的环境变得更加轻松。
2. Linux 的资助模式不明确
Linux 既是一种操作系统,也是一种哲学。从技术上讲,Linux 甚至不是一个操作系统,而是一个内核,它是计算机的一个方面,它使您按下的按钮能够实际执行某些操作,并使屏幕显示正在执行的操作。
我们使用的桌面界面和应用程序实际上与 Linux 无关。您可以在不使用 Linux 内核的 FreeBSD 上运行大部分相同的软件,而您无法在使用 Linux 内核的 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 下共享代码的软件都必须开源。
确实使用自由软件的公司通常更喜欢在宽松的许可证下提供代码,例如麻省理工学院和阿帕奇,它们允许人们使用代码,而不要求生成的程序本身成为免费和开源。
对于一家以销售封闭源代码为商业模式的公司来说,误读自由软件许可证并面临法律诉讼可能会对公司的利润构成威胁。
尽管如此,Linux 应用程序开发仍在继续!
尽管存在这些挑战,Linux 仍然吸引着软件开发人员。 Linux 的自由和开放性质使其成为学生学习的好地方。开放代码还使人们可以使用现有应用程序作为新应用程序的基础,而不是从头开始。
还有一些人认同 Linux 的价值观,但他们无法最终帮助微软、苹果或谷歌赚更多的钱。这使生态系统保持活力和活跃,即使您必须愿意尝试以前从未听说过的应用程序。