出品 | CSDN(ID:CSDNnews)近日,中国电子书厂商Oynx拒绝开源其基于Linux 内核修改的设备源码,这一做法违反了Linux的GPL协议,在Reddit社区引发了开源软件如何在中国维权的大讨论。凭心而论,阿里、腾讯、百度等大厂近些年来在开源方面贡献都很大,Oynx拒绝开放源码的行为可能纯属是个例,即使我们开源了飞浆、RocketMQ等多个优秀的开源软件,也无法对冲不遵守开源规则所带来的恶劣影响。这已经不是开源社区与中国的第一次碰撞了,前阵子,知名开源云服务提供商HashiCorp表示:不允许中国境内使用、部署和安装该企业旗下的“企业版”产品和软件。虽然最后这是一起乌龙事件,被限制使用的仅限于HashiCorp的加密软件。不过这一事件开了较坏的头,没准后续有可能还有更多的企业会做出类似的决定。开源也会封闭,业界开始反思作为全球最大的开源社区网站,GitHub在去年年中,开始对来自被制裁地区的用户加以限制了,分别有来自克里米亚和伊朗的GitHub用户发现自己的账号遭到了网站官方的限制。由于以上原因,我国IT界对于开源软件的使用有了不同的声音,清华大学的刘利副教授表示“我国对国外开源基础软件的依赖,使一些国家可随时通过隐藏最新技术或版权,限制甚至阻碍我国科技发展。”过去10年中,刘利老师的工作集中在自主研制国产地球系统模式耦合器。耦合器是实现气候预测与数值天气预报软件系统集成的一项关键核心技术。值得指出的是,2010年刘利老师开始从事这个方向的研究时,我国已广泛使用开源耦合器多年。不过即使有开源替代产品,刘利老师认为自主研发开源方案的替代品,并不是重复造轮子。在接受《中国科学报》采访时,他再次表示,“长期使用国外免费开源基础软件,很大程度上制约了我国自主研发的积极性和创新能力,拉大了我国在相关领域与其他国家的差距,这无异于助长了对我国的‘科技侵略’!”从实际情况上看,笔者不太认同刘利老师的说法,盲目的抄袭当然是有害的,但是借鉴开源软件的思路和想法,对于我国乃至整个IT产业来说都非常重要。如今中国 GitHub 开发者数量年增长 37%,并拟在中国设立分公司。在如今IT技术发展日新月异,拥抱开源、互通共享已逐渐成为业界的共识,在这种情况下,获取开源技术社区的支持是无比重要,不过这种支持是相对的,同时要求我们在使用开源时,尊重开源规则。初识开源协议说起开源协议,就不得不提GNU。其官方定义是一个“GNU is Not Unix”,这是官方给出的递归定义,永远也找不到本意。可以将它理解为一个自由软件工程项目或者一种计划,是由Richard Stallman在1983年9月27公开发起,它的目标是创建一套完全自由、开放的操作系统。1985年10月,Richard Stallman创立了自由软件基金会(FreeSoftware Foundation ,FSF),其主要工作是执行GNU计划。为了保证GNU软件可以自由的“使用、复制、修改、发布”,同样禁止部分人在GNU软件的基础上自己修改并发布的软件中添加任何限制他人自由使用的条款,在这个情况下就诞生了GNU的许可条款,再后来又产生了其他的(非GNU)许可条款,统称为开源许可协议。这里列举了最常用的几种开源协议:
GPL (GNU General Public License) :GNU通用公共许可协议
LGPL (GNU Lesser General Public License) :GNU宽通用公共许可协议
BSD (Berkeley Software Distribution) :伯克利软件分发许可协议
MIT (Massachusetts Institute of Technology):MIT许可协议之名源自麻省理工学院,又称“X许可协议”或“X11许可协议”