LinuxExplore - 我夭折的开源梦想

我所在的学校的研究生学制是2.5年,第一年会有一些公共课需要上,剩下的时间主要是完成毕业课题和论文。通常大多数的学生会在最后的一年里忙着做课题、赶论文。而我的经历比较特殊,我在第一年就完成了我的毕业课题,并不是我能力强,只是机缘巧合而已。于是剩下的时间对于我来说完全是自由的了,不用上课,导师那里也没有什么项目要做。

那个时候,我每天所做的事情基本上就是看看Linux源代码,《understanding the linux kernel》,以及混在几个linux相关的论坛上发帖或回帖。时间长了,我还真把自己当成是中国开源的一分子了,于是我梦想着创立一个开源项目来证明自己,但有很长一段时间,我一直在考虑,应该做一个什么项目。

最后,我决定写这样一个软件,可以在windows平台下浏览linux的各种不同文件系统的分区。那个时候大家用的比较多的能够访问linux分区的软件是explore2fs,好像是一个外国人用delphi写的。但我认为它的用户界面并不友好,访问速度也不够快,并且也不支持写操作。我认为自己应该可以写出一个比它更好的工具来。就是这样一个想法,给了我很大的激励。并且为软件起了个名字,叫作LinuxExplore!

开发工具是VC,但那时还不怎么会用,需要好好学一下,linux支持的文件系统很多,但还是选一个最常用的来开刀,恩,就是ext2了。文件系统的写功能太危险了,搞不好以后被人骂娘,那好吧,先实现了读再说吧。原始的一人开发团队就这样开始启动,没有什么需求分析和设计文档,天马行空一样的开发方式,绝对自由绝对爽。每天沉静在自己的世界里,试着理解ext2的设计,偶有小得则欣欣然,按着自己对C++的理解实现一些类,并且开始光顾一些VC的论坛,求爷爷告奶奶的追着一些“大侠”问问题(多数都是一些WIN32 API的东西,一度颇为不齿的东西)。那个时候还不懂得使用版本控制软件,从头到尾就是一套代码,碰到需要版本回退,就郁闷了,好在那个时候有的是时间。导师见我一天到晚忙忙碌碌的,荷,小伙子挺用工啊!也就不来打扰我。

经过一段时间的折腾,第一个版本终于火热出炉。设计、开发都是我一人,但好在测试人员倒还挺多,实验室有的是人,人手发一个一份,随便帮我捣鼓捣鼓就算是过了测试这一关了。赶紧把软件推销到几个大的开源下载站点上,还真不错,竟然还得到了一些人的邮件反馈,心情那个激动啊,针对大家反馈的问题“第二块硬盘怎么看不到啊”“速度还不怎么快啊”“什么时候支持ReiserFS文件系统”等等,本人一律慷慨激昂的予以承诺与回应。

用户的需求就是我们行动的指令,于是开始马不停蹄开始新版本的开发,并开始试图熟悉ReiserFS文件系统(后来听说ReiserFS的设计者涉嫌谋杀他的老婆,让我心理感觉有所不爽,到现在不知道确否)。这时候有某开源网站的管理员提出了让我开放源代码的建议,这个让我很为难,不是不想开源,实在是自己心理清楚代码写的有多乱,这一旦公开,有被砸鸡蛋的可能,于是,十分真诚的给那哥们回了封邮件,说明了情况,并保证在把代码理清之后会公开源代码。

后续发布的版本,在用户界面的设计上发费了很大的功夫,而软件的实质功能却没有大的提升,自己也开始意识到软件到达一定规模,其前期设计是至关重要的,一个糟糕的设计完全拖累了项目的进一步扩展。

此后的日子琐事接踵而来,导师项目的出差、给同门的课题提供一点支持、发表该死的论文等等。一转眼大家都开始写论文了。于是此后LinuxExplore再也没有新的版本发布。
 
毕业前夕,我得到了无锡GE医疗器械公司的面试通知(据说医疗器械是很吃香的向阳企业):
面试官: 你知道我最看重你这份简历上的什么东西吗?
我:不知道...?(茫然)
面试官:这里。
他所指的地方是如下内容“项目经历...LinuxExplore,本人自己设计的开源软件,软件支持...”
面试官:在我看来这是这份简历上最闪光的地方,一般人的简历上我看不到这样的东西...
 
由于个人原因,我最后没有选择去无锡工作,甚至都没有再联系过那个面试官(没有留下他的联系方式)。不过能得到一个素昧平生的人的赏识,实在是一件幸福的事,也许其中更多的是一种惺惺之情吧。工作以后,由于研究方向及兴趣的转变,再也没有进行过计划中的LinuxExpore的重构和扩展工作,而LinuxExplore也进入了实质的死亡状态。偶尔还能收到网友发来的bug汇报和修改建议,我总是不无惆怅的给予回复:很抱歉,LinuxExplore目前已经停止开发了。无聊时,在baidu中输入LinuxExplore,发现还是能搜到一点东西,甚至还能下到最后的0.95版,打开软件,那熟悉的界面,亲切而激昂的话语(版本致谢)让我止不住激动起来,那段激动人心的岁月似乎就在眼前!
 
 
 

你可能感兴趣的:(linux,开源,梦想,休闲,LinuxExplore)