公司通过战略性地将参与开源项目与业务目标对齐,来平衡开源贡献与专有目标。 这通常包括为支持其核心产品或服务的项目做出贡献,同时保留对专有功能的控制,从而在市场上脱颖而出。 例如,一家公司可能会开源一个工具或库,以解决开发人员面临的常见问题,从而建立良好信誉并吸引贡献者。 同时,他们会保持关键组件的闭源,以保持竞争优势。 这种方法使他们能够从社区驱动的改进中受益,同时保护产生收入的资产。
一个常见的策略是将开源项目用作专有产品的基础。 例如,谷歌开源了 TensorFlow,将其确立为标准的机器学习框架,从而鼓励采用并集成到更广泛的生态系统中。 但是,Google Cloud 提供了具有企业级功能(如自动扩展和支持)的托管 TensorFlow 服务,这些服务是专有的。 同样,Red Hat(现为 IBM 的一部分)通过为 Linux 做出贡献,同时销售基于订阅的支持、安全更新和企业部署工具来建立其业务。 这些示例展示了公司如何利用开源采用为其闭源产品或服务创建市场,从而确保社区协作和盈利能力。
法律和治理框架也发挥着关键作用。 公司通常对开源组件使用宽松的许可(如 MIT 或 Apache)来鼓励采用,同时对专有代码应用更严格的条款。 他们还可以通过在基金会内托管治理或保留对关键贡献的监督来维持对项目方向的控制。 例如,微软开源了 Visual Studio Code,但保留了 GitHub Copilot 等扩展的专有权。 通过明确定义什么是开放的,什么不是,公司可以避免冲突,并确保其专有目标不会受到破坏。 这种平衡需要仔细规划,但能够在不牺牲业务优先级的情况下,可持续地参与开源生态系统。