首页 -> 新闻中心 -> 云计算 -> 正文
开放文化基金会法制顾问 林诚夏:开源合规工程与权利管理
2017-04-27

W020170420552782563369

感谢各位来宾的参与,也感谢大会的邀请,这次我是从台湾过来参与这个盛会,也跟各位先说一声抱歉,如果有些词汇听得不太习惯,可能是一开始我还转不过来,这一点请多包含,我简单自我介绍一下,我的名字很好记,叫兵临城下,下面的三个字就是我的名字,我在台湾参与开源协议大概有十几年的时间里,台湾在很多商业公司,切入开源市场这一块,其实还蛮早的,也比较有趣跟各位报告一下,刚刚毕老师有说明在美国第一个诉讼案非常有趣,可是全世界第一个开源授权的败诉案件其实是由台湾公司,在德国的一家公司,是首先第一个快速的一个案件。所以在处理相关的一些方式,大概已经有一套了解的,然后除以的模式,接下来我就会重点跟各位介绍一下,怎么用一个比较简便,程序员可以了解的方式来进行一个所谓的开源授权,开源许可证的一个管理方式。所以我这个题目定为开源合规工程与权利管理。那一开始给大家看的这一份是禁止令的文件,是美国的联邦地方法院所谓的保存措施,要求一些厂商要求他们的商品下架,对于所谓它的知识产权的部分,完全没有做任何的揭露,也没有提供源代码,这个其实是2009年在美国一个非常知名的诉讼案,大家可以看到有非常大的品牌公司包含三星,三星电子,也在背后,2009年有一个知名的开源专案,在美国一次告了十四家蛮大的一个品牌商,甚至其中有一家是因为诉讼最后宣告破产。这些案子陆陆续续已经和解了,重点大家可以看到这是三星的网站,三星后来因为诉讼的一个和解,建设了一个平台,而这个平台叫做Open Source,他们通过这个平台提供给消费端,提供给客户,主要就是因为2009年的这次诉讼。

那这个页面是跟各位讲,目前在德国一个全世界都在关注的,重要的跟许可证相关的诉讼,因为它的对象是一个非常大的虚拟软件的提供公司,目前正在德国的地方法院进行审理,那其中有一个重要的开发者,他认为在核心系统的一个过程里面,引用了很多conseruancy。这几年我协助很多台湾厂商,我知道大概有蛮多中国大陆的厂商也陆续有收到,在德国收到Patrick Mchardy,过往是核心成员,这几年在德国提出了非常多跟开源许可证有关的诉讼案,过往的这些所谓的社群的执行者,他们的做法是比较正向的,就是说他会把他所质疑的点,跟这些商业公司很公开的进行商谈,甚至会在网络里面,他认为可以弥补或改进的做法,但是它是透过私下的联系,要求一个庭外和解,它这个庭外和解的内容,你会要求这个公司必须要签署保密协议,不能把相关的咨询再泄露出去,所以它可以各个击破,一个一个进行沟通。而且很多商业公司没有意料到的是它这个和解条件,甚至可能包含部分民事,或者合同式的惩罚性的赔偿金,就是它告诉你说,这一次它可以用比较低廉的赔偿金做和解,下一次可能会把这个赔偿金提高好几倍,我目前看到的最高的一个和解,惩罚性的赔偿金,大概有六百万人民币的一个状况,当然一家公司已经退出德国市场了,他认为他们在德国市场上获利并没有达到那么高的程度。所以在过往的一些源代码的诉讼,最大的差异,以前源代码的诉讼,聚焦在源代码的提供,如果它有提供的话,其实后续的一些和解条件都比较好去做处理,但是PatrickMchardy这一系列的软件有争执,在署名方面的完善性,就是说你用到它的源代码,在后续的产品里面,有没有把它的姓名,把它的贡献,在一些地方做一个完整的揭露。所以提供的这个说明,我帮大家梳理一下,目前如果你不要你的商业产品,有发生所谓的开源源代码相关法律的诉讼,或者争议的话,原则上有三个要件,这三个简单来说就是源代码,有些开源软件的源代码,延伸的源代码是必须要提供的,可是接下来要讲的,其实在毕老师讲述中也有讲解,作为CopyrightNotice必须要去做一个罗列,第二第三点是过去比较少提到的,过去不管在美国还是德国的诉讼案,这些权利人并没有要求到这么细节的责任,但是CopyrightNotice确实已经往所谓的开源遵循的一个程序,提升到第二跟第三点的重点。那这几年在台湾的经验,我想开源的争议,必须要跟各位说明一下,它相关涉及的赔偿金,没有所谓的专利侵权跟一般的侵权金的数量这么大,其实如果你去看它金额没有那么大,但是它蛮不好去防堵的,为什么呢?因为基本上开源源代码的使用,对于很多的商业品牌公司跟过往所谓的一般私有软件有很大的不同,所以变成说这件事情非常难用一个传统把握的思想,因为传统的私有软体,应该是洽谈授权,几乎之后所有的平台铺路都没有太大的问题,可是开源源代码的,常常是商业公司的这些开发团队,它可能先在网络上找到了解决方案,而去使用的,最后产品要铺货才去做一个实验,但是这个时候再更正已经比较难解决了。

