您的位置:首页 > 运维架构 > Apache

权威解读 GitHub、Apache 疑云:主流开源软件究竟是否会被闭源?| CSDN 独家

2019-05-22 12:13 1996 查看

作者 | 伍杏玲

责编 | 唐小引

出品 | CSDN(ID:CSDNnews)

近几日来,因基于美国 BIS 将华为列入管制“实体名单”,Google 将向华为停止软硬件及技术方面的合作,尽管本身已“开源”的 Android 系统部分依然可以使用,但Google 本身闭源的移动服务 (Google Mobile Service) 以及技术支持等服务将无法使用,由此,引发了广泛热议。与此同时,更多人发现,Apache 基金会与 GitHub 也疑似受美国出口法律法规管制。这引起很多开发者的恐惧与思考:如果有一天,美国一声令下,“管制”起来,我们中国企业和程序员是否陷入艰难的困境呢?

于是有人建议,中国的代码别托管在国外的代码仓库里了!为了安全,赶紧把代码挪回我们自己的代码仓库吧。

可实情真的如大众所说的“GitHub是美国的,里头的代码都受美国管制”吗?而解决之道真的是“闭关锁GitHub”吗?

对此,CSDN(ID:CSDNnews)采访到中国开源软件推进联盟副主席兼秘书长刘澎和钧理知识产权事务所、开源社法律咨询委员会顾问林诚夏,一起为我们解疑释惑。


主流开源软件是否会被闭源?


谈起开源软件的版权,刘澎介绍道,平常我们的版权是叫Copyright,但在自由软件里是著佐权(Copyleft),是一种利用现有著作权体制来保护所有用户和二次开发者的自由的授权方式。它代表这个软件放弃了极大部分的商业权利,是共享、开放、自由的。

而对于很多人担心的“当前已成为主流进入我们的生活及业务研发中的开源软硬件、系统工具是否会面临突然被闭源的困境?”

