公司通常通过采用能够平衡开源贡献与专有目标的策略来找到两者之间的平衡。首先,他们认识到参与开源项目可以提升他们在开发者社区中的声誉,吸引人才,并促进创新。通过参与合作项目,公司可以利用社区的集体智慧,这通常会导致软件质量的提升和开发周期的加快。例如,谷歌和Facebook等公司积极发布开源工具,这些工具不仅有利于社区,也有助于他们自身的开发流程。
其次,许多公司制定明确的指导方针,规定什么可以共享,什么必须保持为专有。这通常涉及创建与他们的专有产品互补的开源产品。例如,Red Hat围绕Linux等开源软件构建其商业模式,提供支持和服务,同时将其增强功能和高级解决方案作为付费产品。这种模式使他们能够保持对开源社区的强烈承诺,同时确保能够实现对其专有创新的货币化。
最后,公司还可以使用双重许可策略,即同一代码库在开源许可证和商业许可证下提供。这使他们能够满足不同市场细分的需求:希望拥有开源软件自由的企业可以根据该许可证使用软件,而寻找支持、责任或额外功能的组织则可以选择商业版本。一个例子是Oracle提供的MySQL,它既有开源许可证版本,也有附加功能和支持的付费产品。通过这些策略,公司可以促进一个充满活力的开发社区,同时实现其商业目标。