AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

InnerSource: 来自 PayPal 内部的开源实践

  • 2015-11-04
  • 本文字数:1409 字

    阅读完需:约 5 分钟

InnerSource 仅仅是一个名称,它是一种在企业内部应用开源软件实践的软件开发方法。来自 PayPal 的技术带头人 Cedric Williams,在开源大会OSCON 上解释了在PayPal 如何使用InnerSource 来打破孤岛、加强合作、增加生产力。

实践开始于18 个月以前,清算平台的团队当时大概需要花2/3 的时间来重写由区域团队所提交的代码。而区域团队,有一个很重要的职责,那就是确保PayPal 能够在不同国家符合当地的一些规定。这种情况对于谁都没有益处。清算团队没法做好自己的本职工作,而区域团队所话费时间写的大量代码而别人又用不上。

PayPal 从开放源代码软件中汲取了灵感,尤其是来自 Apache 软件基金会的实践。他们发现了开源软件的组织原则,即每个项目都有各个金字塔的层:用户,在最底层;贡献者;可信任的提交者;最上层是架构师/开发者的领导者。PayPal 评估了这些个情况后,作出最大的变化是引入“可信任的提交者”角色。

找到合适的可信任的提交者可不是一个简单的决定:清算团队中只有 10% 的人是这样的角色。Williams 在此回答了人们一个问题,成为可信任的提交者需要哪些技术技能?首先必须有深厚的技术功底,然后对于代码库的核心了如指掌,即使有了这两样也不能成为最出色的。可信任的提交者还必需拥有良好的人际交往能力,他们要成为教练员。他们需要以积极、清晰的方式来沟通。举例来说,不要说“这些代码无法接受”,而是需要这么去说“这是我需要你去做的方可接受你的代码,这里有几点原因[…]”。

不出所料,引入可信任提交者角色带来了政治上的扯皮风险,所以不得不小心的去处理,无论是清算团队内部还是外部。为了使全局能够接受变化,可信任提交者不仅仅要审核来自区域团队所提交的代码,还要审核来自清算团队其他成员所提交的代码。

实施 6 个月之后效果出来了,清算团队再也没有花时间去重写别人的代码了,而仅仅花了 10% 的时间去做审核代码的工作,该团队进行了一次大规模的重构,且在没有做任何计划的情况下提升了 4 倍的性能。团队成员的心态也从排斥转变为积极的接受。一个最大的副产品是所有相关的沟通都通过写作来完成,多数是在 Github 上:PayPal 使用 Github 来托管他们的开源软件,使用企业版 Github 来托管他们的闭源项目。这使得能够在所有的团队之间进行知识共享和传播。

在 InnerSource 之前,PayPal 尝过不同的方法,它们是:自顶向下的强制和驻场。

第一种方法,即自顶向下,是比较传统和古老的了。定义严格的规则和利益相关者,自顶向下,让人们承担责任。这无法解决问题,但是可以产生很多的会议。

驻场的情况会好一点。来自各个区域团队的高级工程师们都被租借到圣荷西,和开发团队的成员们在一起工作。驻场能够达到知识的共享,且能够对彼此团队的行为有所了解。非常遗憾的是 ,一旦这些工程师们回到了各自的区域团队之后,他们就会成为瓶颈。他们发现找不到时间或者是没有所需要的技能将他们所学到的传授给他人。

Williams 为 InnerSource 的入门者提供了一些建议。在第一步,在你的工程师团队中将可信任提交者限制在 10%,要求所有的代码都须公开审核,且要确保代码的审核要聚焦于完成什么从而使代码更加的良好;第二,要求所有的对话都是成熟的、得到尊重的;第三,分享你的经验。PayPal 将于 11 月 9 号在加利福尼亚的圣荷西举办首届 InnerSource 峰会。PayPal 还为此赞助了一本小,目标读者是哪些想进一步学习此方法的人们。

查看英文原文: InnerSource:Internal Open Source at Paypal

2015-11-04 18:002373
用户头像

发布了 30 篇内容, 共 12.1 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

3D 可视化突发公共卫生事件 ,防护效率高达90%

一只数据鲸鱼

疫情 物联网 数据可视化 数据监测 3D可视化

腾讯大牛亲自带你学:Java安全weblogic T3协议漏洞!

比伯

Java 编程 架构 面试 计算机

第八课性能优化作业-判断合并链表

Geek_michael

极客大学架构师训练营

犯“走私罪”的CTO | 法庭上的CTO(19)

赵新龙

CTO 法庭上的CTO

圣诞狂欢,保险师APP赋能精细、个性化的运营服务

DT极客

业务架构设计迭代演进思路

程序员架构进阶

架构 中台 业务架构

工具词典:精力管理

lidaobing

精力管理 张遇升 28天写作

创建493个测试账户,被公司索赔527万 | 法庭上的 CTO(14)

赵新龙

CTO 法庭上的CTO

这个问题值得讨论吗?

Alan

沟通 团队文化 七日更 28天写作

Alibaba面试官:“这该死的程序员,知识竟如此渊博!”

Java架构之路

Java 程序员 架构 面试 编程语言

甲方日常 75

句子

工作 随笔杂谈 日常

ModelArts黑科技揭秘|弹性训练,让训练资源张弛有度

华为云开发者联盟

学习 华为云

未签订劳动合同的CTO | 法庭上的 CTO(17)

赵新龙

CTO 法庭上的CTO

Java程序员晋升之路:“Java高级核心知识全面解析”

Java架构之路

Java 程序员 架构 面试 编程语言

ZooX首发双向电动无人车,会成为自动驾驶出行的主流吗?

脑极体

“有点技术之外,基本什么都没有”的CTO | 法庭上的CTO(15)

赵新龙

CTO 法庭上的CTO

(经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路

Java鱼仔

Java 程序员 面试 大学生

窝家恶补三月,字节跳动三面,终于喜提offer!分享面试感受

Java架构之路

Java 程序员 架构 面试 编程语言

字节面试坎坷之路,第一次二面凉了!捞起来之后一面就凉了;我太难了呀!

Java架构之路

Java 程序员 架构 面试 编程语言

大佬带你看源码!阿里内部Android笔记火爆IT圈,3面直接拿到offer

欢喜学安卓

android 程序员 面试 移动开发

程序员开发指南!1-3年的Android开发工程师看过来,经典好文

欢喜学安卓

android 程序员 面试 移动开发

为新基建按下加速键:从openEuler看中国操作系统的产业生态未来

脑极体

混合用工、被拖欠工资的 CTO | 法庭上的 CTO(16)

赵新龙

CTO 法庭上的CTO

这份阿里P8级别内部疯传的“Linux私房菜”让你一次吃个饱

Java架构之路

Java 程序员 架构 面试 编程语言

如何通过一个SDK轻松搞定人脸识别,拯救初入职场的程序猿

华为云开发者联盟

人脸识别 智能 识别

劫持Chrome浏览器“获利”8000万元 | 法庭上的CTO(13)

赵新龙

CTO 法庭上的CTO

股东变员工,所以不发工资?| 法庭上的CTO(18)

赵新龙

CTO 法庭上的CTO

LeetCode题解:剑指 Offer 40. 最小的k个数,sort,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

阿里P8大牛手把手教你!高级Android晋升之View渲染机制,先收藏了

欢喜学安卓

android 程序员 面试 移动开发

大作业一

黄立

浅谈如何做客户端性能测试

行者AI

性能测试

InnerSource:来自PayPal内部的开源实践_开源_João Miranda_InfoQ精选文章