分享

人工智能技术与开源软件

 漫步之心情 2021-08-14

作者:王红燕 徐琳

#信息和智能技术# #人工智能#


人工智能技术与开源软件

2021年5月,中国新一代人工智能发展战略研究院在第五届世界智能大会上发布《中国新一代人工智能科技产业发展报告·2021》。报告显示,2020年度中国的人工智能科技产业发展势头强劲,在新冠疫情的冲击下,进一步刺激了社会对产业智能化的潜在需求,人工智能已经成为新一代产业改革的核心驱动力。

1956年,计算机专家约翰·麦卡锡提出了“人工智能”[1]一词,主要是指利用计算机技术模仿人类思维的工具,这也被人们认为是人工智能正式诞生的标志。在这之后的几十年时间里,计算机技术的使得机器人、语言识别、图像识别、自然语言处理等技术的发展获得了突发猛进的进步,人工智能时代的开启越来越近。

然而,人工智能技术发展的同时也带来了诸多社会问题,例如部分工种逐渐因技术的进步而消失、造成了社会失业人群比例上浮、不知情的机器操控等情况。2021年4月21日,为促进欧盟地区人工智能技术的使用、投资和创新,欧盟委员会通过了《人工智能法》提案,旨在建立关于人工智能技术的统一规则。根据欧盟委员会的定义,人工智能技术是指采用官方所列明的一种或多种技术和方法开发的软件,并且能够针对特定人群或具体目标产生诸如内容、预测、建议或决定等一系列影响其交互环境的输出技术。提案将人工智能技术可能存在的风险划分为不可接受的风险、高风险、有限的风险和极小的风险,希望通过有效的监督措施推动人工智能技术的良性发展。

一、开源软件对人工智能技术发展的影响

人工智能技术的发展离不开基础研究的深入,这一技术的发展非常迅速,科技巨头们都在着眼于构建具有活力的开源社区,以便拓展自身的开源生态圈。2015年,谷歌推出了其开源框架解决方案TensorFlow,它是一个用于机器智能的开源软件库,吸引了不同的企业到这个平台训练他们的模型,这个系统的通用性使其也可广泛用于其他计算领域。Facebook也推出了Caffe2框架,旨在让微软和亚马逊等主要市场参与者和社交网络的PyTorch框架一起使用这个平台。[2]开源平台的发展确实让企业获得了更多创新力量,他们推出的深度学习开源平台在全球人工智能领域占有很大的份额。截至目前,知名开源社区GitHub上已经汇集了6500多万的开发者、300多万家公司和机构,拥有超过2亿的代码库,其中人工智能项目的占比很高,人工智能代码开源已经成为了发展的主要趋势之一。[3]2021年7月8日,中国科学院院士梅宏在世界人工智能大会上提出,人工智能的快速发展离不开代码开源和数据开放,高质量的开放数据促进了深度学习算法突飞猛进,深度学习框架极大提升了算法开发的效率,两者相辅相成。[4]

在大数据产品领域中,基本上所有的数据库产品都绕不过使用 MariaDB 、PostgreSQL 和 MongoDB等开源数据库的核心代码。著名手机系统安卓系统也采用了Linux内核项目,而该项目本身也是开源软件。开源软件的运用使得其他使用者不用从头开始开发一个全新的系统,只需要在已有的开源项目的基础上进行修改和定制即可,最重要的是,开源软件通常是免费的,这在很大程度上刺激了行业创新的积极性。

我国的人工智能开源项目正处于起步阶段,2018年中国人工智能开源软件发展联盟发布的《中国人工智能开源软件发展白皮书(2018)》中指出,人工智能开源软件是驱动人工智能技术创新和应用的重要支撑力量。2021年两会期间发布的《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》中也指出,“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务。”目前,我国已经打造了OpenI启智平台、之江天枢人工智能开源平台等项目,为人工智能行业的发展提供新动力。

二、开源软件的特点

1.什么是开源软件?

