提供灵活的IT基础设施可以让开源开发者们进行无障碍和计划

6) 参与开源相关活动

必须在公司层面支持开发人员参加一些开源研讨会或活动,例如本地社区聚会、黑客马拉松、技术峰会等。此类活动有助于开发人员在个人层面上建立点对点连接,建立关系linux看输出日志行数,面对面的社交互动,紧跟项目方向。

如果贵公司开发人员所做的工作引起他人的兴趣,请积极帮助他们做相应的示范工作。

最后,您的公司应该赞助大大小小的开源活动,因为它可以增加您在项目所在社区的曝光度,而这些活动是寻找合适人才的好地方。

7) 提供灵活的 IT 基础架构

提供灵活的 IT 基础架构允许开源开发人员在 Linux 内核社区等开源项目中无障碍地进行交流。此外,构建与外部使用的工具相匹配的内部 IT 基础架构,以帮助实现缩小内部团队与内核社区或其他开源项目社区之间差距的目标。贵公司的大部分基础架构将随着开源而自然发展,但重要的是要了解基础架构实施的需求和规划。

开源开发主要包括三种 IT 服务:知识共享(wiki、协作编辑平台和公共网站)、沟通和解决问题(邮件列表、论坛和实时聊天)以及代码开发和分发(代码存储库、错误等)跟踪)。部分或全部这些工具需要在内部提供,以充分支持开源开发。

这有可能与现有的公司范围内的 IT 政策发生冲突,如果发生这种情况,解决这些冲突并允许开源开发人员使用他们熟悉的工具至关重要。

说实话,本指南中讨论的开源实践建立在不受众多标准和 IT 策略限制的 IT 基础架构上。

“在三星,为了支持开源的发展,经过多年坚持的讨论和妥协,突破了传统IT的局限,最终满足了当下的需求。这些宝贵的经验也适用于贵公司。”

8) 跟踪开发者代码贡献

创建一个内部系统来持续跟踪开发人员的贡献和影响。贡献通常包括上游开发、支持产品团队、知识转移(指导、培训)、曝光(公关、演讲)、启动新的开源项目,以及与其他管理对或团队建立内部协作项目。

仍然有很多工具可以帮助追踪源代码的贡献,例如 Linux 基金会使用的工具叫做 gitdm,它也是 Linux 基金会用来生成 Linux 内核年度报告的工具。该工具允许用户跟踪单个开发人员和整个团队的绩效。独立开发者通过他们提交的补丁数量、补丁被接受的概率(补丁提交需要区分接受和拒绝)和补丁类型(例如新功能或对现有功能的改进)进行跟踪) 、错误修复、文档注释等)。

GrimoireLab 等其他工具可以以图形和可视化的形式呈现测量的内容。有关详细信息,请阅读下一章专门介绍测量。

9) 确定具有广泛影响的重点领域

为多个业务部门或多个产品受益的领域做出贡献并专注于这些领域。这样做可以帮助开源项目办公室跨部门交付价值和展示投资回报率,甚至增加获得更多资金和支持的几率。

将贵公司的贡献集中在直接有利于公司战略和产品的上游项目上。在开源开发中,特别容易在那些总是很有趣的项目中徘徊。但企业界的环境完全不同,开源被视为成本中心,开源项目办公室必须全力以赴,专注于那些支持产品开发的开源项目。

或者以三星为例,它每年审查一次产品组合,力求专注于参与尽可能多的产品通用的开源项目,然后根据几个因素将这些项目优先排序,并专注于在最重要的项目上。使用方法来推动您的优先事项是坚持重要、合理和可靠的重要方法。

10) 促进内部协作

与也在其产品中使用相同开源项目的其他业务部门协作。这些具体的合作包括各个方面:

还有更多

协作的目标是帮助产品团队了解他们的需求并通过采用开源来实现他们的产品目标。

对贵公司而言,在不同部门之间共享信息和优先事项非常重要。为了说明这一点,让我们举一个相反的例子。您可以想象自己在一个开源团队中,并且有人希望您为设备实现驱动程序。,但没有提供相应的硬件手册和说明,就像在黑暗中玩飞镖游戏。虽然这只是一个比喻,但符合信息共享的原则。请记住,信息共享是开源团队与其他人之间内部协作成功的关键。

三星的开源

