Facebook的这份开源协议使React四面楚歌

news2024/11/23 2:31:09

如果你觉得一些科技公司看起来很美好,每天都在“改变世界”……你应该看看他们的用户条款和法律文书,藏污纳垢之严重令人震惊。

最近,百度和阿里巴巴内部的软件工程团队不约而同做了一件事——弃用 React。

解释下:

React 是一个前端工具,用于开发软件或互联网服务的用户界面,最早用在 Instagram 里,由 Facebook 开发并在 2013 年开源,随后获得了社区的广泛支持。在前端开发上,React 是目前业界应用最广泛的工具,百度和阿里巴巴的一些业务部门都在使用它,更是有很多创业公司的产品非常重 React,甚至完全基于 React 而生。

Facebook的这份开源协议使React四面楚歌Facebook的这份开源协议使React四面楚歌

但为什么最近百度和阿里巴巴都决定对 React 说再见?

对于开发者而言,许可证就是他们使用开源软件的“用户协议”。而 Facebook 的开源方式跟其他家都不太一样,别家一般用的都是开源社区公认通用的许可证,而 Facebook 的两个许可证,第一个是通用的 BSD 许可证,第二个是自己写的专利许可证 (patent grant)。

而开源社区在发现,Facebook 在 React 的专利许可证里“偷跑”了一堆让开发者恐慌和心寒的条款:

Facebook的这份开源协议使React四面楚歌Facebook的这份开源协议使React四面楚歌

法律文书通常比较拗口,这段的大意:如果你向 Facebook 及其子公司和其他相关实体发起专利诉讼,或者对其他使用 React 的公司发起专利诉讼,或者如果 Facebook 主动起诉你,你以反诉应对,你使用 React 的许可证将自动终结。

翻译成人话就是,如果你觉得 Facebook 侵犯了你的知识产权,你不能起诉 Facebook!Facebook 起诉你,你也不能反诉!因为在起诉的同时你的产品就挂了——你不可以继续用 React 了。

再直白一点:如果你在你的产品里用到了 React,哪怕只有一点点,你对于产品所拥有的知识产权也等于直接送给 Facebook 免费用。

本来这个许可证模式就很让开发者费解,但碍于 React 受 Facebook 的支持,围绕它的开源生态也很健全,结果就是 React 很好用,所以大家也就凑合用了。现在发现了这个专利许可里的奇葩条款,大家终于坐不住了……

这件事从去年就在前端技术圈吵开,后来愈演愈烈,形势每况日下:开源社区在更多 Facebook 开源的热门项目中发现了相同的许可证模式和条款。开发者认为 Facebook 的这种许可证模式正在毒害社区,污染开源精神。

根据一直关注事态进展的胡桓铭的知乎专栏,此事让 React 社区因此十分分裂,也加剧了 React 支持者和 Vue、Angular 等其他替代品支持者之间的撕裂,“一部分人开始咒骂万恶的开源流氓,一部分人开始威胁说我们不用了,我们用 Vue 和 Angular(注:React 的替代品)去了,一部分人呼吁保持冷静,静观其变,我们要相信组织。”

为什么大家对 Facebook 此举如此担心?

我们举个例子:

你创立了一家科技公司,React 用得很爽,产品开发很快,公司越做越大;突然有一天 Facebook 做了个跟你一模一样的产品,你不能起诉它,因为在你起诉的同时你的产品就等于挂了,因为 Facebook 撤回了允许你使用 React 的授权。

这可不是说着玩,别忘了 Facebook 抄袭创业公司产品已经不止一次两次。比如 Facebook 几次三番针对 Snapchat 个别功能进行复制,前几次都未成功,最后直接把短视频故事功能抄了出来,放到了旗下 Facebook、Instagram、WhatsApp 和 FB Messenger 这四款亿级,甚至十亿级用户的产品里。从这个角度来看,Snapchat 能活着上市真是太不容易了。

Facebook的这份开源协议使React四面楚歌Facebook的这份开源协议使React四面楚歌

有 React 和 Facebook 的拥趸说,别开玩笑了,Facebook 那么大,也没进中国,谁在乎你啊?那么我们换个举例方式:你用 React 做了个社交产品,在中国年轻人中颇受欢迎;突然有一天 Facebook 入华了,觉得你这产品不错想收购;你抬价,Facebook 起诉你侵权来压价,你和股东们的权益受到侵害,只因为你当初技术选型图了方便。不是所有公司都有 Snapchat 的好运气,更别提 Facebook 内部还有一个工具,用来侦测可能对其业务带来威胁的创业公司,从而方便法务、企业并购和产品、工程部门快速行动。

