# 致谢
写作本书所耗用的时间是我原来设想的四倍,而在写作期间,无论我身在何处,总感觉到脑袋上仿佛悬挂着一台大三角钢琴。没有以下众人的帮助,我便不可能完成本书的写作而仍然保持精神正常的状态。
本书的编辑,O'Reilly出版社的Andy Oram是一个作家梦寐以求的编辑。他不但谙熟自由软件行业(书中的许多题目是他建议的),而且具有一种非凡的才能,那就是知道对方想说什么,而且帮助对方找到最佳的表达方式。能与Andy合作是我的荣幸。在此,我也要感谢Chuck Toporek,是他将本书的写作提议及时传给了Andy。
Brian Fitzpatrick在我写作本书的时候审阅了全部的内容,这不但使本书更完善,而且在我只想从电脑屏幕前面逃走,躲到世界上任何一个其它角落时,是Brian鞭策我继续写作。Ben Collins-Sussman和Mike Pilato也经常询问写作的进程,而且总是乐于讨论那一周我正在写作的任何题目,有时候那样的讨论需要进行很长时间。在我写作稍有懈怠的时候,他们也会注意到,并善意地加以提醒。谢谢你们,伙计们。
在我撰写本书的同时,Biella Coleman正在完成她的博士论文。她了解每天坐下来写作意味着什么,她既是鼓舞我写作的榜样,又能倾听我写作的苦衷。更能以一双人类学家的慧眼观察自由软件运动,给我提供了一些想法和参考资料,用于本书的写作当中。另一位人类学家Alex Golub那时候也在完成他的博士论文,而且他本人涉足自由软件行业,他在本书刚开始写作时给我提供了大量的支持,对我有极大的帮助。
Micah Anderson似乎从未因自己写作大部头而有压迫感,这真是令人憎恨而又妒忌的鼓舞,与他的友谊和交谈给了我很大的帮助,而且(至少有一次)他为我提供了技术上的支持。多谢你,Micah!
Jon Trowbridge和Sander Striker既给予了我鼓励也提供了具体的帮助—他们在自由软件行业中丰富的经验为本书提供了我不可能在别处找到的素材。
我要感谢Greg Stein,不仅因为我们之间的友谊和他适时的鼓励,更因为他向Subversion项目表明定期地代码评审对建设一个编程社区是一项多么重要的工作。我也要感谢Brian Behlendorf,他巧妙地告诫我们进行公开讨论的重要性;我希望这一原则贯穿了本书的始终。
感谢Benjamin “Mako” Hill和Seth Schoen与我进行的有关自由软件及其政治方面的若干谈话;感谢Zack Urlocker和Louis Suarez-Potts在百忙之中抽空接受我的采访;感谢Slashcode名单上的Shane允许我引用他的帖子;感谢Haggen So提供的有关制作完成的主页之比较,那极其有帮助 。
感谢Alla Dekhtyar、Polina以及Sonya给予我永不倦怠及耐心的鼓励。我真高兴我不必在我们的晚间聚会上提早告辞(或更确切地说,恋恋不舍地告辞)而回家去写“那本书”。
感谢Jack Repenning给予我的友谊、交谈、以及他固执地拒绝接受不费力气的错误分析,而不遗余力找寻正确答案的决心。我希望他在自由软件开发以及自由软件行业中长期而丰富的经验在本书中得以体现。
在本书写作期间,CollabNet极其慷慨地允许我采用一个灵活的工作日程,而当我需要的时间远远超出原先预计的时候,他们没有抱怨。我并不完全了解管理层在做这样的决定时考虑的个中细节,但我猜想Sandhya Klute,而后是Mahesh Murthy,均参与了这项决定—我在此感谢他们两位。
整个Subversion开发团队在过去的五年是我灵感的源泉,本书中描述的绝大部分内容都是我与之共事所得。由于人数众多,我在此不能一一列举他们的姓名,但是我恳请各位读者, 假如你有一天偶遇一位Subversion的开发人员,请为他买一杯他最爱喝的酒—我本人肯定要那样做。
我曾多次与Rachel Scollon胡言乱语,叙说写书的进程,而她总是乐于倾听,并且能够设法使问题大而化小。那对我有很大的帮助—多谢。
(再次)感谢Noel Taylor,他一定十分不解,为何我在上次频频抱怨之后又决定写第二本书,然而,Noel给予我的友谊,以及他领导之下的Golosá合唱团使我的生活即使在最忙碌的时节依然有音乐和好友相伴。我还要感谢Matthew Dean和Dorothea Samtleben,我的好友以及因我而饱受折磨的音乐合作伙伴,在我多次无法与之排练的时候,他们总是给予我极大的理解。Megan Jennings总是给予最大的支持,并对一个她并不十分熟悉的题目表现出真诚的兴趣—这对一个缺乏信心的作家来说无异于一剂定心丸。多谢了,我的老友们!
本书有四位学识渊博而又兢兢业业的评审者:Yoav Shapira、Andrew Stellman、Dayanum Srinivas和Ben Hyde。假如我能全部采纳他们提出的极好的建议,本书无疑将更加完善。但由于时间的限制,我不得不有选择性地加以采纳。即便如此,本书的改进仍然十分显著,任何遗留下来的错误都应由我本人承担。
我的父母Frances和Henry一如既往地给予我大力的支持,与上一本书相比,这本书没有那么多技术专业名词,因而我希望他们觉得这本书读起来容易一些。
最后,我要感谢我的两位挚爱好友,Karen Underhill和Jim Blandy。在写作本书期间以及在过去的七年里,Karen给予我的友谊和理解对我来说意味着一切。没有她的帮助,我是不可能完成本书的写作的。Jim对我来说也是一样,一个真正的朋友,一个计算机行业中的王者之王,是Jim将我带入自由软件行业,正如一只鸟给予飞机飞行的灵感。
- 前言
- 为什么写这本书?
- 谁应该读本书?
- 资料来源
- 致谢
- 免责声明
- 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. 版权