はじめに
会社に入りOSSについて学ぶ機会がありました。
私はOSSのライセンスって今まで意識してこなかったため、危機感を覚えました。
同じような人はいると思うので少しでもたくさんの人にOSSのリスクを知ってほしいです。
OSSとは
- ソースコードが無料で配布されている。
- 誰でも複製、配布、改良することができる。
- ビルドツールやパッケージ管理ツールで知らず知らずに使っているかもしれない
- 複製配布改良の範囲はオープンソースライセンスによって決められている。
オープンソースライセンスとは
- 普通OSSをアプリに利用したり、改良して配布したりする場合は本人に連絡し許可を取るという手間がかかる。
- その手間をなくすために、このライセンスに従って使用すれば改良、配布などが許可されるというもの。
- ただし、これを遵守しないと、最悪の場合訴訟問題になる。
MITの場合
オープンソースライセンスの例としてMITを紹介します。
こちらのライセンスの規約は、
- 著作権をわかるように記述すること
- ライセンス本文を記述すること
- 免責事項をわかるようにすること
のおおまかに3つが支持されています。詳しくは(Google:MIT License)
よくアプリやウェブサイトなどでライセンスという項目があるのはこれです。
リスク
ライセンスの一つにGPLというものがあります。
これには、次の支持がされています。
1,著作権表示を保持しなければならない+無保証である
2,GPLライセンスのオープンソース・フリーソフトウェアは、誰でも自由に複製・改変・頒布することが許可されている
3,GPLライセンスのソフトウェアやプログラムを使用した場合、その制作物もGPLライセンスで配布しなければならない
この3つ目が特に説明したいです。
これにより何が起こるかというと
- AというシステムでGPLのOSSを使うとAの派生のBやCなどにもGPLライセンスを適用しなければいけなくなる。
- これが俗にいうGPL汚染というものです。
- さらにGPLの規約によりソースコードの公開という問題が起こる場合がある。
要はこのGPLを間接的にでも使うと、
ソースコードを公開しなければいけない場合があるということです。
これは企業にとっては一大事です。
なのでOSSライセンススキャンなどをCIツールなどに取り入れて自動で調べることで、
これらの被害を未然に防ぐ必要があります。
まとめ
厳しいことを書きましたがOSS自体は積極的に利用することで開発の幅が広がる素晴らしい物です。
また、これでOSSについて考える機会になってもらえたらよかったです。