法律角度你可以放心使用React吗?

法律角度你可以放心使用React吗?

最近有个大新闻, Apache Foundation bans use of Facebook BSD+Patents licensed libraries like React.js,大概意思就是:开源组织Apache基金会下令,要求所有Apache Licence之下的开源软件都要注意,不得使用Facebook带附加条款的BSD licence的开源软件,而这个所谓“Facebook的附加条款”类开源软件,就包括React。

开源软件世界也是各有专注点,所以往往会有开源软件利用其它的开源软件,Apache基金会的这个决定,就是避开使用React这样的开源软件。比如说,Solr是Apache Licence下的搜索引擎软件,那么Solr的界面就不能用React开发,。

关于React的“附加条款”,再一次被推到风口浪尖,这到底是怎么一回事呢?

简单说,Facebook开源了很多软件,开源当然要选一个Licence,Facebook选择是BSD licence,准确说是BSD 3-cluase licence,但是这不是重点,重点是Facebook开源夹了点私货,一个关于专利问题的附加条款,这个附加条款精简一点说法就是这样:Facebook授权你使用这个软件(比如React),随便用,Facebook不会搞你,但是你也不能拿React开发产品和Facebook竞争,如果你和Facebook有竞争关系,Facebook就不允许你使用React。

这个文档 facebook/react 全文如下:

Additional Grant of Patent Rights Version 2 "Software" means the React software distributed by Facebook, Inc. Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software ("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (subject to the termination provision below) license under any Necessary Claims, to make, have made, use, sell, offer to sell, import, and otherwise transfer the Software. For avoidance of doubt, no license is granted under Facebook's rights in any patent claims that are infringed by (i) modifications to the Software made by you or any third party or (ii) the Software in combination with any software or other technology. The license granted hereunder will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates, (ii) against any party if such Patent Assertion arises in whole or in part from any software, technology, product or service of Facebook or any of its subsidiaries or corporate affiliates, or (iii) against any party relating to the Software. Notwithstanding the foregoing, if Facebook or any of its subsidiaries or corporate affiliates files a lawsuit alleging patent infringement against you in the first instance, and you respond by filing a patent infringement counterclaim in that lawsuit against that party that is unrelated to the Software, the license granted hereunder will not terminate under section (i) of this paragraph due to such counterclaim. A "Necessary Claim" is a claim of a patent owned by Facebook that is necessarily infringed by the Software standing alone. A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, or contributory infringement or inducement to infringe any patent, including a cross-claim or counterclaim.

说实话,相对于其他的Licence,这个附加条款算是非常简洁了,很有良心,没有扯太多,但是依然是充斥着啰里啰嗦的法律文书腔调。

法律文书就是这样,看似废话连篇,其实滴水不漏。

而且和法律部门的人扯淡是很耗时耗力的,我在写完《深入浅出React和Redux》 的时候,本来想在封面上加上React的logo,但也担心会有法律问题,就请教了一下社区里的同志,同志们告诉我,这事还是要去问问Facebook的律师,我一听,心想作罢吧,这要扯到何年何月,于是放弃了加上React logo的想法。

说偏了,说偏了,还是回到这个附加条款上来。

有人就此事强烈谴责Facebook,说Facebook这种附加条款是“行业毒瘤”,我个人非常反对这种观点,人家Facebook好歹是在为社区做贡献,养那么多行业顶级技术高手开发React,花不少钱的,也不容易啊,为自己的利益考虑考虑,有什么错?

记得当年比尔盖茨来我国访问,有一个叫王开源的中国人(据说他本姓王,开源是后来投身“开源事业”的化名)冲上讲台,举着牌子,要求微软对Windows开源。

还有比这更二的行为吗?

微软是一家商业公司,自己家辛辛苦苦开发的东西,愿意开源当然不错,但是你不能要求人家开源啊,凭什么呀?开发开源软件当然是高尚的事情,但是不能就觉得闭源就是卑鄙的事情啊!

说偏了,又说偏了,还是回到这个附加条款上来。

那么,法律上说,咱们能不能放心使用React呢?

对应Apache基金会,他们不使用React是为了规避风险,但是,他们也只是让Apache licence旗下的开源软件不用React,没有阻止你——作为一个Apache licence软件的用户,去使用React。

如果你在为中国公司工作,产品也只在中国范围内,其实中国法律对这些开源软件的licence都是没有保护和支持的,加上我朝一贯你懂的作风,你完全可以不用理睬这点事,React用就用了,和Facebook有竞争关系就有了,咋滴?谁管得着?好的,讨论结束,解散!不用往下看了。

如果你做的产品有国际市场,在洋人面前还要脸,那就真要好好考虑一下这个licence的事。

我们来看看这个附加条款,对于Facebook有权吊销你使用React使用执照的场景描述有三条。

第一条:

(i) against Facebook or any of its subsidiaries or corporate affiliates

“和Facebook及其附属机构发生利于冲突”,嗯,没问题,我说过嘛,人家辛辛苦苦开发开源软件也不容易,不能养虎为患。

第二条:

(ii) against any party if such Patent Assertion arises in whole or in part from any software, technology, product or service of Facebook or any of its subsidiaries or corporate affiliates

法律上的话好绕,上面这句话的意思就是:如果和任何一个组织发生了法律纠纷,而且这个纠纷和Facebook有关系。

打个比方,如果你的公司是A,使用React开发了网站,有一天你发现另一家公司B侵犯了你的某个专利,但是这个B公司侵犯你的专利行为和Facebook还扯上了关系,这时候,官司刚开始打,你就已经不能使用React了,你的网站要么关门,要么重写。

第三条:

(iii) against any party relating to the Software.

这第三条写得有点模糊,也有点吓人,“和任何和React有关系的组织或个人冲突”,这个“有关系”不知道如何解释,比如A和B两家公司,B公司贡献了React开源代码,然后A告B公司侵犯专利,是不是A立刻就不能使用React?

Facebook的这个附加条款,可以理解是一个自我保护,假如有一天发成纠纷,Facebook会占优势,到目前为止,还没有哪个组织因为和Facebook产生“竞争关系”而被吊销使用React的权力,但是如果有一天,我说的是如果,某个社交网络兴起,全球威胁Facebook的地位,这时候Facebook就会检查一下对方是不是使用了React。

虽然看起来这个“附加条款”埋了不少雷,看起来这些雷也很可怕,但,是实际上依然有很多公司在使用React,好东西大家都想用嘛!

有人说,Google和Microsoft因为担心和Facebook的纠纷,所以不许开发团队使用React。Google里我熟人不多,不知道具体什么情况,但是我知道Microsoft绝对是在用React开发产品,没有什么顾忌。

你看,连微软都敢用React,你有什么不敢的?

话说回来,即使你作为一个开发者对React的附加条款有意见,有意见好好说,不要骂人家,那是人家贡献出来的东西,不要总觉得别人欠你什么,骂什么骂?有话好好说,比如在这里 Consider re-licensing to AL v2.0, as RocksDB has just done · Issue #10191 · facebook/react ,大家纷纷请愿,

也有说话很酸的,已经获得10个踩。



我个人还是希望Facebook换一个licence,但是我只会好好说,不会骂,因为尊重别人是最基本的礼貌。

@程墨Morgan

相关文章: 我写了本书《深入浅出React和Redux》

编辑于 2017-07-23 08:39