Facebook 这种许可证模式真的是专利流氓吗?它真的会滥用许可证条款来打压竞争、抑制创新、维护自己的垄断地位吗?

该公司的解释是“纯防守目的”,条款存在只是为了保护自己的核心专利,抑制不必要的诉讼(在美国专利诉讼的确很猖狂,有很多专业专利流氓)。截至目前 Facebook 还没有援引许可证中的条款来主动发起诉讼,没有判例,是否抑制了其他公司的诉讼也尚未可知。“就像加州的科技公司雇佣合同里都有竞业禁止条款,但没见过几家公司真的执行。”iOS 机器学习模型市场 CoreML.Store 的开发者林鸿表示。

中小科技企业,特别是中国公司似乎对此并没有太多的担忧。互联网商业数据库 IT 桔子的 CTO 彭禹斯认为,小公司完全可以继续使用 React,就算陷入最坏的情况,被 Facebook 盯上,更换架构倒也比大公司轻松得多,被收购也可以考虑,“小厂还是抓紧做好业务,做好用户比较靠谱,能否活下来都是个未知呢。”

但也不是所有的小公司都可以放松警惕,比如云端文档工具石墨文档,其 web、iOS 和 Android 移动端都大量应用了 React/React Native 技术。“目前来看这件事不会对石墨文档使用 React 造成影响。”该公司技术总监李子骅告诉 PingWest 品玩,“但我比较担心的是会对 React 社区造成影响,进而影响到(招聘)候选人的数量,以及来自社区的 React 开源项目。”

李子骅表示自己一直在关注 React 许可证事件,内部也进行过是否从 React 迁移到其他技术的讨论,结论是保持现状、观察事态进:“我们是一家比较依赖 React 的公司,所以去 React 化肯定会更艰难一些。”

Facebook的这份开源协议使React四面楚歌Facebook的这份开源协议使React四面楚歌

但到了阿里巴巴、百度这边,它们的个别业务部门都对 React 有着重度依赖,去 React 化的动作就要加快了。因为大公司的法律保护意识强,法务人员众多,考虑到合规风险,它们的工程师不得不和熟悉的技术说再见,加班加点迁移甚至重新开发。一名百度公关人员告诉 PingWest 品玩,百度内部弃用 React 确有其事;知情人士透露,阿里巴巴现在还没有最终通知,但技术决策层多数支持弃用 React。

通过类似用户协议、开源许可证这类法律文书,足以窥见被远大目标和高新科技所遮挡住的,大公司普遍存在的反开放、反创新、坑用户等道德问题。最近一段时间,例子实在太多。

比如,这几天微博就因为用户条款闹得很僵。网友在条款里发现了这样的条文:“未经平台事先书面许可,用户不得自行授权任何第三方使用微博内容”。

事情闹大的导火索是今日头条从挖微博的墙角,找大V去提供内容,并“未经许可”抓取用户的微博内容同步到今日头条上。微博澄清用户条款存在只是为了防御第三方未经许可抓取微博内容,但这仍让用户感觉自己的著作权被侵犯了——毕竟最终解释权在微博那边。

而两周前美国发生的信用评级机构 Equifax 1.4 亿用户资料失窃案,则更为奇葩:因为自己的系统漏洞导致全美一半人口信息遭窃、运行一百年的信用系统面临崩溃的紧要关头,Equifax 依旧全然不在意用户的利益,只想要自保。

该公司推出了一个网站,允许用户查看自己的信息是否失窃,无论失窃与否都会推荐你付费购买一个增值服务,而隐藏在这个服务的用户协议里的是“成为本公司用户必须放弃起诉本公司的权利”这样一条奇葩条款。

Facebook的这份开源协议使React四面楚歌Facebook的这份开源协议使React四面楚歌

对于微博,它完全可以开发第三方可以使用的内容接口和交换协议(类似于 IFTTT),满足那些想要合法合规使用自己创造、自己拥有内容的用户,以及那些希望在多个社交网络上同步内容的用户。它也可以开发一个更好用的微博第三方嵌入组件并推广给其他平台,和其他平台订立盟约确立一个更规范地引用微博内容的格式。遇到竞争先开始造壁垒、建城池的做法,并不体面、高效和开放。更何况内容和使用内容的权利本来就属于用户,从来不应该属于平台。

而 Equifax 用用户协议躲避官司的行为,就属于赤裸裸的道德沦丧。它暴露出这家承担了国计民生重任的美国“私营”公司,并没有像它的广告里所说的那样安全和重视用户的隐私。企业贪婪 (crporate greed) 比用户利益更重要。

