在我们国内,多年来,开源的“经”被念歪了,假大空(废话)到处是,开源打假必须更进一步深入。为什么?
多年来,开源的“经”(Classic)被“拿来”联盟(简称“拿盟”)念歪了,到处谬论泛滥,把人们的思想完全搞乱了。“开源软件“被极端的简单化,粗制滥造,曲解为“开放源代码软件”,因而,盲目自信地宣传:开源软件“自主可控”,可以“随意拿来”,“为我所用”,即便认定为“国产软件”也无所谓。这种种错误的言行(或观念)缺乏理论依据,必须彻底肃清。
根据”国际开源促进会”(OSI)的“The Open Source Definition”(“开源的定义”,ver. 1.9)的官方定义,开宗明义宣称:“开源不仅仅意味着可以访问源代码,开源软件的发布条款必须满足以下10点要求:”(即“开源”是一种发布、传播模式,而不是一种静态、存在模式)
1)Free Redistribution(自由地再发布)
2)Source Code(源代码)
3)Derived Works(衍生品)
4)Integrity of The Author's Source Code(对作者源代码的诚信或保持其完整性)
5)No Discrimination Against Persons or Groups
6)No Discrimination Against Fields of Endeavor
7)Distribution of License
8)License Must Not Be Specific to a Product
9)License Must Not Restrict Other Software
10)License Must Be Technology-Neutral
在此(为本文的目的),我们只需解释有关3)和4)这两个要求:3)衍生品必须按照原始发布条款进行发布(under the same terms as the license of the original software),有的开源许可证要求衍生品使用新的名字或新的版本号;4)(注:该条款最为复杂,比较难于全面把握。)该条款的基本要点是,衍生品的“补丁文件”(patch files)必须符合初始程序修改当初的既定目标(不能自己想怎么改就怎么改),而且衍生品必须满足以下条件:“users have a right to know who is responsible for the software they are using. Authors and maintainers have reciprocal(互惠的) right to know what they're being asked to support and protect their reputations”,也就是说,用户有权知道他们所使用的软件的原始作者是谁(比如:知道谁对该衍生品负责),而软件的作者和维护者也有一种“互惠的”权利,要求知道用户要求他们支持的是什么,以及保护他们自己的名声(或名誉)。由此可见,一个很明显的事实是:发布开源软件衍生品的前提至少必须保留该软件原作者(版权人)的姓名(以及“适宜”补丁的相关作者)。
根据OSI官方的“开源定义”的条款4),我们必须充分尊重开源软件的原始作者在创立该软件时的初始意愿(或目标),在保持软件代码的完整性(Integrity)的前提下,才能进行源代码修改,而不能只是为了我们自己单方面的某种“需要”,进行“自主修改”,“随意拿来”,甚至单纯鼓吹“出产品,谋利益”(所谓盈利模式的“功利主义”)。由此可见,倪院士的“认定论”、“拿盟”的“功利主义”和胡(才勇)的“拿来主义”简直太荒诞了。
说明:开源软件大辩论的双方都应该继续出来进一步阐明各自的观点,真理是越辩越明。实际上,在我国,盗版像小偷(盗窃),开源如老虎(掠夺),统统搞歪了。