FOSSology(フォソロジー)とは
今回はFOSSologyの概要について解説していきます。
FOSSologyとは
FOSSology(読み方:フォソロジー)は、ソースコードをスキャンしてライセンス情報や著作権情報を明らかにする解析ツールです。複数の解析エージェントを組み合わせた「ツールキット」で、目的に応じて必要な解析を実行できます。
- FOSSology公式ページ:https://www.fossology.org/
- GitHub:https://github.com/fossology/fossology
※FOSSologyはGPLv2で公開されているオープンソースソフトウェア(OSS)です。
FOSSologyの歴史
FOSSologyは、Hewlett Packard(HP)社の開発活動として始まったツールです。HP内部のITガバナンスプロセスの一環として、OSSがどのようにライセンスされているかを確認する必要があり、そのためのツールとして2003年には現在の中核スキャナである「Nomos」が開発されていました。これが現在のFOSSologyの起こりとなっています。(参考)
またFOSSologyは「The study of FOSS」、つまりFOSS(Free and Open Source Software)に「~学」という意味の接尾語である「~ology」を付けた造語となっており、2007年にGPLv2で公開されました。(参考1、参考2)
2015年にはLinux Foundationにホストされ、現在ではさまざまな企業や組織で使用されています。(参考)
FOSSologyの構成
WEBサーバーとして稼働し、GUIを使ってソースコードの解析から結果のレビューまでおこなうことができます。FOSSologyの主なコンポーネントは以下のとおりです。
- ソースコードリポジトリ:FOSSologyにアップロードされたファイルが格納されます。
- データベース:ユーザーアカウント、ファイル情報、解析結果などの各種情報が保存されます。
- エージェント:ソフトウェアリポジトリとデータベースの内容にもとに解析を実行します。
- スケジューラー:エージェントの実行を管理します。
- Web GUI:FOSSologyへのユーザーアクセスを提供します。
- コマンドライン:FOSSologyへのコマンドラインによるアクセスを提供します。
なおREST APIも提供されています。REST APIについてはこちらの記事も参照ください。
FOSSologyのインストール方法
構築方法は以下の3パターンがあります。
最も手軽な方法はDockerかと思います。※私の場合はWindows10のWSL2にDockerを入れて使っています。
手順はこちらでご案内していますのでよろしければご覧ください。
FOSSologyの機能
FOSSologyが提供する主な機能は以下のとおりです。
- アップロードしたファイル一式を解析してライセンス情報を検出する。
- 同様に著作権表示(コピーライト)、ECC(輸出管理)、Email、URLなどに関する情報を検出する。
- 解析結果を精査してSBOM(SPDXファイル)を作成して出力できる。
※SBOM:Software Bill of Materials(ソフトウェア部品表)
※SPDX:Software Package Data Exchange
なお解析において対象言語の縛りはありません。プログラム、テキスト、メタデータなどすべてのファイルを解析対象とすることができます。
具体的なFOSSologyの使い方については以下の記事も是非ご覧ください。
以上です
今回はFOSSologyの概要説明を記事にしてみました。皆様のOSSコンプライアンス活動の一助になれば幸いです。
もう少しくわしい情報が欲しいなどのご相談がありましたら、こちらからお気軽にお問い合わせください。