`
jnn
  • 浏览: 282606 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

开源软件使用的几个阶段

阅读更多

 

 

阶段一, 使用开源软件完成自己的日常工作。

虽然开源软件与其他商业软件相比较没有花哨的用户界面,没有完善的用户使用文档,但是这些开源软件可以满足大家日常工作的绝大部分要求。最重要的是这些开源软件对于最终用户来说都是可以无条件免费使用。

 

这一阶段的门槛很低。大家使用搜索引擎很容易就能找到介绍相关的软件使用的页面或者是日志。大家只要把相关的软件发行版本下载本地就能马上开始使用了。

 

对于直接面向终端用户使用开源软来说,这一阶段的用户数是最大的,他们是开源用户社区的基础。对于这一阶段的用户来说,软件的可用行,易用性是他们最关心的问题。这些用户经过一段时间的培养,或者当他们对开源软件有了更高程度定制需求的话,他们很容就进入了第二阶段。

 

阶段二, 修改开源软件满足自己的需要。

开源软件的最大好处就是代码公开,用户在遵守相关开源软件许可的前提下,可以根据自己的需要修改代码。通过修改代码,用户可以获得对开源软件掌控权。这也是目前国内厂商以及高校科研机构所看重的,当然这也是培养软件研发的队伍的一个行之有效的手段。

 

在最近召开的开源大会上,我见到很多这样的用户:他们可能因为需要解决企业计算领域的问题,需要将多个开源软件结合在一起搭建业务系统,并且需要针对其特定功能对这些开源软件进行修改来满足自己的需求;他们有可能是以为项目课题的需要, 对某个开源软件进行了比较深入的研究之后,将其定制,包装之后。

 

对于这样的用户来说,开源软件就变成一个一个的砖块。用户只需要对这些砖块进行少量修补就可以搭建出满足自己的需求应用。听起来这视乎是一条阳关大道,但是当你深入下去的时候,你会发现前面的道路充满的荆棘。 

 

首先是缺乏技术支持,虽然大多数的开源项目都有文档,以及用户邮件列表提供免费的支持,但这些与商业软件提供的用户手册以及技术支持来说还是相距太远。如果你的问题很棘手,或者是项目进度很紧张的情况下,这样的免费支持是很难满足你的要求。

 

其次是要在漫漫代码中定位问题,寻找解决方案是一个比较漫长的过程,其时间成本是可想而知的,当然如果你有足够的时间和精力的话,这样的投入也是值得的。

 

最后就是版本管理的问题。如果你对开源软件代码进行修改,同时这些修改没有进入开源项目的主分支上,那么你就需要维护一个自己的版本。版本管理的成本随着你对开源软件使用和修改的程度一同增加,而且这样的成本在开始使用的时候 隐形的,随着时间的推移,成本会不断增大。这也是开源软件使用第三阶段试图解决的一个重要问题。

 

阶段三, 参与开源软件开发,在分享的知识的同时收获成长和快乐。

 

在开源社区里面有一句话,当你奉献的同时,你会收获更多。

 

拿前面提到的第二阶段版本管理来说, 如果你能把你的修改提交到开源项目的主线上,那你的版本维护成本就趋向于零;如果你在本地维护修改版本的话,一旦主线上进行的了相关bug的修改,你都需要同步过来,否则你本地版本的维护和升级都要你自己来做。

 

软件开发是一个螺旋上升的过程,这个过程需要开发者和用户直接不断反馈,磨合。很难想象某一个软件在1.0的时候就能把所有的功能都实现完。这也是众多软件开发者愿意参与到开源软件开发的一个重要原因。他们在扮演用户的同时也扮演着开发者的角色。如果他们不满意开源软件的某一项功能,他们会圈起袖子直接修改代码,并且将自己的修改反馈到社区,而不是锁在柜子里面让它烂掉。 这样的好处是今天修改的内容,可能一个小时,或者明天就有人会提供反馈,在不断的思维碰撞中,大家能想出更好的想法。 开源开发者虽然都分布在不同的地方,但是这样的共享协作开发机制,从分享代码的基础上最大限度的降低了开源软件开发知识沟通成本,通过审查代码,用户直接反馈等多种手段保证了软件研发和创新的效率。

 

目前国内进入这一阶段的开源用户还很少,有大量的用户还只停留在第二阶段。也许他们比较羞涩没有打算将自己的成果分享出来, 也许他们还没有体会到把这些成果分享出来会收获更多的乐趣。但是我有理由相信他们很快会进入到第三阶段的,因为只要经过适当的引导,由第二阶段进入到第三阶段是一个很自然的过程。

2
1
分享到:
评论
4 楼 shuangpan.zhang 2011-10-21  
估计中国市场上,能讲自己修改后的框架 共享出来 是比较难的~

我觉的大家在看重利益的同时 其实也失去了更大的利益!!!

希望以后的主流开源框架是国人开发出来的。

愿中国IT行业越走越好~
3 楼 zimingforever 2011-10-21  
开源也包含些走开源路线的门槛低的软件
2 楼 jnn 2011-10-21  
开源软件的生存之本在于开源软件社区的壮大,你表述的只是一个场景。

开源软件的最大魅力在于用户有充分的控制权,只要用户愿意,就能深究代码,长久下去不会被厂商所左右。
1 楼 comsci 2011-10-21  
开源软件的生存模型其实就是   

1:用免费的名义引诱用户以极低的成本进入这个领域

2:以二次开发的名义让用户陷入大量的代码堆里面,无法自拔

3:因为用户无法摆脱免费的诱惑,所以花钱请所谓开源软件专家来做二次开发

4:用户从此离不开开源软件。。开源软件和专家一起变成另外一种商业软件模式

相关推荐

    java开源包10

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包8

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包6

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包9

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java开源包1

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包2

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包3

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包5

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包11

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包7

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包4

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包101

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    JAVA上百实例源码以及开源项目源代码

    EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...

    开源力量——数据挖掘原理与实战

    这个系列课程有几个板块组成,所以学员可以按照自己的实际情况选择学习。例如,对于只需要了解hadoop基本编程的人,只需要选择“hadoop源码解析与企业应用开发实战”模块就可以了;对于立志于从事大数据领域的零起点...

    软件项目现场管理平台LServ(BugFree改造而成)

    以下我介绍几年前我自己开发改造的一个开源软件,这个软件主要为了软件项目现场服务阶段使用,我们团队一直使用了3年了,我认为还是解决了不少的问题: LServ的背景 当时处于几个原因推出现场管理平台: 软件...

    tiger老师的物联网课堂-导入-课程介绍-doc

    本门课程将从以下几个方面来进行讲解,首先我们来讲一下物联网现状和未来,然后我们将通过仿真和实物两种方式,来讲解如何使用单片机来构建物联网当中的“物”,在仿真教学当中,我们使用思科模拟器和WIKI这样的两种...

    tiger老师的物联网课堂-导入-课程介绍.pptx

    本门课程将从以下几个方面来进行讲解,首先我们来讲一下物联网现状和未来,然后我们将通过仿真和实物两种方式,来讲解如何使用单片机来构建物联网当中的“物”,在仿真教学当中,我们使用思科模拟器和WIKI这样的两种...

    tiger老师的物联网课堂-导入-课程介绍.mp4

    本门课程将从以下几个方面来进行讲解,首先我们来讲一下物联网现状和未来,然后我们将通过仿真和实物两种方式,来讲解如何使用单片机来构建物联网当中的“物”,在仿真教学当中,我们使用思科模拟器和WIKI这样的两种...

Global site tag (gtag.js) - Google Analytics