开源软件对人工智能技术的发展至关重要,那么了解开源软件的法律性质就成为使用开源软件的前提。开源软件通常被认为是指开放源代码的软件,任何人可以查看、修改或者增加其源代码。开源软件与专有软件不同,专有软件的使用需要经过作者的同意或者获得授权,一般情况下还需要支付费用。而开源软件是由其作者将源代码公开在网络上,任何人可依据开源协议的要求使用相应的源代码。开源软件仍然属于作品,受到著作权的保护,开源软件的作者仍然对其公开的源代码享有著作权。需要明确的是,在没有任何前提地公开源代码并不意味着任何人可以随意使用,相反,根据各国著作权法一般的规定,著作权人对源代码享有权利,任何人不得未经同意复制、使用、传播其作品。因此,如果作者希望更多的人能够来使用、修改、完善自己发布的代码,其可以通过选择相应的开源协议,通过建立作者与使用者之间的授权许可关系,免除使用者的侵权责任。

2.与开源软件有关的机构

既然开源协议对使用者的行为提出了相应的要求,那么又由谁来保证使用者实际遵循了这些要求呢?1985年,理查德·斯托曼发起成立了自由软件基金会(Free Software Foundation,FSF),它是一个致力于促进计算机用户自由的非营利组织。最初成立该组织的目的是为了促进自由软件的开发,目前该协会自身就拥有GNU操作系统的版权。除此之外,通过协议签署,FSF已经拥有大多数GNU软件和其他一些自由软件的版权,以便FSF可以通过诉讼要求使用者履行开源协议项下的义务。

早在2008年,思科公司曾因为其销售的无线路由器Linksys WRT54G的固件中使用了GNU/Linux系统但未向用户发布所有的源代码而遭到FSF的起诉。在此之前的几年中,FSF一直尝试与思科公司沟通希望说服其主动发布产品源代码,但是并没有得到有效的回复。在诉讼过程中,双方最终达成和解,思科公司将任命一名免费软件总监,负责使Linksys品牌产品符合GPL授权方式,并向FSF汇报相关情况。思科公司还将告知现有Linksys客户他们的权利,并在网站上发布产品源代码,将源代码反馈给FSF。

除了拥有开源软件版权的机构,开源软件的作者自身也可以依据开源协议的内容进行维权。社区维权[5]被认为是更理想的维权方式,不过在开源社区中,大多数人认为更主要的努力方向是促使使用人合规,而不是惩罚。[6]

3.开源协议主要类型

(1)开源协议的主要内容

开源协议是软件开源时使用了许可证,其主要作用是规定了许可内容,以便使用人能够自由地使用作者发布的源代码,而不必担心侵权他人版权的问题。一般的软件许可协议中会规定许可使用的期间、地域范围,权利类型,许可的具体权利,如复制、修改、传播、收费等权利。某些开源协议中还会对代码有关的专利许可进行约定。

(2)常见的开源协议

目前比较常用的开源协议有GNU General Public License (GPL)、Apache License 2.0、BSD licenses、 “Lesser” General Public License (LGPL)、MIT license、Mozilla Public License 1.1 (MPL)和Common Public License 1.0等,已有的开源协议已经多达八十几种。

类型

简介

GPL:由自由软件基金会发行的用于计算机软件的许可证。

目前大多数的GNU程序和超过半数的自由软件使用此许可证,知名的Linux就是采用了GPL。GPL允许代码的免费使用和引用、修改、免费使用,并且要求修改后和衍生的代码做为闭源的商业软件发布和销售。这就导致任何基于GPL许可证项下代码修改的衍生产品在向公众提供时的同时需要公开其源代码。支持者认为GPL保证了代码自由的延续,任何基于前人智力成果创作的新产物也必须向公众免费公开;而反对者则认为,GPL的强制开源要求会导致企业不再愿意选择为GPL的开源代码的创新做贡献,因为他们不愿意将自己的衍生产品开源。

LGPL:直译是更少限制的GPL。

