Does your organization want to host InnerSource Summit 2025? Click here to apply or contact us at info@innersourcecommons.org to find out more
Join us on Tuesday, March 18th, 9am GMT / 10am CET / 2:30pm IST / 8pm AEDT, when Carsten Hoffmann, from DB Systel GmbH, will discuss InnerSource@DB: A Story About Open Source Practices at Deutsche Bahn.

学习途径 - 贡献者

介绍

InnerSource 的贡献者(Contributor) 你的工作计划是否曾经因为另一个团队没有做完你所依赖的功能而卡住?也许你不得不在项目中做一些额外的工作来补上这些缺失的功能。若能不再受这种问题困扰,那该有多美好呀? 有了 InnerSource 项目,你将永远不必再为等待其他团队交付某些所需功能而困扰了。如果你没有从此项目中获取所需东西,则可以担任 InnerSource 的贡献者,直接在另一个团队的代码库中进行所需的更改。 “贡献者”指为 InnerSource 社区项目代码库做贡献的人,这些人可以将自己视为社区的一部分。而对于大多数贡献者来说,都会经历这一系列过程:从了解社区,到使用社区的产品,再到与社区成员进行交互,最后开始做出贡献。最后,其中一些贡献者会成为 Trusted Committer 与其他角色的关系 作为 InnerSource 社区中的贡献者,你将与 InnerSource 的其他角色(例如 Trusted Committer 或 产品所有者(Product Owner) )进行交互,也可能与其他贡献者进行交互。有时,这些角色可以由同一个人扮演,例如小型基础项目中的“Trusted Committer”和“产品所有者”。

Learn
成为一名 InnerSource 贡献者(Contributor )

成为一名 InnerSource 贡献者(Contributor )

InnerSource 贡献者在常规的团队边界之外运作,他们是跨越组织性孤岛的纽带。因此,他们需要了解一些使这项工作更有效的常见做法。 分享的心态 你正在为你团队的产品实现一个新功能,你需要一些新功能才能使此功能正常工作。与其直接做,不如慢下来先想一想:这个功能是否反映了一个普遍的问题?在共享的业务领域里,你的组织中的其他团队也会面对这种情况吗?是否与你的需求刚好一致?如果有适用的,那么请在你的团队处理之前找到:是否有可以使用或改进以满足需求的共享的解决方案?应该有吧? 共享解决方案的好处 非洲有句谚语说:“如果你想走得快,就一个人走吧。如果你想走得更远,就一起走。” 软件开发团队也是如此: 如果你想快速行动,独立行动是个好主意。这样做的缺点是重复造轮子。特别是在重新实现核心逻辑时,重复实现将付出比独立行动所带来好处更高的代价。 与其他团队协作可以分担你的开发成本。就像在开源项目中一样,它可以让你的团队构建比你独立完成的更大的东西。 但每个团队都有不同的产品路线图和规划!我以前尝试过使用共享组件——它们的集成时间总是比我重新实现它们所需要的时间长。这些组件总是在某些方面有所欠缺——我的特性请求从来没有在其他团队的路线图上得到优先权! 与传统项目不同,InnerSource 项目有贡献者这个角色。是的,有时你希望这些共享的解决方案有新功能,作为一名贡献者,你可以自由地查看这些组件的源代码,对其进行修改并使用最终的改进版本。 是的,有时候你会迫切需要在按照你的进度要求修复错误,而这个问题在社区维护团队中没有得到相同的优先级。成为一名贡献者你可以自己行动并为团队修复这个错误。 对于许多人来说,这种工作方式需要改变心态:与其等待功能的实现或bug的修复,不如解决问题。现在有了第三种解决方案。花时间和精力与InnerSource项目一起核对您的需求是什么——然后直接在共享项目中进行更改。因此,除了你的编程技能,你还需要沟通技能,才能在一个内源项目中取得成功——清晰地表达你的需求,并找到一个对你的团队和项目团队都有效的解决方案。

Learn
贡献者精神

贡献者精神

在上一篇文章中,我们已经概述了为什么要重用组件并成为活跃的贡献者。本文将与你分享如何成功地将更改提交到项目团队的代码库。 一个 InnerSource 贡献者试图对项目维护团队做出贡献,本质上就是项目维护团队的客人。一般来说,一个好的客人应该有特定的行为方式: ● 敲门。 ● 预测并遵守家规。 ● 明白自己不是房主,并据此行事。 这些如何适用于 InnerSource 项目? 进入 拜访邻居时,即使门开着你也不会未经敲门或按门铃就擅自进入。同样的,身为 InnerSource 的房客你将无法(或被邀请)直接将代码提交到代码库中。

Learn
贡献机制

贡献机制

