社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  aigc

关于AIGC的100个想知道(开源篇)

数据何规 • 6 月前 • 142 次点击  
以下文章来源于AI大镖客 ,作者旷野

从零开始的代码开源相关问题

Q34. 什么是代码开源?知名开源平台有哪些?

代码是使用编程语言将算法实现为可以由计算机运行的程序,是算法思想逻辑的具象化。代码开源即是将代码托管在开放的公众平台上,任何人都可以登录平台阅读开源代码,理解其中所体现的算法思想逻辑,从而能够在开源代码的基础上进行修改乃至二次开发,产出更多有意义的作品。代码开源体现了程序员之间相互分享思路、交流学习从而反哺软件开发的精神,是计算机乃至整个互联网行业的代表性特点之一,对软件工业的蓬勃发展具有决定性意义。

目前,最为重要、知名度最高、托管代码最多的全球性开源平台是Github,在开源领域,这一平台在代码数量和质量上均占据绝对的领导地位。其他较为知名的全球性开源平台有SourceForge和Google Code等;国内较为知名的开源平台有Gitee、oschina、CodeForge等。

Q35. 代码开源许可证是什么?对企业有什么影响?

在代码原作者及使用开源代码进行二次开发的主体之间在权利范围和责任认定及划分上存在诸多问题,开源许可证(Open Source Licence),又称“开源协议”,即是为了解决这些问题所制定的一套标准。目前,常见的开源许可证可以分为宽松自由软件协议(Permissive Free Software Licence)和“著佐权”协议(Copyleft License)两大类。前者对代码的使用、修改、传播等不设过多限制;后者则要求在有限许可下进行代码的使用、修改和传播,保证二次开发者不得违背代码原作者规定的限制条款。

从境内境外判例来看,开源许可证无论是在国内还是国外,均被认定为一种非典型的、与软件著作权有关的格式合同。二次开发者对开源代码进行修改和传播,即视为自动同意这份代码所依照的开源许可证,自动与原作者签订了这份合同。因此,企业在参考开源代码时需要注意阅读有关开源许可证,明确其中规定的各种权责关系,避免在自身开发中产生法律风险。

Q36. AIGC企业自身的代码开源,是否还可以申请知识产权保护?

AIGC企业自身代码开源可以申请软件著作权,并有可能申请专利。此外,《计算机软件保护条例》第五条提到“中国公民、法人或者其他组织对其所开发的软件,不论是否发表,依照本条例享有著作权”,这说明我国在软著申请中对是否开源并不关注,只要是独立开发完成的代码或软件,作者即可具备著作权。

至于专利,我国《专利法》第二十五条第二项规定,智力活动的规则和方法不能申请专利保护。更细化的要求在《专利审查指南》第九章第二条中亦有明确,即只有能够对产品或生产方法进行改进的新技术方案,或是为了解决特定技术问题而编写的解决方案才能作为专利保护的客体。因此,单纯只是为了完成某些简单功能的代码或软件显然无法申请专利保护,必须要具备新颖性、创造性和实用性才可以。并且,申请专利的客体并非代码,而是通过代码显现出的算法和技术方法方案。就AIGC企业而言,我们认为如果核心算法体现出了对AI能力的显著改进,具备创新性和实用性,则即使已经开源,亦有申请到专利保护的可能。

我们建议,对于AIGC企业,申请知识产权保护有助于明确自身产品的权利范围,在开源许可证配合下有助于厘清原始产品与二次开发产品之间的权利关系,在发生冲突纠纷时可提供有力法律支持。

Q37. AIGC企业参考他人开源代码,是否可以申请知识产权保护?

AIGC企业参考他人源码,亦有申请知识产权保护的可能,但相较于企业自主开发需要考虑更多情况。

首先,就软件著作权而言,需要参照开源代码遵循的具体开源许可证。若开源代码遵循宽松自由软件协议,则二次开发软件可以作为二次开发者自身的著作成果而闭源,其应当可以申请软著;但若开源代码遵循“著佐权”协议,则二次开发的软件就必须开源,并且需要依据所采用协议的具体规定,判断开源代码作者是否同意二次开发者申请软著。