在彻底解构哈佛商学院的《金牌通行证》一书中,作者达夫·麦克唐纳(Duff McDonald) 指出,“当学生进入哈佛商学院的时候,他们相信企业的目标是提供产品和服务,增进社会福祉。等到毕业的时候,他们相信实现股东价值最大化才是企业的目标所在。”这并没有错,只是也别太把用户当猴耍。

将“社群”、“连接”天天挂在嘴边的 Facebook,此时就显得有点虚伪了。

Facebook CTO 迈克·施罗夫宣布 React Native,博客服务 WordPress 已经用 React 开发了好几年,上周末决定弃用。其运营公司 Automattic 创始人马特·穆伦维格 (Matt Mullenweg) 在自己的博客里宣布了原因:

Facebook 说了要研究这个问题,研究的结果是保持现状,因为去掉专利条款的话会在法务上浪费资金和时间。这是 Facebook 的家务事,我没什么好说的。

几年前我们用 React 重写了整个 WordPress.com。今年,我们决定用 React 来开发新一代的编辑器 Gutenberg。我甚至准备好了声明和博客,准备好了几千字来夸 React 有多好用,那篇博客不会发出来了。

我们决定换个技术重写 Gutenberg,可能会导致项目进度变慢,明年才能发布;我们也会用最终决定的技术来重写 WordPress.com,可能会花更久的时间。我们的目标是没有任何专利问题,不会让专利风险被转嫁给我们的用户。

大多数人都为穆伦维格的艰难但正确的决策而叫好。

今年 7 月,Apache 软件基金会指出 Facebook BSD+ 专利的许可证模式将风险传递给了下游用户,保护了授权者而非许可者(使用者)的权益,进而违反了 Apache 软件基金会的政策,宣布封杀该许可证模式。至于措施,该组织宣布所有使用 Apache 开源协议的软件都不得使用带有 Facebook BSD+ 专利许可证模式的组件。

作为世界上最大开源社区管理和调解机构之一,Apache 软件基金会的通知在一定层面上代表了开源社区的意见:“不爽”两个大字。Facebook 既想得到开源社区的尊敬和贡献,又想搞非标准许可证保护自己的利益,鱼与熊掌怎能兼得?

在彭禹斯看来,Facebook 的专利许可证和霸王条款差不多。而李子骅倾向于认为整件事背后可能是 Facebook 的法务在主导,并非开源项目在公司内部的主要贡献者和管理者希望看到的。防御专利纠纷的用意可以理解,但站在局外人的角度,他对这种许可方式仍然难以认同,“这种许可方式弊端很明显,大家讨论、担心的核心是 Facebook 侵犯自己的专利。”

华盛顿大学研究助理、深度学习框架 MXNet 的主要贡献者解浚源在知乎上表示:“Facebook 的这个 License 其实开了一个很不好的头。大公司可以通过在开源软件里塞私货来妨碍小公司崛起,进一步巩固自己的垄断地位。个人认为这种污染开源精神的行为很不好,希望 Facebook 能浪子回头,改用 Apache2.0 这种开放友好的 License。”

林鸿则认为:这种做法非常符合 Facebook 的价值观。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1271342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可爱IP挖掘方法论,打造内容界的“显眼包”

近些年,人们十分乐意为“可爱”买单。玲娜贝儿、loopy、卡皮巴拉……社交平台的萌系表情包大行其道,皆源于可爱事物抚慰心灵的奇效。小红书话题「大人也要玩玩具」近90天互动量突破13亿,一跃成为年轻人的热门趋势。 本期千瓜将从行业案例出发…

AI Agents 闭门研讨会报名丨CAMEL、AutoAgents、Humanoid agents作者参与

青源Workshop丨No.27 AI Agents主题闭门研讨会 所谓AI智能体(AI Agents),是一种能够感知环境、进行决策和执行动作的智能实体。它们拥有自主性和自适应性,可以依靠AI赋予的能力完成特定任务,并在此过程中不断对自我进行…

Apache Doris 整合 FLINK CDC 、Paimon 构建实时湖仓一体的联邦查询入门

1.概览 多源数据目录(Multi-Catalog)功能,旨在能够更方便对接外部数据目录,以增强Doris的数据湖分析和联邦数据查询能力。 在之前的 Doris 版本中,用户数据只有两个层级:Database 和 Table。当我们需要连…

应用软件快速开发平台,一起实现办公流程化发展!

做好办公流程化发展能给企业带来什么好处?其实,在快节奏发展社会中,很多企业的规模和业务量也在不断扩展中,如果还是懒散的办公方式是不能达到事半功倍的效果的。要想实现高效率发展,采用办公流程化发展能让企业管理朝…

一文让你深入了解JavaSE的知识点

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

leetcode:循环队列