我用很简单的方式,跟各位介绍一下开源许可证的基本处理方式,但是必须要跟各位说明一下,这是我过去十二年来主要进行的方式,它并不是非常的精准,可是却可以协助这个软体程序员,用很短的时间内,大约掌握到开源授权的一个更改,所以大家可以看到这个页面上面的一个线形图,颜色从红色转成绿色,大家就可以知道它所富有的情感,中间的部分是融合的区块,最左边黄色的类别是一个火焰的颜色,它代表了热情,它也代表很多理性的驱动,所以我们基本上可以把开源授权,开源许可证分成三个比较大的分类,第一个分类我换成用绿色的方式来显示,因为绿色是比较自然界,比如说树木跟草,它是比较有亲和力的颜色,这个我通常统称它叫BSD类别,在这个里面有安卓阿帕许可证,为什么用绿色表示?因为它提供使用者的使用权限是非常久的,所以它是一个比较舒缓宽松的方式。大家可以看到在桌面端比较多人使用的系统,其实它在它的著作权声明告诉你,它用了非常多的BSD跟MIT授权的软件,但是并没有主动提供这些源代码,因为它用的是BSD跟MIT授权的,所以它没有必要一定要提供源代码。

另外一个重要的分类就是毕老师演讲里面有再三提到,GPL类别,这块我用红色来表示,火烧连串船的意思就是你把很多的软件,放在一起运作,彼此密不可分的时候,如果没有一个特别理由的话,很多的开发者就会认为说,你这整个软体,或者项目会是GPL这个软件延伸的一个作用,这时候它会要求你后续必须要提供源代码给后续的使用者。所以基本上来说,用最简单的方式帮各位讲解这个所谓的协议的话,它就是两个最大的要点,第一个它告诉你说,修改GPL的这个程序,你会产出一个改编的程序,后续这个改编的程序必须只能用GPL许可证来做后续的利用,那GPL的许可证,它最大的特性就是告诉你,你提供GPL的这个程序的时候,你给了改编程序的这个目的,说是可执行的一个代码,也必须要依照它来提供可以再修改的源代码,所以这个最大的要点就是两点,第一点work based on这个部分,前面两个分类我们可以再提一下,中间第三个大分类,第三个分类我通常会叫它为其他类,其他类它在所谓的商业产品,它是比较偏向于BAC,允许你把商业公司自己的一个署名,标识到整个产品里面,但是在所谓的源代码的部分,它是比较偏向于GPL的,整包商品里面,如果有其它类别授权的话,必须要分别隔离的提供这些所谓的原来的源代码,重点是原来的源代码并没有要求你整个商业产品的源代码都必须要提供出来,这是其他的类别。其它类别有这样的一个许可证。所以基本上我们在面对这么多的授权许可证的话,如果你有三个大分类的概念来理解它,你就比较好去梳理这个产品,进行后续贩售的时候,有那些必须要去做到。所以这是第一个跟各位说明源代码的部分。第二个重点再是署名的部分,这也是台湾这部分的厂商,这几年在德国的市场上面比较做得不好的地方,所以它在德国市场有蛮多的争议,一般这几年的顾问咨询,建议可以把所使用到的开源软件,先署名上面的一些重要资讯,然后透过三个文档再进行一个内部的管理。这三个文档第一个你可以叫它Legal,第二个可以叫它NOTICE,第三个可以叫LICENSE,左边的这个表达方式是比较接近阿帕许可证,右边的表达方式是比较接近于GPL的许可证,因为GPL你的答案结构,它的目录你会看到右边,所以基本上在GPL的授权,这个档名会叫COPYING,可是在阿帕区里面,它会叫LICENSE,所以基本上可以做好一个署名的管理。