它允许衍生产品作为闭源产品,这也是考虑到私有软件闭源的需求,促进开源软件的应用和推广。这也是使用GPL发布的开源软件风险度较高的原因所在,绝大多数诉讼都是由于企业未能发布应用GPL开源软件衍生品的源代码而引发的。

Apache License 2.0

其允许代码修改,再发布,且不需要强制衍生产品的开源。但是如果修改了代码,需要在被修改的文件中说明。在衍生产品中需要包括原来代码中的协议、商标、专利声明和其他原来作者规定需要包含的说明。Apache License对于商业应用来说是较为友好的许可类型,使用者可以修改代码并作为自己的商业产品进行销售。

MIT许可证

MIT许可证是更为宽松的许可证类型,使用者可以使用、复制、修改软件,并且将其作为商业软件发布,MIT唯一的限制就是在软件和软件的所有副本中必须包含版权声明和MIT许可声明。

三、使用开源软件的主要风险

1.开源协议的法律风险

在开源协议的背景下,选择适合企业情况的许可证至关重要,这决定了软件使用者的自由程度。如果选择得当,企业可以享受开源社区便利的同时提高自身产品的适应性。但是选择不当,则有可能为衍生产品的使用埋下隐患。

(1)GPL许可中的强制开源

GPL协议具有高度的“传染性”,其允许第三方对开源的代码进行免费使用、修改,但是不允许将修改后的代码作为闭源的商业软件发布和销售。著名的Linux内核开源项目就是使用的GPL协议,由于使用Linux内核开源项目的上层服务不可避免地会涉及到调用Linux内核的文件,如果将该行为视为创作了衍生产品,那么将导致上层服务的源代码将会被受GPL协议控制的Linux内核开源项目所“传染”,从而需要接受GPL协议。这就形成了一个以Linux内核开源项目为核心的传染源,任何基于Linux开发的内核到驱动到中间服务到上层应用都受到GPL协议的控制,在符合发布软件的条件下需要向大众开放源码。不过Linux内核的作者Linus Torvalds以及内核开发人员多次澄清普通系统调用为非GPL的作用范围,也就是允许 Linux 用户空间的程序使用其他许可证。

2018年,软件自由保护协会(Software Freedom Conservancy)罕见地在其博客对某知名车企的GPL合规问题的细节进行了披露。SFC指出,其从2013年6月以来就收到多起有关S车型的GPL违规报告,该车型搭载的车载系统中含有BusyBox和Linux项目,但是该公司却迟迟没有向用户公开该系统的源码。SFC就此问题一直在督促其尽快提供完整的,但是在漫长的沟通过程中,该公司至今仍然没有向SFC或者公众提供符合GPL协议要求的源码。

另一个值得注意的点是,GPL协议要求使用者在分发软件时提供源代码,这意味着如果使用者在修改代码后不以分发的方式向用户提供程序,那么就没有必要向用户提供代码。例如目前Saas模式下,供应商将应用软件部署在自己的服务器上,用户通过互联网获得供应商提供的服务,而不需要供应商发布任何的源码或者目标代码。在这种情况下,供应商不存在代码发布行为,因此不需要将修改后的代码予以开源。

(2)双重许可

双重许可是指版权方既把产品作为商业软件销售,又适用开源协议供公众使用。一方面,版权方可以通过商业销售获得利润,另一方面,又可以利用开源社区的优势为软件更新增添活力。例如许可人可以选择同时使用专有许可和GPL协议,GPL协议保证了被许可人如果要发布修改后的产品,其必须一并提供产品的源代码。当然许可人也可以选择更为宽松的许可证,这样可以利用开源社区强大的研发力量更新自己的产品,将衍生代码合并到自己的产品中。MySQL数据库管理系统使用的就是双重许可的模式,一边以专有许可的模式满足用户的使用需求,一边以GPL许可证的优势来获得更新的软件。[7]

(3)违反开源协议后的法律风险

