几天前,知乎上出来一个热门话题《如何看待百度要求内部全面停止使用 React / React Native?》,一时间被邀请回答的大咖们就展开了这场没有硝烟的战争。主要有正反两方,跟个大辩论赛似的,很是激烈。我顺道总结下:
洗白方
洗白方的论据主要有5点:
协议一直如此,而且本身是防御性的
(1)Facebook
的React
专利授权是关于分享其代码同时保留它能够抵御的专利诉讼
(2)React
本身是开源的,受保护的是React里用到的专利
(3)Facebook
不能主动使用React
里的专利起诉你,因为这个授权是irrevocable
的,除非你主动发起专利诉讼
开源条例太苛刻
ASF (Apache软件基金会)要求开源软件是没有限制的,所以依赖有Facebook's BSD+ Patents license
的软件不被允许加入ASF
。但也人会说ASF
这个开源条件太苛刻,而如果不是ASF
的软件没必要遵循这个限制。
程序员过分解读 license
(1)本质上你的软件不是要发布到 ASF
上就不会有问题
(2)只要不与 FB
有专利冲突就不受影响
(3)美国专利不在我国申请的话,不受我国法律保护(Facebook
在我国并没有注册React
相关专利)
(4)前端库互相抄袭的现象太多,法律和道德界限模糊
分析百度为什么这么做
(1)百度是一家在美国上市的公司
(2)百度有很多核心专利如人工智能 可能在未来和FB
有利益冲突
使用替代品依然有风险
(1)vue
和preact
某些特性对React专利有侵权嫌疑,如weex
还在使用Yoga
引擎
(2)重构有成本,很多计划要重新部署,周期加长
否定方
否定方的理由很简单,共2个方面:
事实依据
(1)Apache
、WordPress
、百度纷纷叫停React
,其严重性可见一斑
(2)阿里也计划逐步干掉React
及其生态圈,准备了Rax
、Vue
和Weex
等替代品
专利风险
(1)如果不想弃用React
,那么你不能主动起诉Facebook
,期间Facebook
可以免费使用你的所有专利(对,是所有)。
(2)如果因此诉讼 Facebook
,就失去了使用React
的授权(相当于把柄被别人抓住)
(3)React
生态圈的东西用的越多,被Facebook
扣的把柄也越多
(4)等真到了打官司的时候 完全剥离React
难度和成本都很大,那还不如趁早。
陈述
正方双方说的都有一定道理,我先做下客观评论:
(1)Facebook
这个专利许可证确实不地道,虽然个人没有和它有利益冲突,但作为公司管理层,站在公司的立场上还是觉得芒刺在背(尽管公司短期内不可能和Facebook
会有利益竞争,但梦还是要有的,未来——虽然远,但多一事不如少一事)。
如果公司的核心技术已申请了专利,并且非常有前景的话,而且打算几年内在美上市的,绝壁不能用React及一切生态圈的东西。不管公司
React
搞得有多6,还是要忍痛割爱,长痛不如短痛(内部系统应该还能用,人家应该也管不着)。
(2)而对于国内一些创业型企业,说实话,真和你没有半毛钱关系。React
技术虽然有专利许可证,但Facebook
免费让你用,并且React
这门框架设计得确实好,没有理由不用啊。
这里也不藏私,我从2015年开始搞
React
,到现在也算是深度患者,React
是我所用过最好的框架,尽管它的全家桶有些不怎么好用,但框架本身的设计真的非常优秀(同意吧)。而且现在主流的几款替代品Preact
和vue
也"借鉴"了不少React
的东西,但是前端界"互相借鉴"这种事大家都是笑而不语的(哈哈,这种讨打的话各位自己去脑补吧)。
(3)然后说说对未来的预测,这次风波后,国内React
的占有率会有一定的下降,并且会持续下降(蚂蚁金服也作出回应antd
会逐步放弃React
向Preact
或类似的React
替代品方向发展)。
并且阿里的的
Rax
、Vue
和Weex
等技术也在不断推进,干掉React
及ReactNative
是时间的问题吧(如果React
为要挟随意使用其他公司的专利),当然一些小公司和没有对外专利技术的公司还是会继续用React
及其生态圈,但屁股决定大脑,随着人才不断从大公司涌出渗透到小公司,React
前端一哥的地位岌岌可危啊!
牢骚
想起 程墨Morgan 在 知乎专栏里的几句话:两种公司会从此弃用React
,第一是牛逼到足以和Facebook
竞争的大公司,第二是装逼到自以为会和Facebook
竞争的小公司(感觉我们公司属于第二种,哈哈)
最惨的应该是我,md
我的ReactNative
三端融合方案刚进行到一半,响应公司高层号召,现在要换成vue + Weex
了。不过整理一下发型,想来做为一名卓越的前端工程师,也不能太依赖一门框架,没有React
太阳照常升起,说到底还是JavaScript
嘛,换个API,换个套路,继续搞起吧 ~_~。
唉,想起那年夕阳下的蹦跑,那是我逝去的青春 ——
参考资料
- 新浪:都该了解的 React license 争议
- 酷壳:关于FACEBOOK 的 REACT 专利许可证
- 知乎:关于百度停用React
- 知乎:如何看待百度要求内部全面停止使用 React / React Native?
- 知乎:阿里还会使用react吗?
个人之见,大咖勿喷 ---
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。