AI时代已来,你准备好应对挑战了吗? 了解详情
写点什么

如何融入开源社区

  • 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:251785
用户头像

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

关注

评论

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

钱包量化多币种质押挖矿系统开发合约源代码详情

V\TG【ch3nguang】

钱包系统开发 质押挖矿

量化智能机器人开发,炒币机器人功能部署搭建

V\TG【ch3nguang】

量化交易机器人开发 炒币机器人

HoudahSpot最新中文版+补丁安装教程

胖墩儿不胖y

Mac软件 文件搜索 搜索工具 搜索软件

Node.js 的 Buffer 是什么?面向开发者的指南

Liam

JavaScript node.js 程序员 后端 buffer

交易所系统开发/秒合约交易所/锁仓挖矿/前端uinapp

V\TG【ch3nguang】

交易所开发 秒合约

PyTorch 提高生产力的技巧

3D建模设计

机器学习 PyTorch

ARTS 打卡第二周

直须

个人成长 前端 ARTS 打卡计划

五种重要的 AI 编程语言

3D建模设计

人工智能 AI

一劳永逸,解决.NET发布云服务器的时区问题

互联网工科生

.net 云服务器 时区

和鲸科技为临床医学科研场景打造可供多角色协同的低代码研究平台

ModelWhale

人工智能 低代码 数据科学 在线编程 临床研究

基于 Argo CD 与 Argo Workflows 的 GreptimeDB 云端自动化升级实践

Greptime 格睿科技

rust 时序数据库 云原生数据库 国产时序数据库 自动升级

隐语纵向联邦 SecureBoost Benchmark白皮书

隐语SecretFlow

大数据 AI 数据安全 隐私计算 开源社区

业财融合背景下,全面预算管理的发展之路

智达方通

业财融合 全面预算管理 全面预算管理系统 企业全面预算管理

BetterZip 5中文下载+BetterZip 5注册码

mac大玩家j

Mac软件 解压缩工具 压缩软件

如何在浏览器中启用 WebGL 以使用 HTML5 3D 查看器

3D建模设计

html5 WebGL 3D 查看器

隐语小课|私有信息检索(PIR)及其应用场景

隐语SecretFlow

AI 数据安全 隐私计算 开源社区 数据要素

Footprint Analytics 与 GasZero 达成合作,将打造 “0 Gas” 区块链生态系统的未来

Footprint Analytics

区块链 web3

说点大实话丨知名技术博主 Kirito 测评云原生网关

阿里巴巴云原生

阿里云 微服务 云原生

mysql基础——认识索引

树上有只程序猿

MySQL 索引

Paper推荐|「隐私集合求交PSI系列」奖励升级

隐语SecretFlow

大数据 数据安全 隐私计算 开源社区 论文推荐

关于工厂数字孪生应用实例的解析

3DCAT实时渲染

数字孪生 实时渲染

购买矿机产出代币模式系统开发搭建

V\TG【ch3nguang】

代币 挖矿矿池系统开发案例

质押挖矿模式系统开发,矿池系统部署搭建

V\TG【ch3nguang】

挖矿矿池系统开发案例 质押挖矿

ARTS 打卡第二周

直须

个人成长 前端 ARTS 打卡计划

10倍性价比,万物新生基于 StarRocks 无缝直替 Trino

StarRocks

数据库 数据仓库 StarRocks trino

缓存更新的四种策略及选取建议

这我可不懂

缓存 应用程序

浪潮信息 KeyarchOS 助力 IT 企业安全管理业务完成 CentOS 迁移替换 | 龙蜥案例

OpenAnolis小助手

开源 操作系统 IT 浪潮信息 龙蜥案例

开源微服务如何选型?Spring Cloud、Dubbo、gRPC、Istio 详细对比

阿里巴巴云原生

阿里云 云原生 dubbo

动态规划-编辑距离-两字符串集合重排序

alexgaoyh

重排序 动态规划 编辑距离 文本对齐 编辑距离变化过程

文心一言 VS 讯飞星火 VS chatgpt (81)-- 算法导论7.4 6题

福大大架构师每日一题

福大大架构师每日一题

高效数据传输与管理利器:镭速传输方案助力企业提升效率与安全

镭速

数据传输 分发数据 管理数据 镭速数据传输

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