欧洲自由软件基金会的FTF部门与GPL维护组织(GPL-Violations.org)在2008年发布了一份《举报和修复违反许可证行为指南》,该指南主要是对常见的开源软件合规性问题进行解释。例如任何人都可以向基金会或者GPL维护组织举报企业的违规行为,当收到举报通知之后,欧洲自由软件基金会与GPL-Violations.org会通过邮件或信件方式与违规者协商,协商不成可能会采取诉讼方式达成庭外和解或者申请法院禁令。根据GPL-Violations.org的经验,其已在德国和美国获得了成功的案件判决。

2.专利侵权的法律风险

开源软件仅是就软件授予著作权方面的许可,在某些开源协议项下并不包含专利许可,因此如果软件包含已申请的专利,使用该开源软件就有可能存在专利侵权的风险。例如,BSD、MIT许可证就不包括专利许可,而Apache-2.0和GPL协议则包含了专利的普通授权许可,使用人在获得著作权许可的同时也不必担心存在专利侵权的风险。对于没有明示有专利授权的开源软件,在使用前应当进行相关的专利检索,如存在有效的专利,使用该开源软件则存在专利侵权的风险。

3.软件漏洞的法律风险

在使用开源软件时,一旦开源软件的代码存在安全缺陷,人工智能企业将面临着严重的安全问题。据调查,针对人工智能行业在开源软件代码安全缺陷分析中,项目主要的安全缺陷就来自于API误用和代码质量问题,其比例占所有安全问题的94%。[8]而使用开源软件因其缺陷问题受到网络攻击的后果只能由使用者自行承担,无法向开源软件的提供者进行追偿。例如RealAI发布的RealSafe人工智能安全平台通过测试得出微软、亚马逊云服务的人脸比对演示平台存在巨大安全漏洞。目前,人脸识别技术广泛应用于金融远程开户、手机解锁、支付验证等场景,如果这一漏洞被不法分子所利用,将会对用户的人身财产安全造成巨大影响,届时可能会产生用户向产品供应商进行索赔的情况。

4.出口管制的法律风险

随着中美关系的日益紧张,美国对中国实行的技术进出口管制政策趋于严厉,美国联邦政府发布的《出口管理条例》(Export Administration Regulations,以下简称“EAR”)不但可以管制从美国境内向境外输送实物产品,还包括向美国境外人员提供用于电子传输的软件。在全球最大的代码托管平台Github的用户协议上明确表示,其网站上的信息都可能受美国出口管制法律的约束,包括美国出口管理条例(EAR)。Apache基金会开发的产品是通过公开论坛在线协作完成的,通过美国的中心服务器进行分发,因此Apache开源协议也同样需要受到美国出口法律法规的管辖。

不过,根据EAR的规定,大部分已发布的开源代码并不会受到进出口的限制。例如,已公开发布的开源软件、已公开发布的开源规范、已公开发布的,说明硬件设计的开源文档和已公开发布的开源软件二进制均不受EAR的限制。但是,EAR规制了特定加密软件和技术的出口,包括仅激活或启用其他软硬件产品的加密功能的软件。[9]因此,在使用开源软件时还应当结合当地的技术进出口管制措施,如相关技术落入管制范围,则需要按照当地的法律法规进行申报获得许可后才能引入,否则可能引发不必要的法律风险。

四、人工智能企业合规建议

1.开源软件管理审核

为避免在使用开源软件过程中发生的风险,建议企业在内部管理机制上增设开源项目管理流程或者部门,以便对开源软件的使用安全性、合法性进行评估。随着国际化程度的不断加深,中国产品越来越多出口到国外,开源软件风险问题也日益突出。企业可能会遇到用户个人或者软件自由保护协会的通知,要求其履行开源协议的义务。虽然目前在国内环境下,开源协议的履行尚未得到司法确认,但是已经有了承认开源协议效力的判例。企业应当尽早了解风险,做好风险预防,在面临相关风险前培养自身抵抗风险的能力。

2.技术进出口合规审核

