SlideShare a Scribd company logo
1 of 55
Download to read offline
© Hitachi Solutions, Ltd. 2021. All rights reserved.
株式会社 日立ソリューションズ
OSSコンサルティンググループ
森下 大輔
エンジニアのためのOSSライセンス管理
〜OSS管理ツールの池の水ぜんぶ抜く〜
© Hitachi Solutions, Ltd. 2021. All rights reserved. 1
はじめに
OSS管理ツールの池の水ぜんぶ抜く
クラウドサービスFOSSAについて
本日のアジェンダ
© Hitachi Solutions, Ltd. 2021. All rights reserved. 2
はじめに
© Hitachi Solutions, Ltd. 2021. All rights reserved. 3
自己紹介
森下 大輔
@OSSコンサルティンググループ
Qiitaやってます
https://qiita.com/d-morishita
© Hitachi Solutions, Ltd. 2021. All rights reserved. 4
(念のため)OSSライセンスとは
• MIT、Apache-2.0、GPL、AGPL、など
• OSI(Open Source Initiative)が定義
© Hitachi Solutions, Ltd. 2021. All rights reserved. 5
OSSライセンス”管理”とは
• 使っているOSSをすべて把握すること
• OSSライセンスを正しく把握すること
• ライセンスのルールに従うこと(責務を全うすること)
© Hitachi Solutions, Ltd. 2021. All rights reserved. 6
エンジニアにとってのOSSライセンス管理
• 手間がかかる
• ライセンスの確認には手間と時間がかかる
• 開発スピードを落としたくない
• よく分からない
• ライセンスは英語でよく分からない
• 日本語にしても法律関連の文章で意味不明
© Hitachi Solutions, Ltd. 2021. All rights reserved. 7
エンジニアにとってのOSSライセンス管理
• 手間がかかる
• ライセンスの確認には手間と時間がかかる
• 開発スピードを落としたくない
• よく分からない
• ライセンスは英語でよく分からない
• 日本語にしても法律関連の文章で意味不明
←ツール
←解釈共有
© Hitachi Solutions, Ltd. 2021. All rights reserved. 8
OSSライセンス管理のためのツール
• さまざまなツール
• 無償(フリー/OSS)
• FOSSology
• scancode-toolkit
• LicenseFinder
• など
• 有償
• Black Duck
• WhiteSource
• FlexNet Code Insight
• など
© Hitachi Solutions, Ltd. 2021. All rights reserved. 9
OSSライセンスの解釈共有サービス・ツール
1. TLDRLegal
• FOSSA社が公開しているOSSライセンスの要約を解りやすい形式
で提供するWebサイト
2. OSADL License obligations checklist
• Open Source Automation Development Lab(OSADL)が公開
しているライセンス義務条件データ
3. OSS License Open Data
• 日立が公開しているライセンス解釈データ
1.https://tldrlegal.com/
2.https://www.osadl.org/Access-to-raw-data.oss-compliance-raw-data-access.0.html
3.https://github.com/Hitachi/open-license
© Hitachi Solutions, Ltd. 2021. All rights reserved. 10
エンジニアにとってのOSSライセンス管理
• 手間がかかる
• ライセンスの確認には手間と時間がかかる
• 開発スピードを落としたくない
• よく分からない
• ライセンスは英語でよく分からない
• 日本語にしても法律関連の文章で意味不明
←ツール
←解釈共有
今日はここを深堀り
© Hitachi Solutions, Ltd. 2021. All rights reserved. 11
OSS管理ツールの池の水ぜんぶ抜く
© Hitachi Solutions, Ltd. 2021. All rights reserved. 12
OSS管理ツールの池の水ぜんぶ抜く
• 今日の話
• OSSライセンス管理のためのツールはどんなもの
があるか
• それらはどんなことができるか
• どう使えば良いか
© Hitachi Solutions, Ltd. 2021. All rights reserved. 13
どんなツールがあるのか
© Hitachi Solutions, Ltd. 2021. All rights reserved. 14
OSSライセンス管理のためのツール
オープンソースが世の中に広まっていく中でさまざまなツールが誕生
→ 全容が分かり辛くなっている(まるで公園の池のように…)
たくさんあるね
2004年に旧BlackDuck社が
OSSスキャンソリューションを発表
無償・有償問わず
多数のツールが誕生
多数の機能を持ったツールも存在
ツールによっては珍しい
機能を持ったツールも
まるで新種のように…
希少種の
ように…
まるで巨大魚のように…
© Hitachi Solutions, Ltd. 2021. All rights reserved. 15
開始10分ですが、
さっそく水を抜きます
© Hitachi Solutions, Ltd. 2021. All rights reserved. 16
池の水ぜんぶ抜いてみた
BlackDuck
WhiteSource
FlexNet Code
Insight
FOSSID
Insignary Clarity
FOSSA
Snyk
JFrog Xray
Veracode SCA
WhiteHat SCA
GitLab
yamory
Nexus
Contrast OSS
CAST Highlight
CxSCA
FOSSology
scancode-toolkit
askalono
lc
go-license-detector
licensee
ninka
licenseclassifier
LiD
ORT
LicenseFinder
licensed
license-
checker(npm)
license maven
plugin(Maven)
license gradle
plugin(Gradle)
AboutLibraries
(android)
LicensePlist(iOS)
pip-licenses(pip)
php-legal-
licenses(composer)
go-licenses(Go)
© Hitachi Solutions, Ltd. 2021. All rights reserved. 17
全ツールについて詳細を解説
整理した上で全体像(何ができるか)を解説
© Hitachi Solutions, Ltd. 2021. All rights reserved. 18
何ができるのか?(ライセンス関連)
1. OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• コードパターンのスキャン
2. ポリシーの設定とアラートの通知
• GPL/AGPLの検出でメール送付するなど
3. ライセンスファイルの生成
• 利用OSSすべてのライセンステキストまとめを生成
1と2できます 全部できます
※ツールによって持っている機能が異なります
1だけできます
© Hitachi Solutions, Ltd. 2021. All rights reserved. 19
何ができるのか?(ライセンス関連)
1. OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• コードパターンのスキャン
2. ポリシーの設定とアラートの通知
• GPL/AGPLの検出でメール送付するなど
3. ライセンスファイルの生成
• 利用OSSすべてのライセンステキストまとめを生成
1だけできます 1と2できます 全部できます
※ツールによって持っている機能が異なります
© Hitachi Solutions, Ltd. 2021. All rights reserved. 20
依存関係(メタデータ)のスキャンとは
• パッケージマネージャなどで依存モジュールとして設定し
たOSSライブラリの検出
• 無償・有償含め、本機能を持っているツールは多数存在
~パッケージマネージの例~
Maven
Npm
Gradle
nuget
CocoaPods
…
© Hitachi Solutions, Ltd. 2021. All rights reserved. 21
依存関係(メタデータ)のスキャン 補足
• ツールの例
• 特定環境特化型
• 特定の言語や環境に特化してOSSライセンスを調べるツール
• ツールの例
• license-checker(npm)
• LicenseToolsPlugin(android)
• など
• 環境横断型
• 複数言語(パッケージマネージャ)に対応したツール
• ツールの例
• LicenseFinder(pivotal)
• Licensed(github)
• など
• ツールによる違い
• 検出対象
• アプリケーションのパッケージ(npm、maven、…)
• OSのパッケージ(rpm、deb、…)
• ライセンスの判断材料
• パッケージのメタデータ
• 「LICENSE」や「README」などのファイル
• ソースファイル(ライセンスヘッダ等)
© Hitachi Solutions, Ltd. 2021. All rights reserved. 22
ライセンス文字列のスキャンとは
• OSSライセンスと思われるテキスト(文字列)の検出
• 無償、有償含め、多数のツールが存在
OSS
CodeBase
Scanner
Copy
“.*apache.*license.*2.0.*”
Search
Developer
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
© Hitachi Solutions, Ltd. 2021. All rights reserved. 23
ライセンス文字列のスキャン 補足
• ツールの例
• FOSSology
• scancode-toolkit
• Licensee
• askalono
• など
• ツールによる違い
• 検出手段
• 正規表現
• テキスト類似度
• 正確さを優先するもの、指摘漏れの回避を優先するものなど、さまざま
• 著作権表示(コピーライト)、Email、URLなどを検出するものもある
© Hitachi Solutions, Ltd. 2021. All rights reserved. 24
コードパターンのスキャンとは
• ソースファイルの内容をOSSデータベースと照合(マッチン
グ)させて検出
• 基本的に有償ツールでのみ実施可能(OSSデータベース要)
© Hitachi Solutions, Ltd. 2021. All rights reserved. 25
コードパターンのスキャン 補足
• ツールの例
• BlackDuck
• WhiteSource
• FlexNet Code Insight
• FOSSID
• Insignary Clarity
• ツールによる違い
• 検出の対象
• ソースコード
• 独自バイナリ
• 検出の粒度
• ファイル
• スニペット(コードの一部分であっても検出する)
• OSS特定のレベル
• OSSの特定は行わない(候補を出すのみ)
• OSSの特定まで行う(OSSを一意に決定する)
※有償なので実際は色々なスキャンが可能です
© Hitachi Solutions, Ltd. 2021. All rights reserved. 26
何ができるのか?(ライセンス関連)
1. OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• コードパターンのスキャン
2. ポリシーの設定とアラートの通知
• GPL/AGPLの検出でメール送付するなど
3. ライセンスファイルの生成
• 利用OSSすべてのライセンステキストまとめを生成
1だけできます 1と2できます 全部できます
※ツールによって持っている機能が異なります
© Hitachi Solutions, Ltd. 2021. All rights reserved. 27
何ができるのか?(ライセンス関連)
1. OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• コードパターンのスキャン
2. ポリシーの設定とアラートの通知
• GPL/AGPLの検出でメール送付するなど
3. ライセンスファイルの生成
• 利用OSSすべてのライセンステキストまとめを生成
1だけできます 1と2できます 全部できます
※ツールによって持っている機能が異なります
結局、何を
どうすべき?
© Hitachi Solutions, Ltd. 2021. All rights reserved. 28
エンジニアのためのOSSライセンス管理戦略
© Hitachi Solutions, Ltd. 2021. All rights reserved. 29
以下のようなプロジェクトで考える
OSS
OSS
OSS-A
OSS-a1
依存パッケージ
OSS-B
OSS-b1
OSS-a2
…
ソースコード
依存するOSS
・OSS-A
・OSS-B
・………
OSS-X
パッケージマ
ネージャ設定
ファイル
断片
(改変ファイル)
フォルダ
L L … License
L L L
L
L L
© Hitachi Solutions, Ltd. 2021. All rights reserved. 30
OSS
OSS
OSS-A
OSS-a1
依存パッケージ
OSS-B
OSS-b1
OSS-a2
…
ソースコード
依存するOSS
・OSS-A
・OSS-B
・………
OSS-X
パッケージマ
ネージャ設定
ファイル
断片
(改変ファイル)
フォルダ
L L … License
L L L
L
L L
OSSの管理戦略①
…
依存パッケージは依存関係(メタデータ)のスキャンで対応
依存関係
・誤検知なし
・高速
ライセンス文字列
コードパターン
・誤検知あり
・判断が難しい
OSSおよびバージョンの特定は手動
(ライセンスしか分からない)
© Hitachi Solutions, Ltd. 2021. All rights reserved. 31
OSS
OSS
OSS-A
OSS-a1
依存パッケージ
OSS-B
OSS-b1
OSS-a2
…
ソースコード
依存するOSS
・OSS-A
・OSS-B
・………
OSS-X
パッケージマ
ネージャ設定
ファイル
断片
(改変ファイル)
フォルダ
L L … License
L L L
L
L L
OSSの管理戦略②
残りの部分はどのようなアプローチでスキャンすべきか?
依存関係
コードパターン
でもさ、そもそもスキャンって
やる必要ある?
ライセンス文字列
OSS内の別OSSを見つけ
る場合、根拠になるのは
ライセンスなどの文字列
情報となる
ライセンス情報がなくても
検知可能なのでファイルや
コード断片の検出はコード
パターンのスキャンが良い
© Hitachi Solutions, Ltd. 2021. All rights reserved. 32
OSS
OSS
OSS-A
OSS-a1
依存パッケージ
OSS-B
OSS-b1
OSS-a2
…
ソースコード
依存するOSS
・OSS-A
・OSS-B
・………
OSS-X
パッケージマ
ネージャ設定
ファイル
断片
(改変ファイル)
フォルダ
L L … License
L L L
L
L L
OSSの管理戦略③
残りの部分はどのようなアプローチでスキャンすべきか?
・スキャンすれば良いというものではない
・運用まで考えて必要なところにツールを使う
開発者の意図しない利用
=ツールでスキャンすべき
開発者の意図した利用
=スキャン不要
ライセンス文字列
コードパターン
要教育
手間と時間がかかる上
に結局は検知漏れもあ
りえるので、開発者を
教育して把握させた方
が効率も精度も良い
とはいえ他社が作ったコード
など、コードパターンの
スキャンが有効な場合はあるよ
依存関係
開発者がリテラシを持ち
自身でOSSを把握する
ひと手間かかるがコンプラ
イアンス観点で要スキャン
© Hitachi Solutions, Ltd. 2021. All rights reserved. 33
OSS
OSS
OSS-A
OSS-a1
依存パッケージ
OSS-B
OSS-b1
OSS-a2
…
ソースコード
依存するOSS
・OSS-A
・OSS-B
・………
OSS-X
パッケージマ
ネージャ設定
ファイル
断片
(改変ファイル)
フォルダ
L L … License
L L L
L
L L
OSSの管理戦略④
2パターンのスキャンアプローチが準備できていればOK
依存関係
ライセンス文字列
コードパターン
要教育
その②
・FOSSology
・scancode-toolkit
・など
その①
・LicenseFinder
・licensed
・など
基本的に自動で検知
OSSコピペ時のみ手動確認
© Hitachi Solutions, Ltd. 2021. All rights reserved. 34
OSS
OSS
OSS-A
OSS-a1
依存パッケージ
OSS-B
OSS-b1
OSS-a2
…
ソースコード
依存するOSS
・OSS-A
・OSS-B
・………
OSS-X
パッケージマ
ネージャ設定
ファイル
断片
(改変ファイル)
フォルダ
L L … License
L L L
L
L L
OSSの管理戦略⑤
依存パッケージ内のOSSライセンスは大丈夫か?
依存関係
ライセンス文字列
コードパターン
要教育
L
L
L
L
L
L
各OSSパッケージ内にも他ライ
センスのコードがあるかも…
一つずつ文字列スキャンするか?
↓
場合によっては100~1000以上の
パッケージが利用される…
↓
多大な工数が発生
© Hitachi Solutions, Ltd. 2021. All rights reserved. 35
OSS
OSS
OSS-A
OSS-a1
依存パッケージ
OSS-B
OSS-b1
OSS-a2
…
ソースコード
依存するOSS
・OSS-A
・OSS-B
・………
OSS-X
パッケージマ
ネージャ設定
ファイル
断片
(改変ファイル)
フォルダ
L L … License
L L L
L
L L
依存関係
ライセンス文字列
コードパターン
要教育
L
L
L
L
L
L
・FOSSA
・ORT
・など
ライセンス文字列
基本的に自動で検知
これでかなり開発者の
負荷が減りそうです
希少種!!
OSSの管理戦略⑥
依存チェックと同時に文字列スキャンしてくれるツールを使う
© Hitachi Solutions, Ltd. 2021. All rights reserved. 36
クラウドサービスFOSSAについて
© Hitachi Solutions, Ltd. 2021. All rights reserved. 37
FOSSAとは
• OSSライセンス管理のためのクラウドサービス
• 個人利用は無料(制限つき)
• 「license scan」バッジを提供
引用:https://fossa.com/customers/js-foundation
© Hitachi Solutions, Ltd. 2021. All rights reserved. 38
FOSSA社について
• TLDRLegalを提供
• 業界の専門家と協力体制を構築
• OSSライセンスの世界で著名な米国弁護士であるHeather
Meeker氏がアドバイザーとして参画
• Cloud Native Computing Foundation (CNCF)のCTOである
Chris Aniszczyk氏がアドバイザーとして参画
https://tldrlegal.com/
© Hitachi Solutions, Ltd. 2021. All rights reserved. 39
FOSSA導入実績
• 全世界16000チームが採用
引用:https://fossa.com/customers
© Hitachi Solutions, Ltd. 2021. All rights reserved. 40
FOSSAの概要
• 機能
• OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• ポリシー・アラート
• ライセンスファイルの生成
© Hitachi Solutions, Ltd. 2021. All rights reserved. 41
FOSSAの概要
• 機能
• OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• ポリシー・アラート
• ライセンスファイルの生成
© Hitachi Solutions, Ltd. 2021. All rights reserved. 42
FOSSAの機能(OSSとライセンスのスキャン)
• クイックインポート
• スキャナ連携(CI/CD連携)※ベンダ推奨
© Hitachi Solutions, Ltd. 2021. All rights reserved. 43
クイックインポート
• GitHub、GitLab、Bitbucketのアカウントと連携
• 自身が管理するリポジトリを指定してFOSSAにインポート
引用:https://docs.fossa.com/docs/quick-import
© Hitachi Solutions, Ltd. 2021. All rights reserved. 44
スキャナ連携(CI/CD連携)
• 開発環境(開発PC、CI環境など)でスキャナを実行
• スキャナがスキャン結果をサーバに送信
https://github.com/fossas/fossa-cli
スキャナはOSSです。
© Hitachi Solutions, Ltd. 2021. All rights reserved. 45
FOSSAの概要
• 機能
• OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• ポリシー・アラート
• ライセンスファイルの生成
© Hitachi Solutions, Ltd. 2021. All rights reserved. 46
FOSSAの機能(ポリシー・アラート)
• FOSSAのポリシーおよびスキャン結果の確認
• Policies画面
• Issue画面
© Hitachi Solutions, Ltd. 2021. All rights reserved. 47
Policies画面
• ポリシーを利用してコンプライアンス違反の可能性を
検出可能
• 専門家が監修した3種類のポリシーがプリセットされ
ている
• Standard Bundle Distribution
• Single-Binary Distribution
• Website/Hosted Service
• ポリシーはカスタマイズも可能
引用:https://docs.fossa.com/docs/configuring-default-policy-rules
© Hitachi Solutions, Ltd. 2021. All rights reserved. 48
Issue画面
• ポリシーに違反している事象の列挙
• 問題に関わる情報の提供
• Jiraへのチケット作成機能
© Hitachi Solutions, Ltd. 2021. All rights reserved. 49
FOSSAの概要
• 機能
• OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• ポリシー・アラート
• ライセンスファイルの生成
© Hitachi Solutions, Ltd. 2021. All rights reserved. 50
FOSSAの機能(ライセンスファイルの生成)
• カスタマイズ性が高く実用性に優れたレポートを生成可能
Docker社の例
引用:https://www.docker.com/legal/components-licenses
© Hitachi Solutions, Ltd. 2021. All rights reserved. 51
FOSSAまとめ
OSS
OSS
OSS-A
OSS-a1
依存パッケージ
OSS-B
OSS-b1
OSS-a2
…
ソースコード
依存するOSS
・OSS-A
・OSS-B
・………
OSS-X
OSS-Y
OSS-Z
パッケージマ
ネージャ設定
ファイル
断片
(改変ファイル)
フォルダ
FOSSAなら全体のスキャン→違反検知→ライセンスファイル生成まで一気通貫
依存関係
ライセンス文字列
コードパターン
OSS-a1-1
OSS-a1-2
OSS-a2-1
OSS-a2-2
ライセンス文字列 …
OSS-b1-1
OSS-b1-2
違反検知
ライセンス
ファイル生成
© Hitachi Solutions, Ltd. 2021. All rights reserved. 52
補足:サポート範囲
詳細はFOSSAのドキュメントを参照ください:https://docs.fossa.com/docs
• 主要な言語/パッケージマネージャをサポート
• npm、Maven、Gradle、pip、Nuget、CocoaPods、など
• 主要な外部ツールとの統合をサポート
• GitHub、GitLab、Bitbucket、Jira、Slack、など
• 有償版はOSS脆弱性管理の機能もサポート
© Hitachi Solutions, Ltd. 2021. All rights reserved. 53
全体まとめ
• OSS管理ツールは整理する以下の機能に分解される
• OSSとライセンスのスキャン
• 依存関係(メタデータ)のスキャン
• ライセンス文字列のスキャン
• コードパターンのスキャン
• ポリシー設定とアラート通知
• ライセンスファイルの生成
• 管理の戦略
• スキャンすれば良いというものではない
• 適材適所のスキャンアプローチ
• 違反の検知やライセンス生成はツールで自動化
• 具体的な管理施策(例)
• FOSSAでプロジェクトを管理
© Hitachi Solutions, Ltd. 2021. All rights reserved. 54
END
※本資料に記載の会社名、商品名、ロゴ等は各社の商標または登録登録です。