第一个档案是LEGAL,它是可以成为一个起源,让这个商业公司后续跟这个使用者,或消费者介绍NOTICE的内容。那为什么它有这么重要的一个条件?因为在GPL这个协议许可证里面,它特别有要求说,你今天给了Binary,就必须要给后续的使用者源代码Source,可是它并没有要求在同一个贩卖行为中提供,你可以延后提供,可如果要延后提供的话,必须要先迈出这个产品,给它一个所谓书面申明法律原件,你必须要提供一个法律原件,所以你可以看到我们这份文件里面有非常多署名的声明,可以归为原来的开发者,或者归为开源专案,细部的咨询可以看到我们的说明文件,里面的哪一个,还有其他的资讯。各位如果对于开源软件的使用不陌生的话,其实即使是你透过APP下载到开源软件,像这个是法国的一个开源专案,那它在IOS,在安卓系统上面都可以进行播放,在Windows的周边端都可以进行开发,它在APP里面关于这个页面,就清楚的告诉你我的LICENSE可以到哪里去看,我的源代码可以到哪里下载,这就是一个页面,如果大家是使用安卓的手机的话,你会发觉说在关于手机里面的法律谘询有一点非常有趣的是,当你去点醒所谓的法律条款,或者是各个品牌商的法律条款,包含华为的,三星的条款,HTC的法律条款,因为这些使用者条款,它会更新最新的版本,当它更新新的版本,就新的授权条件的拘束,可是我有开放源代码授权的部分,其实不需要连到网络,这个其实就呼应毕老师刚刚讲,其实每一个软件都要求你必须要赋予一个文件的全文,你的使用者跟消费者,所有安卓用到的开源软件,所有的项目的许可证,都可以透过离线的方式在你的手机里面离线浏览,这一点其实是很多过去商业使用,开源软件公司没有注意到的,它要求所谓的授权许可证必须要随着程序一起提供,所以这是一个非常重大的要点。这里是我点出原文的部分,不管是GPL2.0还是3.0供大家参考,特别讲一点,如果你这个程序,项目可以执行,可以安装,你有所谓的图形的互动性界面,它认为是说Interactive,必须要把刚刚讲的LICENSE进行披露,必须要告诉人家相关的Legal的页面,有时候商业咨询是有签NDA的,所以我没办法跟大家讲细节。当你把产品放出去的时候,你必须要这样的一个范本来做处理,为什么这个页面还给一个德文的版本?因为主要处理是在德国的诉讼案特别要求这个Legal的文件必须要有一个德文的版本,这个其实不难了解了,很多商业产品在中国境内都进行贩售,要求它必须要有中文的说明书。在这个法律文件的部分,它尽量用当地的语言来做一个表述,当你的产品到美国的时候,它可能会是用英文的方式,在德国的时候,他们要求用德文的方式来提供法律文件。所以这是相关的一个文件的提供给各位做一个参考。刚才特别有跟各位讲过,这个署名的部分,透过三个文件的管理,可以达到一个基本的处理模式,那另外一个文件就是所谓的NOTICE,它里面有几个重要的要点,就是罗列你使用的那些开源软件的项目,另外一个重点就是这些项目,建立你必须要把版本别清楚的列出来,因为开源软件有个特性就是说,它原始的版本可能用比较宽松的许可证,可是后续越来越具有商业规模的时候,可能会进展到一些拘束比较高的,所以开源软件的列表,必须要列出你使用的是哪一个版本,这样我们才能确认你使用的许可证是哪一个版本,许可证其实也有版本的差异,接下来的一些就是辅助性的咨询,比如说原始的所谓的社区的一个网址,就是开源专案,开源项目它肯定有它的社区,有它的一个应用平台,它相关的一个网址,还有它的间接的说明咨询。因为几乎所有的开源许可证跟协议都要求你去使用到这个开源软件的时候,必须要把之前贡献者所谓的著作权声明保留下来,就像毕老师刚刚分享在美国的这个诉讼案,主要就是商业公司,这个审判的过程中,后续的商业公司比较恶意把原来开发者相关的所谓的NOTICE,著作权声明都拿掉,所以二审的上诉法院才认为说,这可能形成一个恶意侵权的条件,它讲述的理由就是我们今天去参加考试,也许考试内容写得不好,所以你的分数有高有低,但是今天如果你连名字都没有写的话,它只能算你是零分,所以上诉审的法院立场就是说,今天你去使用别人开源项目的著作权利,如果你连原来的所谓的CopyrightNotice都恶意删掉,它其实是,它的认定是你从头到尾都没有取得著作权的许可,所以它才会变成一个所谓的版权著作权的一个侵权状态。

