问题

如何看待 Facebook 计划将 React 改为 MIT 许可证?

回答
Facebook(现 Meta)计划将 React 的许可证从其之前的自定义许可证改为 MIT 许可证,这是一个备受瞩目的举措,在开发者社区引起了广泛的讨论和关注。理解这一变化的影响,需要深入了解其背景、动机、以及潜在的后果。

一、 React 的许可证历史回顾

在深入探讨 MIT 许可证之前,有必要回顾一下 React 之前所使用的许可证。

BSD+Patents License (2014年): 当 React 最初发布时,它采用了“BSD+Patents License”。这种许可证的特殊之处在于它包含了一个专利授权条款。这意味着使用者不仅获得了 BSD 许可下对代码的自由使用、修改和分发权,还同时获得了 Facebook(Meta)就其专利就 React 技术提供的一项非排他性的、免费的、不可转让的专利授权。
潜在的顾虑: 这种许可证在当时引起了一些争议。一些开发者和公司担心,专利条款的存在可能会在未来带来潜在的法律风险,尤其是在与其他公司存在专利纠纷时。尽管 Facebook(Meta)曾表示其意图是鼓励开源,但“专利”这个词本身就带有一定的威慑力。

二、 Facebook 计划将 React 改为 MIT 许可证的动机和原因

Facebook(Meta)决定将 React 的许可证改为 MIT 许可证,背后有多方面的原因:

1. 消除疑虑,拥抱更广泛的开源社区: 这是最主要的原因。MIT 许可证是开源社区中最普遍、最宽松的许可证之一,几乎没有限制。通过采用 MIT 许可证,Facebook(Meta)可以打消开发者和企业对专利条款的顾虑,鼓励更多人自由地使用、贡献和构建在 React 之上的项目。这有助于 React 生态系统的进一步繁荣和普及。
2. 简化贡献者的贡献流程: 许多开源项目在接受社区贡献时,会要求贡献者签署“贡献者许可协议”(CLA)。这些协议通常会确保项目方拥有贡献代码的使用权,即使贡献者以后想撤回自己的贡献。对于拥有复杂专利条款的许可证,CLA 的签署流程可能会更加复杂。采用 MIT 许可证可以简化这一流程,吸引更多开发者贡献代码,从而加速 React 的发展。
3. 与 Meta 其他开源项目的对齐: Meta 旗下拥有许多重要的开源项目,例如 PyTorch (BSD license)、TensorFlow (Apache 2.0 license) 等。将 React 的许可证统一为更普遍的 MIT 许可证,有助于 Meta 的开源战略更加一致,方便开发者在不同项目间切换和迁移。
4. 应对开源社区的期待和趋势: 随着开源社区的不断发展,像 MIT、Apache 2.0 这样宽松的许可证越来越受到青睐。Facebook(Meta)此举也是顺应了这一趋势,向社区表达了其拥抱更开放的开源生态的决心。
5. 商业考量(潜在): 虽然 Facebook(Meta)没有明确说明,但一个更宽松的许可证也可能吸引更多的商业实体采用和集成 React,间接上也可能为 Meta 的其他产品和服务带来益处。例如,如果更多的企业使用 React,他们对 Meta 的开发者工具和云服务的需求也可能增加。

三、 MIT 许可证的特点及其对 React 的影响

MIT 许可证是一种非常简单的许可证,其核心内容是:

允许: 使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本。
要求: 必须保留原始许可证和版权声明。

这项许可证的宽松程度体现在:

无病毒/无保证: 明确声明软件“按原样”提供,不附带任何形式的保证。
无责任: 作者不对任何损害负责。
无专利条款: 这是与之前许可证最显著的区别。MIT 许可证不包含任何专利授权或限制。
极低的限制性: 几乎没有任何限制,即使将 React 集成到闭源商业产品中,也无需开放自己的源代码。

对 React 的具体影响:

