写点什么

如何融入开源社区

  • 2015-03-06
  • 本文字数:1277 字

    阅读完需:约 4 分钟

Guy Martin 是三星美国研究部门的高级开源策略专家,他代表三星参与了很多开源项目,也在帮助三星内部团队部署开源软件,以及和开源社区合作。近日,他在 opensource.com 上分享了关于如何融入开源社区的体会。

Martin 是个航天爱好者,他援引著名宇航员 Chris Hadfield 的书籍《Astronaut’s Guide to Life on Earth》中的一段话形象地描绘了一个人或公司刚刚进入开源社区时面临的选择:

当你来到任何新环境,你总会被视作下面三种人中的一种。带来负面作用的人:不停捣乱、制造麻烦的人。或者是不起任何作用的人:你的影响是中性的,不会打破平衡。或者是带来正面作用的人:积极为社区带来价值。但是如果你一开始就想证明自己是第三种人,那么你很有可能被看作是第一种人,不管你带来多了不起的技术,表现得有多积极。

Martin 认为融入开源社区也是这么一回事。他认为你刚刚加入时,必须表现得谦虚,尝试做个“隐身人”,不要去破坏社区平衡。对于公司来说尤其如此。如果你一开始就急着表现自己,那么轻则没人理你,重则对你群起攻之。当然这也绝对不是让你噤声,而是说每个社区都有一些通用的法则,在你尝试融入的时候必须先遵守,这样才能逐渐为社区做出真正的贡献。

在加入一个社区前,你也需要先做足功课。首先,搞清楚这个社区的沟通方式,邮件、论坛、IRC,以及当前正在讨论哪些议题。然后,你需要理解这个社区是如何管理的。是像 Linux 内核那样的层级结构,还是像 Debian 那样的扁平结构?只有理解这一点,你才能搞清楚哪些人在项目中有决策权或影响力。等日后你想要提出新的创意或者修改代码的提案时,只有这些人才能帮到你。

刚刚加入社区,免不了要做脏活累活,不如主动提出承担。也许你觉得写代码最光荣,但是几乎所有的开源项目都大量缺少承担文档、测试、bug 修复、用户界面和体验、社区指导等工作的人员。主动承担这些工作是很好的做法,从这些工作中你可以慢慢学到很多你没有的技能,同时也向你的队友证明你是一个值得信赖的伙伴,更重要的责任就会逐渐落到你肩上。

Martin 的最后一条建议是——尊重每个人。开源社区一直被认为是一个糟糕的工作环境,因为邮件列表或 IRC 里的人们似乎随时准备着打嘴仗。Martin 则认为,在社区中“表现得专业就无可指摘”。即使受到别人不友好的对待,也应该温和地去审视自己的代码、提过的建议或评论是否真的有可以修改的地方,而不是针对对方的态度进行反击,这样才能保证高效地工作。另外和项目成员私下沟通也是一种方法。就算你是地球上最牛的程序员,如果你无法尊重其他人,那么你肯定无法在开源社区取得长期的成功。

最后,Martin 再次引用 Hadfield 对宇航员人生的感悟来总结他的体会:

当你拥有某些技能却不熟悉环境时,你就不可能做出贡献。你最好先做个隐形人。隐形人不是件坏事。要证明自己能胜任这项工作,首先要不给人制造麻烦。而你在证明自己了不起之前,先要证明自己能胜任。


感谢郭蕾对本文的策划和审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-06 02:252351
用户头像

发布了 77 篇内容, 共 40.5 次阅读, 收获喜欢 26 次。

关注

评论

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

北大GPT解题有数学老师内味了,用人话讲难题,从高中数学到高数都能搞定

Openlab_cosmoplat

人工智能 开源社区

九科信息流程挖掘产品bit-Miner即将开放面向对象流程挖掘能力

九科Ninetech

流程挖掘

“精准测试” 在商家地址专项的探索 | 得物技术

得物技术

MegEngine 使用小技巧:量化

MegEngineBot

量化 MegEngine

视频大文件传输的演变:从“卷轴男孩”到自动化

镭速

手势识别:让你的手成为计算机的新界面

数据堂

HarmonyOS Codelabs最新参考

坚果

OpenHarmony 三周年连更

深度分享 | API 测试经济学与 API First 践行

Apifox

程序员 前端 接口 后端 API

构建云边端一体的分布式云架构,软硬结合驱动边缘计算创新场景

百度开发者中心

云计算 存储 边缘云

中国垂直行业SaaS,这样走可能是新出路

ToB行业头条

世界读书日特辑 | 华为阅读深耕精品书,让读书变得赏心“悦目”

最新动态

走进社区客户端测试 | 得物技术

得物技术

测试

0Ω电阻在PCB板中的5大常见作用

华秋PCB

电路 元器件 PCB PCB设计 电阻

面试还不懂JVM性能调优,看这篇文章就够了!

程序员小毕

程序员 面试 后端 JVM jvm调优

乌合之众再次上演,打工人将被AI一键淘汰?

引迈信息

人工智能 AI 低代码 AIGC ChatGPT

selenium源码通读·10 |webdriver/common/proxy.py-Proxy类分析

Python 测试 自动化测试 源码剖析 selenium

iOS MachineLearning 系列(4)—— 静态图像分析之物体识别与分类

珲少

给广场舞大妈讲讲什么是大语言模型!

FN0

AIGC

vue 入门知识点有哪些?

海拥(haiyong.site)

三周年连更

如何写出CPU友好的代码,百倍提升性能?

阿里技术

cpu 代码优化

智能感知编码优化与落地实践

百度开发者中心

人工智能 视频 百度智能云

烟雾弹?突然转变?如何看待微软发声:中国是主要的对手

加入高科技仿生人

人工智能 AI 数智化 ChatGPT

提交代码「前置处理」,向前一小步,效率提升「亿点点」

极狐GitLab

DevOps 极狐GitLab git hook lefthook 代码前置

MobTech MobLink|引流统计一站式服务

MobTech袤博科技

您有一份直播回放待查收!

BinTools图尔兹

直播回放 版本发布

智慧园区数字转型下的移动App建设策略

Onegun

移动应用 智慧城市 智慧园区

行业分析| 视频监控——AI自动巡检

anyRTC开发者

人工智能 音视频 视频监控 自动巡检

如何开发一个小程序自定义组件

Onegun

小程序 前端 小程序组件

2023年第十二届数据技术嘉年华(DTC)资料分享

墨天轮

数据库 oracle 云原生 智能运维 国产数据库

知名直播App被苹果商店下架,或涉及侵权问题

曲多多(嗨翻屋)版权音乐

ios iphone 软件开发

如何融入开源社区_语言 & 开发_曹知渊_InfoQ精选文章