2018年2月19日

プログラミング

【速報 2018年2月18日】React NativeがMITライセンスに!!今までの経緯と詳細

目次

  1. はじめに
  2. ライセンス変更の経緯
  3. BSDライセンスとは
  4. MITライセンスとは
  5. まとめ

はじめに

こちらの公式Tweetにもあるように、React NativeのライセンスがBSDライセンスから、MITライセンスにリライセンスがありました!

後ほどMITとBSDの違いなどはご説明しますが、これはReact Nativeがよりオープンソースとして自由な使い方ができるものとなり、可能性がより広がるニュースです。
もともと2017年9月にReactがMITライセンスにリライセンスしており、規定路線ではありましたがとても喜ばしいことです。

ライセンス変更の経緯

もともと、React 、React NativeやFlowなどの開発元であるFacebook社は、ライセンスをBSD+特許事項(通称 Facebook BSD+Patents License)としていました。

こちらの2014年10月まではApache 2.0でしたが、ここからBSDと特許事項つきのライセンスとなっています。
React BSDへの変更コミット

React NativeのこちらのLICENSEファイルコミットが2015年3月であることから、こちらはずっとこのBSD+特許事項ライセンスを保持してきたことになります。
React Native LICENSE

そのまま特に大きな問題にはなることなく多くの開発者に使われてきましたが、2017年7月にオープンソースのソフトウェアプロジェクトを支援する団体である、Apacheソフトウェア財団(Apache Software Foundation)からApache License 2.0への変更を提起されます。
ApacheのプロジェクトではReactと依存関係のあるものを許可できないので、リライセンスしてほしいと警告を受けています。
こちらは通称category-xと呼ばれており、Facebook BSD+Patents licenseもしっかり入っていますね。

Apacheソフトウェア財団からの問題提起

この件は大きな反響を呼びました。
Reactから離れたほうが良い、という意見や実際に離れた開発者も多くいました。
Come on Facebook, do the right thing! という悲痛なコメントがこの件をよく表しています。

そしてFacebookはこちらの記事で弁明します。
Facebookの弁明記事

要約はこちらです。

  • Facebook社はオープンソースに多大な貢献をしてきた
  • 様々な技術を生み出す中で、訴訟のターゲットにされることも多く、そのリスクを軽減させる為のBSD+特許事項ライセンスだった
  • 既存のMITやApache2.0などと補完できるものなので安心してほしい
  • このままのライセンスで何とかできないか調整していく

このポストは大きな反響を呼びました。
Hacker News(アメリカの最大手IT系ニュース、コメントサービス)では600件近くのコメントがついています。
Explaining React’s licenseへの反応

結局、2017年9月に方向性を変え、リライセンスを行い特許事項の撤廃及びMITライセンスに変更をしています。

Relicensing React, Jest, Flow, and Immutable.js

リライセンスコミット

このリライセンスについては、多くの開発者が歓迎しました。
ですが、対象となったのは ReactJestFlow、そしてImmutable.js となっており、React NativeはまだBSDライセンスのままでした。

まだかまだかと言われていたReact Nativeのライセンスですが、2018年2月17日に正式にMITライセンスに変更が行われました!
React Nativeリライセンスコミット

BSD+特許事項ライセンスとは

ここまで経緯について解説してきましたが、BSD+特許事項ライセンスとはどのようなもので、何が問題だったのでしょうか。

そもそもBSDライセンス自体(Facebookが適用していたBSD-3条項)は以下の特徴を兼ね備えています。

  • ソースコード及びバイナリファイルについて、著作権表示やBSDライセンス条項、免責事項を記載すれば利用や再配布が可能。
  • 書面による事前の許可なしに、ソフトウェアから派生した製品を推薦または宣伝するために、著作権者の名前や組織の名前を使用することはできない。
  • ソフトウエアの作成組織、作成者は責任を負わない。

つまり、著作権表示やBSDライセンス条項、免責事項を記載すれば、商用利用問わず変更や再利用、再配布も可能な割と自由度の高いライセンスです。

Open Source Initiativeによる定義
Open Source Group Japanによる日本語

多くのOSSがBSDライセンスを適用しており、問題になったのは特許事項に関する記載です。
Facebook社の弁解によると、「訴訟のターゲットにされることも多く、そのリスクを軽減させる為のBSD+特許事項ライセンスだった」という内容がありました。
Facebook社をかばうとすると、これは「攻撃の為のライセンス」ではなく、「防御の為のライセンス」だったように見受けられます。
よく誤解されている方も多いのですが「Facebookと類似のサービスやFacebookと競合するサービスを展開すると訴訟される」といったものではなく、あくまでも「Facebookを特許侵害で訴訟した際に、FacebookのOSSを使用する権利が無くなる」というものです。