其次,就专利而言,前文已经提到,申请专利的难度本就高于软著,需要是产品、生产方法的改进方案或是解决问题的技术方案。因此,参考他人开源代码的软件若要申请专利,除了要保证新颖性、独创性和实用性等标准化要求外,还要保证其只是单纯将开源代码作为其技术方案要用到的一个工具。此外,还需要查明开源代码作者是否已经就代码体现的算法等申请过专利,避免侵犯到他人合法在先权利。

Q38. 参考开源代码是否存在侵权风险?如何判定?

参考开源代码存在一定的侵权风险。即使开源方未申请在先知识产权保护,开源协议本身亦具备合同效力,故如参考代码时不遵循开源协议,仍有侵权可能。侵权判定的标准则主要集中于两份代码是否实质性相似,此方面我国相关的法规主要有司法部发布的《软件相似性鉴定实施规范》(SF/Z JD0403001-2014)和北京高院发布的《侵害著作权案件审理指南》。

提请注意,企业在参考开源代码时,应当充分调查该代码所遵循的开源许可证,并查明开源方是否有相关声明或申请了知产保护,降低侵权发生的可能性。

Q39. 参考开源代码可能遇到哪些国际诉讼问题?有什么解决思路?

虽然开源本身旨在让全世界的软件开发人员互相参考借鉴,但近年来随着国际形势的变化,也出现了一些与开源代码相关的国际诉讼问题。例如,2016年美国Artifex公司就在美国起诉韩国Hancom公司在既未申请商用许可也未遵循开源许可证的情况下在其软件中整合了前者的开源代码。法院对部分争议焦点进行了明确判定,如支持开源许可证的合同性质、认为侵权行为与美国有关故原告可以依照美国版权法起诉等。

提请注意,考虑到三大国际性开源平台均明确声明遵守美国出口管制条例,并且司法管辖权均在美国加州,因此在当前中美关系下,企业特别是AIGC企业有必要对跨国参考开源代码进行风险评估和控制。具体地,除了要考虑商用许可、开源许可证等基本合同外,还需要考虑国际性的条约如世贸组织的服务协定和知识产权协定,以及美国国内条约如出口管制条例等。如发生侵权诉讼,可能需要从国际私法角度(民事主体之间的争端)和国际经济法角度(涉及到国家和政府的争端)甚至国际公法的角度(可能涉及到制裁甚至“间谍活动”“网络攻击”等接近军事层面的行动)去分别寻求解决途径。

最核心的模型开源及二次开发相关问题

Q41. 如何从法律上对未开源模型进行保护?如果模型开源了呢?

模型是AIGC产品的核心部分,可以考虑从知识产权角度、数据权益角度和商业秘密角度对模型进行保护。

知识产权角度包括软件著作权保护和专利保护两部分。对于软著,虽然模型本身并不依赖代码或软件,但《计算机软件保护条例》第3条中将保护对象限定为代码化或符号化的指令序列或语句序列,也即软件著作权主要保护的是代码和程序。故若要通过软著路径保护模型,则可以考虑将模型归属于产品的一部分与代码共同进行保护。对于专利,其可以保护的对象包括解决问题的方式方法,而模型的核心为特定参数以特定取值、按照特定结构组成的数值组合,天然符合工业方式方法的特征,且模型的研发也是用于解决特定问题,故亦具备申请专利保护的可能。专利的排他性更强,更有利于企业维护自身核心权益。

数据权益角度是指将模型作为特殊数据集来主张数据所有权。模型所保存的主要是AI的结构和参数,虽然与一般语境中的数据集不同,但实质上仍是特定数据按照一定有意义的规律组成的集合,可以理解为对存放顺序和组织结构有特殊要求的数据库。因此,在现行法律框架下,可能可以参考数据集的所有权制度进展,从产权角度对模型行使排他性权利。

商业秘密角度是指将模型定义为本企业的商业秘密来进行保护。对于AIGC企业而言,模型是企业产品竞争力的重中之重,能够为企业提供竞争优势,具备极大商业价值,符合我国《反不正当竞争法》第9条对商业秘密的定义。故企业可以以商业秘密的形式对模型特别是模型中的参数类型、参数取值等核心数值进行保护。

