By Allen B. Downey

Allen B. Downey 是 美国欧林工程学院计算机科学系教授,也是Google公司前客座科学家。

他写了Think StatsHow to Think Like a Computer Scientist series (Java, C++, Python等版本)、 The Little Book of SemaphoresComplexity and ComputationPhysical Modeling in MATLABLearning Perl the Hard Way等计算机科学书籍,这些书都采用了 GNU自由文档许可发布,允许读者可以根据自己的需要进行改编。

本文是Downey发表在绿茶出版社网站上的一篇文章,说明了选择写作自由书籍的理由,并根据自己的经历提出一些建议。

1998年,我为我教的一门课写了一本很短的教科书,然后采用自由许可发布了这本书。通过这种方式,我给予读者通过任何形式复制、修改和再次分发那本书的权限,而限制只有两个:衍生作品须说明原作,再发布时也必须采用这个许可。

我想到,其他教授可能需要从几本书中挑选一些章节,或者针对特别的课程来定制教材。我猜想他们中的一些人或许会补充一些资料,另外也希望读者能够帮我挑出错误。

那时对于自由书籍,我完全没有什么深刻的想法,当其他作家来问我的时候,我并不是一个多大的案例,对我来说,这不过是个好主意罢了。

八年之后,那些当时不很明显的益处变得益发清晰,而本文要说的正是它们。

  • 自由许可不只是一个发布产品的不同方式。采用自由许可的书根本就是不同的产品。
  • 自由书籍会产生更多的自由书籍,这是常规书籍做不到的。自由书籍让读者变成作家。

现在,如果你有兴趣,来看看这个结论是怎么来的吧:

尽早发布,时常更新

我花了14天的时间写了《像计算机科学家一样思考》的前13章。在前13天我每天写一章,每章10页,最后用了一天的时间来编辑,然后发给一个短版印刷厂。他承诺在开课前交给我。我的朋友Scott Reed是位艺术家,他答应让我扫描一副他的作品当作封面。

在给学生这本书的时候,我说你们可以每周读一章。跟我写这书相比,你们有7倍的时间来读它。如果我们之间是有比赛的,我开始写的时候你们开始读,我会领先11周的。学生们当时没被逗笑。

所以自由书籍的优势之一就是周转时间,而另一个优势则是开始时需要投入的精力比较低。我可没有时间来写一本常规的教科书,也许也从来没想过要写。但我有时间来写一本自由教科书(也是勉强吧),但结果证明,它开启了一个意外积累的过程。

后一个学期的时候,我写了另外关于数据结构的6章。后来我报名参与计算机科学先修(美国高中阶段的大学先修课程)测验的评分,在那里我遇到了一些很棒的人,他们在教高中水平的计算机科学。我想我的书可能会有用,但那时先修测验采用C++,所以我又为先修课程专门写了一个C++版本。不过它并没有流行起来,特别是在先修测验转而采用Java之后。

但那时我已经有了一本200页的书,还有两个版本,而且这两个版本都发行了好几版。

放开控制

第一个真正的惊喜在1999年4月到来,我从Jeff Elkner那里听说了这个消息。Jeff与 Richard Stallman(美国自由软件运动的精神领袖、GNU计划以及自由软件基金会的创立者)谈了我的项目。Richard Stallman曾看过我给Jeff关于这个项目的传单。

于是,Jeff和我开始合作,Jeff着手将《像计算机科学家一样思考》转为Python版,同时,他的一个学生也开始将Java版译成西班牙语。

我很快意识到,随着多种编程语言和多种自然语言的诞生,译文的版本已经有点超出控制了。

从那时起,不时有人联系我,他们有兴趣将这本书改编为Ruby和Eiffel,以及翻译为法语、德语、荷兰语、印尼语、马来西亚语等等。这些项目有一些已经大体完成,可以在网络上找得到,有些似乎失败了。

当那些可能的译者联系我时,我都鼓励他们公开他们的作品,并让我知道。有些这样做了,有些则没有。我愿意维护版本的序列,但我已经明白我无法控制这个过程。

