龙舍·嬴皇志
透过我的双眼看世界
国内这些号称开源的程序真的是开源了吗?

自从2005年底discuz 4.0宣布开源以来,国内很多程序都陆续宣布开源,个个都把开源当作一把大旗来鼓吹自己,但它们真的是开源了吗?我今天不谈其他软件,只谈谈我所熟悉的几个php代码。

据我所知,开源软件应该遵守Open Source Initiative(OSI)批准的协议。而经过OSI组织通过批准的开源协议目前有58种。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。 而国内所谓的开源程序都没有标明遵守哪个开源协议。难道免费了就是开源?难道代码不加密就是开源?BSD协议别人可以随意修改代码,可以将修改后的代码作为自己的软件再发布,可以用于商业用途。国内这些估计都不愿意用BSD协议。 国外很多程序你可以免费使用,源代码也全部公开,但都不是开源的,比如我汉化的EE core

dedecms是国内用户最多的CMS,自己搞了个协议:http://bbs.dedecms.com/read.php?tid=14893,这些条款和discuz的差不多,不知道是谁抄谁的,最让人关注的是这句“未获商业授权之前,不得将本软件用于商业用途(包括但不限于企业网站、经营性网站、以营利为目或实现盈利的网站)”我们做网站谁不是以营利为目的?看来我们免费用dedecms和discuz都是违反人家规定的

国内这些程序基本上每个都禁止用于商业用途,这和开源不是矛盾吗?开源最起码要让所有人免费使用,至于开源协议都是针对代码的,是限制别人修改发放代码,保护作者的权益。如果linux都不让用于商业那世界上还有什么操作系统给我们用呢?

再谈谈discuz,discuz最初是基于XMB 1.5 Silver开发的,名字叫CDB,XMB 1.5 Silver是XMB最后一个遵循BSD协议的版本,CDB代码中也写了遵循BSD许可协议,CDB是真正的开源程序,当时很多人说CDB抄袭XMB纯粹是无稽之谈。但CDB后来名字变为discuz,discuz1.X已经去除了BSD授权说明,但据我当时观察里面含有大量的XMB 1.5 Silver代码,这已经违反了BSD协议,BSD协议最重要的一条“如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。”2003年discuz 2.0发布了,这次在代码里面已经很难找到XMB的痕迹了,大C为duscuz 2.0申请了专利,discuz完全商业化了。可笑的是discuz4.0 宣布开源后源代码包里还一直保留这这句话“北京康盛世纪科技有限公司(Comsenz Inc.)为 Discuz! 产品的开发商,依法独立拥有 Discuz! 产品著作权(中国国家版权局著作权登记号 2003SR6623)。 ”后来的discuz NT也申请了专利,前段时间也宣布开源了,但授权文件里也有自己的专利说明。

据我所知开源和专利本来就是对立的,我不知道开源软件是否能拥有专利,请懂法律的朋友给我个解释。我研究了这么多代码,我没有看到其他开源代码去登记专利的情况。我只是经常看到微软用自己的专利和linux打官司。

cmsware也很可笑,减少了加密文件的数量,就宣称自己在“走向开源”。你要么开源,要么就不开源,把“走向开源”也拿来当作炒作的法宝?开源真的很值得自豪吗?

而上个月PHPCMS宣布开源了,下载了个看看,里面竟然连个license说明文件都没?难道没有任何约束和限制?

我并不是对上述程序有意见,不可否认,它们都是优秀的程序,它们的作者的PHP水平不次于国外那些主流程序的开发者。我只是希望这些国内的优秀程序更规范一些,如果开源就要有开源的样子,看看国外的开源程序吧,人家是怎么做的?开源不仅仅是让别人看到源代码,也不仅仅是供别人免费使用,这不是开源的精神,开源的真正目的是让更多的人参与进来,让软件更完美,细数国外主流开源程序,哪个没有cvs?哪个没有bug修复平台?都有完整的插件接口,让那些自己添加功能的人不需要动源代码就可以实现自己的功能。而国内的呢?都是单枪匹马自己写,说明少,注释少,没插件接口,没开发文档,别人要加功能都要修改主程序,给以后升级造成了很大的麻烦,而且,别人修改的代码很难让官方接受,大部分开发者都很自傲。

  看过老鬼这篇文章,对开源又有了新的了解,确实,国内的开源做的还很不够,没有真正的标准,真正的组织,都是各家说各家的话,各家搞各家的标准,这样对开源的发展是十分不利的~

本文章转自老鬼


最后修改于 2007-10-26