FacebookがReactとGraphQLのライセンス手術に成功

Table of Contents

FacebookがReactとGraphQLのライセンス手術に成功

Facebook は火曜日、React JavaScript ライブラリと GraphQL クエリ言語を、不評だったライセンス スキームから解放しました。

先週約束したとおり、React 16 ではライセンス置換手術が行われ、Facebook の物議を醸している BSD + Patents ライセンスが削除され、より歓迎される MIT ライセンスに置き換えられました。

Facebookのエンジニアリングディレクターのアダム・ウォルフ氏が金曜日に述べたように、この操作はソーシャルネットワークが開発者コミュニティに対し、BSD + Patentsライセンスがオープンソースの要件と互換性があると納得させることに失敗したため、必要だと判断された。

実装可能な仕様として存在するGraphQLも改訂されました。この仕様はOpen Web Foundation Agreement (OWFa) v1.0に準拠しており、FacebookのGraphQL実装はMITライセンスの下で利用可能になりました。

バックギア

WordPressはFacebookのReact.jsライセンスに反発

続きを読む

しかし、早まって喜ぶのはやめましょう。コンサルティング会社RedMonkの創設者、スティーブン・オグレイディ氏は、Facebookが特許付与を含まないMITライセンスを、オリジナルのBSD + Patentsライセンスよりも弱い特許条項を含むApacheライセンスではなく採用するという決定は、一つの特許問題を解決する一方で、別の問題を引き起こすと指摘しています。

「問題は、このアプローチを選んだことで、フェイスブックはApacheライセンスの下で得られるはずの特許許諾をMITライセンスで取得できていないということだ」と同氏は火曜日のブログ投稿に書いた。

「FacebookがReactに関する特許を保有している場合、言い換えれば、そのソフトウェアのユーザーにはMIT経由で明示的なライセンスが付与されるのではなく、テストされていない暗黙的なライセンスのみが付与されることになります。」

Web アプリケーションのユーザー インターフェイスを作成するために最も広く使用されているライブラリの 1 つである React 16 も、コードの移植の恩恵を受けており、ライブラリの大部分が書き直されています。

「ゼロから設計」

Facebook のソフトウェア エンジニアである Sophie Alpert 氏は、何百もの企業が Web アプリケーションで React コンポーネントに依存しており、Facebook は変更に応じて全員に React コードを書くように求めたくないことを考慮して、改訂プロセスを走行中の自動車のエンジンを交換するようなものだと説明しています。

いくつかの重大な変更点があるが、Facebook は、これらはまれなユースケースに影響するものであり、ほとんどのアプリには影響しないはずだと主張している。

「新しい実装は、非同期レンダリングをサポートするように根本から設計されており、メインの実行スレッドをブロックせずに大規模なコンポーネントツリーを処理できます」とアルパート氏はブログ投稿で述べています。

「また、エラー境界を使用して例外をキャッチしたり、レンダリングから複数のコンポーネントを返すなど、以前は追加が困難だった、頻繁に要求される機能を構築する機会を得ました。」

React 16のサーバーサイドレンダリングは、以前のバージョンと比べて大幅に高速化されています。Redfinの元CTOであるSasha Aickin氏が実施したテストでは、Node.js 4では2.4倍、Node.js 6では3倍、Node.js 8.4では3.8倍の改善が見られました。

Alpert 氏が言及した追加機能以外にも、React 16 には次のような新しい機能が追加されました。

  • コンポーネントのレンダリング メソッドから要素の配列を返す機能。
  • より効率的に生成された HTML。
  • カスタム DOM 属性のサポート。®

Discover More