Jeff给我Python第一版时,我从未用过Python,用自己的书来学一门新的语言真够古怪。我喜欢上了这门语言,但对这本书,感觉有点矛盾。Jeff的风格与我不同,一般而言,我更喜欢我的。

我感觉有义务做一个基本修订版,虽然我没有时间完成详尽的工作,但我做了一个14天通,并把它发回给Jeff。

对于这个结果我很高兴,但现在想起当时的回应,真是个错误。我是一个拙劣的编辑,而Jeff当时不是很开心。收回项目控制权的同时,我抹掉了很多Jeff的贡献。

幸运的是,Jeff非常有雅量,他还是继续与我合作。但想想吧,我的失策真的可以轻易毁掉这个项目。

如果你的书就是你的孩子,交给陌生人任由他们处理,确实很难。但如果你想有创意的人使用你的素材,就必须允许他们取得所有权。

可能必须做点监管

2000年11月,一位比利时的高中老师Gerard Swinnen联系了我,他那时已经将Python版译为法语,所以请求获得我的允许,以自由书籍的形式发布他的翻译。实际上我已经在我的许可中给予了这种授权,所以我说可以的。

我能看法文,但说得很差,所以读这本书的法语版挺有趣的,还学到了一些技术术语,比如“debogguer”的意思就是“debug”(除错)。

之后这件事就被我抛诸脑后,直到2005年7月,我Google了一下,才发现O'Reilly法国出版了这本书,名为Apprendre à programmer avec Python

当时我很兴奋,但也有点担心,因为O'Reilly的网页上并没有任何关于原书或翻译许可的信息。

我从Amazon.fr订购了一本,失望地发现,这本书还是遵循常规的版权协议,读者没有权利复制、修改或再分发原文。

我感觉很矛盾,明显从我上次看过之后,这本书已经又有变化。一些章节与原始的部分相似,但有很多已经几乎是全新的了。

在同Swinnen交换邮件后,我才了解他之前开始翻译我们的书,后来逐渐改写,直到最终不再使用大部分的原始资料。

一方面,我很高兴,这种使用自由书籍的方式我之前并没有想到。我不想阻碍Swinnen的成果或否认他的荣誉,但在我个人的烦恼之外,我认为有必要强制执行我的许可。

我发了一系列的电子邮件给Swinnen的编辑、O'Reill法国的主编,并最终送到了Tim O'Reilly本人手中,在邮件中我这样写道:

“如果没有我的书作为开始,我想Jeff [Elkner]和Chris [Meyers]不会写出一本书,如果没有我们的书作为开始,Swinnen先生也不会写出他的。这展现了自由书籍的力量,但同样也说明,处理违反FDL(自由文档许可)行为的重要性。

作者会采用FDL是因为益处大过风险,但如果作品的滥用得到广泛传播或者被容许,这将坐实作者的担忧。原始作品的作者将继续采用严格的许可,而那些本来可能创作出重要的、有益的改编作品或翻译作品的人就再没有机会了。”

值得表扬的是,O'Reilly先生之后指示法国办事处在那本法文书的网页上加上了我们的链接,并且他们同意重印时遵守许可。自那之后,我再没收到他们的消息,所以就我所知,他们还在销售那版我认为是侵权的书。

我希望这是唯一一个不遵守许可的使用,但其实还是有其他的。在这个案例中我能得到一些妥善处理,但对于大多数的情况,我没有时间去监管。而且,我只能看懂英语、法语和一点点的德语,所以使用其他语言的作者不在我的检查范围内,是相对安全的。

维护贡献者名单

从乐观的角度想,我每周都会收到几封读者的电子邮件,大多数都恭维了这本书,听到这些总是好的,尽管也有人专门写信可能只是对我的好意有偏见。

礼貌之外,很多通信人也会指出错误并提供建议,很多真的有帮助。我的第二本自由书,The Little Book of Semaphores,尤其满是错误。现在少一些了,但同步的困难就在于它很难确定。

早期的时候,Jeff Elkner曾提议维护一份贡献者名单,并附加在书中。这绝对是一个好主意,很遗憾在最初几版我忽略了这一点。现在我的所有书都有贡献者名单。

纸质版?

