(在博客园写了不少技术文章。今天发个广告!但绝对非商业。)
“Python快速教程”和“协议森林”是我最早开始写作的两个系列文章。“Python系列”包括有Python的基本语法和标准库,已经基本完成。“协议森林”用比较直观的方法讲解从底层到高层的网络协议,计划也将在补充后完成。过去的两年,花了不少心血和时间在这两个系列文章上,得到了博客园许多人的支持,非常感谢大家。在这期间,也有一些出版社联系,或者读者催促出PDF版。几经犹豫,我准备干一个程序员喜欢的事情:开源。
博客写作可以非常的随心所欲,我很喜欢这种形式。博客文章很容易收到读者的反馈,比如明显的错误、不同编译版本的差异、乃至术语的翻译。有时候,一篇文章讨论区所内容的深度和广度,让文章本身相形见绌。但这让我意识到自己的不足。我既不是某个技术的创始人,也不是某个领域的学术权威。我自己凭兴趣学到相关的内容,就连经验积累也有所欠缺。为了让自己写的文章能被更多人接受和阅读,我必须要花大力气来提高文章的质量。可以想到的事情就有很多,比如更加严格的编辑审核,比如更加生动的绘图,比如更加有趣的示例和练习。可是,写的文章越来越多,修订成了非常花时间的一件事情。
出书,是挑战自己的一个好的途径。有编辑和出版社的督促,书的结构和文章的内容很容易上一个档次。但我尝试了几次编辑目录,都无功而返。总结下来,一个是每次想到出书就……紧张。不停的问自己,自己是能出书的人吗?会误导读者吗?一番质疑,自己吓到自己,提笔也有些无力。另一方面,自己的精力有限,很容易因为一时的繁忙,就把事情搁置下来。总而言之,自己的博客文章,和真正的出版书籍之间,还隔着一个鸿沟。我需要做一些大胆的事情,来填满这个鸿沟。把系列文章开源,开始公共写作计划,就是要填上这个鸿沟。
其实,博客的文章挂在那里,本来就已经是开源了。这个开源开在哪里呢?我想,一个是版权上。开源项目生成的文档,比如pdf、epub和源码文档,可以免费下载、使用和阅读。一个是开放参与。我将在Github上开源这两本书。这样,每个人对原文有意见、有补充,都可以分支出去,形成自己的修正版本,然后和主干合并。这样,这些技术文章就会随着时间演化,跟得上时代了。如果开源写作计划进行的顺利,我希望这些文章能自行演化,越来越精良,也跟得上时代的步伐,随时随刻都能有价值。而能做到这一点,不是因为我,而是因为所有的参与者。
当然,这并不意味着就此放弃正式的出版。任何一个内容,能够发放的渠道总是越多越好。我相信,通过这种公共形式的写作,文章可以达到一个更高的水平,也更容易成为高质量的出版物。我现在的想法是,和贡献最大的两个人作为联合作者。而出版所得,以所有参与者的名义,捐赠给一些公益项目和开源项目。个人放弃的这些出版所得,用于有益于社会和社区的事情上,我觉得非常值得。
现在,两个repository已经建立,分别是:
协议系列的文字已经上传,我也会随后上传Python系列的文章。
当前最想补充的内容是:
非常希望你也能来参与。fork个分支,发pull request是最棒的事情。加星点赞,也会非常鼓励参与项目的人。把这篇文章,或者Github的地址分享。机缘之下,或许你的朋友会感兴趣,参与进来。那样,就太感谢你的牵线搭桥了。
在受益于许多在线的文章和开源项目之后,自己终于也能做些事情。光是想想,我就忍不住有些激动。