关注公众号“风色年代”订阅更多精彩文章,本博大部分文章为转载并已标明原文出处,如有再转敬请保留,请自觉尊重原创作者的劳动成果!

https://www.sohu.com/a/224193284_635110

文章发表时间:2018-02-26 21:07

本月中旬,Facebook 在 GitHub 上修改了 React Native 的开源协议,这意味着 React Native 将同 React 一样不再使用 Facebook BSD+Patents 协议,而是使用 MIT 协议。

事件背景

我们知道,BSD、MIT 和 Apache v2 是常用的三个开源软件协议,但 Facebook 使用的却是 BSD+Patents 协议,Patents 协议是 Facebook 的“特产”,称为专利附属条款,被视为 Facebook 用于解决开源代码中可能出现的专利纠纷的防御措施。

Patents 协议是 2015 年 Facebook 添加的,大致内容是使用基于 Facebook BSD+Patents 协议的开源项目的开发者,未来要是因为专利问题与 Facebook 产生纠纷,那么 Facebook 将有权停止你使用该开源项目,也就是说如果你起诉 Facebook,那么你所使用他们的开源技术开发的产品要么得停用,要么得用别的技术迁移重构,这对企业来说是一个重大的灾难。

虽然这个附属协议引起了社区开发者们强烈地不满,上书诉求不断,但是都没能改变 Facebook 的决定,因为 Facebook 认为这样的协议虽然会让他们失去一些用户,但从长远来看,可以让他们在诉讼上减少金钱和时间的浪费。

但是到了 2017 年 7 月,开源组织 Apache 软件基金会将基于 Facebook BSD+Patents 协议的开源软件列入黑名单让事情出现了转机,同年 9 月,WordPress、百度等大型公司宣布停用 React(Native) 开源项目以规避风险,此后,Facebook 才公开发表声明,表示从 v16 开始,React 将不再使用 BSD+Patents 协议,而是采用 MIT 协议。

React Native 如何走向 MIT?

由于去年 9 月 Facebook 只是宣布将 React、Jest、Flow 和 Immutable.js 执行 MIT 协议,但同作为 Facebook 黄金级别的开源项目 React Native 却维持 BSD+Patents 协议,这自然引发开发者的热议与不满。在经过开发者几个月的努力之下,Facebook 终于为之所动,让 React Native 采用 MIT 标准。

Facebook 在社区的压力下进行退让,让开发者对 Facebook 的开源项目重拾信心,这种抛弃单惠协议,重持开源精神的做法也让 React Native 开发者狂欢!

相关链接:

修改声明:

https://github.com/facebook/react-native/commit/26684cf3adf4094eb6c405d345a75bf8c7c0bf88

RN 开发者诉求:

https://github.com/facebook/react-native/issues/16069

https://github.com/facebook/react-native/issues/16079

-------------------------------------------------------------------------------------------------------------------

本博博主:谨以此文,献给那些和我一样不明所以的very out it男。。

React Native将license修改为MIT,与React保持一致相关推荐

  1. React Native 0.59.0 发布,使用 React 编写原生应用

    React Native 0.59.0 发布了.React Native 使开发者只使用 JavaScript 也能编写原生移动应用. 新版更新亮点: React Hooks React Native ...

  2. 【REACT NATIVE 系列教程之十二】REACT NATIVE(JS/ES)与IOS(OBJECT-C)交互通信

    一用到跨平台的引擎必然要有引擎与各平台原生进行交互通信的需要.那么Himi先讲解React Native与iOS之间的通信交互. 本篇主要分为两部分讲解:(关于其中讲解的OC语法等不介绍,不懂的请自行 ...

  3. 【前端-React Native】移动端原生开发整合React Native Elements教程-安卓示例

    目录 一.移动开发和web开发的区别 二.什么是React Native? 三.如何实现安卓和IOS用一套代码开发 四.React Native开发实战 1. 安装Android studio 2. ...

  4. 大咖说:React Native 全埋点实现原理(内附赠书)

    本文主要介绍如何实现 React Native 的全埋点,主要是控件点击 $AppClick 事件.该内容,会默认你有一定的 React Native 开发经验,(若没有,也可参与文末赠书). ■ 作 ...

  5. React Native 移动开发入门与实战

    课程简介 本课程主要讲解 React 的基础知识及应用案例,包括 props.state.生命周期函数等,样式和 Flex 布局,React Native 内置的 API 和 UI 组件介绍.路由.状 ...

  6. React Native 音频录制例子来解惑入门

    React Native 音频录制例子来解惑入门 React Native 音频录制例子来解惑入门 前言 React Native工程目录结构 从indexandroidjs开始讲起 说说怎么用开源项 ...

  7. ror 和 shr_使用RoR和React Native的ANPR

    ror 和 shr 抽象 (Abstract) Due to the never-ending increase in volume of vehicles surrounding our daily ...

  8. 聊聊React Native屏幕适配那些事儿

    点击上方 前端瓶子君,关注公众号 回复算法,加入前端编程面试算法每日一题群 作者:张子君 原文:https://segmentfault.com/a/1190000039805723 写在前面 在我从 ...

  9. 最火移动端跨平台方案盘点:React Native、weex、Flutter

    本文原文由"恋猫月亮"原创发布,原题为<移动端跨平台开发的深度解析>,本次重新整理后,为了优化阅读体验,内容略有改动,感谢原作者的无私分享. 1.前言 跨平台一直是老生 ...

最新文章

  1. react 子组件获取变量属性值
  2. 知乎讨论:有必要将所有机器学习算法都实现一遍吗?
  3. 概率论与数理统计专业术语
  4. Angular JS 中的内置方法之表单验证
  5. Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策
  6. thinkphp路由的作用
  7. 线程、多线程与线程池
  8. PAT乙级(1005 继续(3n+1)猜想)
  9. linux服务器关闭web,linux关闭防火墙后还访问不了Web?已解决,关闭防火墙及清除防火墙策略...
  10. JavaScript时间格式化工具函数
  11. 小项目1——猫眼Top100 爬取
  12. 在就业创业中,您觉得最重要的是什么?
  13. python的编码解码是什么意思_python - 这是什么编码,如何解码
  14. AMD,在竞争中蜕变!
  15. 聊聊 iOS 15 新特性
  16. 空间任一点到超平面的距离公式的推导过程
  17. JNI系列(一)JNI简介
  18. 算法 2.二进制加法
  19. Win7通过无线网卡共享本地网络,开启WiFi热点以及关闭WiFi热点
  20. kafka实践(十七): Logi-KafkaManager研究

热门文章

  1. python的方向_Python Shell下方向键显示「^[[C^[[D」修复方法
  2. L1-062 幸运彩票 (15 分)
  3. 力扣——删除有序数组中的重复项
  4. Eigen教程(7)之归约、迭代器和广播
  5. 如何使用视频转换器将ogg格式转换为MP3格式
  6. ESXI5.1 数据备份与恢复
  7. 用python统计文章中单词出现的频次
  8. django 发送php,django 使用 request 获取浏览器发送的参数
  9. mysql实战数据.sql_Mysql实战(DML增删改+Select)
  10. 【前端 · 面试 】HTTP 总结(七)—— HTTP 缓存概述