本周四早晨,一篇关于国产浏览器换壳的文章在网络上一时激起千层浪。该文作者指出,其在经过多次解压缩软件安装包后发现,于近日获得巨额融资、号称自主研发内核的国产浏览器,包含Chrome浏览器安装包和Chrome浏览器所使用的Blink渲染内核,并对该浏览器的“国产”和“自主”提出了质疑。

文章发布数小时后,该浏览器的开发公司作出回应,称安装包里之所以有Chrome文件,因为本来就是基于开源的Chrome架构。但浏览器依然是自主可控的国产内核,因为有智能感知渲染等其他方面的创新。

事件还在持续发酵中,人们的视线被引到了同一个焦点——开源软件。

什么是“开源软件”?

所谓开源软件,是指公开源代码,并在用户遵守开源许可证规定的前提下允许用户更改、自由发布、衍生开发等的软件类型。

开源软件传播机制中的关键点在于开源许可证。开源许可证的种类有很多,经过Open Source Initiative (OSI,即开放源代码促进会)认证的开源许可证至少有70多种。根据Github[1]的相关统计,目前的主流开源软件许可证包括MIT,BSD,GPL,Apache等,该些许可证中并无条款规定用户需要为修改、使用开源软件、发布衍生软件付费,因此采用上述许可证的开源软件本身在原则上也都是免费软件。上述几种许可证中,除GPL之外均允许开发者将基于开源软件开发的衍生软件转为闭源。

报道中提到的Google Chrome浏览器是谷歌基于其名下的开源软件Chromium开发的商业化版本。国内公司出品的不少其它浏览器也均是以Chromium为内核开发而来。

开源许可证的性质是什么?

关于开源许可证的性质,尽管学界存在争议,但是开源许可证的有效性在业内基本能够达成共识。在司法领域,从美国的两个判例来看[2],开源许可证在法律上被认作是著作权许可协议,只要用户遵守开源许可证规定,则许可长期有效,违反许可证的用户则会侵犯开源软件原作者的著作权。而在国内,尽管目前还没有出台相关法律法规或司法解释明确说明开源许可证的法律性质,但从过往案件[3]来看,开源许可证的有效性也同样得到认可。

事实上,是否使用开源软件只是软件开发公司选择的开发形式,由于开源软件具有不收取费用、可以帮助开发者省去反复编写基础框架代码的优点,越来越多的企业青睐于使用开源代码开发商业软件。

开源软件与“自主知识产权”

回到本次事件,如果仅从使用开源代码这一点上即完全否认该浏览器“国产”或“自主知识产权”,是有些不太合理的。事实上,就特定的开源软件来说,情况可能是非常复杂的,例如Chromium本身也是谷歌在苹果、Mozilla等多家公司的开源软件技术基础上,结合其自身开发的代码部分后整合而来[4],但这不影响大家认为谷歌才是Chromium的创造者。

因此,如果适用与Chrome浏览器相同的标准,要回答该浏览器是否“国产”,是否具有“自主知识产权”的问题,主要还是看开发公司在实际开发浏览器的过程中,究竟产生了多少研发成果,拥有了哪些知识产权,在原基础上做出了多少提升。在目前没有相关信息的情况下,并不适合匆忙得出结论。

但另一方面,“自主知识产权”的概念一直比较模糊,很难找到一个在法律上于其对应的概念。但使用开源代码,确实使得该公司对于其浏览器具有至少部分的法律意义上的有效控制力。

以Chromium中谷歌开发的代码部分所采用的BSD许可证为例,其核心要求是保留著作权声明和不得使用标示的公司名称,例如“Google INC.”,宣传衍生软件产品。因此,对于该公司使用这部分代码的行为,如果其遵守了BSD许可证中的相关规定,则谷歌无权阻止使用代码的行为。同时,由于这部分源代码已被公开,即使谷歌日后不再提供更新,公司也可以根据已有的源代码继续开发软件。

换句话说,在遵守许可证的前提下,该公司因使用这部分代码而在知识产权上受制于人的风险并不存在。这恰恰是开源软件最大的优势。

关注使用开源软件的潜在风险

最后,金杜团队提醒各位读者,虽然开源软件好处多多,但实际上使用起来也不可大意,需要关注对于潜在风险的回避,举例而言:

  1. 未遵守开源软件许可证而导致的法律风险 如前所述,正是因为许可证的存在,人们才能够较为自由地使用开源软件。许可证的内容通常不会给使用者设置很高的障碍,但如果使用者因某些原因未能遵守许可证,那么将面临法律责任。出于成本的考虑,著作权人通常并不会实际提起相关诉讼,而是会将违反者的信息进行公布[5]。某种意义上,这对违反者的影响比侵权诉讼更大。实际上,在每年被公布的名单中,经常会出现大家耳熟能详的国际知名企业。这也从一个侧面说明了要完全遵守开源许可证并不像想象中那么容易,需要企业更加谨慎。
  2. 泄露商业秘密的风险 部分开源软件许可证要求开发者将其对原开源软件修改的新代码公开,例如GPL许可证就有这样的规定。如果源代码中包含了开发者的商业秘密,这部分商业秘密将随着代码的公开而泄露。
  3. 侵犯商标权与专利权 很多开源许可证只涉及著作权,因此如果开源软件还涉及注册商标,或开源软件运用的控制方法等落入他人专利的保护范围中,则可能存在商标权或专利权侵权的风险。另一方面,在部分开源许可证中,会对商标或专利内容进行特别规定。例如在前面提到的BSD许可证中,改进者就有权明确禁止使用者使用标示的公司名称。又例如,在GPL V3和Apache中,一方面不禁止原作者和衍生软件作者申请专利,但另一方面又要求他们在全世界范围内授予非独家的免费许可,同时,如果衍生软件作者就任何使用其软件的行为提起专利侵权诉讼,那么他将自动丧失所获得的许可证。
  4. 其它侵犯著作权的风险 除了因违反许可证而导致侵犯著作权以外,还存在其它潜在的著作权侵权风险。例如,如果使用的开源代码中被他人混入了第三方拥有著作权的非开源代码,或是在开源代码与商业软件代码混合的情况下,使用者错误地认为整个软件都是开源而无需支付许可费,那么都会带来著作权侵权风险。
  5. 产品责任 大多数开源许可证中都包含免责条款,如果基于开源代码开发的衍生软件产品存在问题,开源代码原作者不会承担任何责任,相应的责任将由使用者承担。

上述只列出了一些常见的潜在风险,事实上,因为许可证种类繁多,来源多样,开源软件本身的情况又非常复杂,在是否使用开源代码,以及选择哪个开源许可证的问题上,需要使用者特别小心。尤其需要将开源代码使用与商业秘密保护、商业模式策划等问题结合在一起考虑。建议遇到问题时向专业律师寻求帮助。