VoIP实战:后记
从决定写书,到现在算起来已经有两年多了。当时就预料到这个过程可能非常长,因此决定在互联网上采用知识共享协议(Creative Common,简称CC)在 FreeSWITCH-CN网站上发布。本书的前面一些章节远在FreeSWITCH官方的第一本书 FreeSWITCH 1.0.6上市之前就发布了,因此本人常以为该书实为FreeSWITCH第一本书。
前期,空闲时间比较多,写得也勤一些。写得快的时候,也不便于一下子全发出来,因此,但慢慢地“攒”了几章,隔几天以后发。这样看起来还好像有个良好的进度。到后来,工作渐渐忙了起来,便写得慢了。手一松,手里存的就渐渐都发完了,也就不好再控制进度了。但我总会在 FreeSWITCH 官方的新书发布前突击写两篇,以避免别人说我是抄的。但即使是这样,还经常听人说:“你翻译的书真好啊!”我非常感谢他们说“好”,同时也会告诉他们我不是翻译的(除了附录里的一些经典资料)。
前几章放到网上以后,得到了大家很好的反馈。每次看到网友在网站鼓励的留言以及邮件列表里良好的反馈,即使时间再忙,也会尽量多写一些。但写跟讲不一样。讲起来可以胡说,或一两句带过,但写的话却需要查找好多资料,因此花的时间比看上去多得多。
写得慢了,反馈就自然就少了,因此写作的动力也就了。同时,我也渐渐发现好多文章被转载到许多个人博客上。从一方面讲我是比较欣慰的,因为被人转载也算是被认可吧;但从另一方面讲,CC协议不禁止转载,但看到好多人不加到原网页链接,也不注明作者姓名,反而当作自己的原创,我就不怎么高兴了。因此写作的兴趣也大减。偶尔有点心得什么的就随便发篇博客,对里面的错别字也不那么注意了。这对于我忠实的读者而言,我是深有歉意的。所以有时候等着文章被转走之后,重新再看的时候会把错别字改掉。
有些网友也很细心地帮我找错别字,我心里非常感激。有这些忠实的读者还是挺令人欣慰的。他们不时地鼓动我出书,好多都说出了以后必定第一个购买。我不记得他们的名字,但是我很感激。可出书还毕竟不是那么简单的。首先我没有那么多时间把这本书写完,其次该书的读者群还比较小,因此觉得这个想法离实现还比较远。
后来,我清点了一下以前写的一些博客,稍做整理,串起来,便有了《实战》一章,这本书总算是走入正题了。
有一天,一位朋友告诉我说,你太牛了,文章在百度文库上到处都是。我听了很诧异,查看后发现有人甚至用 Word 排版收集了书里全部了内容,唯独少的是作者的姓名。或许正赶上那两天我忙得比较烦,在我使用正常的投诉武器未得到满意的反馈之后我发了一些微博,并写了《原来百度公司是这样对待版权的---致百度的一封公开信》。算是起到了一些效果吧---虽然百度没有道歉,但至少他们偷偷地把那些文章都删掉了。当然春风吹又生是以后的事。
又后来我在豆丁和其它网站上也看到同样的情况,尝试投诉了一下,从结果看他们好像没有百度那么自觉。
罢了,写我的书,让他们抄去吧。
只不过,受害的是我的忠实读者们。如果心情好的话我本来可以多写几篇的!
就在前几天,又有一位网友说喜欢我的书并问我什么时候能出版。我告诉他:“出书不是一时半会儿就能发生的,但是如果有人捐赠的话我会写得快些。” 这位网友二话没说,立即要了我的银行账号,并迅速转账。虽然钱不多,但是我感觉这是很有意义的。我记住了他的名字 --- Tim Yang。
这也是我写书以来收到的第一笔捐赠。虽然钱不多,但足以使我下决心把这本书印出来。虽然本书还没有最终完成,但我想,如果在今年首次社区开发者沙龙上给大家发一发,大家应该会喜欢吧?
但事实证明“印出来”也不是一件容易的事。
我最早开始写作的时候,使用 Latex 排版,Latex 是史上最酷的排版工具,我也很喜欢,但一直没有掌握其要领。而且,它处理起中文来总是非常麻烦。后来便转到 Markdown。其语法比较简单,很容易放到我的个人博客以及 FreeSWITCH-CN 网站上。不用再太关注排版的细节,使用我也可以省出更多的时间用于写作。
曾经有个以前的同事想帮我整理一个Word版的,无奈用Word对程序代码排版简直是找死(据我所知,FreeSWITCH官方的两本书也是用Word排版的,真不知道他们是怎么过来的)。
后来借助于 Pandoc,终于可以直接从Markdown生成漂亮的HTML了,同时通过pdflatex也能生成非常精美的PDF。 只是让它能很好地处理中文上我还是花了好长时间。但为了能赶在沙龙之前把书印出来,我还是尽量把很多夜晚都享受了。
在排版的同时,我发现了很多的错别字,而且也发现,以前写的那些东西由于太随意的放到博客上,好多够读起来都不怎么通顺。要把这些句子都一一推敲,我恐怕再过一个月也弄不好。因此,我只好尽量在快速浏览中把我发现的一些改好。
由于前面的章节时间都比较久远,我也花了些时间更新并重写了一些部分,补齐了以前标记为TODO的一些章节,同时又增加了网友呼声最高的 Event Socket 一章。
我的好朋友Kenny Bloom听说我要印书,非常高兴地帮我制作了本书的封面。
样书印出来了,看起来感觉还不错。有些朋友建议我把定价也印上,辛勤工作嘛,总应该有点回报。但我想,卖书不是我的本意。我建立了FreeSWITCH-CN中文社区,就是希望与众网友多多交流经验,共同学习,而且标上定价,就改变了性质,成了“非法出版物”。诚然,我也希望我的劳动能得到一些回报。尤其是看到我的文章被许多人不顾版权声明胡乱转载的时候。但我不想让少数人的不仁伤害了我的道义,而且我更喜欢的方式是国际上开源社区的方式---Donation。我想尝试一下---如果有人捐赠,无论多少,便送一本书,如何?而且,我也想从大家的捐赠中拿出一部分,再捐赠到FreeSWITCH官方的开发者社区中。大家为中文社区做贡献,就是为全世界的社区做贡献!事实上,我当时真是这么想的。但事实上,我错了,因为在样书印出来之后我忽然想起一个词---“公开募捐”。咨询了我的律师,果然,如果我那么做是有隐患的。这也完全颠覆了我的开源社区梦。这意味着---我将无法再收取捐赠。同时,我也只好在我的书的扉页上加上了一个不伦不类的“内部培训教材”,并在本书网站上取消了一切与捐赠有关的词。
好在,为自由软件社区做贡献并不一定是捐钱捐物这么狭隘。汇报Bug,翻译中文资料,在邮件列表中及QQ群中帮助其它同学,分享使用经验与代码,有时候甚至一些小小的鼓励都会对整个社区有莫大的帮助。前一段时间,在网友CH.LAU及默言的动议下,我们开始了FreeSWITCH中文文档翻译计划---http://wiki.freeswitch.org.cn/,并取得了一些进展。希望大家也一起参与进来,为自由软件的壮大发展尽一份力量。
最后,附上一些网友的留言。他们的支持和鼓励是我写作的不竭的动力:
- vontall: 我在google reader里订阅了本站,内容非常的好。 目前我是在用Asterisk,但对FreeSWITCH也很有兴趣。未来之路一书对于Asterisk的推广是显而易见的,FreeSWITCH也确实缺乏这么一份资料。 感谢您的无私奉献。
- liuhyu2000: 刚刚看过这章,真好,我已经喜欢上了!
- Clark Lee: 很好的说明,完全入门freeswtich, 谢谢,期待你更多的作品
- Phoenix Huang: 写得真好. 楼主加个油, 出书吧, 哥们必定支持
- voip123: 神一样的技术领袖!
- Jeromy: 谢谢,希望能够再写一下怎么和PSTN互通
- wzs: 看完这个真的认识更多。别的地方都找不到这样的资料。真是太感谢了。
- truelie: 真是太神奇了,感谢分享!就是不知道,SIP电话注册的时候,sofia模块是如何通知FS调用mod_xml_curl执行自己的gateway-url?
- crazy2005king: 以前对SIP根本没概念, 通过看本篇文章终于入门了
- crazy2005king: 看了好几遍这篇文章, 写得太好了
- bihu: 非常感谢,学习了。
- wavecb: 辛苦了,FreeSwitch中国贡献第一人啊
- Henry: 謝謝你的sample code, xml_curl 看了兩年都沒碰,你這樣一放我就懂了,之前都在用xml_odbc.
- Toddler: 非常高,讲的很通俗易懂,感谢。
- rewing: 大牛,忍不住赞一个 虽然,我还要再看一遍才能吸收,不过相对来说,这已经是最好的教材了
- liuhyu2000: 好极了,讲的这么通俗,开心啊我!
- slickqt: 好,期待下一篇.
- Richard: 谢谢你分享这么好的内容,感谢你的辛勤工作!
- chengcheng: 故事讲的真好啊!有大师的范啊!
- Henry: SS7 的內容清楚簡單,VoIP 玩了幾年了SS7 還沒像今天這麼清楚過,謝謝
- lyck: 不错,写的很好,明白了很多内容,多谢
- 冰神月使: 顶!SIP协议非常不错
由于时间仓促,疏漏之处在所难免,请广大读者不吝批评指正。
电子邮箱:book@freeswitch.org.cn 。
是为后记,与诸君共勉!
杜金房
2012年6月14日于北京