大多数出版商都对自由书籍不感兴趣,所以如果你想销售纸质版,你必须找一家对自由书籍态度友善的出版社,或者干脆自己来做。

2001年,Center for the Public Domain(公共领域中心)联系了Jeff,该基金当时正打算办一家名为Lulu Press的出版社,他们有兴趣出版《像计算机科学家一样思考》的Python版。

我们签了合约,他们为我们指定了一位编辑和封面设计师,我们则着手准备这本书,以做到最好。

2001年11月,LuLu取消了这个项目,但他们同意我们使用他们设计的封面。

那时它只是一份印刷品,而非出版物,所以我现在的妻子和我合伙建立了绿茶出版社,并将这本书发给了短版印刷厂。

此时书的电子版已经可以通过网络访问到,并且有了知名度,所以我们在Amazon上架了这本书,并在电子版的每一页加了链接,等待有人订购。

一周内,我们从Amazon收到了两个不大的订单,卖出了12本。按这个速度,我们两个月就能卖掉第一次印刷的100本了,所以我们决定印更多。

我问Lulu他们本来打算印多少本,他们说2000,于是我们就这么干了。

几周过去了,接着又是毫无消息的日子,完全没有订单。之后我接到妈妈打来的电话,她高兴地告诉我她从Amazon上订的书送到了。

整整十本。

好消息是,我们向无关的人卖掉了两本;坏消息是,还有2088本等着卖。

四年之后,我们卖掉了1000本,保住了成本。但如果你决定自己出版的话,开始时最好从少量印刷做起。

小心暂定名

想个好名字并不容易,所以许多人都会将这件事留到最后,并使用一个暂定名,直到发生一些正式的事情。有时暂定名比较幽默和浮夸,例如《像计算机科学家一样思考》。

总之,暂定名大有坚持到底的趋向,可不要让这件事发生在你身上。

想象一下好书如果是自由的

这学期我将开一门关于哥德尔不完备定理的迷你课程。在准备的时候,我发现了另一个支持自由书籍的例子。

内格尔和纽曼的《哥德尔证明》第一版于1958年出版,封底简介称其为“注解的杰作”。我认同这句话,想来1959年侯世达14岁读到这本书的时候,也是这样认为的。

《哥德尔证明》是侯世达那本广为流传的《哥德尔、艾舍尔、 巴赫:集异璧之大成》的“父母”之一,侯世达从1972年开始写作这本书,并于1979年出版。

回顾《哥德尔证明》,侯世达曾说“被某些段落困扰过……过了一会,然后意识到,让他感到困惑的地方并不完全是自己的错。”侯世达写道,“意识到这本我喜欢的书有些瑕疵,而很明显,我却不能为它做任何事情,感觉很糟糕。”

对于一本去除瑕疵就非常棒的书,人们却觉得无法为它做任何事是明摆的事,这种想法让我感到难过。

但至少在这个例子中,最后证明侯世达是错的。纽约大学出版社后来请他编辑《哥德尔证明》的修订版,该版于2001年面世。

结果是令人惊讶的。在不牺牲第一版的简洁风格的前提下,他阐明了几个表述模糊的实例,清除了不太理想的举例,并将一些模糊之处变得更精确。修订版的成就毋庸置疑。这个例子说明即使在常规出版领域,一本书也能激发另外一本书,而且读者也是有助于改进的。

想象一下,如果周期小于40年,如果人们不用先拿到博士学位,并写过一本畅销书,就可以修改、改写和改进先前的作品,世界将会是怎样?

为什么选择自由书籍?

一本自由的书就像一棵大树的根,从它开始,分支出可能的改写本、翻译本,甚至是全新的书。自由书籍将读者变成校对、编辑、编者、通讯记者、投稿人、合作人、撰稿人和作者。

如果你正考虑写一本书,马上开始吧,尽早发布,时常更新,放开控制,但也要不时监管一下,维护好贡献者名单,让这本书自由开来。

乐译开放书翻译计划

上文中的诸多理由已经说明自由书籍不被传统出版商待见,但是好书怎能就此埋没?这里有一个计划——大家来推荐好书,组队翻译!不少项目已经有条不紊地展开了,来看看吧!