需要指出,如果模型开源,则会对以上保护手段产生不同程度的削弱。具体而言,开源相当于直接开放了其他开发者接触和修改模型的许可,使得他人能够直接对模型进行复制和移动,因此数据权益角度和商业秘密角度的保护措施将大概率直接不予通过;而知识产权保护虽然不排斥开源,但企业的权利要求很可能由于开源而无法实现,使得该角度保护变为事实上的无效保护。因此,在没有特殊需求的情况下,不建议企业将模型开源。
Q42. 二次开发是什么?包括哪些情况?是否可以直接使用别人的现成模型?

依照前述基础概念介绍,AIGC产品的广义二次开发应该有两种类型:一是对开源模型进行修改和调整形成自己所需的模型,即“二改层”;二是调用模型提供的API以“中介”的方式提供服务,即“应用层”。其中,后者相当于直接使用模型研发方封装好的基础服务,具体开发过程不像前者那样涉及对模型内部参数的调整,或是加入新的训练数据等,故狭义上的二次开发应当只包括前者,本白皮书之后所述“二次开发”也均以前者含义为准。

提请注意,对未开源模型的二次开发有很大几率成立侵权,故AIGC企业若进行二次开发,最好只选择已经开源的公用模型。即使已经开源,也应当依据模型遵循的开源协议明确权利归属,或联系模型研发者获取授权以降低法律风险。
Q43. 对已有模型进行二次开发所获新模型的各项权利归属如何确定?

对已有模型进行二次开发,是使用自身的数据对模型进行再训练,或根据自身需求对模型中参数进行微调等,这些行为均是对模型的再加工、再开发,二次开发者在其中要付出一定的时间和精力。因此,模型的二次开发与软件的二次开发较为类似,都是在原有基础上进行个性化的功能修改,故模型二次开发的各项权利归属(所有权、商业使用权、转让权等)可以参考软件。

根据软件是否开源,其权属确定分两种不同情况。若软件未开源,则对其二次开发需要与原作者签订授权协议,新软件的权属也应在协议中确定,故若模型未开源,对其进行二次开发所获新模型的权属确定,也应参照此种情况。

而若软件已经开源,则对其二次开发所获新软件的权属应由软件所遵循的开源许可证确定。考虑到模型虽然没有专设开源许可证,但其往往与相关代码共同开源,且开源平台上开源许可证往往位于模型和代码的同级目录下,因此二次开发所获新模型的权属亦可以参照原模型相关代码的开源许可证。
Q44. 对已有模型进行二次开发,有哪些侵权风险?判定标准与单纯参考代码有何不同?

对于已有模型进行二次开发的侵权风险也需要依照模型是否开源来确定。若模型未开源,则二次开发者须取得原作者的授权。若未取得授权,则由于原作者通常会对模型采取前面提到过的各类法律保护措施,因此二次开发存在侵犯原作者知识产权、数据权益或商业秘密的风险;而即使已取得授权,若未在授权协议中明确模型和配套软件等的各项权属问题,二次开发者亦可能在后续开发时与原作者产生争议,甚至发展为侵权纠纷。若模型已开源,则侵权风险相对较小,但我们仍建议二次开发者依据开源许可证明确权利归属,或在进入商用阶段时联系原作者获取显式授权。

根据以上论述,模型二次开发涉及侵权主要可能发生在未开源模型上,故侵权判定标准的重点应为原模型与涉嫌侵权模型的相似度。由于模型表现为计算机中存储的数据库文件,故模型相似性比对与判断软件、代码相似性较为类同,都需要对运行环境、运行逻辑、运行效果、文件间组织结构等内容进行评估;且由于模型需要依靠代码的运行来发挥效果,故对模型进行相似性比对往往也要涉及到相关代码的比对。但模型相似性比对也有一些独有的特点:一是需要对两模型的网络结构进行比对,判断是否存在高度相似性;二是需要依据对模型输出效果的比对,评估模型的训练用数据、重要参数类型和取值等是否一致。
往期内容:
1.关于AIGC的100个想知道(定义篇)
2.关于AIGC的100个想知道(数据篇)
3.关于AIGC的100个想知道(算法篇)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/174044
 
142 次点击