赞助开发对用户和开发者来说是双赢的

支付费用给开发者,为开源软件添加功能可能看起来很奇怪,除非你考虑到更大的图景。
683 位读者喜欢这篇文章。
Hearts, stars, and dollar signs

Opensource.com

有一种误解认为,只要将软件平台开源,合格的人员就会放弃他们的夜晚和周末来为其开发做出贡献。但极少数情况除外,开源世界并非如此运作。建立贡献者社区需要时间,而且复杂的应用程序通常有陡峭的学习曲线,开发者需要时间才能舒适地使用代码。

开源软件公司是许多软件开发背后的推动力,它们形成社区并提供支持它的资金后盾。而且,像任何其他类型的企业一样,开源软件公司需要赚钱才能维持运营。

一种方法是通过赞助开发,即企业最终用户付费给开发公司,以开发其需要但当前在所选开源软件中不可用的功能。这种模式使开源软件公司能够利用其在应用程序方面的专业知识来开发和销售能够更好地满足最终用户需求(包括功能和财务需求)的服务或产品。

例如,假设一家企业正在使用专有软件,仅仅是因为它具有开源平台缺少的功能。如果他们为该应用程序支付年度维护合同,那么如果他们与开发公司签订合同,将缺失的功能添加到开源平台,他们通常可以省钱并减少他们使用的工具数量。

为什么赞助开发有意义

通常,(非开源)软件开发受主服务协议 (MSA) 约束,该协议通常包含如下语言:

“顾问特此将其在顾问创建的任何工作成果中的所有权利、所有权和权益转让给公司,顾问对该工作成果做出贡献,或以任何方式与根据本 MSA 的公司财产相关的任何工作成果(“工作成果”),包括其中的所有知识产权。顾问在工作成果中不保留任何权利,并同意不质疑公司对工作成果的所有权有效性。”

这在开源赞助开发合同中不是问题。由于开源软件旨在共享,因此开源许可证赋予公司基本上无限的权利在其组织内使用该软件,因此无需转让工作成果所有权。但这带来了另一个问题:通常,赞助公司正在为一个许多组织都会受益的功能付费(因此开发人员希望提供),但根据开源许可证的条款,任何组织都可以使用它。这导致许多潜在的赞助商询问,为什么他们应该为一个其他人都可以免费获得的功能付费?对此问题有几个答案。

首先,赞助开发可能在商业上是有意义的(如果不是,那么在任何情况下你都不应该这样做)。假设一家公司每年为专有软件支付 50,000 美元的维护费,因为开源替代方案缺少一个关键功能。如果在一个开源平台上开发该功能的成本较低,那么该公司将随着时间的推移通过降低软件成本来收回其投资。此外,赞助商将比他们等待其他人开发(假设它甚至会被开发)更快地获得该功能。

其次,该功能将精确地开发以满足赞助公司的需求,并在软件的整个生命周期内得到支持。如果他们需要该功能是“蓝色”,而世界其他地方需要它是“粉色”,那么开源开发人员可以添加一个选项,使其成为“蓝色”。

最后,赞助开发支持了无数我们都从中受益的开源软件功能。一家公司为功能 A 付费,另一家公司为功能 B 付费,依此类推。每个使用该软件的公司都从所有这些工作中受益,因此,如果一家公司赞助功能 C 在商业上是有意义的,那么没有理由不这样做。

对于最终用户公司而言,从商业角度来看,资助开源软件中的关键功能通常是有意义的,并且它可以帮助开发人员利用他们在特定软件平台方面的专业知识来推进他们的项目。赞助开发对于赞助公司和开源开发人员来说都是罕见的双赢——更不用说将从进步中受益的整个社区了。

标签

1 条评论

哇,太棒了,我是一名程序员,所以我从这里开始学习更多,并与朋友交流一些信息,很高兴看到这样的事情发生

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.