React 16 釋出,Facebook 如約解除了專利條款

Wxy發表於2017-09-28

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 也被修改了許可證作為一個用於規定實現標準的規範,其現在被放在開放式網路基金會協議Open Web Foundation Agreement (OWFa) v1.0之下,並且現在 Facebook 的 GraphQL 實現也採用了 MIT 許可證釋出。

作為一個廣泛使用 JavaScript 框架,這次 React 16 的升級只有很少的破壞性改變,雖然其中大部分庫都經過了重寫。而新的 React 16 支援非同步渲染,允許處理大型元件樹而不會阻塞主執行執行緒。此外,還增加了一些屢屢被要求而難以新增的功能,比如使用錯誤邊界進行異常捕獲,和從渲染器返回多個元件。

而 React 16 中的伺服器端渲染也要比之前的版本快得多,測試表明,其比 Node 4 快 2.4 倍,比 Node 6 快 3 倍,比 Node 8.4 快 3.8 倍。

相關文章