三星的开源集团 (OSG) 成立于 2013 年 2 月,有两个重要目标:首先,通过帮助公司其他成员了解如何参与开源开发项目并从中受益,在三星内部提供开源领导力。第二,代表三星参与各种开源社区。团队的使命是通过积极为开源做出贡献,以及积极参与各种开源组织和基金会,专注于提高重点开源项目的数量和技术能力。

06

测量过程

一旦您开始实施上述开源最佳实践,您就需要设置正确的开源相关指标,以推动事情朝着我们想要的方向发展,包括开发的各个方面。当然,现实中很多时候公司已经有了一套传统上用于产品组织的指标,而这并不适用于开源开发的相关方面。所以需要做点什么。

例如,跟踪代码更改的数量和代码行数是衡量开源开发影响力的一个很好的指标,但是如果您公司的开发人员已经获得了社区的支持,那么上游接受新版本中的多个功能实现,在这种情况下,代码更改的次数和代码的行数并不是那么重要,所以应该更全面地观察事情,不要做一刀切的事情。

时间指标下的提交和代码行

/format/jpg/quality/90’/>

最基本的跟踪目标之一是在特定时间段(例如每周、每月或每年)内更改的代码提交次数和代码行数。

每个项目的每周总提交和代码更改指标是一个好的开始

有了这些数据,开源项目办公室就可以比较内部各个团队的贡献,从而确定源代码贡献的来源,从而保证资源的合理分配。

可以在本节中创建图表来比较各个内部团队的累积贡献、总贡献的百分比以及向上游提交代码所花费的时间(下图供参考)。

图 2:可以通过跟踪一段时间内的累积贡献来比较内部团队,并确定那些正在增加对特定开源社区的参与的团队(该图显示了 Linux 内核的相关指标)

图表 3:显示公司贡献占总变化的百分比随时间变化,从而可以识别贡献代码最多的团队

图 4:在上游提交代码所花费的时间对于跟踪开发效率很有价值。此图表显示了每个团队向上游贡献代码的频率,并将其与整个社区进行比较。

开源程序办公室也可以根据这些指标对比你公司和其他参与内核生态的公司的具体表现(比如示意图5),这样的竞争分析有助于了解整体的开发者生态的项目。

图5:从公司角度,比较累计贡献,了解项目整体生态。

这些提供的指标可以帮助您的公司了解自己的优势和劣势,然后对整体发展战略做出决策。跟踪贵公司相对于竞争对手的贡献是非常有益的。例如,这些信息可以帮助公司确定他们的产品在市场上相对于竞争对手的地位,这本身就反映了价值。

图 6:项目还可以发布独立的贡献数据。例如,可以通过 Linux 基金会的内核开发报告和 LWN 信息跟踪 Linux 内核贡献者。

以三星为例,Linux内核对于三星来说具有重要的战略意义,因此三星从众多项目中挑选出来,专注于Linux内核项目的开发。通过代码指标的变化,我们可以看到三星在贡献者排名中长期位居前5。当然,三星也在逐步做其他的开源项目,只要和自己的产品相关,都取得了不错的进展。

成为顶级贡献者本身并不是目标,但成为积极的贡献者本身就是社区接受的标志。俗话说:您的公司要么是作为开源影响者参与进来,要么只是徒劳地出现在名单上。

“不幸的是,如果你在名单上,请为在主干之外维护数万行代码而哭泣,这些代码难以向上游合并!这绝对不是我们想要看到的。”

07

写在最后

高的

高效的开源开发不是天上掉下来的,需要经过努力才能获得。当然,这些都可以通过长期、定期、持续的参与和贡献来实现。

通过参考这些克服开源困难的先驱总结的最佳实践,您的公司可以快速开始内部开源开发,然后利用这些知识来改进您公司的产品和服务,同时降低代码维护成本。

快乐黑客!

结尾

参考

git://git.lwn.net/gitdm.git

本指南是由 Ibrahim Haddad(博士)领导的合作成果。Ibrahim Haddad 博士是三星北美研发副总裁和开源集团的负责人。我们衷心感谢 Ben Lloyd Pearson(三星开源集团的运营和战略官)一直以来的支持、审核和编辑(开源模型)linux看输出日志行数,他塑造了这篇文章并帮助它完成。还要感谢 Gil Yehuda(Oath 的开源负责人)的审查和反馈。

相关文章:Linux 基金会企业开源指南系列 IX – 公司如何增加开源开发的影响力(第 1 部分)

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论