SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
© 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
※本資料に記載の会社名、商品名、ロゴ等は各社の商標または登録登録です。

Contenu connexe

Tendances

初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)Wataru NOGUCHI
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Masahito Zembutsu
 
脱RESTful API設計の提案
脱RESTful API設計の提案脱RESTful API設計の提案
脱RESTful API設計の提案樽八 仲川
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
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
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)NTT DATA Technology & Innovation
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例gree_tech
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadogtyamane
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)NTT DATA Technology & Innovation
 

Tendances (20)

初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
 
脱RESTful API設計の提案
脱RESTful API設計の提案脱RESTful API設計の提案
脱RESTful API設計の提案
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
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 ハンズオン資料)
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
 

Similaire à エンジニアのための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_studio_App017 power shellの新しい相棒_visual_studio_
App017 power shellの新しい相棒_visual_studio_Tech Summit 2016
 
App017 power shellの新しい相棒_visual_studio
App017 power shellの新しい相棒_visual_studioApp017 power shellの新しい相棒_visual_studio
App017 power shellの新しい相棒_visual_studioTech Summit 2016
 

Similaire à エンジニアのための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_studio_App017 power shellの新しい相棒_visual_studio_
App017 power shellの新しい相棒_visual_studio_
 
App017 power shellの新しい相棒_visual_studio
App017 power shellの新しい相棒_visual_studioApp017 power shellの新しい相棒_visual_studio
App017 power shellの新しい相棒_visual_studio
 

Dernier

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Dernier (9)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

エンジニアのための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 ※本資料に記載の会社名、商品名、ロゴ等は各社の商標または登録登録です。