OpenStacker提升社区贡献指数的8条秘笈

简介:

在OpenStack社区中,中级贡献者介于岩石与坚硬的地面之间,他们既不是什么都不懂的菜鸟,也不是因精湛的技能给其他人留下深刻印象的高手。但他们无疑是OpenStack社区不可或缺的中间力量,中级贡献者如何提升有效提升自己的贡献指数,并且向着成为社区顶尖高手的目标不断迈进呢?两位来自惠普的中级贡献者代表Scott D’Angelo和Andrea Rosa为我们带来了一些宝贵的实战经验。

Scott D’Angelo和Andrea Rosa能够深刻感受到那些“中级”OpenStacker的苦恼。这两名惠普工程师已经不再是简单的bug fixer了,他们现在能够对复杂功能所涉及的东西,以及哪些东西可以被带来到OpenStack中展开不定期评估。

自OpenStack Folsom版本推出以来就一直从事公有云业务的高级软件工程师 D’Angelo 说:“我们的雇主会问,‘嗨,我们想要这个功能,但是这些东西太复杂了。’在这种情况下,你不得不开始制定蓝图和规范,并且向OpenStack社区进行反馈。你不得不搞明白这些怎么才能工作得足够好,甚至需要知道这个功能是否正在被添加。你不得不开始使用一些影响力让他们关注你的补丁。我们能够感觉到在新人和关于提供补丁的文档之间存在着隔阂。”

D’Angelo居住在美国科罗拉多,Rosa居住在英国,但是两人却相隔万里共同合作编写一个补丁。为了让Nova拥有一个新的功能,通过合作编写补丁,两人对如何展开合作积累了丰富的经验。通过总结PTL(项目团队主管)、Core Reviewer(核心评估人员)和同事们正在寻求什么和讨厌什么,他们将一些事情推向了新的高度。

而以下便是D’Angelo和Rosa在参与社区开发的过程中总结出的8条宝贵经验。

1. 知道自己要去向何方

与Rosa和D’Angelo沟通的人表示,他们最讨厌的是人们不知道这些补丁的历史。一名Core Reviewer曾经因此被激怒,在他将某个东西标记为“不要这么做,你必须移除这个参数”之后,在随后的补丁集中,这一参数又重新回来,并得到了其他人的批准,且与代码进行了合并。

D’Angelo说:“通过了解补丁的历史,你可以知道这些东西为什么会通过这种方式解决,你也可以避免同样的错误。这虽然很乏味,但是在我们的调查中,这是一个反复重复出现的事情。”他表示,我们需要确定哪些工作需要通过IRC与PTL进行沟通。“如果你发现了项目中一些被忽视的痛点,那么你将会得到鼓励、欢迎和帮助。”

2. 学习在拥塞的车流中行驶

D’Angelo说:“OpenStack是一个庞大的社区。这有点像交通阻塞一样。大家都非常乐于助人,也愿意给予别人鼓励,但是大家又都非常忙碌。为了把事情做好,你必须尽可能地提高效率,因为每个人的日程都安排得非常满。有些事情可以加快你的速度,但是有些事情会导致你的速度放缓。”

3. 通过提交信息和单元测试避开不良评估

D’Angelo说:“主动思考你将会遇到的所有问题,避开已知的扣分情况,或是会导致问题的情况。”他称,自己有时遇到的最大障碍是在单元测试和提交信息上没有花上足够的时间就匆忙地提交了代码。“由于没有考虑周全,导致整个程序会被打回来,并被扣分。”他说。

这个情况被反复地证明,由于没有做好补丁功能的解释工作,糟糕的提交信息只会让你迅速出局。Rosa称,不要期望Reviewer会打开漏洞说明书或是介绍,然后完整地阅读它们。Reviewer需要得到的关于补丁来龙去脉的所有相关信息必须被写入提交信息中。而解决这一问题的最简单方法就是使用相关的指南。

D’Angelo承认:“在提交补丁时,提交信息是我最后才编写的东西。由于没有在代码中的提交信息上下功夫,因此会出现一些脱节。目前我已经知道不能再这么做了。”

