一、CEC-IDE道歉事件主要经过

2023年6月,数字广东与麒麟软件联合推出“CEC-IDE软件研发工具”,宣传该软件是国内首款同时支持麒麟、统信、Windows、Mac OS 等多环境的 IDE 工具,能够提供代码编写、智能辅助、编译调试、版本控制等功能,同时自建插件市场。

8月24日,有开发者在Github社区的VS Code项目中创建了“VScode和中国企业有合作吗?”的问题,表示自己发现该软件与微软公司的VSCode非常相似,但没有“使用基于MIT许可证开源代码”的类似声明,有940个社区用户参与该问题的评论。随后,国内许多用户通过自媒体或开发者社区,指责CEC-IDE软件使用基于MIT协议开源的VScode软件但未声明的行为。(注1)

8月26日,数字广东官方发布《道歉声明》,确认:CEC-IDE系统由开发工具、后端系统和组件库组成,其中开发工具使用开源VSCode,进行了少量改造,增加了部分功能,因版本迭代更新中出现疏忽,近几个版本中缺失了MIT协议文件。并诚恳接受网友批评,责令相关工作团队进行认真整改。

至此,该事件已告一段落,但事件反映出来的企业使用开源软件违反许可证要求的问题,值得软件研发企业关注。本事件使用的开源软件所适用的MIT许可证,是当前最受欢迎的开源许可证之一,笔者结合部分企业违规案例及个人法律服务经历,提出使用MIT开源软件的合规建议,希望对国内企业及开发者有所帮助。

二、什么是MIT许可证

MIT 许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称 “ X许可证”或 “ X11许可证”。MIT 许可证属于宽松型许可证,该许可证在授予使用者自由使用、复制、修改、合并、出版发行、转授权及销售软件权利的同时,对于使用者的限制要求极少。仅要求使用者需要附上作者的版权声明以及MIT许可证声明。适用MIT的开源软件允许被用于商业目的,也可以在修改后闭源作为专有软件销售。

MIT许可证的全文条款如下:

版权所有<年份> <版权所有者>

特此免费授予获得本软件和相关文档文件(“软件”)副本的任何人不受限制地经营本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、转授权和/或出售本软件副本的权利,并允许获得本软件的人在遵守以下条件的情况下这样做:

上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。

本软件按“原样”提供,不含任何明示或暗示的担保,包括但不限于对适销性、特定用途适用性和不侵权的担保。在任何情况下,作者或版权所有者都不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,还是在与软件或软件的使用或其他交易相关的诉讼中。(注3)

、使用MIT开源软件的合规建议

1、附加符合许可证要求的版权声明。

MIT许可证第一行即为开源软件版权声明示范条款:Copyright (c)<year> <owner>,使用者应当将版权示范条款中的<year>替换为所使用开源软件当前版本标注的发表年份,将<owner>替换为所使用开源软件的作者。

尽管MIT许可证要求的版权声明十分简单,但仍有许多企业或者开发者在使用MIT开源软件时,未按照许可证的要求附加版权声明,出现违反许可证要求的情况,主要包括以下几种情形:

(1)无版权声明。比如,2021年10月底,抖音开源的企业级应用UI解决方案Semi Design,其代码仓库的部分内容被发现包含以MIT开源协议开源的 Ant Design。随后,抖音前端技术团队发表了致歉声明,承认Semi Design早期使用了Ant Design的文案,但没有注明出处。(注4)

图片

(2)将版权所有人替换为使用者本人。2021年12月底,微软在 fork 一个基于 MIT 许可协议所开发的grpc_bench时,将原作者声明的版权所有人修改为微软自己,这一举动受到业内开发者们的质疑。对于此次事件,微软开源项目办公室负责人 Jeff Wilcox 发文解释称,这是一个在新存储库中提交模板文件的微软自动化脚本导致的,并已恢复了正确的许可证文件和版权信息。(注5)

图片

(3)照搬版权声明示范条款。部分开发人员不清楚版权声明的规范,原封不动照搬开放源代码促进会(OSI)官网中MIT许可证的全部内容,甚至包括“Copyright (c) <year> <owner> ”的字样。笔者为一家国内零配件企业提供开源合规咨询服务时曾碰到过类似情况,欧洲终端制造商审查该企业SBOM发现此问题,明确指出仅声明版权条款占位符文本不符合规范,要求其添加所使用开源软件的相关版权信息。

2、附加MIT许可证声明。

除了版权声明,MIT许可证的另一个要求为附带许可证声明,有部分企业在使用开源软件时,仅复制软件源代码,并未声明该开源软件使用了MIT许可证,也未附上MIT许可证的协议内容。本文开篇提到的CEC-IDE事件即属于此种情形。VScode全称为Visual Studio Code,是微软在2015年4月推出的一款跨平台源代码编辑器,以 MIT 许可证在Github社区进行开源。CEC-IDE系统中的开发工具使用VSCode软件,进行了少量改造,增加了部分功能,但并未在软件中声明、附上MIT许可证声明。

对于许可证声明的方式,实践中有企业或开发者通过设置OSI官网关于MIT协议文本链接地址进行声明,笔者不建议采取此种方式。与Apache、GPL等许可证条款由对应的基金会定义和维护不同,MIT许可证之名虽然源自麻省理工学院(MIT),但其协议文本并无对应的基金会进行定义和维护。1998年OSI成立后,将该许可证的授权条款确定为当前OSI官网公布的MIT条款,并命名为“The MIT License”。经过OSI的推行,MIT许可证在业界得到了广泛应用。但自由软件基金会明确反对使用“MIT许可证”的用语,因为MIT(麻省理工学院)使用过多种软件许可证,包括同样经过OSI认证的开源许可证MIT-0。自由软件基金会认可的与MIT具有同等授权条件的自由软件许可证包括Expat许可证和X11许可证,其中的Expat许可证条款与MIT许可证条款相同,而X11许可证与MIT许可证条款相比,还有一个关于使用 X Consortium 名称的额外条款。(注6)

基于上述MIT许可证的名称争议和条款差异,笔者建议开发人员使用基于MIT许可证的开源软件、进行许可证声明时应附上MIT协议文本(MIT许可证没有相应的开源基金会或者官方网站,建议使用OSI网站中的MIT许可证页面中的条款原文),以方便开源管理办公室人员或法务结合许可证条款准确开展软件供应链的许可证合规工作。

注释:

注1:参见https://github.com/microsoft/vscode/issues/191229

注2:参加https://mp.weixin.qq.com/s/z-OOz7tai_loDWBNXkEm_Q

注3:MIT许可证条款原文详见https://opensource.org/licenses/MIT

注4:参见https://www.oschina.net/comment/news/166188#rpl_296238764

注5:参见https://www.163.com/dy/article/GSAO5R3I0511FQO9.html

注6:参见https://www.gnu.org/licenses/license-list.html中的“Expat许可证”、“X11许可证”部分。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