所以这个部分,文件就是协助来管理相关的NOTICE。依照GPL授权许可证,它也特别要求说,原来程序,原来项目的署名不能被删除掉,这是一个简单的范例,可以罗列一个简单的文档,这个文档就是跟使用者说,我们接下来列的东西,就是原来开源软件部分,它本来有的,包含它的著作权声明跟免责条款,透过所谓条例式的方式,比如A项目,它的授权是GPL,它原来的网站连接到哪里,接下来就贴它原来的声明,接下来再罗列所谓的项目B,原件B,这是一个一个去把它罗列下来,那这件事情一开始做的话,会比较散,但是持续在做管理的话,这件事情做过第一次是最辛苦的,但是接下来会慢慢进入状况,而且它大部分的程序都是可以复制贴上,可以重复去实践的,所以这是第二个必须要去做的一个文件的管理。那最后就是刚刚一直跟各位强调的,这个所谓的授权许可证的,原本的一个内文,必须要提供离线浏览,GPL里面有很清楚的说,无论你提供的是源代码,你都必须在发布的时候,提供一份开源许可证跟协议的全文,这是它原来要求的一个项目,GPL2跟3都有做这样的要求。这件事情当你了解是必须要做的话,它其实是并不复杂,它会要求它的程序员,当你在开程序的时候,你用到哪一个开源的许可证,你就把它作为一个内部的,接下来出去的所谓一个档案里面,就会把有用过的许可证的内文,复制放在一份,比如说前面可以列GPL,后面可以列,一个文档只要列一份就充足了。所以大概会有这样的方式来进行一个管理,那其它注意事项,稍微放开一下,这主要是说,实际上在处理的一个诉讼案,一些比较细节,可是一样还蛮重要的事情,就是这个所谓的法律文件,必须要有终端品牌商来提供,所以如果,这个所谓的商业模式是所谓的代工,德国有另外的品牌商,依照GPL许可证,它要求必须要是最后进行产品贩售的人来写这个法律文件,而不是说它的上游来写这个法律文件,还有一个非常被大家忽略的,这几年的一个诉讼特别点出来,其实GPL跟阿帕许可证都有要求说,你更改的这个开源项目的任何一个档案,一个文档,你必须要标注这个档案已经被修改了,它的修改时间,还有修改人是谁,那过去这件事情并没有被特别挑出来要求,可是在诉讼案,它往往是决定了最后能不能和解的一个关键,所以我们把它原始的许可证的一个邻居贴在这边,给各位看,这件事情当你跟你的程序员进行充分的沟通,它也不会太复杂,不会太难管理,基本上在这边列的三种方式,你只要择一选择一个可以处理的方式来处理就可以了,第一个如果开源专案,这个项目是透过所谓线上版本控制系统,基本上版本控制系统,不管你是用哪一个,它在每一个更改都有所谓的标注,所以这件事情透过现象管理系统,它就自动完成了。第二个如果你是透过内部的开发流程的话,最后就把你内部开发的版本控制系统,导出一份文档,可以起适合的名称,把里面的重要资讯标注出来,告诉人家说这一份,软件项目,哪一个档案是有经过修改的,它修改的时间标记是什么,只要有这个档案,所谓义务性的要件也已经充足了,最后第三个方式最简单,就是如果里面有前面讲的系统,或者是内部的系统,那你就是跟程序员做一个充分沟通,说每一个开源软件的档案,如果有去修改到它的话,直接在档案,在上面把重要资讯贴上去,就是说在某年某月,其实某年某月就可以了,我现在看到它还没有必须要那一天,在某年某月有哪一个程序员做这个执行,去进行了修改,你只要把这个资讯登录在每个被改变的文档里,其实也已经充足了,所以三种方式,只要择一满足,就可以充足的应GPL的规则。最后一个提醒,它其实有要求说,如果这是一个商业产品,你不能跟GPL授权许可证产生直接冲突,这个其实也是特别去点出来也好,因为很多商业产品习惯在,我们这个协议适用于商业产品全部,光你这样子做声明,其实只要把协议内容稍微做一个合理的调整,那这个合理调整的方式其实是只需要上文介绍,我们这个协议的效力基于商品的全部,但是如果其中是开放源代码的部分,所谓的商品协议跟源代码产生冲突,我们就是以尊重许可证的方式来处理,所以只要当初有做这样相关的一个协调,折中的说,那就不会在这里有后续的一个争议。那最后我就是分享一个重要资讯,这是我非常喜欢的一个,一篇专题报道,当然它的时间也比较旧,这个人是主要通讯者跟开发者,这个报道用一个非常有趣的方式来描述,核心系统的一个贡献,它去量化,就是看哪一家公司,哪一个个人贡献了几个,但是当然跟所谓的兴趣领域研究者讨论说,这是一个很奇怪的,因为我是程序员,我选三行程序就可以完成的功能,你要写十八行的话,原则上我写十三行技术比较好,但是我们分析一下可以看出来,大家可以看到在这个里面贡献的前十名,所以现在如果我们还是把它看成一个产物,它可能不是它的全网,事实上现在很多大型的开源专案,它其实是跨国的,共同的知识产权,那开源授权许可证遵循这件事情,这几年也困扰这些公司很多,因为开源的重点在于,如果你要花非常多的心力做好所谓许可证的管理,那是非常非常耗费心力,所以它下面有一个OpenChain,他们在内部做开源许可证教育训练,可以取得相当的成效,可是一定时间内这个成效就会被刷掉,因为程序员会转部门,或者有的会部门调动,所以发现开源合规工程这部分,如果不是整个Supply Chain去做处理的话,不是单一家公司就可以处理好。所以这些专家共同撰写了说明书,目前已经到第二版,这个说明书其实就是他们在做内部程序员的相关的一个读物,他们现在把它的智慧产权完全抛弃,希望上下游的公司都可以一起来利用这份文件,我大概今年初的一个重点,大概就是在看这份文件,怎么帮台湾的企业进行导入,所以如果各位有兴趣的话,因为完全是所谓的网络的一个资讯,也可以下载这份文件来进行浏览,今天时间有限,我大概就分享这个主题到现在,谢谢各位。

新闻搜索

覆盖全国各省会城市及海外城市的网速测试
→选择要测试的地区
→选择目标测试点