更低的采用门槛: 许多企业在选择技术栈时,会对项目的许可证进行严格审查,以规避潜在的法律风险。MIT 许可证消除了这种风险,使得更多的企业可以放心地在生产环境中使用 React。
促进生态系统的健康发展: 宽松的许可证鼓励了第三方库和工具的开发,进一步丰富了 React 的生态系统。开发者可以更自由地构建和分享与 React 相关的工具,而不是担心许可证的限制。
吸引更多贡献者: 如前所述,更简化的贡献流程和更清晰的许可证会吸引更多开发者参与到 React 的开发中来,从而提升项目的活跃度和创新性。
与 React Native 等其他项目的协调: React Native 也是 Facebook(Meta)推出的重要项目,其许可证也通常是比较宽松的。将 React 本身的许可证改为 MIT,可以更好地协调其生态系统中的各个项目。

四、 可能存在的担忧和辩论

尽管将 React 迁移到 MIT 许可证普遍被视为积极的举措,但仍然存在一些值得思考的方面:

对 Facebook(Meta)的担忧(历史遗留): 尽管许可证变了,但一些开发者可能仍然对 Facebook(Meta)过去在开源许可证上的做法存在一定的戒心。然而,这次大规模的许可证更改表明了其拥抱开源的诚意。
对“Copyleft”许可证的支持者: 一些开发者更倾向于使用 GPL 等“Copyleft”许可证,因为它们强制要求在衍生作品中也共享源代码。MIT 许可证并不具备这种“传染性”,因此一些倡导“软件自由”的人可能对此持保留态度。但对于 React 这样的 UI 库而言,其核心价值在于其组件化和声明式编程范式,而非强制代码共享。
对项目维护的长期承诺: 许可证的变更并不能保证 Facebook(Meta)对 React 的长期维护和投入。但根据 React 社区的活跃度和其在 Web 开发中的重要性,这方面的担忧相对较小。

五、 结论

Facebook(Meta)计划将 React 改为 MIT 许可证,是其在开源领域迈出的重要一步,也是对整个开源社区的重大利好。这一举措不仅消除了潜在的法律顾虑,降低了采用门槛,更重要的是表达了 Facebook(Meta)拥抱更开放、更包容的开源生态系统的决心。

从长期来看,这一改变将极大地促进 React 生态系统的健康发展,吸引更多的开发者参与贡献,并为开发者和企业带来更大的灵活性和自由度。这无疑是一个明智且值得支持的决定,将巩固 React 在现代 Web 开发中的领导地位。

网友意见

user avatar

这就意味着Facebook将再授予用户React相关专利。


我,作为一个法学毕业生,讲一下完整的故事吧。

很久很久以前,Facebook申请了SyntheticEvent软件专利,还写了个软件叫React,拥有React的软件著作权。从法律上说,软件专利和软件著作权是两码事。如果你想用React处理事件,你需要同时获得软件专利和软件著作权两部分授权。

所以,Facebook用BSD许可证授予React用户软件著作权上的一堆权利,然后用额外的专利条款授予React用户SyntheticEvent专利的一堆权利。

不幸的是,这个软件专利的授权有一些前提条件。简单的说如果你的公司告Facebook侵犯你的专利,Facebook先前给你的SyntheticEvent专利授权就会失效。


现在好了,Facebook打算把软件著作权的许可证改成MIT;然后会删掉专利授权条款,任何条件下都不给你专利了。

结论:你可以在服务端用React当PHP用,但是你不可以用React处理事件。

user avatar

这件事后,很多公司会谨慎对待开源,这是一件好事。

另外,这件事导致很多公司和团队在评估 React 风险和替换成本时,发现这件事在操作层面风险很高。不少人对 FB 的开源失去部分信心,如果再反转一次呢,对于很多公司来说,不可避免还是会去自研框架。

不得不说这次 FB 在开源界已经被贴上标签了。同情 FB patent 下开源库的 maintainer 们,尤其还有本着开源精神在 FB 工作的前端工程师们。这次反转他们提供了支持,感谢 。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有