除了开源软件的进出口限制,企业还应当依据购买软件时技术出口方国家的技术进出口措施进行合规审核。在目前复杂多变的国际政治经济形势下,大国之间的博弈也常常体现在对技术进出口的限制上。美国曾发布相关措施限制人工智能软件的出口,限制出口的软件包括应用于智能化传感器、无人机、卫星和其他自动化设备的目标识别软件(无论民用或军用)等。企业一旦落入或者违反相关规范,可能导致被制裁的后果,对未来在该国从事商业活动造成严重影响。

3.专利前置审核

由于开源软件的许可证不一定明示了专利许可,因此,在使用他人的开源代码前,应当根据使用地域对当地的专利注册情况进行检索。如果权利人已经在先注册专利,那么该开源代码使用方式就受到了限制,企业应当根据自身需求,判断是否能够继续利用该开源代码以及如何利用。

4.开源方式审核

选择合适的许可方式是保证可持续性发展的前提,企业可以以专有许可、开源许可证或者双重许可的方式选择是否对公众发布产品的源代码,以及后续以何种方式更新。如果一项成果是基于已有作品修改完成的,那么它最好符合原作品许可协议的要求,因为协议中有可能要求它遵从相同的许可证发布。对于不值得更新的小程序来说,使用GPL是不适宜的,因为它无法发挥自身传递性的优势,刺激后人对开源的软件进行补充、修改或者更新。

5.软件尽职调查中的开源风险审核

如前所述,人工智能技术离不开开源软件的支持,在并购交易中,如涉及人工智能企业或者其他软件研发企业,对其软件进行开源风险核查是十分必要的。通过对软件使用的开源软件、开源协议的调查可以识别相应的商业软件本身是否存在开源风险、安全漏洞或者质量问题,使用方是否已经履行了许可协议相关的义务,为交易双方的安全交易提供法律保障。

[注]

[1] 早期的人工智能还只是一个设想,英国数学家、逻辑学家图灵在提出一项关于检测机器是否具备人类智能的猜想,即让被测试者(人)向人与机器询问问题,如30%以上的被测试人无法分辨做出回答的是人还是机器,即说明该机器具备了像人一样的思考能力。这是最早对人工智能概念进行解释的观点之一,同时也为后来的人工智能技术的研发奠定了基础。

[2] 参考链接:
https://cloud.tencent.com/developer/article/1051255,《格局可能会改变?科技巨头们正在使用开源框架来主导人工智能社区》

[3] 参考链接:
http://www.xinhuanet.com/tech/2019-10/17/c_1125114032.htm,《开源开放是人工智能发展主要趋势之一》

[4] 参考链接:
https://finance.sina.com.cn/tech/2021-07-08/doc-ikqciyzk4243170.shtml

[5] 德国的Netfilter内核子系统贡献者 Patrick McHardy就曾以不遵守 GPL 为由,自行担负起GPL执法角色,联络了德国的许多企业索要小额金钱,在18个月内他利用这种方法“索取”了200万欧元的收入。然而据报道,相关行业的专家在评估了Patrick McHardy对Netfilter内核子系统的贡献之后,认为其对整个系统的贡献有限,只能就其所创作的作品享有权利,而不能就整个项目主张版权。

[6] 参考链接:
https://www.sohu.com/a/201032826_261288

[7] 在Artifex Software, Inc.(“Artifex”)和 Hancom, Inc.(“Hancom”)之间的诉讼中,Artifex发布了Ghostscript,并同时以专有许可和GPL许可的方式授权第三方使用,其诉称Hancom未能遵守GPL许可下的义务,在免费使用Ghostscript的情况下,将其修改的版本整合到自己名为Hangul的商业软件中对外销售产品,但是没有分发产品的源代码。

[8] 参考链接:
https://www./articles/paper/186281.html

[9] 参考链接:
https://www.sohu.com/a/407098658_675634


特别声明:

以上所刊登的文章仅代表作者本人观点,不代表北京市中伦律师事务所或其律师出具的任何形式之法律意见或建议。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多