开源的路在何方?
2008-12-26
在图书馆的阅览室看了这本书,花了我两个小时的时间,午后的阳光透过图书馆的玻璃照进来,很温暖,可是我的心却一点点的凉了下来。
再过半年我,一个计算机系的学生,就要投身到软件开发这个行业中去了,可没有任何经验,仅凭着那些薄弱的理论知识。边看书边记下自己的想法,害怕那瞬间想法的丢失。
我看到了我推崇的开源技术的脆弱,我看到了软件工程的重要和繁杂,我看到了一个梦想的破碎。
一个开源的项目,一个在大教堂模式的开源项目,怎么样取得成功,怎样才能避免失败。
一开始他们只有一个想法,想建立一个各个平台都可以使用的时间管理软件,他们没有规格,他们确定技术和方向,他们没有确定人员,他们和规格设计,他们测试,他们没有里程碑,他们没有确定开发模型,他们只有各种各样的美好的愿景,纵使他们是天才,也一样要面临失败。
现在回头看看他们的想法,他们选择了python和wxpython这本来就是不错的选择,可是他们没有中居然没有一个人熟悉python这门语言!什么语言并不重要,重要的是你的项目组里面是否有人特别熟悉这么技术,如果有,有多少人。
如果一开始就选对人,那么就不会有那么多问题了,如果一开始就根据愿景确立里程碑,确定开发模型,比如说原型演化模型,如果建立了规格说明,建立编码规范,有自己的一套测试体系,而不是一昧地想搞出个超过outlook和exchange的软件,这个项目还会不会失败。
如果成功,他们怎么盈利?当然,十分可惜我们看不到
前段时间看到一则报道说有的企业说再穷也不上开源的ERP,感到很不解,现在终于明白了。支持,那么优秀的软件,缺乏支持,用户多了,怎么办,要知道软件最后就是为了服务其他行业,就是为了让那些普通的,不懂计算机的人也会知道使用。
开源世界那么多优秀的语言,产品,框架,如果没有产商的支持,仅仅靠着几个开发者的热情,他们的使用空间,产品的寿命,在哪里呢?有多少商家采用wxwidget的。开源技术的强大生产力和商家结合起来才能产生更加巨大的威力,比如php之于yahoo,python之于gogole,java之于ibm
易用性,这会是开源产品软肋吗?我们的开源软件的需求在哪里?好的,即使那是我们美丽的idea,我们希望有一天有很多一起来使用的时候,是否有考虑到用它的是一个不懂计算机的用户吗?
UI,开发开源产品的都是程序员,他们的美观和大众的审美,相差太大了,王垠居然认为fwm2很美观,虽然我欣赏他的偏执,但是那界面真的很丑陋,优秀的开源项目是否可以吸引到同样优秀的UI设计师。
文档,是否有足够的文档,Mysql可以成功而postgresql却没有达到相应的高度,不是技术上的问题吧。一个开源的项目的文档谁来维护,程序员的精力有限,谁来维护文档,用户?别开玩笑了。那些bug收集和解决,真的只由程序员来维护吗?
最后,盈利模式在哪里?时间就是金钱,程序员就不是吗?他们公布他们的源码,他们不应该获得收入吗?如果不通过软件收钱,他们如何从用户获得报酬,他们都是活雷锋,可是我们不能让活雷锋饿死吧。如果是捐赠,是否有相应的工具,当然支部宝的小额报酬是一个不错的选择,那用户的习惯如何培养呢?特别是在中国一个已经习惯了使用盗版软件的国度。使用开源软件,从开源社区获得回报的中国的it企业,能不能也想ibm,sun,google一样回报开源社区呢?他们的付出习惯又如何进行培养?
我一直使用的一种开源笔记软件notebook的作者已经宣布由于个人精力有限停止开发了,有多少人,多少优秀项目由于相似的问题而停止了呢?
就像Raymond在《unix编程艺术》结尾说的那样,我们依然相信开源的力量,依然相信它可以改变这个世界,改进软件的生产力,但是希望的光芒在哪里?
从接触linux离开,我了解和逐渐试着去理解开源界,有很多人把他们的代码贴出来,很多人热心的解答问题。也看到海威中文化linux的不断努力,看到的更多的一些专家的姿态,他们吹捧,却不干事实,他今天ubuntu,可是明天却会去支持java。
中国那么庞大的学生,他们本应该是开源运动的生力军,可是有多少人了解开源文化呢?而我们的计算机老师又有多少了解的?还有多少人用linux大学教室和实验室,大学里给计算机系的学生用的实验室里装的linux居然是装在虚拟机里的redhat 9.0,这项在国外开始于校园的运动却不能在中国的校园很好的开展起来。中国的计算机学生,要读那么多的课程,被诱导去参加很贵据说很有前途的语言培训和各式各样的培训。最后一样要努力地去争取自己的职位。还要让IT业界说理论与实际脱节,让他们不爽,他们鄙夷没有实际经验。我们的动手能力在哪里丧失在哪里了?
我们一直开脱说中国人的英语不好,不能给开源界作贡献,可是开发出nginx的那个俄国人的英语又会比我们好多少呢?难到他会过六级~!但是中国过六级的学生多了去了。我们的市面上有多少优秀的关于书籍是我们中国人自己写的,今天看到的那本开源书籍,只写了两个字,圈钱!
但是我们依然充满希望,我们中国的开源界,给世界开源界提供了stardict,skyeye,minigui,lvs这样优秀的开源软件,我相信我们还可以提供的更多。
还是回到书里面吧,书里面那个优秀的软件已经出了1.0版了,离卡普尔预计的整整超过了四年!很可惜,当初开发的那些人都不在一起了,我把软件下载了下还是很大,30多M,安装的时候还出现依赖问题。
GTD(时间管理)在现在显得越来越重要,甚至涌现出了各种各样的软件,有很多基于java的,很优秀,很好用,java的界面也再是当初那般丑陋。mozilla出了一款相似功能的日程管理软件叫做sunbird,有独立的软件,还可以作为thunderbir的插件和thunderbird结合起来使用。网络的迅速发展和ajax的使用催化了google canlendard的出现,可以在线日程管理,也许通过gears,人们可以离线修改日程然后在上传,这不正是分布式的功能吗?浏览器在人们的生活中显越来越重要了,firefox独特的插件开发模式和mozilla基金会的成功运作导致涌现了许许多多优秀的firefox的插件。手机在人们越来月重要了,也许下一个想法就是采用C++或者QT或者python弄出一个在手机上的日程软件抢占先机,下一个战场-->手机
不知道卡普尔回想起来会有什么感想,但是他作为一个探索者,他不是失败者,他是第二个成功者,他深陷的沼泽,被后来的开源世界一个个记住并且避开了,后世的成功离不开他的探索,所以他是永远的第二个成功者。
谢谢作者,他写了这么好的一个故事,谢谢韩磊他为我们提供了如此流畅的译文,可以让我在两个小时内读完它,虽然英文的译名读起来那么敖口。感谢福大图书馆,可以让我免费阅读到如此优秀的书籍和这样一个精彩的故事。
明天开始收起浮躁。
最后,书可以不可以便宜点啊,好贵。