NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

如何融入开源社区

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

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

关注

评论

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

ABAQUS二次开发怎样接入Python代码?ABAQUS软件教程

思茂信息

abaqus abaqus软件 abaqus有限元仿真

Python并发编程:多线程技术详解

高端章鱼哥

Python 并发编程

文末福利免费送 | KaiwuDB AI 时代数据库技术专题沙龙,名额仅剩 20 位,报名从速!

KaiwuDB

数据库 KaiwuDB

熟练使用 Redis 的五大数据结构:Java 实战教程

互联网工科生

Java redis

2个数仓中不等值关联优化案例

华为云开发者联盟

数据库 后端 华为云 数仓 华为云开发者联盟

管控变更对提升质量的重要性

老张

质量保障 配置管理

千帆大模型平台引领Falcon-180B适配创新

百度开发者中心

人工智能 Prompt 千帆大模型平台

什么是智慧光伏?智慧光伏电站运维平台

2D3D前端可视化开发

物联网 数字孪生 三维可视化 智慧光伏 智慧电站

NFTScan 正式上线 Scroll NFTScan 浏览器和 NFT API 数据服务

NFT Research

NFT NFTScan nft工具

用大模型Prompt解决行业问题

百度开发者中心

大模型训练 Prompt

Prompt模板助力应用升级

百度开发者中心

人工智能 大模型训练 Prompt

最新开源、更擅长推理的中文大模型

百度开发者中心

人工智能 大模型

在Vue中使用Mock.js虚拟接口数据实例详解

树上有只程序猿

Vue Mock.js

社区团购,拯救消费降级的利器

用友BIP

社区团购

中国水泥行业数字化采购:驱动产业链供应链现代化的关键

用友BIP

数智采购

注释在编程中的重要性:理解程序员的两难选择

小魏写代码

云图说|交换数据空间Exchange Data Space

华为云开发者联盟

数据交换 开发 华为云 华为云开发者联盟

正确选择数据库安全运维平台的几个原则-行云管家

行云管家

数据库 数据安全 数据库安全 安全运维

Mac电脑高效音频录制 Piezo 最新 for mac

mac大玩家j

Mac软件 音频录制软件 录音软件

当AI遇上3D建模:一场创意与技术的完美碰撞!

Finovy Cloud

AI 3D

不会写代码同学的福音——AI 代码生成器 Amazon CodeWhisperer(通过注释写代码)

亚马逊云科技 (Amazon Web Services)

人工智能 CodeWhisperer Amazon Lambda 云上探索实验室

DAPP智能合约双币质押挖矿项目系统开发

l8l259l3365

大模型训练-实战的模型、算力与数据训练

百度开发者中心

人工智能 大模型训练

将 Amazon EC2 到 Amazon S3 的数据传输推向100Gbps 线速

亚马逊云科技 (Amazon Web Services)

S3 Amazon EC2 亚马逊云科技

腾讯云入选2023 Gartner分布式混合基础设施魔力象限

Geek_2d6073

Loopback for Mac(音频路由和虚拟音频设备软件) v2.3.2直装激活版

mac

苹果mac Windows软件 Loopback 虚拟音频软件

ZGC关键技术分析

得物技术

Java 高性能 GC算法

《永劫无间》新版本上线,英特尔锐炫及XeSS即时支持,助力玩家丝滑畅游!

E科讯

IBM只有29%的职位看学历?基于技能的招聘到底是什么?

用友BIP

智能招聘

IDO官网预售 创建 ICO 解决方案:为您的代币发行奠定基础

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

Illustrator 2023 for mac(ai2023矢量图编辑软件) v27.9密钥激活版

mac

苹果mac Windows软件 矢量图形编辑软件 ​illustrator 2023

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