你准备好开始为其他团队项目/仓库做出贡献了吗?你是否希望通过协作而不是通过管理升级来减少阻碍?本节给出了实用的建议,并重点介绍了在 为InnerSource 做出贡献时要记住的问题。它使你和项目团队有尽可能的愉快的体验,为更多的贡献和伟大的合作奠定基础。 本文分为你可能会经历的三个步骤 争取你的贡献机会并准备开始工作 实际创造贡献 完善你的工作,并将其呈现给项目团队 当你的贡献和目标越来越多,你可能会重复地经历其中一些步骤。很有可能当你这样做的时候,一切都会变得越来越自然——也许你甚至会奇怪你什么时候做过那些步骤。 准备工作 交付周期 一个关键的区别是项周转时间。每当你有第一次贡献的时候,你都会加入一个新的(维护)团队。因此,你需要了解他们的代码、所使用的技术以及他们喜欢的开发环境(比如测试框架、构建系统)。即使在这种类型的工具已标准化的情况下,每个团队也会开发出一些单独的特性。除了技术方面,你可能面临沟通上的分歧(比如代码评审)。即使当你过一段时间再回来,团队的工作方式和成员可能已经改变了。你得花点时间去了解一个你很久没见的朋友,因为你现在正要去拜访他。 给自己足够的准备时间。尽早开始,这样你的努力就可以在你需要的时候发挥作用。最好在先享受你的空闲时光——当你和维护团队一起工作时,你会对项目周转时间有更明显的感觉。通常,你会注意到,在为维护团队做出一些成功的贡献之后,维护团队的项目周转时间都会减少。在开源项目中也是一样,你可以在 这里 阅读更多关于它的内容。

Learn
成为InnerSource贡献者(Contributor)的好处

成为InnerSource贡献者(Contributor)的好处

贡献者是InnerSource项目的生命之源。每个InnerSource的项目,都有最终目标,就是超越最初的创始人,扩大他们的组织 和 调动用户之间更进一步合作的潜在性。 然而,是什么促使一个开发人员花时间在非本职工作的项目上?怎样才能激励其领导为他们的开发人员腾出时间来改进不在他们职权范围内的项目? 个人的动力 最明显的激励是吸引早期贡献者加入开源。 还记得你一直在处理的那个讨厌的错误吗?在维护为它们而做的替代解决方案上花费了很多时间和精力?如果不是等待上游团队在将来某个时候修复这个问题,而是你自己去动手修复它呢?在这种“自己抓痒”的情况下,第一次贡献的人通常从修复他们日常工作所依赖的项目中的问题开始,以减少他们自己代码库中的替代方案的数量。 在决定是否创建和贡献一个解决方法而不是维护你自己的替代方案时,请想想这贡献将为你带来的好处。与其孤立地工作,不如和上游项目的人一起,他们不仅可以审查,还可以改进你的解决方案。你将获得支持和指导,这将大大加快你的开发工作。 花更多的时间和他人一起工作,意味着随着时间的推移,你将了解团队如何工作,如何组织,以及以何种方式使用何种工具来构建他们的项目。通常情况下,你自己的项目会从这种经验中获益:在进行并将其引入你自己的项目之前,你能获得实践经验,而不是仅仅阅读一些新资料和构建系统。从事多个核心项目意味着你将接触到更大的生态系统,可以从中汲取最佳实践和解决方案来应对挑战。 在其他团队中花费一些时间的一个好处是,可以将你的声誉和影响力扩大到自己团队以外。因此,除了向他人学习和自我成长外,你还可以影响项目。你可以通过你的贡献,和分享你在项目中的工具化和部署方面的经验和知识,来产生影响力。这种共享可以帮助上游项目改进和加快开发周期。 除了所有这些客观标准外,还有一个很难度量的,这在 InnerSource 和开源项目中都有报道:人们之所以参与这些项目是因为他们发现这些项目的工作很有个人成就感和乐趣。最有可能的是,能够真正自主选择要做的任务,这一点确实很重要。这种自我选择通常也会导致上游项目的人非常欢迎和支持他们的工作,以保持贡献者的积极性。 团队层面的动力 还记得那个最终被上游团队所修复的恼人的bug吗?为什么你的团队要花费额外的精力来为上游项目修复bug呢?

Learn
结论

结论

感谢你查看 InnerSource Commons 学习路径的贡献者 Contributor 部分。在本节中,你了解了贡献者角色——InnerSource 项目的生命之源。贡献者是由所有者团队外部的人员组成,他们为项目带来了额外的有价值的投入资源。 在本节中,你了解了如何通过寻找机会做出贡献,从而成为贡献者。我们回顾了寻找或创造这种机会所需的心态和习惯。我们还讨论了这个角色的思想和一个可能可以成功贡献的建议方法。 有了正确的心态、习惯和思想,仍然有一些细节可能会阻止你成功做出贡献——因此,我们更详细地讨论了这些具体细节。 最后不得不提,要说服你的团队成员和你的组织可能很难,因此我们从不同的角度讨论了贡献的好处,以使这个过程对你来说容易。 我们希望你喜欢观看视频 和/或 阅读文章,并能够从中获得一些有趣的新见解,从而成为一名优秀的贡献者。 如果你还没有这样做,我们想邀请你在我们的 InnerSource 学习路径中了解更多关于 InnerSource 的其他方面: http://innersourcecommons.

Learn