Apache License2.0の特許条項があんまり正確に理解されていない気がするので書いておきます。
Inspired by :
でかい企業のOSSがApache License 2.0だと嬉しい理由 - 西尾泰和のはてなダイアリー
図解:Apache License2.0の特許条項 | オープンソース・ライセンスの談話室
Apache Licenseの特許条項を読む - 未来のいつか/hyoshiokの日記
特許条項というのはこれ(日本語訳)で、OSSに関する特許訴訟が起きた場合に、そのOSSに関するコントリビュータから自動的に付与されていた特許ライセンスを解除(terminate)する規定です。
catchさんへのオマージュとして図解します。
でかい企業にとってはApache License2.0が安心な気がするというのもわからなくもないけど、実際問題としてこれに救われるケースは少ない。抑止力が働くのはcase2だけ。最も多くかつ厄介と思われるPAE (a.k.a. パテントトロール )が訴えてくる case3については無力だし、そうでなくてもcase4になる場合がほとんど。どこの会社でもよってたかってコントリビュートしてる人気OSSでなければcase2にはならないし、そのOSSで特許行使なんかするのはレピュテーションリスクが高いのでやらないでしょう。
Case 1 : OSS_AのユーザであるDが、OSS_Aに関する自身の特許に基づいて、OSS_Aに関係ないIを訴える場合
CからDに付与されている特許ライセンスはterminateしない。 ∵ Dの持っている特許がOSS_Aに使われている特許だったとしても、DがIに対してその特許の権利を行使することはApacheライセンスとは関係ない。
Case 2 : OSS_AのユーザであるDが、OSS_Aに関する自身の特許に基づいて、OSS_AのユーザであるEを訴える場合
CからDに付与されている特許ライセンスはterminateする。
Case 3 : OSS_Bに関係ないJが、OSS_Bに関する自身の特許に基づいて、OSS_BのユーザF、G、Hを訴える場合
JはApacheライセンスの拘束を受けないので関係なく訴えることができる。JがOSS_Bを使っていないならそれ以外にApacheライセンスのOSSを使っていても構わない。コンペティターが同じOSSを使っていなければ関係ないし、いわゆるパテントトロール(NPE)なんかはここ。
Case 4 : OSS_BのユーザであるHが、OSS_Bに関する自身の特許に基づいて、OSS_BのユーザであるGを訴える場合
Apacheライセンスにおける特許ライセンスのterminateに該当するケースだが、そもそも特許ライセンスがないので関係ない。Apacheライセンスでは特許の権利行使は著作権ライセンスには関係ないので関係ない * GPL3.0ではこのケースで著作権ライセンスを含むOSSライセンスそのものがterminateされるので抑止力がある
余談:コントリビュートする場面では、コントリビュータはOSSユーザに対して自動的に無償の特許ライセンスを付与することになるので、それ本当に無償の特許ライセンスしちゃって良いのかっていうのは「でかい企業」にとってむしろネックになりがち。