法学
人工智能开源生态的法律治理
作者:苏宇,男,中国人民公安大学法学院教授,博士生导师,主要研究方向为数字法学、行政法学;郭雨婷,女,中国人民公安大学法学院博士研究生,主要研究方向为数字法学、行政法学。
摘要:开源生态治理对人工智能法治建设至关重要。实践的发展引发了“开源”内涵的演化,应牢牢把握四种“基本自由”的基础内核。人工智能开源生态构成具有高度复杂性,需充分考虑开源生态的关键特性和治理需求,制定科学合理的法律治理框架。应全面考察治理需求、治理主体、治理方式、责任分配等内容,以发展为导向,以国际合作为推力,以敏捷治理为工具,以末端责任为守护,探索建立由若干机制构成的基础性制度框架,主要内容包括:开源类型辨识机制、开源许可限定机制、开源风险防控预案机制与政府社区合作治理机制,以应对人工智能开源生态治理的复杂性。
关键词:人工智能;开源生态;法律治理;新质生产力
开源(Open Source)是人工智能的生命线。人工智能发展至今,开源平台、代码、模型和框架作出了举足轻重的贡献,开源生态的培育、保护与导向在人工智能法治建设中的作用日益不容忽视。在机器学习的发展历程中,DeCAF、Resnet、Tensor-Flow、PyTorch、Transformers、Stable Diffusion 3 等开源模型、框架或项目在全球范围内推动了人工智能的巨大发展,大量开源数据集也成为人工智能技术突破的重要台阶。在生成式人工智能的发展历程中,开源生态的角色更是无可替代。在基础模型层面,一度出现“国内九成以上的大模型是在美国Meta 等公司开源的Llama 等大模型基础上摸着石头过河”的情形[1];而在领域模型层面,目前金融、法律、教育、传媒、文旅等众多领域的垂类模型,大多是在Llama、SD、GLM、Baichuan 等国内外主流开源大模型基础上构建[2]。可见,人工智能治理已经无法脱离开源生态治理。对此,国内已有的几份人工智能法专家建议稿,均对开源问题给予高度关注,这一问题也必将在人工智能法治建设中占据重要位置。
然而,迄今为止,整个法学界乃至法律实务界对开源生态的认识仍可谓吉光片羽,且大多数既有观点仅聚焦于代码开源,但人工智能的开源还包括模型架构、训练数据、模型参数(权重+偏置)、学习率等内容的开源,开源生态的复杂性还远未被充分认知。对此,深入认识人工智能开源生态的主要内容和发展规律,探索法律治理的要点和边界,是目前人工智能法治研究的当务之急。本文将对人工智能开源生态的图景与特性进行整体性的观照,梳理人工智能开源生态的法律治理需求,进而引出开源生态法律治理的若干基础性原则,探索开源生态法律治理的主要机制,并提出一套框架性机制的设计建议。
一、人工智能开源生态的多维图景与主要特性
开源生态晚至21 世纪才真正成型,而人工智能开源生态的成型时间则更晚。开源生态孕育了当代人工智能技术与产业的勃勃生机,但也潜藏着非常复杂的风险。在提出法律治理主张之前,首先需要认识开源生态的复杂图景及其特性,避免单纯的风险规制视角和片面的“强监管”立场。
(一)开源概念的内涵演化
在最简单的意义上,“开源”一词来源于“开源软件”,即软件发行者以源代码形式向公众提供,以便公众进行查看、运行、修改和分享的软件[3]。软件领域的开源运动最初起源于20 世纪60 年代,美国麻省理工学院计算机专业的学生经常写一些自由软件并自由分发,但没有人想到软件的权利,更谈不上软件的商业行为,这被视为开源运动的萌芽时期[4]。因此,开源是计算机程序传播的最初形态。然而,随着用户和使用场景的快速增加,硬件附带的软件无法满足用户日益扩大的需求,市场出现了专业开发收费软件的企业。在美国联邦最高法院判决的保护之下,当时几乎所有软件公司都不再对外开放源代码,这种从“免费且开源”到“收费且闭源”的转变引起了“自由软件运动”等抵抗活动[5]。但“自由软件”并未成为主流,因为按照其代表性许可证(简称GPL)的要求,自由软件的衍生软件也必须保持自由开发,不能转化成私有软件;并且,如果在某个程序中使用了GPL 授权的代码,那么整个组合软件也必须用GPL 发布为自由软件,此即GPL 的强“传染性”特征,而这一点并未被产业界所广泛接受[6]。
“开源软件”减少了“自由软件”的强“传染性”特征,同时保留了源代码免费获取、自由修改和自由重新发布等核心特征,更适合商业应用与推广[7]。开源一词于1998 年2 月由皮特森(Chris Peterson)正式提出,此概念出自当时著名的黑客社区Debian 的社长佩伦斯(Bruce Perens)起草的“自由软件指导方针”;随即佩伦斯创立了著名的开源网,为开源软件提供了全球性的基础支持平台。对确立开源概念有决定意义的是1998 年4 月7 日由18 位自由软件运动领袖召开的“自由软件高层会议”,该会议确定了开源传播的必要性[5]。同年,开放源代码促进会(Open Source Initiative,简称OSI)成立,并和企业开展商业合作。相比之下,自由软件的理念更加偏向于理想主义,强调用户自由和社区合作,而开源软件的理念更为实用主义,强调通过开放源代码使更多程序员参与软件开发和共享,升级和完善软件,从而惠及更多用户[8]。
OSI 制定了“开源软件”和“开源人工智能”的定义,并在其官方网站持续更新。根据OSI 于2024 年最近一次对“开源”定义的修改,开源并不仅仅意味着开放代码,而关键在于开源软件的分发条款满足十项标准:(1)自由再分发:任何一方都可以在包含来自不同来源程序的聚合软件分发中销售或免费提供该软件,并且不得要求版税或其他费用;(2)提供源代码:软件必须提供源代码,并允许以源代码形式和编译后的形式进行分发,或有一个广为人知的方法能够获取源代码;(3)允许衍生作品:许可证必须允许修改和衍生作品,并且必须允许它们按照与原始软件相同的许可证条款进行分发;(4)保持作者源代码完整性:许可证可以限制只能以补丁文件的形式分发修改过的源代码,但必须明确允许从修改后的源代码构建的软件的分发;(5)不得歧视任何人或团体:许可证不得对任何人或团体进行歧视;(6)不得歧视应用领域:许可证不得限制任何人将程序用于某一特定领域;(7)许可证的分发:附加于程序的权利应适用于所有重新分发该程序的人,而无需这些方执行额外的许可协议;(8)许可证不得特定于某个产品:程序的权利不应依赖于它是某个特定软件分发的一部分;(9)许可证不得限制其他软件:许可证不得对与授权软件一同分发的其他软件施加限制,例如不能坚持在同一介质上分发的所有其他程序也必须是开源软件;(10)许可证必须技术中立:许可证中的任何条款都不应基于任何个人技术或界面风格[9]。这十项标准定义了严格意义上的“开源软件”。从自由软件到开源的转变,既存在实用主义的动机,也是对更广泛的组织、协作、创新的考量[10]33-34。
迄今为止,“开源”这一术语尽管在信息技术和信息产业领域早已司空见惯,但在“开源软件”之外,尚缺乏一个针对“开源”本身的权威定义。实践早已超越了将开源视为代码的狭隘视角。现实要求把开源看作一种鼓励创建软件生态系统和创新的开发模式,也是个人和公司进行合作的一种新型方式[10]24。这导致了开源概念在一定程度上的泛化和变异。在深度学习兴起以后,开源生态的复杂性使界定这一概念面临棘手难题:对于存在可训练参数的算法模型,仅仅开放源代码远不足以实现开放协作目标,开放协作的需求已延伸到模型参数、训练数据集、训练过程及应用指南等信息,而此时宣称开源的模型往往并没有完全开放上述信息,甚至仅仅是名义上的宣称开源[11],这就造成了当前界定“开源”的复杂棘手局面。OSI亦试图界定“开源人工智能”,但这一界定仍在持续讨论修改之中,2024 年8 月的0.0.9 版本采取的定义由两段话组成,其第一段为“开源人工智能是一种在特定条件和方式下提供的人工智能系统,这些条件和方式赋予了以下自由:(1)为了任何目的使用该系统,而无需请求许可;(2)研究该系统的工作原理并检查其组成部分;(3)为了任何目的修改该系统,包括改变其输出;(4)与他人分享该系统以供其出于任何目的使用,无论是否经过修改”。第二段为“这些自由既适用于完整的功能性系统,也适用于系统的各个独立部分。行使这些自由的前提是能够访问到可以对系统进行修改的首选形式”。其中,第二段中“可以对系统进行修改的首选形式”理论上包括源代码和参数等内容,这就使开源人工智能的概念可以产生相当于开源软件概念对开放参与者的赋能作用。然而,实践中能够满足这一界定的“开源模型”少之又少。这就需要合理界定“开源”的范围,确定人工智能开源治理的问题域。
无论研究何种“开源生态”,均须保持开源的核心诉求,即OSI在其开源人工智能定义中所界定的四种“基本自由”:自由使用、自由研究、自由修改和自由分享[12]。由于实践中的“开源”模型和项目的开放范围和程度参差不齐,在研究人工智能开源生态时,本文针对仅需要开源代码和需要开源参数等其他内容的项目进行区分处理:如果仅需开源代码,则采取已较为成熟的开源软件定义(十项标准);如果存在可训练参数,则采取开源人工智能0.0.9的定义;而对于内容构成十分复杂、体量巨大的大模型而言,允许上述标准的部分克减,但仍以“自由修改+再分发”的核心条件作为判断是否归属于开源的最低准则,因为开源项目的所有分叉(fork)都以“自由修改+再分发”为逻辑前提。满足“自由修改+再分发”的条件要求人工智能模型至少满足开放架构、代码和参数,如果开放的架构属于业内熟知的通用架构且无特殊设计(tricks),形式上也可以仅开放训练后的参数。基于此种界定方式,人工智能开源生态的多维图景可以得到简要的勾勒。
(二)人工智能开源生态的基本构成
人工智能开源生态的构成非常复杂,在最基础的意义上,这一生态由开源项目、开源平台和参与主体构成,三者均相当复杂,不可一概而论。
开源平台既包含Github、Hugging Face 等不同类型的开源社区,也包含零散的、不构成社区的各种可发布源代码等信息的网站。开源社区是以软件源代码为核心、来自世界各地自愿参与的开发者根据开源软件许可证协议,以分布式协作的模式进行开源软件的共同开发、维护和更新等知识创造与交流的虚拟网络化组织[13]。除了开源社区,开源项目发布者也可以选择其他网站发布开源项目,但此种零星的、个别的开源项目往往不具备开源社区的吸引力和参与规模,在风险治理上也更为棘手。开源社区通常对开源项目提供一套技术性的管理机制和第三方服务,如依赖项更新提醒、自动化代码审查、敏感信息扫描(Secret Scanning)等,虽然不是严格意义上的“管理”,却为开源生态治理提供了非常重要的助力。开源社区尽管有相当显著的公益性,但其自身并非公益性组织,几乎所有开源社区背后都有开源基金会的支持,甚至受基金会管理服务和运作控制。除通过重大开源项目树立影响外,开源基金会还可通过制定行业标准影响业界发展[14]。
开源项目既包括含可训练参数的人工智能模型,也包括仅包含代码的人工智能算法。如前所述,二者的开源要求存在显著差异。并非所有开源项目都能满足“开源软件”的标准,许多开源项目只是一些实现特定功能的程序,并不附带许可证,甚至限制修改和分发,又或者开放程度不足,这些都很难在严格意义上被称为“开源软件”。大模型的开源项目尤其复杂,一些模型采用广泛的开源方法,如OLMo Instruct 、BloomZ、AmberChat等,尽可能提供了参数、代码、训练路径和文档,接近完全开放状态;也有些模型利用“开放清洗”的战略,在不披露训练和调整过程的关键信息的情况下,增加开放的“印象分”,从而在很大程度上逃避完全开放将带来的科学审查和法律曝光,并非传统意义上的开源[11]。从接近严格意义上的开源到实质性的闭源中间存在一个维度复杂的谱系,从客观上要求开源生态治理必须采取合比例、精细化的措施。不仅如此,开源项目还伴随着复杂的许可证体系,目前实践中存在的开源许可证已逾百种,常见的就有十余种,许可证体系的复杂性也增加了开源生态治理的难度。
参与主体主要包括开源项目发布者、维护者、修改分发者、使用者和其他参与者(如评论者)。通常情况下,开源项目的发布者就是项目的维护者,但亦存在不少例外情形。在开源生态中,修改分发者的角色颇为关键,其贡献的各种修改版本可以进一步衍生出更丰富的二次、三次修改分发,形成整个开源项目的“树状结构”。在这种“树状结构”中,参与大型开源项目的修改分发者动辄数以万计,彼此间多数互不相识,形成了遍及全球的分布式协作结构。同样,来源广泛而分散的评论者也对开源项目的优化和完善有所助益,而开源生态的使用者更是有可能完全匿名。这就意味着开源生态的法律治理不能单纯地通过传统的监管机制和针对行为人的法律责任体系进行,而必须在一定程度上主动谋求契合和衔接开源生态自身的治理机制,深入理解人工智能开源生态的关键特性。
(三)人工智能开源生态的关键特性
1.自发运行
开源生态并不由开源社区或平台主导发展,而更多地呈现自发运行的状态。大量开源项目和参与者并非开源社区有组织、有计划地推动,而是项目发布者、修改分发者和其他参与者自发合作的结果,呈现“集市”式的互动形态。尽管开源基金会有组织、有计划地推动一些大型开源项目的发布和维护,但总体上绝大部分参与者是自发参与到开源生态中的。自发运行特性决定了中心化的治理机制效果有限,如果法律对开源社区设置了严苛的行为规范与监管制度,全球范围内的参与主体将可能“用脚投票”甚至“另起炉灶”。自发协作的发布者和参与者数量庞大,来源多样,彼此多不知晓对方身份,技术素养参差不齐,价值观念甚至可能存在强烈冲突,除修改分发开源项目外经常别无交集。因此,除承载最低共识的基础性社区自律机制外,其他传统的外部监管机制很难起到实质性的约束作用。
2.规模效应
人工智能开源生态自发运行的关键是规模效应。开源的本质是知识共享与协作[15],开源模式具有强大的资源汇集和协同创新优势[16],规模效应吸引参与主体的汇聚,形成Github、Apache Foundation 等大型开源社区。开源模式使得资源不断增长与集中,推动形成软件开发成本降低与产品快速迭代的双赢局面[17]。社区规模的增长不仅能够对开源社区产生持续的积极影响[18],还是影响参与主体转换开源平台的关键因素。由于规模效应带来的正向收益,参与主体在面临一定行为约束和规制负担时,并不必然选择更换平台,而是可能会在“转移阵地”和接受规制之间作一定程度的权衡取舍,这使得开源社区可以承受有限程度的规制负担,尤其是与开源社区所属企业所在国相应监管部门的合作规制。同时,规模效应也使得开源社区可以吸引数以万计的多元参与者和分支极为庞杂的开源项目,使得单纯依赖外部监管的开源生态治理路径寸步难行。
3.兼容衍生
由于开源软件放弃了自由软件的“强传染性”特征,开源软件或模型可以衍生出新的开源软件或模型,也可以衍生出闭源(专有)软件与模型,但闭源软件或模型就很少再产生开源软件或模型。开源在人员、技术、知识等方面都具有开放性,任何人都可以参与到产品的使用、改进、分享以及再发布的过程中[19]。不同的用户甚至可以在此基础上根据自己的特殊需要和特殊技术基础定制和研发软件的不同运行方式。不仅开源模型可以衍生出闭源的分支,开源的系统往往也可以兼容闭源的软件。开源操作系统具有兼容性,在开源操作系统(如Linux)上运行专有(非开源)软件已经变得司空见惯。主要的专有软件供应商,如IBM、Oracle 和Adobe 都可以在Linux 操作系统上运行[20]。相比之下,闭源软件呈现封闭性,有相对稳定的团队,且参与者分工明确,技术与知识成果不对外共享,甚至谋求生态系统的“闭环”(如iOS),与开源模型常不兼容,基本上也不会再向开源发展。此种“兼容衍生”的特性使得开源生态同时是开源与闭源软件与模型的培育者,即便是完全封闭的专有软件或模型,也有相当一部分组件来源于开源生态。这不仅对于打破技术封锁、推动创新发展的意义重大,也使得其作为整个人工智能技术发展的“源头活水”呈现鲜明的公共性,完全符合公共物品的消费非竞争性和收益不可排他性特征[21]37,需要在法律治理中与纯粹的私人物品(市场物品)相区别。
4.芜杂谱系
在彻底的开源与彻底的闭源之间存在一个芜杂的谱系,这一位于开源概念“概念边缘”的谱系为开源生态所包容。实践中存在五种与软件生产或分销相关的主流业务模型,这五种模型分布在封闭到开放的“连续统”中,除专有软件模式和开放社区模式外,还存在居于中间位置的企业分配(Corporate Distribution)模式、赞助开源(Sponsored Open Source)模式和第二代开源模式(Second-Generation Open Source)。这三种模式中,项目发布者(通常是企业)都发挥着特殊的作用:赞助开源模式中,企业通过赞助开源项目获取若干特权,如获得品牌曝光度或优先支持;企业分配模式中,企业为项目用户并提供附加的(付费)服务如技术支持、定制开发或维护;第二代开源模式中,企业通常实行双重许可策略,提供商业许可和开源许可两种选择:客户可以免费使用产品(开源许可证),但如果他们希望修改源代码或将其集成到自己的商业产品中,则可能需要购买商业许可证[22]。即便是仅就“开放”这一行为而言,也存在一个过渡性的谱系:在完全封闭(Fully Closed)到完全放开(Fully Open)的中间,还存在逐步或分阶段进入(Gradual or Staged Access)、托管访问(Hosted Access)、基于云或API 的访问(Cloud-based or API Access)、可下载访问(Downloadable Access)等访问等级[23]。对此,在彻底的开源与彻底的闭源之间存在一个相当芜杂的谱系,这一谱系为开源生态所包容。对此,法律规则难以在开源与闭源之间划出截然清晰的界限,较为合理与稳妥的方法为在彻底开放与彻底封闭中间,设定谱系式、多阶次的治理规则。
5.内容复杂
人工智能开源项目的内容颇为复杂。OSI 关于开源人工智能的定义远不能涵盖人工智能开源生态的全貌。开源项目包括了以下几类内容:(1)开源框架,如tensorflow、pytorch、keras、paddlepaddle 等,提供了一套结构化的、可扩展的软件库和接口,集成了一系列预先定义好的组件和工具;(2)开源构件,如opencv、word2vec 等,可以用于人工智能程序模块的构建;(3)开源辅助工具,如ONNX、rnn-benchmarks 等,可用于模型的交换、优化和评估;(4)开源普通模型,如AlexNet、ResNet-50、stable diffusion 等,不包含经过预训练而学习了海量知识的参数;(5)开源大模型,如llama、BERT、通义千问等,其中的参数潜藏了大量现实世界的知识;(6)开源数据库,包括普通数据库和向量数据库,其中向量数据库本身就是大模型的“记忆体”。不同层次的开源内容形成了对人工智能技术及应用的全方位支持,完全脱离开源生态的主流人工智能模型及工具几乎不存在。几乎所有大型闭源项目都包含开源要素,脱离开源生态亦无从发展。因此,治理开源生态不能“一刀切”地实行屏蔽或禁止,必须精准地针对开源内容的类型采取合理对策。
二、人工智能开源生态的法律治理需求
人工智能开源生态的法律治理需求是多方面的。法律治理并不意味着单纯的风险规制或监管,还意味着通过法律进行适当的引导和支持。开源生态正在为人工智能乃至更广泛范围的新质生产力发展持续提供极为关键的基础性支持,尤其对于我国处于技术追赶者角色的部分领域和行业而言,开源道路更是必不可少的发展路径和资源获取途径,这就意味着开源生态的法律治理必须充分考虑多方面的目标和需要,条分缕析地检视人工智能开源生态的法律治理需求,是确立治理原则与机制的必要前提。
(一)发展需求
人工智能开源生态的法律治理首先需要考虑发展需求。对开源生态的引导和支持对人工智能及相关业态、行业、产业的发展起到至关重要的作用,建立起发展导向的开源治理法制也是健全发展新质生产力体制机制的需求。据统计,2015 年85%的商业软件在使用开源软件,95%的主流IT企业在其关键任务系统中使用了开源软件;2016年,当世界排名前十的IT 跨国公司开发产品和服务时,80%的软件创新成果来自企业外部的开源软件,而企业内部自创成果只占20%;2019 年,在被审计的2000 个商业软件中,99%的软件使用了开源组件[5]。企业参与开源项目的动机包括降低成本、提高代码质量或服务、提高竞争力、建立标准、实现兼容性等多种原因[7],即便没有参与开源项目的信息技术企业和应用信息技术、数字技术、人工智能的实体企业,经常也是开源项目或项目内容的使用者。整体上,开源已成为科技产业发展的重要技术支撑,在大数据、人工智能、云计算等新兴信息技术领域发挥着重要的推动作用[24]。例如,大数据的核心技术如分布式存储、云计算等均依赖于开源模式,当前全球各大企业如微软、谷歌、Vmare、EMC 等也都在开源的大趋势下纷纷开放了自身部分核心技术代码,加大了对开源的赞助和投入[25]。
因此,人工智能开源生态治理必须同时考虑开源生态对其他信息技术和产业的全面支持,充分关注技术、产业乃至经济社会方面的发展目标与需求,不能简单地秉持“基于风险的路径”这一态度推行各种监管措施。发展导向的法律治理体系既要求采取综合性的引导和支持措施,积极培育与保护国内人工智能开源生态,也要求保证无障碍地参与全球范围内的人工智能开源生态,毕竟目前绝大部分关键开源框架、模型、构件、工具等仍然来源于其他国家和地区。单纯的封禁不仅可能对社会经济和新质生产力发展、提升综合国力和实现国家战略造成严重伤害,还有可能不利于安全目标的实现,因为大量安全相关构件和工具也依赖于全球开源生态的供给。以法律治理支持人工智能开源生态的发展需求,就是要通过法律规范确立对开源生态的认可与支持,为一系列引导、支持和鼓励开源生态发展的政策措施提供法律层面的授权,为破除不利于人工智能乃至整个新质生产力发展的体制机制障碍提供权威依据。
(二)安全需求
人工智能开源生态的法律治理如何适当考虑安全需求,是此方面法制建设的关键。国内相关立法中的安全需求包括网络安全需求、数据安全需求、科技安全需求、个人信息保护需求和信息内容生态监管需求。《网络安全法》、《数据安全法》、《个人信息保护法》、《网络信息内容生态治理规定》以及多省市科技领域相关地方立法明确规定了这些目标,《中共中央关于进一步全面深化改革、推进中国式现代化的决定》明确提出:“构建科技安全风险监测预警和应对体系,加强科技基础条件自主保障。”人工智能开源生态可能造成的安全风险主要包括:(1)开源软件、模型均允许用户进行自由修改和再分发,对开发违法犯罪工具而言客观上提供了便利。利用开源软件制作、发布违法和不良信息或者病毒木马的事例不在少数,对网络安全、数据安全、个人信息保护和网络信息内容生态造成了恶劣影响。(2)开源软件和模型容易造成敏感数据的泄露。例如,开源软件的部分配置信息中涉及账号密码等敏感信息,如果不对代码进行审核检查,可能会造成大量敏感信息与数据随着代码的共享而泄露[26]。在2020 年开源漏洞TOP10CWE 缺陷类型中信息暴露位列第四,数量高达305 个[27]。(3)开源软件、模型本身风险暴露在外,尽管有众多参与者积极维护,仍难免存在部分高危漏洞被恶意利用的可能性,尤其是涉及国家关键领域安全之时,此方面的风险决不可忽视。中国人民银行等五部门在2021年专门发布的《关于规范金融业开源技术应用与发展的意见》中指出:“金融机构应当把保障信息系统安全作为使用开源技术的底线,认真开展事前技术评估和安全评估,堵塞安全漏洞,切实保证技术可持续和供应链安全,提升信息系统业务连续性水平。”此即国家重视开源技术对信息系统安全威胁的例证。(4)开源软件、模型自身的安全水平参差不齐,中小型开源项目尤其缺乏质量保障机制。开源项目通常依赖于第三方软件库,往往伴随易理解性、可维护性、性能降低和构建失败等风险,导致多样化的依赖缺陷问题[16]。一些开发人员在贡献出自己的代码后,疏忽维护与安全更新,给后续使用者造成极大的不确定性。一旦具有大规模用户基础的开源软件存在安全漏洞,势必会影响整个软件行业的安全[28]。同时,大量过期和“废弃”的开源组件也增加了安全漏洞风险[14]。根据新思科技《2024 年开源安全和风险分析报告》显示,在经过风险评估的代码库中,84%包含漏洞,74%包含高风险漏洞。而且在2022 至2023 年间,高风险漏洞增加了54%[29]。
不仅如此,开源生态的特性决定了上述风险的复杂性和扩展性,尤其是漏洞传播导致漏洞修复难度增大[30]。项目的代码库可能包含数百或数千个内部依赖关系,代码的任何部分被修改可能会引发其他部分出错或不稳定[3]。上游开源组件中一旦发现有严重漏洞,就会直接或间接地影响依赖它的下游开源软件,同时通过开源软件之间错综复杂的层级依赖关系的传播后,该漏洞隐匿在深层依赖的应用中更不易被发掘。因此,开源生态的法律治理必须充分考虑上述安全风险,对涉及网络、数据、科技安全的关键部门和领域实行有计划、有重点的保护。
(三)权益保护需求
人工智能开源生态的法律治理还必须在一定程度上考虑权益保障需求。由于安全需求的兑现可以同时实现对个人信息权益保护需求的有效覆盖,此处主要考虑新型知识产权的法律保护。2021 年10 月,国务院印发的《“十四五”国家知识产权保护和运用规划》提出:“健全大数据、人工智能、基因技术等新领域新业态知识产权保护制度。研究构建数据知识产权保护规则。完善开源知识产权和法律体系。”自由软件运动创造的“copyleft”一词尽管也被开源生态参与者使用,但在开源软件中不应被理解为放弃著作权。开源运动虽起源于自由软件运动,但二者对知识产权保护制度的态度相反:后者持批判与反对态度,而前者持认可与尊重态度,通过发放软件许可证的方式倡导软件源代码开放、自由和共享的理念[31]。因此,开源软件在性质上属于软件著作权许可的一种独特模式。在该模式下,开源软件不但没有放弃著作权,而且通过选择开源软件许可证寻求著作权保护,实现了著作权保护和源代码共享的双重目标,有效平衡了私人利益与公共利益[31]。开源社区的知识产权规定是对开源许可协议的重要补充,开源软件使用者同样应当遵守[5]。近年来,国内开源生态发展迅速。然而,开源软件涉及的开发者与贡献者众多、开源许可证专业复杂且种类众多难以选择[32]、企业对开源软件以及各类开源许可协议的理解不全面不准确[31]、开源许可证执行难[3]、贡献者滥用权力[33]等原因导致国内开源软件知识产权冲突事件频发。具有代表性的案例有济宁市罗盒网络科技有限公司与广州市玩友网络科技有限公司等侵害计算机软件著作权纠纷案①、网经科技(苏州)有限公司诉亿某通信科技有限公司等侵害计算机软件著作权纠纷案②、南京未来高新技术有限公司诉江苏云蜻蜓信息科技有限公司、刘某侵害计算机软件著作权纠纷案③等案件。这些案件暴露了我国目前对开源软件知识产权保护力度不足等问题,在开源软件作品性质认定、开发者认定、开源许可协议的性质认定以及与我国法律衔接等方面缺乏清晰的规范[34],亟须进行填补与细化。相关案件也体现了开源许可理念与产权保护的价值冲突,产权保护的传统理念为通过授予作者对作品的暂时垄断权以鼓励作者创新,而开源许可协议以促进信息交流而非保护为目的,利用产权保护制度推进作品共享[35]。因此,为了应对开源对知识产权保护的冲击与挑战,从法律层面调适知识产权保护理念、完善开源知识产权保护体系亦为人工智能法治建设所必需。
基于上述法律治理需求,人工智能开源生态的法律治理亟须确立适当的原则,指引开源治理规则体系的逐步成型。开源是人类历史上罕有的跨国界、无身份、多分支、强包容的开放性协作形态,其关键特性要求治理原则必须突破传统的规制思维而另辟蹊径。
三、人工智能开源生态的法律治理原则
人工智能开源生态的法律治理原则应充分考虑开源生态的关键特性和治理需求。自治理需求层面观之,目前发展需求不仅显著强于安全需求,且安全需求的充分实现也离不开人工智能开源生态的繁荣发展,在一般情况下遵循发展导向原则。自治理主体层面观之,开源生态由全球范围内的众多复杂参与主体构成,一国一地不足以独立完成治理目标,需要遵循国际合作原则。自治理方式层面观之,应紧扣开源生态的特性,尽量避免仅依靠外部监管施加强力干预乃至禁止的手段,而应以监管者和开源社区的合作为主线,在传统监管措施力有不逮之时,引入基于影响力的“治理措施工具箱”,践行敏捷影响原则,探索实施敏捷治理。自责任分配层面观之,应尽量避免摧毁开源项目的整个树形结构,推行由引起不法后果的末端分支承担法律责任的末端责任原则。
(一)发展导向原则
人工智能开源生态的法律治理首先必须承认开源生态对科技和产业发展的重大基础支撑作用,进而确认发展目标的优先性。法律治理包含多种多样的取向,应当确保这些取向在常规情形下的优先次序符合我国的战略目标和建设需求,而其中最重要的是人工智能乃至新质生产力的发展需求。《中共中央关于进一步全面深化改革推进中国式现代化的决定》明确将“新领域新赛道制度供给”、“未来产业投入增长机制”与(人工智能等)“战略性产业发展政策和治理体系”相关联,要求“健全相关规则和政策,加快形成同新质生产力更相适应的生产关系”,体现了鲜明的发展导向,并且强调生产关系需要适应新质生产力。
开源生态作为新领域新赛道中众多关键共性技术和前沿引领技术的源泉,对于新一代信息技术和人工智能的发展举足轻重,必须强调发展导向原则,防止因噎废食和片面的风险规制思维。并非所有风险都需要实施专门性的规制和监管,诸如多元开发者自由参与导致的资源浪费、专有软件融合强传染性开源许可组件而导致被迫开放等“风险”[36]25-26,实际上从属于自由探索或优胜劣汰的科技研究或市场竞争过程。即便是就其作为违法犯罪工具的可能性而言,所有平台、资源和工具都有可能被利用于违法犯罪目的,对于大部分风险而言,除依照预防原则建立风险防控措施外,通过既有立法中的各类行为规范足以实现规制目标并使风险维持在合理水平。法律治理体系应当首先关注如何培育、支持和发展人工智能开源生态,例如引入已在欧盟得到一定程度认可的“开源豁免”规则,认可完全免费、无任何使用限制且面向全体用户的开源项目在推动技术普惠和创新方面发挥的关键作用,酌情授予此类项目以适当的规制负担和法律责任豁免[36]30。而对于开源生态引起的各种安全风险,亦应谨慎采取严厉的监管措施,注意推行全面稳慎的政策效应评估,对收缩性、抑制性的规制措施(含行政立法)进行审慎的前置性审查,防止“无限泛安全化”的思维影响国家战略实施、经济社会发展和科技进步。
(二)国际合作原则
人工智能开源生态是全球性、开放性的生态,主要的开源社区多由国外市场主体发起和维护,因而开源生态的法律治理离不开有效的国际合作。单纯依赖国内监管措施不仅无助于开源生态的风险治理,额外的规制负担还可能导致“用脚投票”,使方兴未艾的国内开源生态进一步受到削弱,而在未来人工智能乃至更广范围内的技术发展受制于人,更增加风险。然而,开源生态治理的国际合作原则虽容易得到宣示和强调,却难以贯彻落实。与相关国际组织、主要开源基金会、开源社区及其总部所在国的合作并非易事。此处必须明确一项基本认识:国际合作并非强求对方接受我方价值理念、风险偏好和监管立场,而是尽可能地寻求形成基础共识并推进可能范围内的利益交互,使各方有机会相向而行。积极接纳开源生态的价值理念及生产关系,才有可能发现国际合作的潜在路径与空间,进而谋求日益充分的参与、渗透与协力,共同推动开源生态发展与治理。由此,国际合作原则客观上要求我国更高程度地参与开源生态的建设与运行,更深入地认识与理解开源生态发展规律,获得更多联合制定治理规则和形塑治理方案的机会。
(三)敏捷影响原则
人工智能开源生态的法律治理不能仅依靠传统的“命令—控制型”监管措施,不仅容易引起“寒蝉效应”和替代效应,对全球范围的主要开源社区和参与者更是鞭长莫及。敏捷治理主张不断发掘拓展新的治理工具和治理方法,面对不确定性场景,选择灵活的、动态的、临时的治理工具,以提升治理的灵活性[37]。敏捷治理可以在一定程度上缓和传统监管措施带来的弊端,但如果是仅基于“命令—控制型”监管措施的敏捷治理,即便“过程快、力度轻”,也不足以克服上述效应,更不可能实施“长臂管辖”。对此,应当探索发展基于影响而非支配作用的“治理工具箱”,寻求对开源生态的影响和引导;不求彻底消除开源风险,而是谋求引导参与主体的自发配合,提供治理方面的支持。例如,通过制度化的激励,可以引导参与主体及时发现和报告开源项目的潜在风险和隐患;通过软件供应链“黑白灰”名单的建设④,可以促使开源项目发布者和维护者注重开源项目的质量,提升开源框架、构建、工具或模型的安全可靠程度;通过公开的开源项目安全漏洞披露和安全风险警示机制,可以引导使用者采取措施防控风险,同时引导维护者和修改分发者完善相关项目;通过资源配置机制同重要开源项目、模型的发布者与维护者建立合作关系,可以引导其配合风险防控需求替换或完善项目;等等。“治理工具箱”中的这些政策工具并非确凿不移之“定式”,通过持续的政策实施效果评估机制,治理措施可以持续探索发展、更迭淘汰,实现敏捷治理。由此,基于政府公信力、制度化激励和产业政策空间等资源的合理运用,政府能够以一定“政策杠杆率”影响人工智能开源生态参与主体的行为,对开源生态施加实际性的规制影响力。
(四)末端责任原则
利用开源生态实施违法犯罪行为者应负相应的行政和刑事法律责任。在人工智能开源生态的法律治理中,一般不可使此种法律责任延及项目或模型的整个树形结构,而应由与引起违法后果直接相关的末端分支的修改者承担责任,无论此分支是否体现在开源社区的树形结构中,甚至无论其属于衍生的开源或闭源软件、模型,除非项目或模型本身就直接用于违法犯罪之目的,且发布行为本身即严格满足违法或犯罪构成,否则法律责任应尽可能不波及树形结构的主干部分或主要大型分支,这一原则也可以被形象地称为“避免砍树原则”。据统计,每种程序语言生态中直接依赖软件库的小幅线性增长会导致间接依赖软件库数量的指数增长[16],对于一个演化时间较长的大型项目而言,“砍树”将波及为数众多的间接依赖软件库,引发深远的冲击。即便是国内开源平台,一个大型开源软件或模型也可能涉及成千上万的下游开发者及更广范围的最终用户,并且涉及参与主体对开源平台的信心与选择,“砍树”的直接和间接负面影响几乎无法估量。坚持末梢责任原则,有助于坚守刑法和行政处罚的谦抑性立场,保证法律规制的合比例性,保护开源生态的可持续发展。
上述法律治理原则对于人工智能开源生态的治理可以起到整体性的指引作用。当然,仅有这些原则尚不足以发展出开源生态治理的整套法律机制,仍然需要一个基础性制度框架指引具体规则的逐步建立。
四、人工智能开源生态治理的主要机制
鉴于人工智能开源生态尚在快速发展演化中,不确定性和治理难度都较为突出,直接构建开源生态治理的具体规则尚不现实。不过,基于开源生态的关键特性与治理原则,当前国家可以探索建立由若干主要机制构成的基础性制度框架,为未来开源生态法律治理的逐步完善筑牢基石。
(一)开源类型辨识机制
由于开源生态参与主体广泛、谱系繁芜、内容复杂,治理规则必须具备一定规则精度方能与开源生态的复杂性相匹配。规则精度的提升必然伴随一定形式的类型化或层级化划分,在开源生态的法律治理中,对开源类型的辨识是实现此种精度提升的基石。由于开源方式和内容的多样性,开源类型的划分方案必然为数众多,但关键在于如何使类型划分具有足够的治理价值,即能使不同类型明确对应不同规则群或规制措施体系的不同分支,避免规则过于复杂。建议以完全免费开源软件为蓝本,在三个维度上对开源项目进行细分:一是分化维度,最主要的标准是参与者实际上有无可能自由修改和分发而形成新的分支,如果仅是宣称开源而限制自由修改的可能性,则无法形成自发性的多元分支结构和分化传播结果,大部分情况下并不需要适用开源生态治理的专门规则。二是资费维度,根据是否存在后续付费服务、是否包含付费商业许可,可对有偿开源分别引出针对商用开源(企业分配开源)和售证开源(第二代开源)两套可独立亦可叠加适用的规则,平衡项目发布者与使用者的权益。三是内容维度,根据开源内容是否集成功能模块、包含训练后参数,同样可以分别引出针对开源框架和开源模型的两套规则,前者主要可以作为关键共性技术乃至新型数字基础设施受到更充分的鼓励与支持,后者则在鼓励与支持的基础上,需要在一定程度上接受基于网络信息内容生态治理和数据安全法律的规制(例如大模型的参数张量隐性“存储”了大量学习过的知识与信息),但亦需要注意坚持发展导向原则。此三项维度的基础性划分可基本承载当前开源生态治理的规则精度需求,实施精准的敏捷治理;如果需要更细的概念粒度和更高的规则精度,可以进一步拓展类型划分的维度和层次。
(二)开源许可限定机制
开源软件如同商业软件一样,是根据许可证发布的,除非代码作者选择将他们的软件奉献给公共领域[3]。开源许可认证机制实现了开放共享与负责任使用的平衡。作为对开源软件的限制,开源许可证为开源社区提供了一种自我管理和自我监管的手段,促使人工智能系统的使用符合伦理和负责任的标准[32]。开源生态治理的难点之一在于许可证的种类极为丰富,不同种类的许可证可能共存于一个项目中,对知识产权保护和供应链安全造成困扰。许可证条款划分为十个维度:许可证的基本信息;序言;定义条款;授权条款;义务条款;违约与授权终止条款;担保与责任限制条款;准据法条款;许可证版本与兼容性以及许可证使用说明等。其中许可证的基本信息、授权条款中的版权许可、义务条款、担保与责任限制条款等为开源许可证中的常见条款,其他条款通常根据许可证制定方的需求进行相应说明[38]。伴随开源许可证种类的不断增加,种类繁多的开源许可证给开源软件的使用带来了巨大挑战。如开源软件开发过程中开源许可证的合规使用、选择、检测以及兼容性等问题[39]。通常情况下,开源许可证的适用应当尊重项目发布者(部分情境中延及修改分发者)的选择,但在涉及重大公共利益的特定场景中,相关法律规范可以径行限定许可证的种类或必要条款,引导使用开源软件或模型的供应方选择具有适配许可证的开源项目,避免因许可证方面的争议干扰国家公共服务职能履行、重大项目研究或公共工程建设等公共利益。此种许可限定机制亦能与我国巨大的市场空间结合,发挥一定规制影响力,引导开源项目发布者选用权责清晰、风险可控、符合法律治理需求的许可证,并以此为基础不断完善法律认可的“许可池”,引导本土开源生态的健康发展。
(三)开源风险防控预案机制
人工智能开源生态的法律治理包含丰富的安全需求,风险防控机制自然不可或缺。由于开源生态的前述特性,此种风险防控机制不能仅依靠“命令—控制型”措施实现,还需要通过对风险的充分研判和风险覆盖范围内实施的精准防御实现,这就要求建立开源风险防控预案机制。此种预案机制应当包括开源风险探测与研判、快速报告、分类响应、应急处置等内容,而对开源项目风险发生可能性及影响范围、程度的研判为其重中之重。根据风险类型和程度的不同,相关的处置措施可以包括一定范围内发布警示信息、直接修复漏洞、发布补丁、调整“黑白灰”名单、启动技术防御系统、替换备用软件或模型、排查和中断使用乃至紧急切断特定连接等。开源风险防控预案越完备,人工智能开源生态治理的发展目标与安全目标就越有望得以兼容实现。当然,面对开源风险的复杂性和不确定性,即便有众多风险事件可供参考,风险防控预案亦难以一蹴而就臻于完备。但在开源风险无法避免及影响日广之际,此种机制必须及早建立,不断积累风险防控经验,最大限度地兴利除弊、消减灾难性影响与走向极端严厉规制的可能性。
(四)政府社区合作治理机制
开源社区是参与开源生态治理的关键主体,应当自始至终参与开源生态的法律治理并作出与其资源和能力相称的贡献。开源社区本身往往已经为开源项目提供了一系列行为规范和治理工具,并且在一定程度上了解开源生态的运行规律和风险发生路径,可以为法律治理提供有益参考,如能协助政府开展合作治理,则对实现法律治理目标大为有利。因此,建立“政府—社区”合作治理机制势在必行。首先,此种合作应当是在规则制定层面的合作,即政府应当吸收开源基金会、开源社区及重要开源项目的代表参与制定人工智能开源生态治理方面的法律规范、政策及标准,强化治理规则的共识基础,提升规则的专业性、针对性与可接受性。其次,政府(以及政府部门下属相关公共机构)应当通过各方可接受的方式积极参与开源基金会与开源社区的建设与运营,实现深度合作,通过嵌入开源生态的公共事务代表在其内部发挥影响力与引导作用。再次,政府可以积极参与公共利益相关开源项目的开发与审查,开源软件代码的可审核性、代码免费且可修改等特性较之同类闭源软件更为符合政府的需求[40],而开源社区与项目维护者可以配合政府进行此项工作,强化合作途径和特定项目的合作治理。最后,政府可以积极发出邀约,并通过敏捷治理政策工具箱发挥规制影响力,激励和引导开源基金会、开源社区与政府就特定事项展开合作,逐步建立起具有共识和共同利益基础的合作机制。由此,针对人工智能开源生态治理的关键合力得以形成,为治理机制的后续建设提供源源不断的驱动力。
五、结语
人工智能开源生态的法律治理或许需要较为漫长的过程方能臻于成熟,本文所提出的原则与机制亦仅属抛砖引玉的框架性建议。这一复杂的新生事物将持续全方位考验我们的制度视野、专业水准、合作能力、包容性与平衡度,也将成为数字法学研究者共同面对并持续耕耘的重要议题。无论如何,我们必须尊重一个基础性的事实:开源生态造就了人工智能的繁荣。浩如烟海的开源框架、构件、工具、模型、数据库为人工智能的发展演化提供了巨大的支持。开源生态承载着人类历史上前所未见的新型协作模式和生产关系,人工智能开源生态的法律治理亦属全新的挑战。我们必须避免因循守旧、刻舟求剑陷入片面的、简单的风险规制路径,而需要以更全面、更深远的视角把握开源生态治理的复杂需求。
注释:
①(2019)粤73知民初207号。
②(2021)最高法知民终51号。
③(2021)苏01民初3229号。
④“黑白灰”名单是对“黑白名单”的扩展:一是“白名单”,即对经过严格检查,证明无漏洞或已能完全克服漏洞及安全缺陷的代码片段和软件,纳入自主建设,安全可靠的软件库/代码源;二是“灰名单”,即对安全隐患较小,未知漏洞有限的代码片段和软件,在允许限制性运用的同时,应根据其所运用的具体情况保证一定安全冗余度,并持续进行安全审查和优化,争取尽快达到“白名单”的标准;三是“黑名单”,即对漏洞不明,安全隐患大的代码片段和软件在一定范围内禁止使用,并对其中具备重要功能者抓紧进行安全改造,促使其向“灰名单”乃至“白名单”过渡。
(参考文献略)
END