袁萌:自由软件与私有软件,谁更可信?
2012-02-27 13:38
316 查看
一般而言,有两个程序A与程序B“打擂台”,看谁的程序代码里面的“缺陷”(所谓”defects“、“flaws“)密度更小一些,谁就算”赢“。美国有人爱管“闲事”,拿自由软件与私有软件进行“比试”,结果,自由软件胜出,很出人意料。
其实,这件事情很久以前就有人做过。但是,近年来程序“扫描技术”大大提高,有必要“再来一遍”。2月23日,美国Coverity公司公布一份研究报告,声称:自由软件的缺陷密度为0.45,而私有软件的缺陷密度为0.64,两者均低于一般商业软件的平均缺陷密度1.0。(注:所谓缺陷密度是指1千行程序源代码的缺陷平均数。另外,程序缺陷并不限于是“bug”,很可能是程序“小毛病”。)
实际上,在上述扫描中,自由软件共计扫描了3700万行源代码,私有软件(名称需要保密)共计扫描了3亿行源代码。该研究报告说,最干净的程序是Linux 2.6内核(缺陷密度为0.62)、PHP 5.3(缺陷密度为0.20)以及PostgreSQL 9.1(缺陷密度为0.21)。报告还发现,平均而言,自由软件的应用软件代码“体积”要小一些,平均每个应用程序只有832.000行程序源代码,而私有应用软件的程序源代码,又臭又长,平均有7,500,000行源代码,几乎是自由应用软件的十倍。这是一种很有意思的现象。
实际上,该项研究始于2006年,是一项关于自由软件“可信度”(“Integrity”)研究项目的一个组成部分。如今,事实真相已经大白于天下。自由软件是可信发。但是,有人不服气Coverity的研究,喜欢拍脑门想问题。总是认为私有软件“更可靠”。他们认为:应该是这样:0.45 > 0.64,因为自由软件的作者“很杂”,七嘴八舌,弄不出好东西。可是,Coverity也是“书呆子”,只会靠数字说话。
我们应当树立起这样一个“概念”:凡软件必有缺陷,绝对干净的程序是没有的。这是什么原因呢?这是因为,程序是人写的。在不久将来,编程完全实现“自动化”(即所谓“智能编程”),人不参与“其中”,程序缺陷就会消失了。去年年底时候,中国人工智能学会前任理事长钟义信教授曾对我说:“你组织一个“智能编程”专业委员会,我支持你。请你认真考虑。”如今,有了Ubuntu的“HUD接口”的研究进展,我心中“痒痒”的。但是,我想,还是集中精力复活LinuxAid网站为要。今日上午,原《Ubuntu实验室》全体成员将聚会我家研究此事(我请他们帮忙)。(注:他们有的已经结婚成家。在此,我祝贺他们,一生幸福!)
其实,这件事情很久以前就有人做过。但是,近年来程序“扫描技术”大大提高,有必要“再来一遍”。2月23日,美国Coverity公司公布一份研究报告,声称:自由软件的缺陷密度为0.45,而私有软件的缺陷密度为0.64,两者均低于一般商业软件的平均缺陷密度1.0。(注:所谓缺陷密度是指1千行程序源代码的缺陷平均数。另外,程序缺陷并不限于是“bug”,很可能是程序“小毛病”。)
实际上,在上述扫描中,自由软件共计扫描了3700万行源代码,私有软件(名称需要保密)共计扫描了3亿行源代码。该研究报告说,最干净的程序是Linux 2.6内核(缺陷密度为0.62)、PHP 5.3(缺陷密度为0.20)以及PostgreSQL 9.1(缺陷密度为0.21)。报告还发现,平均而言,自由软件的应用软件代码“体积”要小一些,平均每个应用程序只有832.000行程序源代码,而私有应用软件的程序源代码,又臭又长,平均有7,500,000行源代码,几乎是自由应用软件的十倍。这是一种很有意思的现象。
实际上,该项研究始于2006年,是一项关于自由软件“可信度”(“Integrity”)研究项目的一个组成部分。如今,事实真相已经大白于天下。自由软件是可信发。但是,有人不服气Coverity的研究,喜欢拍脑门想问题。总是认为私有软件“更可靠”。他们认为:应该是这样:0.45 > 0.64,因为自由软件的作者“很杂”,七嘴八舌,弄不出好东西。可是,Coverity也是“书呆子”,只会靠数字说话。
我们应当树立起这样一个“概念”:凡软件必有缺陷,绝对干净的程序是没有的。这是什么原因呢?这是因为,程序是人写的。在不久将来,编程完全实现“自动化”(即所谓“智能编程”),人不参与“其中”,程序缺陷就会消失了。去年年底时候,中国人工智能学会前任理事长钟义信教授曾对我说:“你组织一个“智能编程”专业委员会,我支持你。请你认真考虑。”如今,有了Ubuntu的“HUD接口”的研究进展,我心中“痒痒”的。但是,我想,还是集中精力复活LinuxAid网站为要。今日上午,原《Ubuntu实验室》全体成员将聚会我家研究此事(我请他们帮忙)。(注:他们有的已经结婚成家。在此,我祝贺他们,一生幸福!)
相关文章推荐
- 自由软件与私有软件,谁更可信?
- 自由软件与私有软件的“握手”
- Richard Stallman和自由软件运动
- 袁萌:看“国产软件”的悲哀
- 10个最好的自由Linux平台ERP软件
- 论自由软件的价值取向
- 陆首群:评自由软件与开源软件的概念纷争
- 软件测试 —— 如何测试私有构造函数(反射机制)
- 基于Wolf32F031 自由评估板的Buzzer(PWM控制方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 非Linux的自由开源软件:Homebrew
- 三种最新自由软件管理开发工具介绍
- 《乐者为王——自由软件Linux之父李纳斯·托沃兹自述》
- 嵌入式系统实验室的自由软件项目建立了
- 自由软件
- 自由软件之父抛弃OLPC,支持中国的龙梦:教孩子们使用Windows无异于教他们抽烟
- 欧盟挥动铁拳给私有软件致命一击
- Ubuntu16.04安装deb文件时提示:此软件来自第三方且可能包含非自由组件
- Mouse without Borders是微软的一个软件实验项目,这款软件可让鼠标自由在局域网中的多台电脑间移动,键盘输入实现无缝切换,还可以直接用鼠标相互拖拽文件。 如果经常需要同时使用两台以
- 自由软件的挑战和机遇
- c++的意义。。(个人感觉使用c++可以接触到软件的本质,虽然不能直接开发快速但你可以有自由的感觉,尤其是指针,和直接贴近内存的本质)