在 以前的文章 我们估算了一个开源项目的开发成本。 现在,我们将看到从哪里获得资金或让人们免费完成工作或捐赠资源
寻找融资模式时需要考虑的重要因素
在选择融资模式时,必须考虑不同的因素:
兴趣
首先要考虑的是项目引起的兴趣。 可能没有人愿意为第 XNUMX 万个基于 Debian 的发行版提供志愿服务,更不用说为它付费了,除非它具有独特的功能,例如不使用 SystemD 的 Devuan。 相比之下,LineageOS 或 Ubuntu Touch(谷歌 Android 的替代品)得到了开发者和赞助商的合理支持。
当我说兴趣时,我指的不仅仅是最终用户. 如果你想象一个比已知系统更难以穿透的加密系统,这些公司会因为你接受他们的钱而战斗。
复杂
开发一个只做一件事(例如播放音乐)而不是办公套件的应用程序是不一样的 带有包含多个图表选项的文字处理器、包含数百个动画的演示文稿和包含所有常见数学公式的电子表格。 而且,当然,它能够读取和保存最流行的格式。
此外,还有像 The Gimp 这样的应用程序是为单一目的(图像处理)而创建的,但是, 他们需要非常具体的数学公式的知识,这些公式涉及专业知识。
平台
随着云服务变得流行,这是一个正在失去重要性的问题,但它仍然非常流行。
Linux 的税收计算应用程序可能不会引起希望成为项目一部分的志愿者开发人员的兴趣,更不用说公司或志愿者赞助商了。 另一方面,如果您可以在类似于广告的优质游戏的情况下拥有它。
同样,Android 的应用程序将比 Ubuntu Touch 的应用程序具有更多的可能性。
UI
如果您要为 Linux、Windows 和 Mac 开发应用程序,您必须决定是希望用户界面与其他应用程序融合,还是为所有变体提供相同的界面。 如果您只想将其用于 Linux,则您必须为每个桌面做出相同的决定。
如果你选择为桌面创建一个特定的应用程序,你将拥有减少开发时间的优势,此外,如果它很有趣,它可能会被用作桌面的一部分,你将获得更多的开发人员和资金。
程式语言
有大量的编程语言来创建项目。 有些像 Python 或 C++ 已经存在了很长时间,并且拥有大量熟悉它的开发人员社区。 其他的像 Dart 或 Go 是相对较新的,但更现代,它们更好地适应当前的应用程序开发范式。组件已经开发。
项目组件
根据所选的编程语言和项目的目的,您将能够找到一系列可以节省时间的库和一系列应用程序编程接口 (API),通过它们可以更轻松地扩展功能将它们连接到外部服务。 一般来说,库(至少在开源编程语言中)是免费的,但就 API 而言,它们要么限制其免费使用,要么您必须为使用该应用程序的每个用户支付一定的费用。
分销渠道
除了 Linux 发行版的包管理器,还有直接下载、Snap 和 FlatPak 商店以及 Appimage 包的选项。 Snap 提供了包括应用内支付的能力,而像 ElementaryOS 这样的发行版有一个应用商店,可以在那里销售软件。 官方 Android 和 iOS 商店因其对开发人员施加的滥用条件而受到质疑,另一方面,微软正在为那些有兴趣为 Windows 11 创建产品的人提供慷慨的条件。