# Appendix C. 为什么我要关注车棚的颜色?
你不应当;这并没有什么意义,你有更多值得花时间的事情。
Poul-Henning Kamp著名的“车棚”论述(这个[Chapter 6, *交流*](# "Chapter 6. 交流")的节选)是一份关于项目讨论容易陷入误区的雄辩论文。经过允许在这里重新打印,原始的地址是[http://www.freebsd.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers](http://www.freebsd.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers)。
~~~
Subject: 更绿的草坪上的车棚(任何颜色都可以)...
发自: Poul-Henning Kamp <phk@freebsd.org>
日期: 1999年10月2日 星期六 16:14:10 +0200
Message-ID: <18238.938873650@critter.freebsd.dk>
发送人: phk@critter.freebsd.dk
抄送: Blind Distribution List: ;
MIME-Version: 1.0
[暗送到committers, hackers]
我的上一份小册子已经接收的差不多了,我不太需要再发送一份,今天我
有时间愿意这样做。
我对此类事务的正确决定有一些困难,这一次是密送committers和hackers,
这是我能做的最好的事情了,我不太会订阅hackers,但是之后我订阅的更
多了。
这次触发我的事情是“sleep(1)应当有小数部分”的讨论,这已经困扰我们很长
时间了,已经过了好几周了,我甚至懒得去检查。
如果你错过了这个讨论:那就太恭喜了。
有人认为如果给sleep(1)一个非整形的参数会让这个函数很脏,这点燃了
丛林山火。除此以外我不会再多说,因为与他的讨论长度相比,这确实
是一件太小的事情,于此同时我们还有许多真正的问题。
sleep(1)的传奇是我们在FreddBSD中自行车棚讨论的最吵闹案例。这些
建议已经经过充分思考,我们能够获得与OpenBSD和NetBSD,以及所有已经
编写代码的兼容性。
然而出现和启动了这样多的反对、建议和变更,我们只好以为这些变更
会把瑞士奶酪的空都插满,或者是改变可口可乐的口味等等等等。
“关于自行车棚是什么?”你们中的某些人问过我。
这是一个很长很长的故事,或者说一个很老的故事,但实际上也很短,叫做
“帕金森定律”,包含了管理动态性的深入见地。
你可以在亚马逊找到,也可能在爸爸的书架上找到,它物超所值,也值得花
时间去读,如果你喜欢呆伯特,那一定会喜欢帕金森。
有些人最近告诉我阅读之后发现只有50%可以应用到现如今,我只能说真的
够好了,大多数现代管理书籍的命中率远低于此,要知道这本书已经超过35
年了。
与自行车棚相关的特定例子中,另一个至关重要的部分是核电站,我猜这透
漏了书的年龄。
帕金森展示了如何进入主管委员会并获得建造价值几百万甚至几十亿美元的
核电站,但是当你希望建造自行车棚时,却会陷入无尽的讨论中。
帕金森解释了这是因为核电站是这样巨大,这样昂贵,这样复杂,没有人能
够掌握,甚至只是尝试,他们只是假设某个其他人已经检查了所有细节。
Richard P. Feynmann在他的书中给了许多关于洛斯阿拉莫斯(美国原子弹生
产中心)的有趣而且到位的案例。
另一方面是自行车棚。任何人可以在周末建一个,还能剩下时间看电视比赛。
所以无论如何准备,无论你的建议如何的合理,总会有人展示自己的存在,
他就在这里。
在丹麦,我们称之为“留下指纹”。它是关于个人骄傲和声望,关于能够指向
某个方向,然后说“在这里,我做的。”这是政治家的一个强烈特色,但是如
果有机会,大多数人会试试。想想我们在湿水泥上留下的足迹吧。
我只能低头向最初的建议者表示敬意,因为他将枪口从地毯处转向了剧场的
最高后座,而且这个改变就在我们现在的讨论树中。我会折返回去,来到该
线索中不太顺手的消息中。
而这些告诉我,就像我之前许诺的,我为什么不订阅hackers:
几年之前我就取消订阅了hackers,因为我无法承受紧跟邮件的压力。同样的原
因,我也取消了其他一些列表。
但我还是收到很多邮件。许多直接由过滤器转向到/dev/null:人们喜欢[遗漏的]
永远不会来到我的屏幕,例如用我不理解的语言提交到文档,以及提交到ports。
所有的事情都在没有我的时候发生,甚至我都不知道。
虽然我的邮箱有这些尖利的牙齿,我还是得到太多邮件。
这是更绿的草丛进入视野的地方:
我希望能够减少我们列表中噪音的量,我希望可以让每人经常建造一个车棚,
我真的对他们喷什么颜色并不关心。
第一个愿望是关于公民的,敏感和智能的使用我们的邮件。
如果我可以简明精确的定义一组标准,规定何时某人可以回复,何时不可以
回复邮件,这样任何人都可以认可和遵守它,我会成为一个快乐的人,但我
是太明智了,甚至不会去尝试。
但是先让我建议一些我希望邮件程序可以在人们发送或回复邮件列表时能够
提供的弹出窗口:
+------------------------------------------------------------+
| 您的邮件会发送给成百上千的人,他们需要花费10秒钟来阅读才能 |
| 决定是否有兴趣,阅读您的邮件至少会花费两个人周会。许多接收 |
| 者会需要为下载邮件而产生花费。 |
| |
| 您是否绝对确定该邮件的重要程度值得打扰所有其他人? |
| |
| |
| [是] [修订] [取消] |
+------------------------------------------------------------+
+------------------------------------------------------------+
| 警告:您还没有阅读讨论中的所有邮件,其他人已经说了您在回复 |
| 中所说的内容。在回复任何邮件时,请阅读整个讨论。 |
| |
| |
| [取消] |
+------------------------------------------------------------+
+------------------------------------------------------------+
| 警告:您的邮件程序未能为您展示所有的信息。逻辑上讲您不可能 |
| 阅读了整个邮件,并且理解了其内容。 |
| |
| 在没有全部阅读和认真思考前就发送邮件是不礼貌的。 |
| |
| 一个降温定时器会在一个小时内防止您回复该线索 |
| |
| [取消] |
+------------------------------------------------------------+
+------------------------------------------------------------+
| 您编写这个邮件超过了N.NN字符/秒,不太可能以超过A.AA字符/秒 |
| 的速度思考和输入,因而您的回复可能不够连贯,思考不充分且过 |
| 于感情化。 |
| |
| 一个降温定时器会在一个小时内防止您发送任何邮件。 |
| |
| [取消] |
+------------------------------------------------------------+
我的愿望的第二部分更加感情化。很明显,在sleep(1)线索中我们可以操纵的
不友好火焰,尽管已经在项目中存在多年,从来没有对其有足够的关心,所以
为什么有这么多人被许多年轻人激怒?
我希望我知道。
我知道推理对停止这种“保守主义”无能为力。可能是因为这些人对于之后提供
有形贡献的缺乏,亦或是这些人认为“我们年老还古怪,我们知道年轻人的所作
所为”。
任何一种方式对于项目都是低生产率的,但我对如何停止它没有任何办法。
我只能建议忍住不要给潜伏在邮件列表的怪兽添油加醋:直接忽略他们,不要
回答,忘记他们的存在。
我希望我们可以在FreeBSD得到一个强大且广泛的志愿者基础,而且希望我们
能够团结起来通过吞噬、分化和驱散古怪的老家伙和[漏掉的],防范他们有
任何立足之地。
对于已经潜藏下来,由于参与这些怪人而驱散的人:我只能说不好意思,并
鼓励您无论如何继续尝试,我不希望环境成为这样。
Poul-Henning
~~~
- 前言
- 为什么写这本书?
- 谁应该读本书?
- 资料来源
- 致谢
- 免责声明
- 1. 介绍
- 历史
- 现状
- 2. 起步
- 从你拥有的开始
- 选择许可证并应用
- 设置风格
- 通告
- 3. 技术基础设施
- 一个项目需要什么
- 邮件列表
- 版本控制
- Bug跟踪
- IRC / 实时聊天系统
- RSS供稿
- Wikis
- 网站
- 4. 社会和政治的基础架构
- 慈善独裁者
- 共识为基础的民主(Consensus-based Democracy)
- 写下所有的内容
- 5. 金钱
- 参与的类型
- 长期雇佣
- 作为一些个体出现,而不是一个整体
- 公开你的动机
- 钱不能让你可爱
- 契约
- 资助非编程活动
- 市场营销
- 6. 交流
- 人如其文
- 避免常见的陷阱
- 刺儿头
- 处理成长
- Bug跟踪系统中无对话
- 公开性
- 7. 打包、发布和日常开发
- 版本号
- 发布分支
- 稳定发布版本
- 打包
- 测试和发布
- 维护多发布线
- 发布和日常开发
- 8. 管理志愿者
- 从志愿者中获取最多
- 像分担技术任务一样分担管理任务
- 转化
- 提交者
- 荣誉
- 分叉
- 9. 许可证,版权和专利
- 术语
- 许可证的方面
- GPL和许可证兼容性
- 选择一个许可证
- 版权分配和所有权
- 双许可证模式
- 专利
- 深入资源
- A. 自由版本控制系统
- B. 自由Bug跟踪系统
- C. 为什么我要关注车棚的颜色?
- D. 报告bug的样例指导
- E. 版权