Answers:
有很多不同的答案。
有些项目是由出于各种原因而想这样做的人维护的,这些原因包括声望或知道自己做得很好的知识,或者是因为他们认为有人必须这样做而其他人没有这样做。该部分几乎可以肯定没有以前那么大。
有些项目由希望获得支持等费用的人维护。大多数开放源代码公司就是这样:他们想免费创建一个受欢迎的产品,以便可以为相关产品付费。这是一种广告形式。
有些项目是由与该业务无关的公司维护的。例如,有很多公司可以使用Linux或Apache受益匪浅,因为他们可以访问高质量的软件,而不必自己编写。
假设您的公司想出售Web服务器。您希望尽可能多的客户资金流向您。如果您将它们出售给带有IIS的基于Windows的服务器,那笔钱的大部分将流向Microsoft。如果将它们与Apache一起销售基于Linux的服务器,那么您就可以保留这笔钱,并且可以更好地控制自己的销售。向各种项目捐赠资源可能很值得。(显然,微软有相反的看法。他们希望服务器人员生产运行Windows和IIS的廉价硬件。微软很可能是该公司本质上反对开源的公司,但即使他们在某种程度上也利用了开源。)
让我们看看苹果的用途。苹果靠出售硬件赚钱,但是主要的区别在于它们制作用户界面的能力。iPhone没有做任何以前的智能手机无法做的事情,它使用起来更容易,因此它迅速地卖出了数百万,并重新定义了市场。他们对自己要卖的东西有个好主意。没有人会为了内部操作而购买苹果,因此通过将操作系统的达尔文部分作为开放源代码,他们可以获得一些外部帮助。他们也未能自己生产出高质量的操作系统,因此也从Open Source开始。没有人愿意购买Apple的打印机软件,因此使用CUPS变得更加轻松快捷。它们将用于界面,因此紧密联系在一起。
如果一个项目很受欢迎,那么捐赠可以帮助抵消一些费用,甚至可以赚钱。除非听众很大,否则它的可能性不大,但足以支付虚拟主机或一些账单。
从长远来看,它可以提供薪酬支持或咨询服务。Ubuntu是完全开源的,但是Canonical为它提供了企业级的支持和咨询,并从中获得了可观的收入。但是,问题在于您的项目必须足够大,以至于有足够的人想要将软件迁移或安装到您的项目中。
达到赚钱的地步可能需要花费数年的时间来建立消费者基础并需要大量的努力。
如果您使用强大的Copyleft许可证(GPL或AGPL)来开发OSS,则可以对该许可的例外收取费用,从而使人们可以将您的代码包括在其专有产品中。如果您使用许可更宽松的许可证(X11,Apache,MPL),它们仍然可以在您的产品中包含您的代码,因此您无任何可出售的内容。
这是关键:http : //www.codinghorror.com/blog/2010/06/the-vast-and-endless-sea.html
这是商务人士不理解的东西。您有一堆优秀的开发人员,他们确实得到了您可以得到的所有内在动力。您不必支付商业产品附带的整个基础架构(一家拥有很多不需要创建产品的人的企业,例如管理人员,律师,市场营销,广告等)。有些项目实际上产生了足够的收入(通过捐赠,商业支持/许可证),但这很少见。然后,有一些项目基本上是开源的,因为这使得它们的维护成本更低,或者因为它们无法出售。