源码开放

为什么用源代码开放的软件?

原因很多。

不用顾及软件成本

源代码开放的软件没有购买成本,拿来就可以开始测试、开发。自由度高。

详细的文档

实际上,现在源代码开放的软件的文档很详细,包括技术细节的描述。而且,源代码本身就是一种很重要的文档。另外,源代码开放的软件有着相当统一的开发习惯,对于技术人员来讲其中技术资料的可读性相当高。而收费软件呢?看到的文档更多的可能就是没有什么技术含量的“用户使用帮助”了。

健壮、稳定

付费软件就更稳定吗?No!作为一个软件测试爱好者,我可以给你举出好些例子来说明不少收费软件并不稳定,存在bug。最典型的就是在一些Windows XP机器上IE经常弹出来错误窗口提示,就算打最新的补丁也不能解决。另外大家可以看看很多付费软件的更新说明,你就会发现这些付费软件几乎在它的每一个版本都存在不少需要解决的bug,而它的每一个更新后的版本都要去弥补上一个版本存在的各种bug。

当然,源代码开放的软件也存在bug。但是源代码开放的软件的bug很多时候是即时解决的,可以讲是当时发现问题,当时解决。很多源代码开放的软件每天或每几天都会发布一个非正式的更新版本,随时修复已知bug。

而且,源代码开放意味着更多的人可以参与到代码修复的工作中来,使用者也可能就是修复者。而在付费软件中,则很可能要经过“用户发现bug-->用户反馈-->公司更新软件-->等待该软件下一个版本发布”的漫长过程。

选择余地大

付费软件的选择余地大吗?No!源代码开放软件的选择余地不比付费软件的选择余地小,或者小多少。举个例子,就拿市场上比较热门的groupware而言,相信不少软件商也做这个东西。我是见过一些软件开发商开发的这类软件的,技术水平如此而已。看看PHP开发的免费groupware软件,其中至少有3、4个的功能都是非常强大、非常可靠的(包括wap等无线应用),比我看过的那些软件开发商开发的都要强许多。

完善的功能

大部分免费源代码软件的功能完善,不然怎么得到广大用户的认可?

以下谈谈国内的软件/信息系统开发。收费软件由于公司技术人员素质的良莠不齐,作出的产品并不一定可靠、完善。看看很多MIS系统的水平就可以看出来了。而决大部分源代码开放的软件,都很完善。

对代码几乎100%的控制权

这点是针对技术人员来讲的,很重要。正是因为这一点,对于专业技术人员来讲,碰到问题,大部分情况下可以完全自己找出解决方案。而对于付费软件,软件使用者很多时候是无法解决碰到的问题的。

更多的代码技术资料,更容易提高技术水平

一般而言,源代码开放软件的开发者可以获得更多的源代码资源,而付费软件的开发者,必然存在技术保密等因素,因此拥有的资源相对较少。从个人技术进步的角度来讲,前者也能更快进步。从技术进步的动力来讲,前者更多的时候是发自内心的热爱,热情更高;而后者,对于一般公司而言,金钱利益的驱使大于兴趣爱好。

[注] 本文用以回答朋友提的一个问题。个人看法,不一定很全面。

标签:

类别: