袁萌:再论“开源”的含义
根据国际开源协会(OSI)的官方定义,“开源”(Open Source)是个组合词,用来指称某种特定的软件类型,相对于商业软件和私有软件而言.根据这个官方定义,“开源”的最本质特征有两点:1、自由地再分 发;2、源代码(必须彻底)公开.我们要注意的是,自由地再分发条款列于源代码公开条款之前,而不是在其之后.这就是说,“开源”(许可证)必须保证“能 够自由地再分发”.
关于开源的这种说法(定义),国际开源协会(OSI)的态度是逐渐演变的,1998年年初,采用了“开源(许可证)不得(May Not)限制自由地再分发”的说法,到了2006年,改为“开源(许可证)不许(Shall Not)限制自由地再分发”,语气更加强硬.而且明文规定,开源(许可证发放人)不得从再分发中获取任何费用.实质上,这就是自由软件的核心内容(灵 魂).
由此可见,开源软件第一位的特征是,不能限制其自由地再分发的软件,而源代码开放则是处于第二位的特征.这种说法,是我们国内某些人士不想接受的.开源软 件不同于商业软件,就在于一点:商业软件需要绑定在某一台(或几台)计算装置之上,而开源软件则没有这种限制,比如,放在随身带着的U盘上.说得再明白一 点,开源软件产品不需要产品序列号.相比之下,所谓“国产Linux”发行版哪个没有产品序列号?
所谓“自由地再分发”是指,不论是卖(Sell),还是转让(Give away),都被允许.卖是一种连带的商业交易行为(比如,服务),只要不是收取使用许可费(如版权费).开源软件不同于商业软件的根本点在于:开源软件 不限制用户的自由(至少有再分发的自由).
开源(许可证还)还要求满足一些次要一点的其他条款,比如:源代码编程语言不能含含糊糊,让人费解;允许演绎作品;尊重程序原作者的权益;不得歧视用户的 类别;不得偏好某种应用领域;不得绑定在特定产品上;不得对相关的其他软件加以限制,等等.由此可见,开源软件整体上(在外延上)就是GPL软件,也就是 自由软件.
国内某些人士,喜欢把开源软件说成是源代码开放的软件是有其私心的.软件的源代码开放,这好办,问题在于这个软件是否允许自由地再分发?这一问,就傻了.实际上,这些人要把开源软件带到一条歪道上去.我国的开源产业的现状确实令人堪忧.
当前,在世界其他地区,开源软件正在蓬勃发展,比如,我们的友好邻国俄罗斯,在那里几乎所有中等学校都在使用Linux软件包,特别是 OpenOffice办公套件,而在我们国家,OpenOffice办公套件几乎不被人们重视,真正的开源软件往往处在人们的视线之外.这是什么原因造成 的呢?这恐怕与人们的开源理念有关,故此再论“开源”的含义.