More Related Content

What's hot

本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すTakaya Saeki
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術Drecom Co., Ltd.
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Masahito Zembutsu
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 

What's hot (20)

本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
SpringBootTest入門
SpringBootTest入門SpringBootTest入門
SpringBootTest入門
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 

Similar to エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~

たまにはライセンスの話をしよう 20110211
たまにはライセンスの話をしよう 20110211たまにはライセンスの話をしよう 20110211
たまにはライセンスの話をしよう 20110211Yutaka Kachi
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界Yutaka Kachi
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
オープンソースライセンス ケーススタディ
オープンソースライセンス ケーススタディオープンソースライセンス ケーススタディ
オープンソースライセンス ケーススタディYutaka Kachi
 
Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編OESF Education
 
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とはテクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とはHiroaki Komine
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402IO Architect Inc.
 
Keycloak入門-OpenID ConnectによるAPIセキュリティ
Keycloak入門-OpenID ConnectによるAPIセキュリティKeycloak入門-OpenID ConnectによるAPIセキュリティ
Keycloak入門-OpenID ConnectによるAPIセキュリティYuichi Nakamura
 
080826 Extライセンスについて(第3回勉強会)Slideshare
080826 Extライセンスについて(第3回勉強会)Slideshare080826 Extライセンスについて(第3回勉強会)Slideshare
080826 Extライセンスについて(第3回勉強会)SlideshareYuki Naotori
 
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)takanori suzuki
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナーKazuko Itoda
 
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...Insight Technology, Inc.
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Koyo Takenoshita
 