关注提交信息的规则会为我们减少许多麻烦。是让它们含有72个字符,或者是冒着被扣一分的风险?D’Angelo说:“要减少这些麻烦,至少要知道规则和提前考虑到在你提交补丁后会有人立即看到它们,并对其进行标记。”

4. 成功通过单元测试

D’Angelo说:“没有单元测试,你会立即被-1分。它们是我们应该提前规划的事情之一。提前写测试,因为你迟早都要写。”他还指出,如果先前没有通过Tox和Pep8,那么测试或补丁将无法通过Jenkins。“我没有统计过自己看明白了多少提交评估的补丁,但是对于那些不合格的补丁,大家会关注它们失败的原因。”他说。

5. 避开交通拥堵时间

D’Angelo说:“另一个令人讨厌的事情是,有人会强迫或是纠缠Reviewer,让他们对自己的东西进行评估。在Cinder中,我看到了许多这样的事情。我们为这一存储阵列批准了70多个驱动。一直会有新人加入进来,因为他们的公司希望让一个驱动加入到Cinder中。而这些驱动动不动就包含2000或3000行代码,这需要很多人花时间进行评估。”

那么有什么诀窍吗?诀窍就是不要等到到了第二个里程碑版本时才开始让人对你的补丁进行评估。不要等到在IRC中开始提问,以及不要等到开始加入项目才开始评估。

从Diablo版本开始成为“中级成员”的Rosa对于版本周期也有着相同的见解。“你会向自己的老板承诺许多东西,但是请记住社区的时间安排与你公司的时间安排有着很大的出入。你需要设定一个期望值,否则你将会像之前的人一样站在老板面前说‘对不起,我们需要等待下一个周期,时间可能是三个月。’请意识到这一点。”

6.如何应对“交通罚单”?

“如果你被否决了,那么不要灰心。请做好申辩的准备。在你提交补丁之时,请记住扣一分并不意味着世界末日。他们不一定是对的,去找Core Reviewer而不是找普通Reviewer进行申辩。”Rosa说。

向他们清楚地解释补丁的功能,尝试着展示它们对项目的提升或是对重大漏洞的弥补情况,或许你的情况会得到反转。不抱成见,态度谦虚地提出你的关注点。“我曾经看到一名Core Reviewer将意见由-1修改为了+2的情况。”

7.想改变结果?Review, Review, Review !

D’Angelo说:“你想获得Review,那么你需要精心准备你的材料,你需要介绍自己的参与情况和学习情况。”

D’Angelo和Rosa建议不要干涉Reviewer的工作,避免人为地让自己的Stackalytics数值被扣分。要让社区知道自己,包括在IRC中积极表现,这一点也很关键。

“Core Reviewer会进行大量的Review工作。他们会看你的综述,他们会知道你是否进行了出色的总结,你的扣分是否是因为代码中的错误。他们还会知道你被四处扣分的原因是否是因为你文稿上的错误。我不认为你真地能够糊弄到任何人。”

8. 不要为小事担心

D’Angelo称,中级贡献者必须要记住他们应该尝试着树立起向更好方向发展的文化导向。“大家不需要因为别人评估、挑剔和指出文稿上的错误而感到担心。作为Reviewer,我可以保证我们没有这么做。我们在Cinder中做的事情是鼓励大家不要因为文稿错误或是一些不影响代码的事情做出-1的评分。也就是说,‘如果上传了另一个,那么可以进行补救。’”令人高兴的是,那些对这些问题吹毛求疵的人会受到指责。他说:“目前这一策略已经开始发挥作用了。”

在东京OpenStack Summit上,D’Angelo和Rosa与大家共同分享了参与社区贡献的心得。您可以在OpenStack基金会的YouTube频道上看到这个41分钟的完整对话视频。


本文作者:Frank Cha

来源:51CTO