林诚夏直言道,不会。除非美国大举修改出口管制条例(Export Administration Regulation, EAR的相关内容,不然这样的设想并不会发生。

美国出口管制条例的主要控制对象,其实是专利技术,或依该专利技术产出的硬件产品,例如芯片或内嵌软件专利的程序项目。较少直接影响到软件著作权,但要就软件著作权来做控管,解释上也是可以,只不过,开源软件依照EAR 15 CFR § 734.3(b)及15 CFR § 734.7两项合并解释:「技术或软件已经是被一般公众可以接触,并不限及其后续散布者(when it has been made available to the public without restrictions upon its further dissemination),则并不在EAR管制之列。」

虽然说软件涉及加解密技术,即使是开源软件,仍必须经过美国工业和安全局(Bureau of Industry and Security, BIS,认同其为「公开可用」的加解密技术,才完全不受到EAR拘束,但是,这并不等同说,开源软件涉及出口时,必须经BIS审查并核可。

实际流程,是由出口者向BIS及美国国家安全局(National Security Agency, NSA发送通知,以备查的方式,让这两个单位了解,所出口的软件虽涉及加解密,但该加解密技术确实符合EAR 15 CFR § 742.15(b)款中「公开可用」的标准。

所以说,据路透社的报道,谷歌无法再提供Google Apps给华为,这是因为这些Apps并非开源软件,不能满足EAR「公众可以接触,并不限及其后续散布」的条件,才会有可能被美国政府指示择日停止出口给华为,与此相较,Android Open Source Project,则并不在拟限制出口清单之列,主因就是AOSP,是采「公开可用」的开源模式发布。

我们必须要明白,EAR管理限制的是出口行为,而与软件著作权利谁属,没有必然关系。

而“出口”的定义,按照美国工业和安全局(Bureau of Industry and Security, BIS的解释,包括:

  1. 任何运送出美国的行为;

  2. 任何利用电子交易送出美国的行为;

  3. 将技术发送给任何一个在美国的非美国公民的行为。

所以,若一个开源项目是透过国际协作的模式来进行,只是由美国当地厂商取之来做商业服务的支援,这就未必涉及出口,因为在其他国家,也有可能有其他厂商是直接从非美国的源头,取得这些开源软件来进行商业服务的。

大家应该要理解,原则上国际间协作、网络公开可下载的开源项目,没有太多EAR方面的疑虑,只是说,像红帽或谷歌这样的公司,其实是公开网络上提供开源项目是基础版本,商业合作上会提供「开源项目+额外元件」。

例如Fedora Distro是红帽公司的开源基础版,RedHat Distro是基于Fedora上的加值版;Android Open Source Project是开源基础版,加上的Google Apps是额外元件,在这些「额外非开源元件」上就比较会有受到EAR管制的可能。换言之,若是开源项目和其商业项目的内容完全一致,理论上便较不会有EAR的出口控管的疑虑。


不同基金会之间的管制有什么区别呢?


林诚夏说,其实差别不大,基金会若设立在美国,相关的软件发布自然解释上,有可能落入出口行为的定义范围,所以各大基金会多会揭示声明,提醒开源软件的使用者,虽然美国出口管制条例原则上不严格控管开源软件的发布。

但是,EAR此项原则仍有例外的解释空间,例如加解密技术必须通报备查,即为一例。基金会做这样的告示声明,用意在于提供使用者,相关的出口管制涉及软件从美国出口时,仍是有效的,发布者必须就个案来自行斟酌,是否主动向BIS及NSA进行EAR要求的申报。


中国不会进“黑名单”


刘澎说,GitHub的原创开发代码是不能受管制的,但由于企业版本(GitHub Enterprise Server)的代码是私有的,所以将会受管制。

在GitHub Enterprise Server协议上写道:“不得出售,出口或再出口到EAR第740部分补充文件或乌克兰克里米亚地区的国家组E:1中列出的任何国家。 该清单目前包含古巴、伊朗、朝鲜、苏丹和叙利亚,但可能会有所变化。”

很多中国开发者担忧这个“黑名单”会不会加上中国,刘澎说,中国是经济强国,如果把中国列入“黑名单”,将破坏全球经济秩序。

林诚夏也表示,这个可能性是非常低的。上述清单所涉及的国家与美国之间曾有武力冲突,或有涉及武力冲突的可能性,所以相关的出口管制,美国采取最严格的审验标准,若要将这样的标准套用到中国,是全球二大经济市场的直接冲突,牵连极大。所以,林诚夏认为这样的管制清单,不会是指定国家或地域,而可能是商业实体的特定公司。

还有,对于“涉及加解密者则会被管制”的说法,林诚夏进一步解释道,依照EAR 15 CFR § 742.15该项的说明理由,加密项目(Encryption items)原则上受到EAR高度管制。因为这样的项目会被用来隐藏信息的内容,所以有可能会被外国人士拿来伤害美国的国家安全、外交政策,及其他依法执行的利益。

所以说,内含加解密技术的软件,可被用来制造加密项目,这是为什么原则已开源的软件不受EAR管控,但若涉及加解密技术的开源软件,即使该加解密技术公开可及,仍被要求做申报备查的处理。

例如OpenSSL这样的开源软件项目,是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听。也就是说,这个软件可以协助使用者进行加密通讯,主要是可以实作SSL与TLS这种可以加密的通讯协议,用到OpenSSL代码的软件,依过往习惯,EAR仍然要求出口者,必须时时主动向BIS及NSA发送通知,来让这两个单位掌握相关信息。


中国开发者的原创性较弱


“被管制”新闻出来后,有一些开发者开始有“放弃GitHub,迁移代码到国内的代码仓库”的说法,刘澎直言,这是不可取的。

他说,目前我们最大的问题是原创性不够,如果我们为了躲避GitHub,而迁移代码回国内的代码仓库的话,这样不就成了“闭源”了吗?这样会影响我们开发者的创新性的。

刘澎表示,其实中国是有一些优秀的原创项目,如TiDB newSQL数据库和Rocket MQ消息队列,是世界级优秀的开源软件。

像这样的开源项目,中国是有的,但是数量还远远不够,目前很多“自有”操作系统,其实内核也是基于Linux的,非全是自主原创研发的。不像美国有谷歌的Android、Linux系统那样有原创决定性的基础软件。例如Linux仅去年就更新890万行代码,这是集中全球的资源来更改的,这就是开源的好处。

目前中国没有属于自己的操作系统,假如我们想开发自己的操作系统,难度有多难呢?

刘澎形容道:“比原子弹还难”,因为涉及千家万户的使用检验

目前,在开源生态环境中,缺少开源软件项目基金会,产业资本投入的不足,有影响力的本土原创开源软件项目不多,导致现在中国没有自己的开源许可证,反映了开源生态要素不完备。


开发者在托管代码、选择开源软件,

该如何选择呢?


林诚夏表示,如果想把跨国影响的疑虑降到最低,下列几款「旧时」的开源许可证,除非有特别理由,建议尽量不要使用,因为其早期嵌有准据法条款(Choice of law,或指定地区性的管辖法院,然而除了下列这些许可证之外,目前全球多数的开源许可证,皆没有指定准据法和审判法院。

林诚夏再简要重申,并不是说与MPL-1.0、MPL-1.1、QPL-1.0、MS-RL,以及MS-PL许可证有关软件项目就是美国出口软件,事实上它也可以是无关的,但这几款旧款的开源许可证或嵌有准据法要求,或要求解释依美国法律。

如果希望开源项目未来在使用上,在法律或管辖解释上不被限缩的话,这几款旧时许可证有关的软件项目,建议低度使用。另外,MPL-2.0 已取消指定法院和准据法,故这个最新版本是没有相关疑虑的。

  1. MOZILLA PUBLIC LICENSE Version 1.0 (MPL-1.0),指定美国加州法院

  2. Mozilla Public License Version 1.1 (MPL-1.1),指定美国加州法院

  3. The Q Public License Version (QPL-1.0) ,指定挪威奥斯陆法院

  4. Microsoft Reciprocal License (MS-RL),名词定义指定依美国著作权法

  5. Microsoft Public License (MS-PL),名词定义指定依美国著作权法

除此之外,我们在选择托管代码的方式之余,最重要的问题是:我们该如何做到“开源自立”呢?


开发者:成为优秀的代码守护者


为什么我们会处于目前困窘的现状呢?

刘澎说,国内开源仅有20多年,知识传递过程需要时间来学习理解,而现在的我们还是蹒跚学步的过程,尚未能奔跑。

而这次的EAR事件,未必是一件坏事,它让国内开发者开始思考一个问题:作为开发者,我们该如何“开源自立”?

他建议:作为开发者,应该积极投入开源社区,从贡献者到持续贡献者,再到代码审核者,然后到代码守护者。

刘澎坦言道,目前国内没有特别优秀的项目,导致优秀的代码审核者、代码守护者的数量很少,更别说开源社区的领袖了。

所以提升我们代码贡献和代码审核质量,并成为优秀的代码守护者,是我们开发者需要做的。

另外,刘澎谈到国内优秀的超级使用者,例如阿里巴巴、京东、百度、腾讯、华为、联想等企业,均为开源贡献很多优秀的代码,还对开源软件应用商业模式进行创新。

这次中国开源界的“大地震”,对于中国开发者来说并非仅是坏事,而是加强我们自身技术创新意识,可能后续将会加速中国开源的发展。

正如霍金所说,“科学的整个历史是一个渐进的自我实现的历程,重大的事件不会任意发生,它们反映了一种潜在的次序,而不会简单地产生。”

#欢迎来留言#

我们该如何提高技术创新力呢?

【END】

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

 热 文 推 荐 

☞华为自研操作系统最快秋季面市;马化腾谈华为事件;微信支付回应遭封禁 | 极客头条

☞GitHub 开源跨平台神器 Electron 实践 | 技术头条

☞PWA 即将终结应用程序商店!

☞揭秘清华 AI 学堂班:姚期智担任首席教授,2019 年首批招收 30 人

☞Google Android 向华为“闭源”!华为手机迎来至暗时刻!

☞"两年前我对区块链的了解为零, 两年后我成了工程师" 我是如何得到第一份工作的?

☞图解分布式架构的发展和演进 | 技术干货

☞《使女的故事》大火,AI是背后最大推手?

☞ICML 2019接受论文:清华、北大领跑,谷歌强压枝头,BAT略显“低调”

☞大神!这段代码让程序员躺赚200W,源码简单,你怎么看?

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