|
|
| |
挑战ACDSee-专访ISee小组 (这条文章已经被阅读了次) 时间:2001年10月31日 09:48 来源:闫辉 原创-IT
记得很多人都说过:中国人是不太适合一起做事情的,一个人是一条龙,三个人就成了一条虫,中国的软件产业也同样存在着这样的问题。中国的共享软件以前也存在过某种形式的合作,但后来好像又不了了之了。尤其是利用网络来实现软件开发的协作,几乎是很难实现的,然而现在就有这么一群程序员,他们怀着共同的心愿,利用网络协作开发技术取得了丰硕成果,同时在中国软件网络协作方面也获得了宝贵的经验。这个开发协作小组就是ISee。在他们的主页上(http://isee.126.com),明晰地写着成立这个开发ISee这个项目的目的:
1.减少国内图像浏览软件重复开发的问题。
2.让自己学到更多有关图像编程的知识。
3.获得与他人协作开发的经验。
4.将ACDSee赶出中国市场。
怀着对这群程序员的浓厚兴趣,我采访了他们当中主要的参与协作开发的人员。
问:请问是谁最先开始考虑运作这个合作项目的呢?
ISee小组:这得感谢www.vchelp.net的站长闻怡洋,在去年4月份的时候,他在vchelp上成立了一个合作开发组织——coPatyway,想利用这个组织让程序员合作开发一些准自由软件(开放源码,但不遵守GPL协议),同时也让本组织的成员相互交流、学习,并锻炼大家的协作能力。如果谁有好的想法,就可以向这个组织申请项目,招聘开发人员,ISee项目就是在这个背景下产生的。很多后来的参与者都是抱着学习编程技术和了解与开发同伴的合作技巧的目的加入的。
问:那么,你们为什么要选择图像浏览软件来作为一个突破口呢?
ISee小组:因为当初认为开发这一类软件比较简单,技术上的难题基本不会阻碍项目发展。如果我们当初挑选一个做操作系统的项目,我想能够参与的人不会太多,那样就很可能导致该项目夭折。有的参与者对当初coPathway的其它项目都不感兴趣,但是因为想做游戏程序员,所以想在图像处理上打好基础,而且这个项目相对其它几个什么网络监控、Case工具而言比较简单。我们不希望一步到位,而是要一步一个脚印地做下去。
问:我想请问一下,在现在这个图像浏览器遍地都是的情况下为什么还要做这种东西呢?这不是在重复开发吗?
ISee小组:其实我的目的恰恰是要减少重复。图像浏览方面的软件确实很多,但绝大多数是共享软件,只有少数几个是免费的,而提供源代码的就更少了。这样一来,如果我们做的软件需要支持图像,而且由于各自的源代码都不公开,那么我们就不得不一次又一次地重复开发那些图像代码,所以也就谈不上提高代码的质量了,自然地,这或许也是这类软件多的原因之一吧。它的好与坏只能看制作者的水平高低。如果总是这样,打个不恰当的比方,就好像是我们每个人都在造飞机,今天你造出一架能飞80米的,明天他又造出一架能飞1000米的,但我们永远也造不出F16、麦道80。因为一个人的精力毕竟有限,他不可能样样精通(如果谁否认这样,那他就很可能是样样稀松)。那么,我们应该通过什么手段来改变这种状况呢? 我们认为有3条路:(1)合作:通过网络,让我们这些对图像处理感兴趣的人聚集在一起,共同完成一个目标。这要比一个人的力量大得多,而且最终形成的代码质量也会很高。(2)公开:我们完成这个项目之后,将把它的源代码、说明文件及各种相关的资料完全公开。我们走过的路别人就不需要再走了,也就是说,我们要尽量防止重复。(3)标准化:我们将一些常用的图像读写代码制作成插件(DLL or COM),并公开它的接口标准,使那些不使用VC来开发程序的人也能使用。
问:能简要介绍一下合作开发的过程以及是如何保证网上正常协作交流的吗?
ISee小组:基本而言,就是YZ等几个管理员先讨论基本框架和模块,公布出来大家讨论定型,然后分工合作。对于一个网络协作项目比较理想的交流模式,我想应该有3个部分:即一个WWW工作站点,一个包括所有成员的邮件列表,一个成员通讯表。邮件列表我们现在还没有,如果以后条件成熟了我们将建立一个。
我们用WWW工作站点做为一个平台,在上面发布各种与项目相关的消息及代码,成员将从该站点获取关于项目的各种资料。成员通讯表则提供给每一位成员下载,通过表中成员的E-mail地址,可以实现成员间点对点的交流。邮件列表的作用则相当于一个异步的聊天室,大家可以讨论一些与项目有关的问题。我们还曾想过每个星期在OICQ上开个会,但因为人总到不齐,或没有一个主话题,所以没有成功。
问:我使用了你们开发出来的ISee软件的试用版,发现的确有自己的独到之处,但和ACDSee这个完善的软件相比还有很大的差距,你们认为ISee从技术上有没有可能超过ACDSee?
ISee小组:有可能,但不会太容易!ACDSee的突出之处是读取图像的速度非常快,甚至该公司已将这个特点作为一个主要的“卖点”来宣传了,ISee如果要想在这个方面超过ACDSee还要下很大的功夫,要对现有的图像读写代码进行优化(算法优化和汇编优化),这就要看我们成员的功力了。另外,我们将对ACDSee比较薄弱的功能进行增强和扩展,比如图像处理,争取在这些方面压过它。
在CSDN的论坛上看到有人说“ACDSee只是个小工具,模仿它很幼稚!”,我却不以为然,或许他可能没有真正做过类似的软件,如果要做到ACDSee的高效率、易用性,不经过长时间的艰苦工作是拿不下来的。我们没有理由也没有任何资本瞧不起ACDSee的程序员。我们以为ISee更应在易用性和功能性上争取超过ACDSee,ACDSee没有图像处理(下转36页)(上接29页)功能,这是我们想方法压过它的一个方面。
问:我看到你们中有些人认为ISee可以超过ACDSee,但我们知道ACDSee是一个公司的产品,他们有完善资金投入和后续的支持服务,属于一种商业化运作的软件,而且ISee又无法像linux那样靠提供服务收费来维持生存和发展,那么ISee作为一个免费软件又如何创造价值保证后续开发的呢?
ISee小组:我想这可能是两大软件开发模式的区别,商业软件靠的是封闭源代码、向程序员支付高薪的办法来延续软件的版本,而自由软件则是开放源代码、不向程序员提供报酬的办法来延续版本,其中开放源代码是关键的一点。在Eric的经典文章“大教堂和市集”一文中,简要描述了一些保持软件版本延续的方法,比如频繁地发布源代码,尽早地发布源代码等等,目的就是要让那些潜在的后续开发员尽早地熟悉当前开发员的思路,当出现人员空缺时就比较容易找到替补人员了。
还有一点对于软件延续是很重要的,就是自由软件的开发者为的不是金钱,而是一种兴趣、精神甚至信仰。比如我,在工作之余写ISee的代码就是一种享受,任何人都没有权利阻止我进行这种享受,我想参与了ISee实际开发工作的成员可能都有这种倾向,这也许是自由软件发展的根本动力吧。
问:看来你们的合作应该是比较顺利的吧,你们觉得从这次协作开发中得到的好处有哪些?
ISee小组:认识了很多的朋友,看到了很多不同风格的代码,学习了他们的很多长处,对网络合作的认识加深了。如果我们做了一个国内成功的GNU软件,对我们国内自由软件的发展也能起到一个推动的作用。我们不仅在技术和编码规范上受到了影响,同时对合作开发中可能出现的情况和问题也有了一些理解。
在协作开发方面,共享软件和自由软件可能存在很多不同之处,但它们之间的协作经验不能生搬硬套。自由软件靠的是精神,而共享(或商业)软件则必须靠机制,我想我们应该在这方面作一些尝试。程序员这个职业是很适合网上协作的一种工作,尽早地探索出一些这方面的经验,这对中国软件业也是一种贡献吧。
|
|
|