App017 power shellの新しい相棒_visual_studio
App017 power shellの新しい相棒_visual_studioApp017 power shellの新しい相棒_visual_studio
App017 power shellの新しい相棒_visual_studioTech Summit 2016
 
App017 power shellの新しい相棒_visual_studio_
App017 power shellの新しい相棒_visual_studio_App017 power shellの新しい相棒_visual_studio_
App017 power shellの新しい相棒_visual_studio_Tech Summit 2016
 

Similar to エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~ (20)

たまにはライセンスの話をしよう 20110211
たまにはライセンスの話をしよう 20110211たまにはライセンスの話をしよう 20110211
たまにはライセンスの話をしよう 20110211
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
オープンソースライセンス ケーススタディ
オープンソースライセンス ケーススタディオープンソースライセンス ケーススタディ
オープンソースライセンス ケーススタディ
 
Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編
 
OSS光と闇
OSS光と闇OSS光と闇
OSS光と闇
 
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とはテクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
 
DevConf.cz 2020参加報告
DevConf.cz 2020参加報告DevConf.cz 2020参加報告
DevConf.cz 2020参加報告
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402
 
Keycloak入門-OpenID ConnectによるAPIセキュリティ
Keycloak入門-OpenID ConnectによるAPIセキュリティKeycloak入門-OpenID ConnectによるAPIセキュリティ
Keycloak入門-OpenID ConnectによるAPIセキュリティ
 