题目描述 题目链接:622. 设计循环队列 - 力扣(LeetCode) 题目分析 我们开辟空间的时候多开一个,k是队列的长度,我们开k1个空间,定义一个front指向头,back的下一个指向尾 当frontback的时候&am…

富必达API:一站式无代码开发集成电商平台、CRM和营销系统

一站式无代码开发的连接解决方案 电子商务、客户服务系统以及其它商业应用,是现代企业运营的重要部分。然而,将这些系统进行有效的整合往往需要复杂的API开发,这对很多企业来说是一个巨大的挑战。富必达API以其一站式的无代码开发解决方案&a…

如何做好自动化测试?

提起自动化测试,可谓仁者见人,智者见智,心中五味杂陈啊!你从任何一个招聘渠道来看最近两年对测试岗位的要求,几乎都要求会自动化测试。 而不少人一直认为手工测试才是王道,工作中有的时候也用不到程序&…

Pycharm使用远程服务器运行本地python文件

一、连接远程服务器 路径:Tools → Deployment → Configuration → SFTP → 取名 填写配置信息 二、配置python解释器 三、运行python文件

【JavaEE】线程安全与线程状态

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

“大+小模型”赋能油气行业高质量发展

近日,中国石油石化科技创新大会暨新技术成果展在北京盛大举行,九章云极DataCanvas公司携油气行业一站式AI综合解决方案重磅亮相,充分展示了公司助推油气行业实现AI规模化应用深厚的AI技术实力和领先的AI应用水准,赢得了行业专家和…

AntDB“超融合+流式实时数仓”——打造分布式数据库新纪元

(一) 前言 据统计,在信息化时代的今天,人们一天所接触到的信息量,是古人一辈子所能接收到的信息量的总和。当今社会中除了信息量“多”以外,人们对信息处理的“效率”和“速度”的要求也越来越高。譬如&a…

外汇天眼交易商评测系列|交易必看,交易小白能选择XM么?

XM是一家成立于2009年提供在线交易经纪商,截至现在已在全球196个国家设立办事处,并向投资者提供30多种语言进行沟通交流。其主要分支机构位于浦路斯,受CySEC监管。现已有约150万交易员和投资者选择XM经纪商所提供的交易产品和服务&#xff0c…

堆栈_删除字符串所有相邻重复项

//给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 // // 在 S 上反复执行重复项删除操作,直到无法继续删除。 // // 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 // // // // 示…

内存函数​(memcpy、memmove、memset、memcmp)

目录 一、memcpy的使用和实现 使用: 模拟实现: 二、memmove 使用和模拟实现 模拟实现: 2.1难点: 覆盖拷贝所在的问题 memset的使用 memcmp的函数的使用​ 一、memcpy的使用和实现 memcpy 拷贝的就是不重叠的内存。 参数…

1.网络编程基础知识 - 基础概念、TCP网络通信、UDP网络通信

网络编程 文章目录 网络编程一、概念1.1 网络1.2 IP地址1.2.1 IPv4 介绍1.2.2 IPv6 介绍1.2.3 查看IP地址 1.3 域名和端口1.4 网络协议1.5 TCP与UDP1.6 InetAddress类1.7 Socket 二、TCP网络通信编程2.1 介绍2.2 案例2.2.1 字节流编程案例12.2.2 字节流编程案例22.2.3 字符流编…

openGauss Summit 2023邀您参会

数据库作为千行万业数据的基石,也是推动数字经济发展的核心。随着数字经济的蓬勃发展,数据库将迎来更加广阔的应用场景和更加迫切的需求。openGauss 社区旨在汇聚产、学、研、用多方力量,聚焦基础软件核心能力的构建,引领国内数据…

东明石化集团领导团队参访震坤行工业超市

东明石化集团领导团队参访震坤行工业超市 10月16日,山东东明石化集团(以下简称东明石化)总裁李治先生一行带队来访参观交流震坤行,与震坤行工业超市董事长兼CEO陈龙、销售负责团队开展座谈。期间,双方就企业数字化转型…

金融网站的技术 SEO:提示和最佳实践

如果你想提高排名,你必须提供高质量的材料,保持你的网站平稳运行,并吸引来自权威网站的联系。但是,作为金融服务供应商,您可能会期望网站访问者和搜索引擎进行更多审查。请记住,你是在要求人们把钱投入你身…

【接口自动化】selenium库也有大用场(获取cookie)

相信有些童鞋在做接口、或者说接口自动化测试的过程中会遇到这样的场景:测试的接口,必须是需要登录后才能发起请求成功的。 那么怎么解决呢? 本着团队协作的精神,我们就去让开发同学开个后门,给你个“万能”值&#x…