相关文章
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
7月前
|
存储 缓存 NoSQL
《Redis缓存:高性能数据存储的奥秘与多元应用》
Redis是一款基于内存的高性能键值对存储系统,凭借极快的读写速度成为提升应用性能的关键技术。它通过缓存热点数据减少数据库压力,结合LRU/LFU等淘汰策略优化内存使用。在电商领域,Redis加速商品详情页加载、保障秒杀活动高并发处理;在社交媒体中,支持实时点赞、评论和在线状态更新;游戏行业利用Redis管理玩家进度与排行榜;CDN场景下,Redis缓存热门内容降低延迟;分布式系统中,Redis实现数据共享与分布式锁功能。作为高效的数据管家,Redis正为数字化世界提供强大支撑。
175 2
|
8月前
|
安全 数据安全/隐私保护
什么是公网 IP 证书
**公网 IP 是互联网设备的唯一标识,确保数据准确传输。公网 IP 证书则为服务器提供身份认证和加密保护,防止恶意攻击,保障通信安全。它广泛应用于电商、云服务和政企网站等领域,确保数据隐私和交易安全,成为数字化时代网络通信的坚实守护者。** 简介涵盖了公网 IP 的基础认知、证书的作用及加密功能,并简要介绍了其在各行业的应用,总计236个字符。
|
10月前
|
存储 监控 数据可视化
从繁琐到高效:数字化工具助力HR管理的实际案例
随着数字化转型加速,人力资源管理(HRM)正经历深刻变革。传统纸质记录和手动流程逐渐被数字化工具取代,提升了效率并带来全新管理模式。本文探讨了看板工具、HR管理系统等如何改变传统HRM模式,并重点介绍了板栗看板的独特价值,包括任务可视化、跨部门协作、自定义功能、数据驱动决策及移动端支持,助力企业优化流程、提升效率和员工体验。
|
11月前
|
Linux API 开发工具
魔搭llamafile集成:让大模型开箱即用
Llamafile是一个将大模型和其所需运行环境,全封装在一个可执行文件中的开源创新项目。为了方便广大开发者能以更低的门槛使用大模型,魔搭社区上提供了大量优秀模型的llamafile格式。
358 5
|
11月前
|
JSON API 开发者
淘宝买家秀数据接口(taobao.item_review_show)丨淘宝 API 实时接口指南
淘宝买家秀数据接口(taobao.item_review_show)可获取买家上传的图片、视频、评论等“买家秀”内容,为潜在买家提供真实参考,帮助商家优化产品和营销策略。使用前需注册开发者账号,构建请求URL并发送GET请求,解析响应数据。调用时需遵守平台规定,保护用户隐私,确保内容真实性。
|
12月前
|
机器学习/深度学习 存储 人工智能
NeurIPS 2024:解锁大模型知识记忆编辑的新路径,浙大用WISE对抗幻觉
在AI领域,大型语言模型(LLM)的发展带来了巨大便利,但如何高效更新模型知识以适应世界变化成为难题。浙江大学研究团队在NeurIPS 2024上提出的WISE方法,通过双参数化记忆方案及知识分片机制,有效解决了LLM知识更新中的可靠性、泛化性和局部性问题,显著提升了模型性能。
266 3
|
12月前
|
人工智能 JSON 分布式计算
为什么多智能体能够解决LLM无法解决的复杂问题
为什么多智能体能够解决LLM无法解决的复杂问题
|
机器学习/深度学习 人工智能 搜索推荐
人工智能与未来医疗:AI技术如何重塑医疗健康领域###
【10月更文挑战第21天】 一场由AI驱动的医疗革命正在悄然发生,它以前所未有的速度和深度改变着我们对于疾病预防、诊断、治疗及健康管理的认知。本文探讨了AI在医疗领域的多维度应用,包括精准医疗、药物研发加速、远程医疗普及以及患者个性化治疗体验的提升,揭示了这场技术变革背后的深远意义与挑战。 ###
722 6
|
机器学习/深度学习 人工智能 自然语言处理
AI技术前沿探索:解锁智能时代的无限可能
【10月更文挑战第22天】AI技术前沿探索:解锁智能时代的无限可能
327 1