试译:开源项目成功的十条准则

Ten Rules for Open Source Success
《开源项目成功的十条准则》

Everyone wants it, lots of people try it, yet doing it is mostly painful and irritating. I’m speaking about free software aka open source. Today I’m going to summarize 30 years of coding experience in ten management-proof bullet points.
每个人都需要它,很多人跃跃欲试,但是干起来却往往会令人痛苦或者愤怒。我在谈论的是自由软件(开源软件)。今天,以我30年来的开发经验,我想要总结以下10条经营要点:

1、People Before Code
1、人比代码重要

This is the Golden Rule, taught to me by Isabel Drost-Fromm. Build community, not software. Without community your code will solve the wrong problems. It will be abandoned, ignored, and will die. Collect people and give them space to work together. Give them good challenges. Stop writing code yourself.
这是一条黄金法则,是Isabel Drost-Fromm教给我的。建立社区而非软件,没有社区,你的代码将会去解决错误的问题。然后它将会被抛弃、忽略,最后死去。将人汇集起来,给他协同工作的空间,给他们足够好的挑战,停止自己写代码!

2、Use a Share-Alike License
2、使用‘以相同方式共享’型许可证

Share-alike is the seat belt of open source. You can boast about how you don’t need it, until you have a bad accident. Then you will either find your face smeared on the wall, or have light bruising. Don’t become a smear. Use share-alike. If GPL/LGPL is too political for you, use MPLv2.
‘以相同方式共享’是开源的安全带,你可以吹嘘自己是如何的不需要它,直到你碰到糟糕的‘意外’。然后你会发现自己头撞南墙,或者‘轻微擦伤’,不要成为一个‘伤员’。用‘以相同方式共享’型许可证吧,如果你觉得GPL/LGPL太过于政治化,那就用MPLv2。

3、Use an Zero-Consensus Process
3、使用一个无需达成共识的协作流程

Seeking upfront consensus is like waiting for the ideal life partner. It is kind of crazy. Github killed upfront consensus with their fork/pull-request flow, so you’ve no excuse in 2015. Accept patches like Wikipedia accepts edits. Merge first, fix later, and discuss out of band. Do all work on master. Don’t make people wait. You’ll get consensus, after the fact.
寻求前期的共识就像是在等待理想的人生伴侣,这简直就是疯狂。借助fork/pull-request这种模式,Github已经干掉了前期共识,所以在2015年的今天,你没有任何借口。例如像维基百科那样接受修改。先合并,再修复,然后附带进行讨论。在master分支上做所有的工作,不要让人等待。事实上,你会逐渐得到共识的。

4、Problem, then Solution
4、首先是问题,然后才是解决方案

Educate yourself and others to focus on problems not features. Every patch must be a minimal solution to a solid problem. Embrace experiments and wild ideas. Help people to not blow up the lab. Collect good solutions and throw away the bad ones. Embrace failure, at all levels. It is a necessary part of the learning process.
教育自己和其他人,聚焦于问题而非功能特性。每一个补丁都必须是解决某个实际问题的最小化的解决方案。勇于尝试,勇于接受疯狂的想法,确保实验室不会被炸掉。收集好的解决方案,抛弃那些坏的。在所有的层面上,拥抱失败。这是学习过程中不可缺少的一部分。

5、Contracts Before Internals
5、首先约定,然后再完成内部实现

Be aggressive about documenting contracts (APIs and protocols) and testing them. Use CI testing on all public contracts. Code coverage is irrelevant. Code documentation is irrelevant. All that matters is what contracts the code implements, and how well it does that.
要积极的记录约定(API与协议)并测试它们。使用CI工具测试所有的公开约定。代码覆盖率是无关紧要的,代码文档是无关紧要的。一切的关键都在与约定的代码实现,以及他们是如何实现的。

6、Promote From Within
6、从内部提拔

Promote contributors to maintainers, and maintainers to owners. Do this smoothly, easily, and without fear. Keep final authority to ban bad actors. Encourage people to start their own projects, especially to build on, or compete, with existing projects. Remove power from people who are not earning it on a daily basis.
将贡献者提拔为维护者,将维护者提拔为负责人。这样做起来,将会顺利、轻松并且免于恐惧。保留干掉‘老鼠屎’的最终权力。鼓励人们开始自己的项目,尤其是基于已有项目,或者与之竞争的项目。剥夺那些不再每日贡献者的权力。

7、Write Down the Rules
7、将规则写下来

As you develop your rules, write them down so people can learn them. Actually, don’t even bother. Just use the C4.1 rules we already designed for ZeroMQ, and simplify them if you want to.
当你制定规则时,将他们写下来,以便人们可以了解他们。这样一点都不麻烦。如果你愿意的话,可以直接使用我们为ZeroMQ制定的规则,再加以简化。

8、Enforce the Rules Fairly
8、公平地执行规则

Use your power to enforce rules, not bully others into your “vision” of the project’s direction. Above all, obey the rules yourself. Nothing is worse than a clique of maintainers who act special while blocking patches because “they don’t like them.” OK, that’s exaggeration. Many things are much worse. Still, the clique thing will harm a project.
用你的权力去执行规则,但不要强迫别人遵循你对于项目发展方向的“愿景”。首先,自己就要遵守规则。没有什么比一个维护者的小圈子,仅仅因为“他们不喜欢”就拒绝补丁,更加糟糕的事情了。好吧,这样有些夸张了。不过,有些事情会更糟糕。总之,小圈子会伤害一个项目。

9、Aim For the Cloud
9、以云为目标

Aim for a cloud of small, independent, self-organizing, competing projects. Be intolerant of large projects. By “large” I mean a project that has more than 2-3 core minds working on it. Don’t use fancy dependencies like submodules. Let people pick and choose the projects they want to put together. It’s economics 101.
以小型的、独立的、自组织的、竞争性的(可以在云中部署的)项目为目标,(市场)不能容忍大项目。所谓“大”,我的意思是一个项目包含了2~3个核心想法。不要用那些花哨的类似于子模组那样的依赖。让人们去挑选,并将他们选择的项目放到一起(工作)。这是经济学的基本常识。

10、Be Happy and Pleasant
10、开心愉快最重要

Maybe you noticed that “be innovative” isn’t anywhere on my list. It’s probably point 11 or 12. Anyhow, cultivate a positive and pleasant mood in your community. There are no stupid questions. There are no stupid people. There are a few bad actors, who mostly stay away when the rules are clear. And everyone else is valuable and welcome like a guest who has traveled far to see us.
也许你注意到了,“创新”并不在我的建议列表中。他很可能在第11或12点。总之,在你的社区里培养一种积极的、愉快的氛围,没有愚蠢的问题,也没有愚蠢的人。就算有‘老鼠屎’,也会在违反规则时被清理掉。其余的人是有价值的,我们欢迎他们像游客一样,远远的看着我们。

ps. 第一次试着翻译,求各位朋友帮忙指正,多谢了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,361评论 0 23
  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的阅读 13,430评论 5 6
  • 还是一样的生活,一样的学习,一样的想你。今天突然心血来潮想写一写我与你的故事,我能想出开头,却无法猜到结尾。...
    森屿微安阅读 91评论 0 0
  • 原来我们寻找的,不是成熟的个性 幸福,是自己丢失已久的灵魂,属于昨夜的领地 昔日。源童年的梦幻。孩子般的天真。孩子...
    暗烨无殇阅读 521评论 0 1
  • 父母已经老了 什么事情还是要靠自己 穿越雾霾 品尝甜蜜的生活 小心不要摔倒 超越怎么样的现实 才能喝到你自己酿的葡...
    壹起桐行阅读 140评论 0 0