ですが、オープンソースの文化としてはこのライセンスには違和感を覚える人も多くいました。
それは、特許事項を侵害する訴訟をするという前提がありつつも、「Facebookを訴訟する人はOSSの権利を失う」という高圧的とも取れる姿勢が、(ライセンスを守る限り)オープンで自由な文化であるOSSと相反する部分があるというものです。
例えば、React Nativeを使用した特定分野のアプリケーションについて、特許を取得したとします。そしてその後にFacebookがその特許を侵害するような製品を開発しても、訴訟できない(正確には訴訟したらReact Nativeの利用ができなくなる)というものです。

その為、OSSの文化を守る今回のMITライセンスの適用(特許事項ライセンスの廃止)は歓迎されているのです。

MITライセンスとは

では、MITライセンスとはどのようなものでしょうか。

要約するとこのような特徴を持っています。

  • ソースコード及びバイナリファイルについて、著作権表示および許諾表示を記載すれば利用や再配布が可能。
  • ソフトウエアの作成組織、作成者は責任を負わない。

BSDよりも「書面による事前の許可なしに、ソフトウェアから派生した製品を推薦または宣伝するために、著作権者の名前や組織の名前を使用することはできない」という点がなく、より自由度の高いライセンスです。
GitHubのライセンスとしても最も多く使われていると言われています。

Open Source Initiativeによる定義
Open Source Group Japanによる日本語

まとめ

Facebookとしても言い分はあったものの、今回のリライセンスについては歓迎すべきことと捉えられています。
特許や訴訟というと遠い存在のように思われる方もいるかもしれませんが、ソフトウェア開発の世界でも、実際に特許を侵害されたという訴訟は耳にします。
記憶に新しいのが会計ソフトのfreeeがマネーフォワードを特許侵害で提訴した例です。
マネーフォワードがfreeeに勝訴–会計ソフト機能の特許訴訟で – CNET Japan

何よりオープンソースはその会社だけではなく、周りの多くのcontributerやコミュニティなどがあってのものです。
そういった周りの支援者のことも考えると、今回のような対応は今後のReact Nativeの発展においても非常に重要であることがわかりますね。

2

0

AUTHOR

eishis

Eishi Saito 総務

SIerやスタートアップ、フリーランスを経て2016年11月にeishis, Inc.を設立。 マーケター・ディレクター・エンジニアなど何でも屋。 COBOLからReactまで色んなことやります。

アプリでもっと便利に!気になる記事をチェック!

記事のお気に入り登録やランキングが表示される昨日に対応!毎日の情報収集や調べ物にもっと身近なメディアになりました。

palanでは一緒に働く仲間を募集しています

正社員や業務委託、アルバイトやインターンなど雇用形態にこだわらず、
ベテランの方から業界未経験の方まで様々なかたのお力をお借りしたいと考えております。

話を聞いてみたい

運営メンバー

eishis

Eishi Saito 総務

SIerやスタートアップ、フリーランスを経て2016年11月にeishis, Inc.を設立。 マーケター・ディレクター・エンジニアなど何でも屋。 COBOLからReactまで色んなことやります。

sasakki デザイナー

アメリカの大学を卒業後、日本、シンガポールでデザイナーとして活動。

しまだ

しまだ デザイナー

WebAR/VRのデザインと3DCG制作がメインです。 肩書きは「アニメ案件に関わりたいデザイナー」。

Miu マーケター

ドイツでWEBマーケティングしています。

しんのき エンジニア

主に React Native を使ったアプリ開発と AWS や Firebase を使ったサーバーレスアーキテクチャを担当しています。元々はインフラとかPHPをやっていました。

yamakawa

やまかわたかし デザイナー

フロントエンドデザイナー。デザインからHTML / CSS、JSの実装を担当しています。最近はReact NativeやReact360をよく触っています。

furuya エンジニア

サーバーサイド、フロントエンド、Unityと色々手を出してる雑食系エンジニア。ReactNativeが最近のマイブーム。

Sayaka Osanai デザイナー

Sketchだいすきプロダクトデザイナー。シンプルだけどちょっとかわいいデザインが得意。 好きな食べものは生ハムとお寿司とカレーです。

はらた

はらた エンジニア

サーバーサイドエンジニア Ruby on Railsを使った開発を行なっています

うえまつゆい エンジニア

サーバーサイドエンジニアからフロントエンドエンジニアになりました。主にReact Nativeでのアプリ開発をしています。

kobori

こぼり ともろう エンジニア

サーバーサイドエンジニア。SIerを経て2019年7月に入社。日々学習しながらRuby on Railsを使った開発を行っています。

sasai

ささい エンジニア

フロントエンドエンジニア WebGLとReactが強みと言えるように頑張ってます。

damien

Damien

WebAR/VRを中心に企画やディレクションやエンジニアもちょっとやっています。森に住んでいます。

デザイナーゲスト

ゲスト デザイナー

CONTACT PAGE TOP