080826 Extライセンスについて(第3回勉強会)Slideshare
080826 Extライセンスについて(第3回勉強会)Slideshare080826 Extライセンスについて(第3回勉強会)Slideshare
080826 Extライセンスについて(第3回勉強会)Slideshare
 
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)
 
20130203 oss-db-lpi
20130203 oss-db-lpi20130203 oss-db-lpi
20130203 oss-db-lpi
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
 
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
 
Lf intro 2020-r5
Lf intro 2020-r5Lf intro 2020-r5
Lf intro 2020-r5
 
20101022
2010102220101022
20101022
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下
 
App017 power shellの新しい相棒_visual_studio
App017 power shellの新しい相棒_visual_studioApp017 power shellの新しい相棒_visual_studio
App017 power shellの新しい相棒_visual_studio
 
App017 power shellの新しい相棒_visual_studio_
App017 power shellの新しい相棒_visual_studio_App017 power shellの新しい相棒_visual_studio_
App017 power shellの新しい相棒_visual_studio_
 

Recently uploaded

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 

Recently uploaded (11)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~

  • 1. © Hitachi Solutions, Ltd. 2021. All rights reserved. 株式会社 日立ソリューションズ OSSコンサルティンググループ 森下 大輔 エンジニアのためのOSSライセンス管理 〜OSS管理ツールの池の水ぜんぶ抜く〜
  • 2. © Hitachi Solutions, Ltd. 2021. All rights reserved. 1 はじめに OSS管理ツールの池の水ぜんぶ抜く クラウドサービスFOSSAについて 本日のアジェンダ
  • 3. © Hitachi Solutions, Ltd. 2021. All rights reserved. 2 はじめに
  • 4. © Hitachi Solutions, Ltd. 2021. All rights reserved. 3 自己紹介 森下 大輔 @OSSコンサルティンググループ Qiitaやってます https://qiita.com/d-morishita
  • 5. © Hitachi Solutions, Ltd. 2021. All rights reserved. 4 (念のため)OSSライセンスとは • MIT、Apache-2.0、GPL、AGPL、など • OSI(Open Source Initiative)が定義
  • 6. © Hitachi Solutions, Ltd. 2021. All rights reserved. 5 OSSライセンス”管理”とは • 使っているOSSをすべて把握すること • OSSライセンスを正しく把握すること • ライセンスのルールに従うこと(責務を全うすること)
  • 7. © Hitachi Solutions, Ltd. 2021. All rights reserved. 6 エンジニアにとってのOSSライセンス管理 • 手間がかかる • ライセンスの確認には手間と時間がかかる • 開発スピードを落としたくない • よく分からない • ライセンスは英語でよく分からない • 日本語にしても法律関連の文章で意味不明
  • 8. © Hitachi Solutions, Ltd. 2021. All rights reserved. 7 エンジニアにとってのOSSライセンス管理 • 手間がかかる • ライセンスの確認には手間と時間がかかる • 開発スピードを落としたくない • よく分からない • ライセンスは英語でよく分からない • 日本語にしても法律関連の文章で意味不明 ←ツール ←解釈共有
  • 9. © Hitachi Solutions, Ltd. 2021. All rights reserved. 8 OSSライセンス管理のためのツール • さまざまなツール • 無償(フリー/OSS) • FOSSology • scancode-toolkit • LicenseFinder • など • 有償 • Black Duck • WhiteSource • FlexNet Code Insight • など
  • 10. © Hitachi Solutions, Ltd. 2021. All rights reserved. 9 OSSライセンスの解釈共有サービス・ツール 1. TLDRLegal • FOSSA社が公開しているOSSライセンスの要約を解りやすい形式 で提供するWebサイト 2. OSADL License obligations checklist • Open Source Automation Development Lab(OSADL)が公開 しているライセンス義務条件データ 3. OSS License Open Data • 日立が公開しているライセンス解釈データ 1.https://tldrlegal.com/ 2.https://www.osadl.org/Access-to-raw-data.oss-compliance-raw-data-access.0.html 3.https://github.com/Hitachi/open-license
  • 11. © Hitachi Solutions, Ltd. 2021. All rights reserved. 10 エンジニアにとってのOSSライセンス管理 • 手間がかかる • ライセンスの確認には手間と時間がかかる • 開発スピードを落としたくない • よく分からない • ライセンスは英語でよく分からない • 日本語にしても法律関連の文章で意味不明 ←ツール ←解釈共有 今日はここを深堀り
  • 12. © Hitachi Solutions, Ltd. 2021. All rights reserved. 11 OSS管理ツールの池の水ぜんぶ抜く
  • 13. © Hitachi Solutions, Ltd. 2021. All rights reserved. 12 OSS管理ツールの池の水ぜんぶ抜く • 今日の話 • OSSライセンス管理のためのツールはどんなもの があるか • それらはどんなことができるか • どう使えば良いか
  • 14. © Hitachi Solutions, Ltd. 2021. All rights reserved. 13 どんなツールがあるのか
  • 15. © Hitachi Solutions, Ltd. 2021. All rights reserved. 14 OSSライセンス管理のためのツール オープンソースが世の中に広まっていく中でさまざまなツールが誕生 → 全容が分かり辛くなっている(まるで公園の池のように…) たくさんあるね 2004年に旧BlackDuck社が OSSスキャンソリューションを発表 無償・有償問わず 多数のツールが誕生 多数の機能を持ったツールも存在 ツールによっては珍しい 機能を持ったツールも まるで新種のように… 希少種の ように… まるで巨大魚のように…
  • 16. © Hitachi Solutions, Ltd. 2021. All rights reserved. 15 開始10分ですが、 さっそく水を抜きます
  • 17. © Hitachi Solutions, Ltd. 2021. All rights reserved. 16 池の水ぜんぶ抜いてみた BlackDuck WhiteSource FlexNet Code Insight FOSSID Insignary Clarity FOSSA Snyk JFrog Xray Veracode SCA WhiteHat SCA GitLab yamory Nexus Contrast OSS CAST Highlight CxSCA FOSSology scancode-toolkit askalono lc go-license-detector licensee ninka licenseclassifier LiD ORT LicenseFinder licensed license- checker(npm) license maven plugin(Maven) license gradle plugin(Gradle) AboutLibraries (android) LicensePlist(iOS) pip-licenses(pip) php-legal- licenses(composer) go-licenses(Go)
  • 18. © Hitachi Solutions, Ltd. 2021. All rights reserved. 17 全ツールについて詳細を解説 整理した上で全体像(何ができるか)を解説
  • 19. © Hitachi Solutions, Ltd. 2021. All rights reserved. 18 何ができるのか?(ライセンス関連) 1. OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • コードパターンのスキャン 2. ポリシーの設定とアラートの通知 • GPL/AGPLの検出でメール送付するなど 3. ライセンスファイルの生成 • 利用OSSすべてのライセンステキストまとめを生成 1と2できます 全部できます ※ツールによって持っている機能が異なります 1だけできます
  • 20. © Hitachi Solutions, Ltd. 2021. All rights reserved. 19 何ができるのか?(ライセンス関連) 1. OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • コードパターンのスキャン 2. ポリシーの設定とアラートの通知 • GPL/AGPLの検出でメール送付するなど 3. ライセンスファイルの生成 • 利用OSSすべてのライセンステキストまとめを生成 1だけできます 1と2できます 全部できます ※ツールによって持っている機能が異なります
  • 21. © Hitachi Solutions, Ltd. 2021. All rights reserved. 20 依存関係(メタデータ)のスキャンとは • パッケージマネージャなどで依存モジュールとして設定し たOSSライブラリの検出 • 無償・有償含め、本機能を持っているツールは多数存在 ~パッケージマネージの例~ Maven Npm Gradle nuget CocoaPods …
  • 22. © Hitachi Solutions, Ltd. 2021. All rights reserved. 21 依存関係(メタデータ)のスキャン 補足 • ツールの例 • 特定環境特化型 • 特定の言語や環境に特化してOSSライセンスを調べるツール • ツールの例 • license-checker(npm) • LicenseToolsPlugin(android) • など • 環境横断型 • 複数言語(パッケージマネージャ)に対応したツール • ツールの例 • LicenseFinder(pivotal) • Licensed(github) • など • ツールによる違い • 検出対象 • アプリケーションのパッケージ(npm、maven、…) • OSのパッケージ(rpm、deb、…) • ライセンスの判断材料 • パッケージのメタデータ • 「LICENSE」や「README」などのファイル • ソースファイル(ライセンスヘッダ等)
  • 23. © Hitachi Solutions, Ltd. 2021. All rights reserved. 22 ライセンス文字列のスキャンとは • OSSライセンスと思われるテキスト(文字列)の検出 • 無償、有償含め、多数のツールが存在 OSS CodeBase Scanner Copy “.*apache.*license.*2.0.*” Search Developer Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
  • 24. © Hitachi Solutions, Ltd. 2021. All rights reserved. 23 ライセンス文字列のスキャン 補足 • ツールの例 • FOSSology • scancode-toolkit • Licensee • askalono • など • ツールによる違い • 検出手段 • 正規表現 • テキスト類似度 • 正確さを優先するもの、指摘漏れの回避を優先するものなど、さまざま • 著作権表示(コピーライト)、Email、URLなどを検出するものもある
  • 25. © Hitachi Solutions, Ltd. 2021. All rights reserved. 24 コードパターンのスキャンとは • ソースファイルの内容をOSSデータベースと照合(マッチン グ)させて検出 • 基本的に有償ツールでのみ実施可能(OSSデータベース要)
  • 26. © Hitachi Solutions, Ltd. 2021. All rights reserved. 25 コードパターンのスキャン 補足 • ツールの例 • BlackDuck • WhiteSource • FlexNet Code Insight • FOSSID • Insignary Clarity • ツールによる違い • 検出の対象 • ソースコード • 独自バイナリ • 検出の粒度 • ファイル • スニペット(コードの一部分であっても検出する) • OSS特定のレベル • OSSの特定は行わない(候補を出すのみ) • OSSの特定まで行う(OSSを一意に決定する) ※有償なので実際は色々なスキャンが可能です
  • 27. © Hitachi Solutions, Ltd. 2021. All rights reserved. 26 何ができるのか?(ライセンス関連) 1. OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • コードパターンのスキャン 2. ポリシーの設定とアラートの通知 • GPL/AGPLの検出でメール送付するなど 3. ライセンスファイルの生成 • 利用OSSすべてのライセンステキストまとめを生成 1だけできます 1と2できます 全部できます ※ツールによって持っている機能が異なります
  • 28. © Hitachi Solutions, Ltd. 2021. All rights reserved. 27 何ができるのか?(ライセンス関連) 1. OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • コードパターンのスキャン 2. ポリシーの設定とアラートの通知 • GPL/AGPLの検出でメール送付するなど 3. ライセンスファイルの生成 • 利用OSSすべてのライセンステキストまとめを生成 1だけできます 1と2できます 全部できます ※ツールによって持っている機能が異なります 結局、何を どうすべき?
  • 29. © Hitachi Solutions, Ltd. 2021. All rights reserved. 28 エンジニアのためのOSSライセンス管理戦略
  • 30. © Hitachi Solutions, Ltd. 2021. All rights reserved. 29 以下のようなプロジェクトで考える OSS OSS OSS-A OSS-a1 依存パッケージ OSS-B OSS-b1 OSS-a2 … ソースコード 依存するOSS ・OSS-A ・OSS-B ・……… OSS-X パッケージマ ネージャ設定 ファイル 断片 (改変ファイル) フォルダ L L … License L L L L L L
  • 31. © Hitachi Solutions, Ltd. 2021. All rights reserved. 30 OSS OSS OSS-A OSS-a1 依存パッケージ OSS-B OSS-b1 OSS-a2 … ソースコード 依存するOSS ・OSS-A ・OSS-B ・……… OSS-X パッケージマ ネージャ設定 ファイル 断片 (改変ファイル) フォルダ L L … License L L L L L L OSSの管理戦略① … 依存パッケージは依存関係(メタデータ)のスキャンで対応 依存関係 ・誤検知なし ・高速 ライセンス文字列 コードパターン ・誤検知あり ・判断が難しい OSSおよびバージョンの特定は手動 (ライセンスしか分からない)
  • 32. © Hitachi Solutions, Ltd. 2021. All rights reserved. 31 OSS OSS OSS-A OSS-a1 依存パッケージ OSS-B OSS-b1 OSS-a2 … ソースコード 依存するOSS ・OSS-A ・OSS-B ・……… OSS-X パッケージマ ネージャ設定 ファイル 断片 (改変ファイル) フォルダ L L … License L L L L L L OSSの管理戦略② 残りの部分はどのようなアプローチでスキャンすべきか? 依存関係 コードパターン でもさ、そもそもスキャンって やる必要ある? ライセンス文字列 OSS内の別OSSを見つけ る場合、根拠になるのは ライセンスなどの文字列 情報となる ライセンス情報がなくても 検知可能なのでファイルや コード断片の検出はコード パターンのスキャンが良い
  • 33. © Hitachi Solutions, Ltd. 2021. All rights reserved. 32 OSS OSS OSS-A OSS-a1 依存パッケージ OSS-B OSS-b1 OSS-a2 … ソースコード 依存するOSS ・OSS-A ・OSS-B ・……… OSS-X パッケージマ ネージャ設定 ファイル 断片 (改変ファイル) フォルダ L L … License L L L L L L OSSの管理戦略③ 残りの部分はどのようなアプローチでスキャンすべきか? ・スキャンすれば良いというものではない ・運用まで考えて必要なところにツールを使う 開発者の意図しない利用 =ツールでスキャンすべき 開発者の意図した利用 =スキャン不要 ライセンス文字列 コードパターン 要教育 手間と時間がかかる上 に結局は検知漏れもあ りえるので、開発者を 教育して把握させた方 が効率も精度も良い とはいえ他社が作ったコード など、コードパターンの スキャンが有効な場合はあるよ 依存関係 開発者がリテラシを持ち 自身でOSSを把握する ひと手間かかるがコンプラ イアンス観点で要スキャン
  • 34. © Hitachi Solutions, Ltd. 2021. All rights reserved. 33 OSS OSS OSS-A OSS-a1 依存パッケージ OSS-B OSS-b1 OSS-a2 … ソースコード 依存するOSS ・OSS-A ・OSS-B ・……… OSS-X パッケージマ ネージャ設定 ファイル 断片 (改変ファイル) フォルダ L L … License L L L L L L OSSの管理戦略④ 2パターンのスキャンアプローチが準備できていればOK 依存関係 ライセンス文字列 コードパターン 要教育 その② ・FOSSology ・scancode-toolkit ・など その① ・LicenseFinder ・licensed ・など 基本的に自動で検知 OSSコピペ時のみ手動確認
  • 35. © Hitachi Solutions, Ltd. 2021. All rights reserved. 34 OSS OSS OSS-A OSS-a1 依存パッケージ OSS-B OSS-b1 OSS-a2 … ソースコード 依存するOSS ・OSS-A ・OSS-B ・……… OSS-X パッケージマ ネージャ設定 ファイル 断片 (改変ファイル) フォルダ L L … License L L L L L L OSSの管理戦略⑤ 依存パッケージ内のOSSライセンスは大丈夫か? 依存関係 ライセンス文字列 コードパターン 要教育 L L L L L L 各OSSパッケージ内にも他ライ センスのコードがあるかも… 一つずつ文字列スキャンするか? ↓ 場合によっては100~1000以上の パッケージが利用される… ↓ 多大な工数が発生
  • 36. © Hitachi Solutions, Ltd. 2021. All rights reserved. 35 OSS OSS OSS-A OSS-a1 依存パッケージ OSS-B OSS-b1 OSS-a2 … ソースコード 依存するOSS ・OSS-A ・OSS-B ・……… OSS-X パッケージマ ネージャ設定 ファイル 断片 (改変ファイル) フォルダ L L … License L L L L L L 依存関係 ライセンス文字列 コードパターン 要教育 L L L L L L ・FOSSA ・ORT ・など ライセンス文字列 基本的に自動で検知 これでかなり開発者の 負荷が減りそうです 希少種!! OSSの管理戦略⑥ 依存チェックと同時に文字列スキャンしてくれるツールを使う
  • 37. © Hitachi Solutions, Ltd. 2021. All rights reserved. 36 クラウドサービスFOSSAについて
  • 38. © Hitachi Solutions, Ltd. 2021. All rights reserved. 37 FOSSAとは • OSSライセンス管理のためのクラウドサービス • 個人利用は無料(制限つき) • 「license scan」バッジを提供 引用:https://fossa.com/customers/js-foundation
  • 39. © Hitachi Solutions, Ltd. 2021. All rights reserved. 38 FOSSA社について • TLDRLegalを提供 • 業界の専門家と協力体制を構築 • OSSライセンスの世界で著名な米国弁護士であるHeather Meeker氏がアドバイザーとして参画 • Cloud Native Computing Foundation (CNCF)のCTOである Chris Aniszczyk氏がアドバイザーとして参画 https://tldrlegal.com/
  • 40. © Hitachi Solutions, Ltd. 2021. All rights reserved. 39 FOSSA導入実績 • 全世界16000チームが採用 引用:https://fossa.com/customers
  • 41. © Hitachi Solutions, Ltd. 2021. All rights reserved. 40 FOSSAの概要 • 機能 • OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • ポリシー・アラート • ライセンスファイルの生成
  • 42. © Hitachi Solutions, Ltd. 2021. All rights reserved. 41 FOSSAの概要 • 機能 • OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • ポリシー・アラート • ライセンスファイルの生成
  • 43. © Hitachi Solutions, Ltd. 2021. All rights reserved. 42 FOSSAの機能(OSSとライセンスのスキャン) • クイックインポート • スキャナ連携(CI/CD連携)※ベンダ推奨
  • 44. © Hitachi Solutions, Ltd. 2021. All rights reserved. 43 クイックインポート • GitHub、GitLab、Bitbucketのアカウントと連携 • 自身が管理するリポジトリを指定してFOSSAにインポート 引用:https://docs.fossa.com/docs/quick-import
  • 45. © Hitachi Solutions, Ltd. 2021. All rights reserved. 44 スキャナ連携(CI/CD連携) • 開発環境(開発PC、CI環境など)でスキャナを実行 • スキャナがスキャン結果をサーバに送信 https://github.com/fossas/fossa-cli スキャナはOSSです。
  • 46. © Hitachi Solutions, Ltd. 2021. All rights reserved. 45 FOSSAの概要 • 機能 • OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • ポリシー・アラート • ライセンスファイルの生成
  • 47. © Hitachi Solutions, Ltd. 2021. All rights reserved. 46 FOSSAの機能(ポリシー・アラート) • FOSSAのポリシーおよびスキャン結果の確認 • Policies画面 • Issue画面
  • 48. © Hitachi Solutions, Ltd. 2021. All rights reserved. 47 Policies画面 • ポリシーを利用してコンプライアンス違反の可能性を 検出可能 • 専門家が監修した3種類のポリシーがプリセットされ ている • Standard Bundle Distribution • Single-Binary Distribution • Website/Hosted Service • ポリシーはカスタマイズも可能 引用:https://docs.fossa.com/docs/configuring-default-policy-rules
  • 49. © Hitachi Solutions, Ltd. 2021. All rights reserved. 48 Issue画面 • ポリシーに違反している事象の列挙 • 問題に関わる情報の提供 • Jiraへのチケット作成機能
  • 50. © Hitachi Solutions, Ltd. 2021. All rights reserved. 49 FOSSAの概要 • 機能 • OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • ポリシー・アラート • ライセンスファイルの生成
  • 51. © Hitachi Solutions, Ltd. 2021. All rights reserved. 50 FOSSAの機能(ライセンスファイルの生成) • カスタマイズ性が高く実用性に優れたレポートを生成可能 Docker社の例 引用:https://www.docker.com/legal/components-licenses
  • 52. © Hitachi Solutions, Ltd. 2021. All rights reserved. 51 FOSSAまとめ OSS OSS OSS-A OSS-a1 依存パッケージ OSS-B OSS-b1 OSS-a2 … ソースコード 依存するOSS ・OSS-A ・OSS-B ・……… OSS-X OSS-Y OSS-Z パッケージマ ネージャ設定 ファイル 断片 (改変ファイル) フォルダ FOSSAなら全体のスキャン→違反検知→ライセンスファイル生成まで一気通貫 依存関係 ライセンス文字列 コードパターン OSS-a1-1 OSS-a1-2 OSS-a2-1 OSS-a2-2 ライセンス文字列 … OSS-b1-1 OSS-b1-2 違反検知 ライセンス ファイル生成
  • 53. © Hitachi Solutions, Ltd. 2021. All rights reserved. 52 補足:サポート範囲 詳細はFOSSAのドキュメントを参照ください:https://docs.fossa.com/docs • 主要な言語/パッケージマネージャをサポート • npm、Maven、Gradle、pip、Nuget、CocoaPods、など • 主要な外部ツールとの統合をサポート • GitHub、GitLab、Bitbucket、Jira、Slack、など • 有償版はOSS脆弱性管理の機能もサポート
  • 54. © Hitachi Solutions, Ltd. 2021. All rights reserved. 53 全体まとめ • OSS管理ツールは整理する以下の機能に分解される • OSSとライセンスのスキャン • 依存関係(メタデータ)のスキャン • ライセンス文字列のスキャン • コードパターンのスキャン • ポリシー設定とアラート通知 • ライセンスファイルの生成 • 管理の戦略 • スキャンすれば良いというものではない • 適材適所のスキャンアプローチ • 違反の検知やライセンス生成はツールで自動化 • 具体的な管理施策(例) • FOSSAでプロジェクトを管理
  • 55. © Hitachi Solutions, Ltd. 2021. All rights reserved. 54 END ※本資料に記載の会社名、商品名、ロゴ等は各社の商標または登録登録です。