近一段时间,在开源软件产业,在从GPL v2到GPL v3的修订升级过程中,由于对于部分内容的修改存在着争议,以至于让红旗CTO不得不发出了GPL改动可能引发开源世界长期震荡这样的感慨,现实之下,所谓的GPL的新的修改究竟会在开源软件行业引发一场什么样的震荡呢?其实这种震荡的起因和结果都只有两个字——分歧。
在这里首先得简单解释一下什么叫GPL,尤其是什么叫做开源Linux下的GPL。其实所谓的GPL是General Public License的缩写,中文含意是通用性公开许可证,在所谓的游戏规则之下,我们可以把GPL看成是自由软件所遵从和使用的各种许可证中的一种,而与Windows软件系不同的是,GPL同其它的自由软件许可证一样,许可社会公众不但享有、运行、复制软件的自由,还有发行传播软件、获得软件源码和改进软件并将自己作出的改进版本向社会发行传播的自由,所以业内把这种流通规则称为Copyleft,而非Copyright(版权)。
单从开源行业的GPL协议上来看,似乎开源linux产品上的一切是可以无条件的开放和共享的,但是从实际的操作来看,在GPL相对的许可授权之下,又有其相对封闭的一面,就这次的GPL v2到GPL v3的修订改版来说,正是GPL协议“封闭”一面的具体体现。
根据GPL v2的相关规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。而在GPL v3的修订草案中,不仅要求用户公布修改的源代码,还要求公布相关硬件,恰恰是这一条,由于触及和其他相关数字版权管理(DRM)及其产品的关系,并且也由于有和开源精神相违的地方,所以备受争议,甚至因此也遭到了有着“LINUX之父”之称的托瓦尔兹的反对。
从表面上看,GPL v2到GPL v3的升级之困只不过是对协议修订过程中某一条款的分歧,而更为严重的是在两种协议都合法存在的前提下,具体的开源软件或者开源产品的所有者有权选择是遵循GPL v2协议还是恪守GPL v3协议,因此冲突也就来了,这种冲突正如中科红旗的CTO郑忠源描述的那样:“世界有如此多软件都在GPL v2的约束之下,而自由软件是集合全世界程序员劳动,即使是贡献一行代码,如果该程序员只同意这一代码只遵循GPL v2之下,就不能随便去修改协议。如果计划将软件转移到GPL v3之下,理论上讲,必须征得所有代码人的同意。但是目前还很难确定有多少开发人员愿意转移到新版本之下,如果有的人愿意转,有的人不愿意转,这其中就有很多的麻烦;而如果多数人都不愿意改变,那这一事情也许就无声无息……”
通过业内人士的精辟描述,相信大家一定对开源行业和开源软件产品有了一个全新的认识吧,就那熟悉的LINUX系统来说,虽然表面上看起来大家有权按照自己的需要和目的进行任意的改写重组,但是在诸多的独立程序面前,别人是只能共享使用,而无权修改的,当然获得授权就另当别论了。而就GPL v2到GPL v3的协议升级来说,这种协议的选择上的分歧实际上也是开源行业里一种观念认知上的相左,到底谁的选择是正确的?绝对不是一两句话能说得清的,尤其是在各种利益交织之下。
情势之下,开源社区的GPL v2与GPL v3选择之困很现实的会在相当一段时间内给这个行业及其产品造成“兼容问题”,说白了就是两种协议以及两种协议之下的矛盾,不管是人的还是产品的都将会持续下去,而这种僵持对整个开源行业来说未必是一件好事,最起码从“精神”方面来说这个行业已经在开始分道扬镳。
以我们熟悉的Linux产品为例,在以后,两种协议之下的软件如何共存也是一大问题,以我们的中科红旗为例,在是否支持新的GPL协议的问题上,红旗CTO郑忠源表示待GPL v3正式版本推出之后再作决定,那么其他的Linux者的态度就可见一斑了。在GPL v3事件面前,Linux阵营以内的各方都在期待一种结果和选择,然而在认知和利益面前,是妥协是激进还不可知。
作为一名用户,无论如何也不会希望自己所使用的产品存在着升级或者兼容问题,但是这相对于常见的开源Linux软件产品来说,恐怕以后就要存在这种问题了,所以说这种协议上的分歧很可能会影响用户的认知和支持积极性,尤其是相对于Windows阵营来说,开源阵营的这种分歧更加不是什么一件好事情,越早理清、越早结束分歧越好。
曾几何时,开源阵营的优势已经变成了一种“劣势”,相信这是很多人没有想到的,再加上微软们的挤压分化,开源们能不能顺利的摆脱GPL v2到GPL v3的协议升级之困还需要时间下的结果,只是结果会如何?
“开源不开”是因为存在分歧,分歧之下的开源们这次需要多久才会统一呢?