GGI: InnerSource


Table of contents


企业内源

当前,基于各组织机构所属开发团队开源实践的成功,企业内源正在成为企业的一种发展路径,在越来越多的企业中日渐流行。然而,实施企业内源不仅仅是复制和粘贴那些案例。企业内源必须适应公司自身的企业文化和内部组织结构。让我们仔细看看内源到底是什么、不是什么,以及其带来了哪些挑战。

什么是企业内源?

该术语是由 Tim O Reilly 先生于2000年首次提出,指出企业内源是“在公司内部使用开源开发技术

InnerSource Commons相关文章作为参考,企业内源是"在一个组织机构内部通过使用开源规则和实践来进行软件开发工作"(InnerSource is the “Use of open source principles and practices for software development within the confines of an organization.")

为什么选择企业内源?

根据InnerSource Commons的观点,"对于主要构建闭源软件的公司来说,企业内源可以作为一个很棒的工具,有助于打破信息孤岛、鼓励和扩大内部协作、加速新工程师的成长,并找到向开源世界贡献软件的机会。"

有趣的是,内源的优势不仅可以影响工程师,还可以影响公司内其他部门。因此,一些公司在以下领域发现了企业内源的具体优势:

  • 法律部门:通过使用现成的法律框架(内源许可证)来加速内部跨部门协作。
  • 人力资源部门:通过集中专业骨干的且经验丰富的核心团队来管理稀缺技能。

企业内源的争议

围绕企业内源有许多来自反对者的质疑。尽管不是真正意义上的开源,但它在组织机构内部部署后,为该组织机构带来了巨大的潜在利益。以下是一些质疑的内容:

  • 「质疑」内源是以牺牲(对外部)开源为代价的:
    • 软件项目处于企业的防火墙之后。
    • 对开源的外部贡献较少。
  • 「质疑」绑架开源精神而不是汲取开源精神。
  • 「质疑」没有一个内源项目转化为开源项目。
  • 「质疑」实施内源的动机是其类似于开源。但实际上,如果开发人员重视其价值,那么更应该做的是直接进行开源贡献。

以下是有关内源实践的事实情况,回击了前面大部分质疑:

  • [事实]内源是一种吸引主要闭源公司融入开源的途径。
  • [事实]由于大部分开源贡献都是由志愿者做出的,我们可以通过列出“预期收益”来号召工程师们参与开源。
  • [事实]或许在大多数情况下,公司没有遵循一个有序且可控的开发流程,而本书可以作为一种方法帮助他们管理此类问题。
  • [事实]从封闭许可转换到开放许可仍需要做大量工作。
  • [事实]这是一些已经开源的真实的内源项目案例:
    • Twitter(Bootstrap)。
    • Google(Kubernetes)。
    • dotCloud(Docker)。
    • React Native。
  • [事实]开源得益于熟悉开源技能的软件工程师规模的提升,得益于越来越多的软件工程师熟悉开源,而内源正在为此努力。

谁在做这件事?

许多企业已经开始实施内源项目或建立了内源管理办公室(ISPO),其中一些企业已经持续了很长时间,一些则是新近启动。以下是一份主要聚焦欧洲公司的不完全名单:

内源社区是一个重要参考

内源社区(InnerSource Commons)是一个积极活跃的内源从业者社区,该社区遵循开源原则,详情参见内源社区。社区提供了方法论patterns、学习路径 learning path和电子书等许多有用资源来帮助大家快速了解内源。如:

内源治理的差异

内源面临着一些特定的开源没有面对过的挑战。大多数组织机构正在通过开发私有软件来解决这些问题:

  • 为内源项目定制专有的、公司特定的许可证(适用于多个法人实体的大型企业)。
  • 开源的公有属性使其免受转让定价的挑战。内源的私有属性使得跨国企业面临在不同司法管辖区域运营的公司间利润转移的责任风险。
  • 贡献的动机差异巨大:
    • 因为受限于组织机构自身规模,内源的潜在贡献者阵营较小。
    • 展示自身专业技能是做出贡献的动因之一。内源将这种展示限制于组织机构内部。
    • 推动社会进步是做出贡献的另一个动因,这也同样受限于内源。
    • 因此内源的驱动力更需要依赖任务安排和贡献奖励,并付出更大的努力。
    • 由于代码的有限可见性,内源可以更容易的克服如"冒名顶替综合征"类似的完美主义者的恐惧。
  • 日渐频繁的劳动力外包,将在多方面影响治理。
  • 由于是在内部开发,评估企业内源的充分性将更加容易。
  • 可发现性是一个问题。对于企业,域内检索信息的优先级并不高。如DuckDuckGo、Google或Bing这样的公共搜索引擎表现得更加出色,而内源却无法借助他们的优势。
  • 因为其存在于企业内部,内源在出口控制方面有一点微弱的优势。
  • 需要对如源代码等知识产权泄漏进行权限管控。

随着越来越多的企业采用其原则、分享其经验,内源仍在持续发展。本文档的后续版本将提供GGI相关内源实践案例的精选集。