不要挑动自由软件和开源软件之间的分裂(转)

作者:中国开源软件推进联盟主席 陆首群
开源软件与自由软件有共性也有区别,更为重要的是,可看成从两个角度来看待的同一类事物,因而通常将他们归为一类,通称“自由/开源软件(FLOSS,Free/Libre and Open Source Software)”。
自由软件和开源软件的区别,实际体现在:许可证对权力义务的规定,在严、宽,紧、松的程度上有所不同。
开源软件与自由软件其软件作者(一般为社区志愿开发者集体)在实施其各自的许可证(或许可协议)时,均要放弃自己所拥有的一些知识产权的权利,授权于 被许可人(公众或用户,作默认处理)。软件作者将公开发布其源代码,允许被许可人自由使用(或运行)、研究、复制、修改、赠送或出售给他人,以及发行该软 件。
  在自由软件的许可证中,不允许被许可人将本许可证所许可的源代码和执行代码(或运行代码和二进制代码)的修改版本或演绎版本,在再发行时以其 他的许可方式再发行。也就是说,自由软件在传播过程中,允许被许可人进行修改,但修改后再发行的软件应该还是自由软件,而不允许从此演变成非自由软件;即 修改后再发行时,必须接受自由软件的运行规则(不能改变自由软件的许可证)。当然,如果被许可人将修改后的自由软件保留起来仅供自己使用,而不再另外发 行,则也是许可的。
  当软件程序进行修改,或出现不同软件程序之间连接时,如果使用自由软件的许可证,则要求修改前后的该软件,或相连接的组合软件,都要严格遵循 该软件原来执行的许可证的限制;而如果使用开源软件的许可证,则对修改后的软件或与之连接的软件,对其限制相对较宽松,允许修改后或连接上的软件,可适用 其他开源软件许可证,甚至允许其连接到专有软件(专利许可证)上去。
  通用公共许可证(GNU General Public License,GPL)是一种比较典型的自由软件许可证。在现有的约60种自由/开源软件许可证中,使用GPL许可证的占65.8%,即使用GPL许可 证的自由软件是主流软件,在自由/开源软件中占有绝大部分。GPL许可证规定,使用GPL的软件在修改后不得使用其他许可证再发行。
  所以在使用开源软件并允许修改再发行时,往往会出现许可证的冲突,而这种冲突主要是出现在不同许可证与GPL之间。
  自由软件基金会(FSF)创始人Richard Stallman认为,自由软件与开源软件是不同的两个概念,自由软件是一项政治活动,而开源软件是一种开发模式;自由软件运动所关心的是它的伦理和社会 价值。我们认为,这个说法基本上是正确的(至于自由软件是不是一项政治活动?值得商榷,但至少是一种文化现象,是一种哲理、伦理和社会价值观);必须指 出,开源运动也是要紧密贯彻自由软件的文化、哲理和价值观的,在这方面不要把自由软件和开源软件割裂开来。
  前几天我见到王开源先生,看到他穿着一件印字的体恤衫,上面写着:“Free Software,Free ware” ,翻译成中文为:“自由软件,免费软件”。其实自由软件不一定免费,它与免费软件是不同的两个概念。我对王先生说,还不如上次你在北大抗议时,高举 “Free Software,Open Source”的标语要好,因为标语上写的是“自由软件,开源软件”。应该把自由软件与开源软件看成一体。
  有人把1998年自由软件(Free Software)和开源软件(Open Source)的一场争论搬出来说事。那次争论,Open Source相对占了上风,这是以Richard Stallman的妥协来收场的,争论的焦点集中在“次级通用公共许可证(Lesser General Public License,LGPL)”上,LGPL不同于GPL,在LGPL下,函数库可自由地连接到专有软件上去。我认为,现在重提历史争议不利于自由软件与开 源软件的一体观。
  有人还举出今年9月15日Stallman的一次谈话:开源软件拥护者鼓吹一种用户参与其中的“(社区)开发模式”,并断言,如此这般,一定会获得最好的软件;这种强调“实际方便性”的结果,实际是忽视使用程序的“自由性”。
  这段话是什么意思呢?Stallman在这里是肯定还是否定社区开发模式吗?他是不是说开源软件在搞“实用主义”,而抛弃了自由软件价值观的“灵魂”呢?我们应该冷静地来剖析他的这段讲话。
  关于对社区开发模式的评价,Stallman曾说过:“一般讲,我不认为GPL规则是Linux取得成就的主要原因,相反,我认为那是由于在 1991年那个时期,Linus Torvalds第一个找到了分布式开发软件的正确的社区组织形式”。在这里,Stallman充分肯定了“开源社区”这个开发模式和开发机制的先进性和 其重要贡献。
  就是今天,Stallman也说:我不是说他们错了。我理解,Richard Stallman说这段话是在告诫大家:发展自由/开源软件要抓住重点(Missing the point),不要忽视自由/开源软件的开发者(作者)授权于被许可人在使用(或运行)、研究、修改、复制、赠送(或出售)、发布时的“自由性”,以及 “奉献给全社会以增进其团结一致的价值”;这是在发展自由/开源软件时居第一位的,而所谓“开源社区所创造出来的那种可靠、有效的软件”是居第二位的。所 以,我认为Stallman在这里只是强调重点不同,并无对开源软件或开源社区有任何贬伐的意思。
  在自由/开源软件界,有一种将人们分成激进派和稳健派的说法,有人重视精神,讲究自由哲理、开源文化和价值观,有人重视物质,讲究实绩、实效。我看还是应将两者统一起来,我们认承指导思想对自由/开源运动的发展是重要的,但自由软件与开源软件不要分裂。
  问题是我们要研究Richard Stallman近来谈话的背景是什么?必须指出在自由/开源软件整个发展历史中,资本、私权与自由、开放的矛盾贯穿始终,近来Stallman似乎十分担心资本对自由/开源运动过度的侵蚀。
  例如,没有商业模式的开源社区其开发活动需要企业或基金会提供财政支持,它最终是否会被资本或大企业所控制呢?!据有关统计,目前全球开源社 区的志愿开发者大多数来自企业(而非学校、社会),是否也可能带入企业的影响?!如果自由/开源软件在修改后以不同的许可证将其连接到专有软件上去,而重 新发布这种组合软件时,是否会冲击、侵蚀自由软件的价值观?!其实Richard Stallman(在FSF首席律师Eben Moglen帮助下)领导制定的GPLv3许可证,就是为了张扬自由软件的哲理和价值观,防范资本对自由/开源活动的过度侵蚀。GPLv3的焦点有二, (1)是企图防止诸如全球最大的私有商业软件厂商微软,以与Novell“结盟”方式,实行“各个击破”战略,侵蚀自由/开源活动(这里要提到的是,在 Novell工作的“文件共享管理器Samba”的核心开发人员Jevemy Allison就认为M/N“结盟”有违于自由/开源运动的价值观,愤然离职而去),力求开源运动保持“团结一致的价值观”,拿起集体自卫的法律武器来应 对;(2)是诸如对数字版权管理(DRM),加大对被许可人权利限制的力度(从软件延伸到硬件)。应该指出,很多人对GPLv3 的出台迄今是持不同或保留意见的,接受GPLv3,或从GPLv2过渡到GPLv3的自由/开源组织,正在缓慢增长之中(还未出现突变)。
  Apache的创始人Brain Behlendorf说过:利他主义(Altruism)与获利主义(Capitalism)合在一起,才使人们为开源作贡献。其实资本与自由的矛盾是对立的统一,关键是要找出平衡点。
直接来源地址:http://www.cnbeta.com/articles/39932.htm