作者 | 彭慧中 责编 | 屠敏
出品 | CSDN(ID :CSDNnews)
开源协议是改协开源世界里的根基 。根据CSDN《2021-2022 中国开发者调查报告》数据显示,议开源尽管目前已有94%的大红开发者使用开源软件 ,但近30%开发者并不了解开源协议,线千60%对于主流开源协议MIT、投毒GPL与Apache开源协议的删库区别并不清楚。
随着开源近些年来急速发展 ,大红国内外开源违规事件也层出不穷 :color.js作者删库跑路;node-ipc的线千作者以反战之名往代码里投毒;作为我国首个明确GPL3.0协议法律效力的“罗盒风灵案”,风灵公司被谴责不尊重开源规则.....种种案件均让我们愈发感受到加速推动开源合法合规的投毒形势严峻。开源软件在追求“自由”的同时 ,不能牺牲开源工作者的利益,否则将会影响他们的创造激情 。
那么 ,开源协议的法律边界究竟在哪 ,如何避免踩雷 ?面对市面上层出不穷的开源协议开源开发者应当如何选择 ?企业使用开源软件合规风险如何规避 ?
本期CSDN重磅打造开源直播栏目《开源圆桌派》以“改协议、删库、投毒,开源有哪几大红线千万不能踩?”为主题 ,邀请到了开源社2021理事长庄表伟 、ASF Member, Apache 孵化器导师郭炜 、资深知识产权律师邓超,在CSDN《新程序员》执行总编唐小引的主持之下 ,带大家了解开源的红线究竟在哪 ,以及应当如何规避开源风险。
眼花缭乱的开源协议从何下手 ?
唐小引:目前市面上主流开源协议有哪些 ,有什么样的特点?
郭 炜:对于哪些是真的开源协议 ,近期也有很多争议 ,特别是美国法院判决“未获OSI(开放源代码促进会,Open Source Initiative,简称 OSI )许可的开源是「假开源」”一事引发了热议 。但通常意义上来讲 ,主流开源协议一般都经过OSI认可 。
主流的开源协议包括:GPL、BSD 、MIT 、Apache License等,协议中有几个重要的要素 :
第一是开源时需要负哪些责任;
第二是涉及二次传播时是否也必须开源,以及应该用什么样的名字去开源 ?
目前,我们中国的木兰宽松许可证也是被OSI认可的,因此,大家可以在OSI标准的网站上去选择与自己相关的开源协议。
邓 超 :从法律的角度 ,中文的“开源”和英文的“Open Source”是一个公用词汇,谁都可以用,不能被任何人所垄断。而只有OSI认证的 ,才可拥有OSI的商标 。OSI可以列出10个标准,并按标准认证一些许可证 ,大家可以说这些许可证是OSI认证的,但是OSI不能垄断“开源”这个词 。因为“开源”就像“可乐”一词一样,谁都可以使用,只有涉及“可口可乐”时才算是用了其商标 。
我个人不认为“开源”和“OSI”能够画等号 ,如果大家都认为只有OSI认证的协议才能叫开源,事实上相当于把“开源”这个词专有化了 。
唐小引:主流的开源协议有哪些区别,以及在使用这些License时 ,有哪些注意事项?
郭 炜:这是我画的一个图,对常见的许可进行了分类 ,主要从两个维度进行切入:一是从修改代码是否遵循开源的角度;二是使用服务是否遵循开源的角度。
从这两个角度看 ,不同的协议要求各不相同。
总体来说 ,开源协议众多,但在选用时可以根据自身的目的来考虑 。如果开发者要想实现商业化,那么可以选择在右侧的BSD、MIT、Apache等协议,你可以基于这些开源软件做自己的商业软件 ,而不需要把你的商业软件再次开源出来。但值得注意的是,像Apache协议,是需要在修改前放置版权说明的 。例如之前某大厂用了Apache Sky Walking,并未说明使用了Apache协议 ,结果就被警告了。
如果开发者仅仅作为用户去使用开源软件 ,那么用左边的GPL等协议就好 ,比如说最典型的MySQL就是GPL协议的 。基于MySQL把它打包在自己公司内部可以随便使用 ,但是你如果要把它打包成一个商业软件就必须也得开源出来。
邓 超:关于注意事项,我认为:首先 ,大家需要有版权意识。使用任何不是自己创作的内容 ,都要得到许可。
譬如为什么大家可以免费且合法下载微信呢?是因为用户在下载时 ,在用户协议中点了一个“我同意” ,这就是大家最熟悉也是最陌生的合同 。尽管大家每天都在签署这份合同 ,但是没有人看具体的合同内容。实际上,点击“我同意”就是签署了一个知识产权授权条款,腾讯允许用户保留微信程序副本的前提是需要用户同意协议中的条款。
类比到源代码中,我们需要遵守的就是License。因此在认识上 ,我们应该高度重视 ,对于基本的这些常见许可协议应当有所了解。