React 16 發布,Facebook 如約解除了專利條款
26 日,Facebook 發布了 React 16,並如之前承諾的,將 React 16 JavaScript 庫以及 GraphQL 查詢語言的許可證從原來的 BSD + 專利條款改為更受歡迎的 MIT 許可證。
正如 Facebook 工程總監 Adam Wolff 上周說的,「Facebook 未能說服開發者社區其 BSD + 專利條款的許可證是與開源需求所兼容的」,因此,在招致社區的抗議和拋棄,尤其是在發生了 Apache 基金會將 React 的許可證列入「X 類別」和 WordPress 棄用 React 事件之後,Facebook 表示願意將這個重要的 JavaScript 基礎框架更換成大家更歡迎的 MIT 許可證。
作為最廣泛使用的用於構建 Web 用戶界面的基礎框架,React 的這一許可證的修改得到了社區的強烈反響,雖然有些不同意見,但是大部分人還是表示喜聞樂見——一方面代表了社區的勝利,另外一方面也可以避免大量的採用 React 的項目重寫。
不過,也有一些人對 Facebook 採用 MIT 許可證表達了不同的看法。RedMonk 的創始人 Stephen O'Grady 表示,Facebook 採用不包括專利條款的 MIT 許可證,而沒有採用包含了更弱的專利條款的 Apache 許可證,相比於原來的 BSD + 專利條款,按倒了葫蘆起了瓢。「問題是,通過選擇這種方式,Facebook 並沒有像在 Apache 許可證下一樣在 MIT 許可證中傳達任何專利授權……如果 Facebook 在 React 申請了專利,換句話說,該軟體的用戶並沒有被 MIT 許可證授予明確的許可,只有一個未經測試的隱含許可」。
此外,除了 React 16 換用了新的 MIT 之外, Facebook 也將前一天發布的 React 15.6.2 換用了 MIT 許可證,以便那些不方便升級 React 16 的用戶使用。
而曾經被 Gitlab 由於該許可證條款而放棄的 GraphQL 也被修改了許可證。作為一個用於規定實現標準的規範,其現在被放在 開放式網路基金會協議 之下,並且現在 Facebook 的 GraphQL 實現也採用了 MIT 許可證發布。
作為一個廣泛使用 JavaScript 框架,這次 React 16 的升級只有很少的破壞性改變,雖然其中大部分庫都經過了重寫。而新的 React 16 支持非同步渲染,允許處理大型組件樹而不會阻塞主執行線程。此外,還增加了一些屢屢被要求而難以添加的功能,比如使用錯誤邊界進行異常捕獲,和從渲染器返回多個組件。
而 React 16 中的伺服器端渲染也要比之前的版本快得多,測試表明,其比 Node 4 快 2.4 倍,比 Node 6 快 3 倍,比 Node 8.4 快 3.8 倍。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive