フロントエンド界隈に限らず、ITの世界は誰かが作った優れたライブラリーやプログラムによって支えられている側面があります。それらを利用することで車輪の再発明を防いだり、より低コストで開発が進められたりします。一方で何気なく使っているそれらにもライセンスがあります。思わぬトラブルの前に、ライセンスについて今一度振り返っておきましょう。
※本記事では一般的な考え方にもとづいた解説をしています。個別の事案については専門家にご相談ください。
著作権とライセンス
人が創作したものについては著作権が発生します。絵や小説など芸術的な分野だけでなく、ソースコードやプログラムにも当然ながら著作権は発生します。著作者の許諾なく、勝手にプログラムをコピーして使うことは著作権侵害の恐れがあります。著作者による「これこれの条件のもとに使っていいよ」という許諾にあたるものがライセンスです。
つまり利用者はライセンスに定められた決まりを守ってはじめて、正式にその著作物を利用できます。ライセンスは著作者の意図しない頒布や利用を制限し、著作者の権利を守るためにあります。
逆にライセンスを設けていないものは著作者がすべての権利を主張している状態(いわゆる、All Rights Reserved)です。また、著作権の保護期間が終了したものなどはパブリックドメインとして著作権の保護を受けず、自由に使えます。
オープンソースライセンス
開発者が業務の中でよく目にし、利用するのはオープンソースライセンスではないでしょうか。Vue.jsやReact、WordPress、jQueryなどもオープンソースライセンスとして提供されています。オープンソースライセンスは数あるライセンスの中でも利用者の自由度が高いライセンスですが、無条件に使ってよいわけではありません。代表的なものにMITライセンスやBSDライセンスがあります。
オープンソースの性質上、ソースコードの自由な改変や再配布などが認められていますが、以下の条件が基本的に定められている場合が多いです。
- 著作権表示
- 無保証
著作権表示は、誰かが勝手にそのプログラムの著作者であると名乗らせないための条項です。同時にこれは著作権の放棄は行っていないことを示しています。オープンソースだからといって著作権がないわけではありません。勝手に著作権表示を消したり、表示を行わない場合はライセンス違反になります。
無保証はプログラムの動作や利用にもとづく損害を著作者は保証しないことを意味します。プログラムにエラーがあって動かなくても著作者は責任を負うことはありません。
これらの条件にもとづいていて利用する分には誰でも、いかなる目的にも使用可能です。
コピーレフト
オープンソースライセンスの条件の中にはコピーレフト性のあるものもあります。コピーレフトとは元の著作物を利用して制作した二次著作物にも同様のライセンスを課す条件です。コピーレフトのものを利用して作ったものを再配布するときには、同じように改変や再配布を認める、ということになります。代表的なライセンスにGPLがあります。
商用利用
オープンソースライセンスでは商用利用も認められています。逆に無料で再配布しなければいけないという制限もありません。WordPressを少し改造して「ワールドプレス」などと銘打って10万円で売ってもライセンスに反するわけではありません(*)。
オープンソースライセンスとお金の話は独立してあり、必ずしもオープンソース=無料というわけでもありません。オープンソースライセンスは自由な再配布を認めているので、仮に有料で配布しても、誰かが無料で配布することを止められません。
(*)あくまでライセンス上の話であって、別の問題になる可能性はあります。
オープンソースライセンスについてまとめ
これらオープンソースの特徴をまとめると以下のようになります。
- ライセンス条件を守れば、自由に改変、再配布が行える
- 商用利用も可能
- ライセンス条件として著作権表示と無保証であることが定められている
- コピーレフト性のライセンスの場合は、再配布する場合には同じライセンスで配布しなければならない
そのほか、ライセンスの中には特許に関する条項や宣伝に関する制限が付与されているものもあります。
主なオープンソースライセンス
一般的に広く使われているオープンソースライセンスを紹介します。
MITライセンス
オープンソースライセンスの中でも非常に緩いライセンスです。著作権表示とライセンス条項をプログラムに記載すれば利用できます。端的に言えば、元あるライセンス条項を消したり変更したりしなければ、自由に利用できることです。Vue.jsやReact(*)もMITライセンスを採用しています。
(*)Reactはかつて特許条項付きBSDライセンスで公開されていましたが、いろいろあってMITライセンスになりました。
修正BSDライセンス(3条項BSDライセンス)
修正BSDライセンスもMITライセンスに近い制限の緩いライセンスです。MITライセンスとの違いは二次著作物の宣伝の際に元の著作者の名前を利用してはいけない点です。「これはあの○○さんの××を改良した△△です!」のような宣伝はできないということです。
なお、この宣伝の制限をとった2条項BSDライセンスもあります。これはMITライセンスと同等の内容のライセンスになります。
GPL
著作者・ライセンス条項表示の他、コピーレフト条件を定めたライセンスです。GPLを利用して作ったものは、GPLライセンスを継承しないといけません。GPLを採用しているものとして有名なのがWordPressです。たとえばWordPressテンプレートなどはWordPressの二次著作物となるので、GPLで配布(*)しなければなりません。
(*)テンプレート内のファイルでもWordPressを利用していない、画像やCSSなどについてはGPLの影響を受けません。
Apache License 2.0
MITライセンス・BSDライセンス同様な自由なライセンスですが、その2つに比べると条件が多いです。1つは変更箇所の告知事項です。変更したファイルについて変更した旨を告知することが定められています。
また条件の中に特許権に関する条項があります。これはApache Licenseで提供されているもの中に特許があった場合、利用者には無償で特許の使用権が付与されますが、利用者がその派生制作物に関する特許訴訟を起こすと付与されていた使用権が停止する、というものです。
もし、制作物に関する特許を考えている場合には注意が必要です。
プログラム以外のライセンス
ここまではプログラムに関するライセンスを見てきましたが、プログラム以外のライセンスも見てみましょう。画像などはオープンソースライセンスに比べると制限の強いものも多いので注意が必要です。とくに「フリー素材」と称しているものでも、ライセンスで提供されていることも多いので、内容はよく確認しましょう。
クリエイティブ・コモンズ・ライセンス
クリエイティブ・コモンズ・ライセンスは画像に限らず、あらゆる著作物に適用できる(*)ライセンスです。4つライセンス条件(著作者表示・非営利のみ・改変の禁止・ライセンス継承)を組み合わせた6種類のライセンスが特徴です。
オープンソースライセンスと違い、非営利・改変の禁止の条件を課せられる場合があるのでライセンス違反にならないよう気をつけましょう。
(*)ただし、運営主体のクリエイティブ・コモンズはプログラムへの適用は推奨しておらず、代わりにオープンソースライセンスを適用することを勧めています。
オープンフォントライセンス
その名の通り、オープンソースと同様の自由度の高いフォント向けのライセンスです。ライセンスのもと、自由な改変、埋め込み、商用利用などが可能です。ただし、フォント単体での販売の禁止と、改変して配布する場合は元のフォント名を含めてはいけない条件があります。
アイコンフォントで有名なFont AwesomeやGoogle Fontsで提供されているNoto Sans JPがこのライセンスで配布されています。
ロイヤリティフリー
有料販売の画像や映像でよく適用されるライセンスです。「フリー」と名がついていますが、あくまであらかじめ取り決められた使用許諾範囲内であれば追加のライセンス料がかからない、という意味のフリーです(いわゆる買い切り)。そのため改変や使用シーン、譲渡の禁止などが別途使用許諾で定められており、無料というわけでもありません。これまでのライセンスと違って統一的な規格はなく、各販売元が細かく条件を決めています。
ロイヤリティフリーと対照的なのはライツマネージドです。使用用途や使用期間の指定、独占的利用など細かい規定があり、使用ごとにライセンス料を支払うのが一般的です。
ライセンスの互換性
いくつかのライセンスのものを組み合わせて新しいものを公開する時には、それぞれのライセンスの互換性が問題になる場合があります。ライセンスAとライセンスBでそれぞれ矛盾するような条項があった場合、それらを同梱したものはいかなるライセンスも適用できなくなってしまいます。
また、コピーレフト性のあるライセンスを含む場合は自動的にコピーレフト性のあるライセンスになります。ここでよく問題になるのがGPLとの互換性です。
GPLは自身より強い制約を課すことを制限しています。MITライセンスや修正BSDライセンスはGPLと両立しますが、オリジナルのBSDライセンス(4条項BSDライセンス)は謝辞条項がGPLより強い制限と見なされ、GPLと両立しません。
他にもApache License 2.0はGPL v2とは特許事項が引っかかり両立しませんが、特許に関する部分が調整されたGPL v3では両立できます。このようにライセンスのバージョンによっても互換性が変わってくることがあります。
見境なくライブラリを使っていたら、制作物のライセンスがいつの間にか(意図せず)GPLになっていたなどの問題が起こりえます。たとえばLicense Checkerというツールを使えば、モジュールで使われているライセンスを確認できます。制作物に使っているライセンスはよく確認し、意図しないライセンスになっていないか注意しましょう。
ライセンスを守って清く正しい開発を
ライセンス違反は当然のことながら訴訟を起こされる可能性があります。受託案件での制作物中にライセンス違反があった場合、納品先で大きなトラブルになることも想定されます。
また、ここでの内容はあくまで著作権に関する話であり、別の法令や権利(意匠権や商標権)に触れる場合はその対象になりえます。たとえばMITライセンスのマルウェアを改変して公開してもライセンス違反ではないですが、「不正指令電磁的記録に関する罪(ウイルス作成罪)」などで処罰される可能性があります。
オープンソースプロジェクトは人々の努力と貢献により発展してきました。それらの思いを踏みにじらないよう、ライセンスを守って開発をしましょう。