专访原创软件高手老马

这段时间以来,在工作之余,为家用电脑组织了一系列免费和开源软件作者的专访。听软件作者们纵论开源与免费的话题,一定会有所收获。下面,是ComicsViewer作者老马的专访。

没有人能够随随便便成功----独家专访原创软件高手老马
本报特约记者 平生一笑

经常关注本报"虎哥推荐"栏目的朋友一定会对ComicsViewer、TextForever和miniKillEBook等软件不陌生,或者说经常被蔫老虎推荐着去一个叫做"老马的原创空间"网站去下载一些实用工具。本周我们就请来这位坚持原创的软件高手、"老马"来做客"高手面对面",请他谈谈自己在软件创作、免费开源等方面的简介。
和大部分的软件作者不同,老马是一个"著作"颇丰的软件编程高手,这些作品不仅仅是软件,还有相关的文章。软件方面,老马所开发的ComicsViewer,在漫画浏览领域,比ACDSee都出名;TextForever、miniKillEBook等一系列文本处理和电子书反编译工具,也是颇有名气;而一些视频相关的实用小工具,如将AVI和MPEG文件转成JPG图片的软件Avi2Jpeg、Mpeg2Jpeg等,更是深受用户喜爱。编程之外,老马喜欢将自己的开发经验和所用到的技术总结下来,发表了多篇文章,尤其在电子书反编译方面,那绝对是专家级的水平。
之所以这么做,实际上都源于老马的分享精神。他所编写的软件,全部都是免费或开源的,不止如此,他之所以写那么多文章,也是为了更好地向他人解释自己所用到的技术和经验。有着如此分享精神的老马,对开源和免费有什么样的看法呢?我们还是赶快把他请出来吧!

高手榜

老马:真名马健(在其所写的软件上都有标明,并不神秘)。现从事软件开发管理工作,偶尔写写小软件。马健平时最喜欢的运动是吃,最喜欢的娱乐是睡觉,人生最崇高的理想是像猪一样地活着,可惜总是俗务缠身,所以到现在理想也只能是理想。
软件介绍:马健开发了许多软件,在其个人网站----老马的原创空间(http://www.comicer.com/stronghorse)里,软件名字就列了将近一屏,在这些软件里,作者自己天天用的是NoteIcon、TrayApp,看书时候用的是MyReader,看漫画的时候当然用那最出名的ComicsViewer。软件之外,马健的文笔非常不错,其个人网站上有许多开发经验的总结文章,绝对值得一读。

最难的是和各种开源项目打交道

家用电脑:老马你好,你可算是我们家用电脑的老朋友了,我们曾多次推荐过你所编写的软件。我们都知道你编写的软件很多,不知道你数过没有,这些软件到底有多少,都侧重于哪些方面,所有都是你独立开发的吗?开发中又遇到过什么问题呢?
老马:我从来没有想过要去数自己开发过多少软件,因为我觉得那样的行为实在没有什么实际意义。我写软件的目的很单纯,要么是为了方便我自己,要么是为了验证我自己的一些想法,除此之外没有别的目的。所以从软件的运用领域来看,也随着我个人的兴趣而变化:喜欢看动画的时候拚命研究多媒体,改看书以后又研究电子书。发布在我的网站上的软件当然都是我自己开发的,所以才叫"原创空间"。
软件有难有易,简单点的把现成代码拼凑一下就可以了,难的搞上几天也不见得有所突破。从我个人的感觉,最难的是和各种开源项目打交道:好的开源项目固然好用,但也有不少开源项目Bug成堆。和这些Bug较量,感觉比打任何游戏都更需要智力、体力和运气,所以我现在都不打游戏了,因为那已经不够刺激。碰到困难,多半是先Google。毕竟软件行业的出现不是一天两天了,相似的问题大概早就有人碰到过。如果Google还找不到,就只能自己老老实实看源代码了。

和金钱相比,我的时间更重要

家用电脑:看来和开源项目打交道,也要做好持久战的准备啊,这个值得有志于开发软件的朋友借鉴借鉴。那么你所编写的软件,全都是免费或者开放源码的,当初为何会选择这种方式发布呢,没想过收益问题吗?以后的开发计划又是如何?
老马:前面说过,我发布的那些软件主观上都是为我自己写的,只不过客观上服务了大众。选择免费和开源,一方面是我信奉互联网早期的一个著名信条:来自网络,归于网络;另一方面是因为我觉得加密、收钱、算序列号太麻烦了,会耽误我宝贵的时间。和金钱的收益比起来,我觉得时间的成本更值得考虑。
由于工作和个人兴趣的关系,近一年来我对扫描电子档案比较有兴趣,前段时间一直在研究PDF,近期开始改DjVu。可能会因此再推出一些文章或软件。现在看来电子档案可能会是未来软件业的一个热点,国内外都有不少公司卷入,其中当然有做得好的,有做得差的。这里面除了技术原因外,还有其他各方面原因,总之借用一句歌词:没有人能够随随便便成功。

成功秘诀:平静的心+持之以恒

家用电脑:在现在,免费和开源的软件非常火,我们近期也连续采访了致力于免费和开源软件开发的作者,都对免费软件很有信心。那么你是怎么看这个话题的呢?
老马:如果没有其他收入作为支撑,不论是个人还是企业,都不可能靠开源活下去,毕竟人总是要吃饭的。但是开源项目确实有利于软件业的发展,可以减少大量的重复性开发,并促进技术的进步。举个简单的例子,如果没有大量的开源项目做支撑,我相信PDF也不会这么流行,而DjVu至今斗不过PDF,除了技术、商务上的原因外,开源项目不力也是一个原因。
家用电脑:很多所谓的免费软件与插件捆绑以获利,对这方面,你又有何看法?
老马:其他人有他们自己选择的权力,但是我本人是绝对不会这么干的,而且我也不会使用任何暗藏玄机的软件。
家用电脑:嗯,我也赞成你的观点。在软件开发领域,你是一个老手了,所以想请你在最后,对我们的读者朋友们,特别是关注软件开发的朋友说几句经验之谈。
老马:想在技术上有所突破,第一要素是有一颗平静的心。就像电脑里的CPU一样,如果跑其他任务就已经消耗了100%的CPU,你拿什么去研究技术?第二要素是有持之以恒的定力。还是用电脑做比喻,一台频繁重启、掉电的电脑,有可能把一个程序顺顺当当跑下来吗?要修炼到这样的程度,我觉得最简单的办法,就是尽量把技术和自己的兴趣结合起来,希望大家都能获得成功!