本文转载自微信公众号「计算机世界」,作者Scott Carey 。转载本文请联系计算机世界公众号。
企业内部开源代码最初由Tim O'Reilly创造,它是一种工程原理,旨在将开源方法引入企业内部,以构建专有软件。这里所讨论的开放性可以扩展到同一组织的不同团队,而不是横跨不同组织的多个贡献者。
企业内部开源带来了一组在开源社区中使用的通用技术和工具,通常包括使用共享代码存储库、拉取请求、评论和大量文档,它可以使大量贡献者一起工作,处理不一定是由他们主要责任的代码。
这是一种越来越受传统企业欢迎的方法论,这些企业希望对其软件开发实践进行现代化改造,并开始将其代码视为可协作、可重复利用的资产,而不是一项必须专属于一个团队,并被锁定和保密的知识产权。企业内部开源方法还通过授权开发人员用一种即安全又透明的拉取请求方式来做自我更改,以消除上游阻塞。
对于某些企业而言,采用内部开源代码需要进行重大的文化转变,但它可以帮助提高代码的质量、可靠性和安全性。同时,还可以通过打破长期存在的技术孤岛来促进更多的协作和提高开发人员速度,这与现在新冠肺炎疫情的流行也有很大的关系。
内部资源共享基金会(InnerSource Commons Foundation)创始人Danese Cooper表示:“企业内部开源已经证明了,异步团队之间基于对等的大规模协作,可以与在同一房间和时区中被严格控制的团队一样有效”。在新冠疫情肺炎期间,这些相同的属性是指导工作的关键,它有助于呈现有效性,同时激励企业采用内部开源。
本系列文章采访了三家采用内部开源方法的公司,以了解内部开源为什么适合他们以及帮助他们的开发人员实现了什么效果。
彭博社:赋予工程师可以改变现状的能力
金融服务是内部开源扎根的一个行业。有组织孤岛,并且对自己的代码采取保守的、保密式的不共享方式是金融行业的常态。
2021 年10 月,US Bank的开源负责人Gil Yehuda在伦敦举行的开源战略论坛期间表示:“内部开源对于在更传统行业的我们来说,就是一个翻天覆地的变化。通过不共享代码来保护代码的观念,是非常薄弱且肤浅的,因为我们对它有深深的依赖性。而把代码视为共同的共享资产池会更健康,我们都可以从中收益。”
当天,在同一个小组中,Capital One的杰出工程师 Arthur Maltson 说:“今天的Capital One平台上有很多代码共享和跨线业务功绩。随着工程师的成熟,那些内部开源代码和更开放的代码成为了解决业务问题的最终手段。当有更多的人参与,问题会得到更好的解决。我们需要摆脱工程师群体中那种过度的主人翁文化。”
过去10年,内部开源在彭博社逐渐成为常态。从以前仅是内部开发团队的工具,扩展到现在已成为跨资产交易和其他关键应用程序中的公认工作方式。
“现在,整个公司的工程师比以往任何时候都更有能力在另一个团队的代码库中做出他们希望看到的更改。这些更改可能是让客户满意的简单错误修复,也可能是使整个工程师生产力得到提高的重要功能。”彭博社团队负责人Joe Patrao在今年早些时候的一次演讲中说。
现在,彭博社的每位工程师都会使用GitHub Enterprise与同事一起查看代码并与进行协作,包括在GitHub上留下明确的贡献记录和测试指南。彭博社软件工程团队负责人Becky Plummer表示:“我们使用拉取请求和代码审查来进行更改,人们对拉取请求的期望标准因团队而异。”例如,他们为内部工具发出拉取请求的阈值可能低于高度监管的交易应用程序。
在将这些内部开源方法引入到彭博社之前,工程师必须联系相关的产品经理来请求一个功能的开发或整合,这会减慢开发人员的速度并阻碍跨团队协作。“多年来,我们了解到开启内部开源是一种非凡的学习体验,它也体现了其自身的价值并加速了产品的交付,”Plummer说。
作者:Scott Carey 是IDG UK Enterprise Titles的编辑,主要为InfoWorld撰稿。
原文网址:
https://www.infoworld.com/article/3638692/inner-source-in-the-enterprise-gains-momentum.html