组织中围绕开源工作的努力是否转化为了个人或团队的成果?如果没有,需要考虑改进其开源策略。
组织和个人现在对开放源代码的热情很高。GitHub公司在发布的2020年Octoverse状态报告中指出,个人开发者在2020年对开源项目的贡献率与2019年相比提高了25%。从组织的角度出发,在Red Hat公司发布的《2020年企业开源状态报告》中,95%的IT领导者表示,开源在战略上很重要,75%的组织预计企业的开源将会继续增长。
这听起来是一件好事,但如果围绕开源的整体努力没有转化为个人或组织的成果?也许是重新审视其开源策略的时候了,需要寻找改进开源策略的机会。
改善开源策略的5种方法
从创建者、项目社区以及越来越多的组织在使用开源技术并为之做出贡献的角度出发,几位开源专家提出了有关在2021年及以后改进开源策略的建议。
(1)设定并重置目标
像任何长期计划一样,实施开源项目应该有一个战略计划。组织还应该每年以适合的节奏来重新调整它。这对于可持续项目本身很重要,对于使用或贡献开源技术的公司也是如此。
Red Hat公司北美市场首席架构师兼策略师E.G. Nadhan说:“就像我们倾向于在每年年初设定个人和企业目标一样,为组织与开源社区的互动设定目标也很重要,它可以而且应该成为组织的技术创新团队的延伸。”
Nadhan提出了一些问题,可以将这些问题作为组织重新思考开源战略的框架:
•组织目前从事哪些开源项目?
•2021年应该从事哪些项目?
2021年的相关项目在哪里?两年后在哪里?
•需要做什么才能达到目的?
•组织应该与谁合作以推动和维持其增长和采用?
(2)不要忽视变化
Crunchy Data平台工程副总裁、PostgreSQL全球开发小组的核心成员Jonathan Katz说:“缺乏主动规划导致了开源项目面临的最大的潜在问题之一。组织的开放源代码项目之所以会陷入困境有很多原因,但最主要的原因是忽视变化。”
这是因为时代在变化,技术也在变化。例如,考虑一下云计算和云原生带来的广泛影响以及它们与开源的广泛关系。在Red Hat公司的《2020年企业开源状况报告》接受调查的IT领导者中,83%的受访者表示,组织采用开源项目可以更好地使他们能够利用现代云计算架构。
如果忽略了行业的巨变,或者只是让工具及其社区陷入困境,那么它很可能会失去价值。
Katz说:“对于组织来说,重要的是继续维护开源项目,并使其适应所针对的生态系统的当前软件趋势。即使开源项目被认为具有完整的功能,但随着技术的发展,它仍将需要修复错误和界面升级。制定有关如何继续维护(即使不能开发)开源项目的计划可以帮助它继续蓬勃发展。”
Red Hat公司首席架构师Emily Brand表示,采用开源技术的组织也需要保持同样的警惕。
Brand说,“组织定期对所使用的开源社区进行审查(无论是自我支持的还是供应商支持的),以确保积极的开发。如果参与度正在下降,需要向社区注入活力,或者提前开始审查替代技术和现代化预算。”
(3)掌握自述文件内容
如果发现开发工作或社区的普遍参与度下降,需要打开自述文件(README)并查找问题:例如语言不清晰、信息过时,或者总体上认为项目是失败的。就像工具本身一样,自述文件不应只编写一次。
Aqua Security公司开源工程副总裁Liz Rice说,“第一印象很重要,因此需要查看项目的GitHub存储库的自述文件。这通常是潜在用户可能会看到的第一份文件,因此需要明确说明该项目将要做什么以及如何解决问题。它还需要就如何安装和运行该工具给出明确的说明。”
他建议说:“需要将自己置于对其项目或项目的知识一无所知的思维框架中。他们是否能够从自述文件和说明书中掌握基础知识?他们可以更简单地向其他人解释吗?如果没有,是时候重新启动的时候了。”
(4)征求反馈意见
有很多建议可以无缝地转化为工程,因此需要获取反馈。这是因为技术或创意与执行想法之间通常会存在差距。
Rice表示,这适用于组织的自述文件以及工具本身。如果组织觉得某个项目或总体开源战略有问题,需要向那些愿意分享真实意见的人员寻求反馈。
Rice说:“组织需要外部的一些人员试用开源项目并获得他们的反馈。即使只有一两个人提出反馈,也会带来很多关于如何改善开源项目的知识。”
(5)建立心理安全文化
开源与云计算、DevOps和现代IT的其他支柱有着更多的交集,因为开源的成功取决于相似的基础,尤其是从人员和文化的角度来看,而开发人员担心对这些贡献的响应。
Red Hat公司首席技术策略师兼加拿大解决方案架构总监Michael Cardy说,“高绩效团队需要在心理安全的环境中工作,以分享想法和经验教训,但也要从实际的角度出发,例如将他们的源代码公开给组织的其他成员,而不必担心遭到嘲笑或面临尴尬。”
必须培养这种安全文化及其所促进的合作。如果项目或组织文化具有负面影响或完全有害,那么这将与开源原则相冲突。
Cardy指出:“组织领导者有责任通过奖励、激励和愿景来创造安全的环境。企业文化必须将失败视为一个学习的机会,只有在没有获得教训并与组织其他成员分享的情况下,失败才是糟糕的事情。”