OpenChainJapan Tooling Sub Working Group

OpenChain仕様の活用を視野に入れた
SW360運用について

株式会社 東芝 研究開発本部
ソフトウェア技術センター

オープンソース技術部 浜 功樹
kouki1.hama@toshiba.co.jp© 2019 Toshiba Corporation

Contents

01 「SW360とは？」
02 SW360とOpenChainの仕様© 2019 Toshiba Corporation1

01
前回の振り返り「SW360とは？」© 2019 Toshiba Corporation

2

SW360とSW360のインストール方法•

前回の発表• https://wiki.linuxfoundation.org/openchain/jwg_tooling_sg_page•

インストール方法紹介•
OSS管理ツール SW360 - オープンソースをオープンソースで管理しよう•
https://qiita.com/K-Hama/items/90a6105a16400ce3e718
設定方法•
OSS管理ツール SW360 - オープンソースをオープンソースで管理しよう （２．設定編 その1）•
https://qiita.com/K-Hama/items/c66d9becf9aeb8f8863e
Github•https://github.com/eclipse/sw360•••

メーリングリスト•
https://accounts.eclipse.org/mailing-list/sw360-dev•
https://accounts.eclipse.org/mailing-list/sw360-users© 2019 Toshiba Corporation

3

02
SW360とOpenChainの仕様© 2019 Toshiba Corporation4

Compile notices
for publication

Post publication
verifications

Verifications

Distribution

Verifications

Notices

Approvals

Outgoing Software

Reviews

3rd Party Software

Audit

Own Proprietary
SoftwareIdentification

Queued for Process

Resolve Issues

Review and approve
compliance record ofOpen Source software
components

Registration

Example Enterprise
ProcessOpen Source

Identify Open
Sourcecomponents forreview

Scan or audit sourcecode– and –
Confirm origin andlicense of sourcecode

Resolve any
audit issues in line
withcompany Open
Source policies

RecordVerify source code
approved
packages for distribution
software/versio– and –
nVerify appropriate
in inventory per
notices are provided
product and per
releaseExample of Compliance Management End-to-End Process

出典
https://www.openchainproject.org/resources

Notices & Attributions

Written Offer

Publish source code,
notices and provide
written offer

OSSを利用するためのプロセス

Open Chain プロセスに準拠

企画/仕様

設計/開発①② ③ （④ ⑤）

認定会議

（検証）

⑩（頒布）

⑪

出力ソフトウェア（Verification）

登録

告（知／通知／）表示⑨Distribution

設計部・開発部）

承認⑧Verification）

レビュー

製造/出荷Notice））（⑦（Registration）

監
査⑥
Approval

確
認

問
題の解
決（（Review

選択

Resolve Issue（AuditIdentification（Selection

OSS利用予定のソフトウェア仕様検討/企画承認/登録

検証）

各種告知／表示および帰属情報
書面による申し出（Written offer）

製造部・品質保証部

体制や運用にあわせてカスタマイズする
参考： https://www.openchain.org

1.2準拠

https://www.slideshare.net/ShaneCoughlan3/giving-everyone-access-to-open-source-best-practices-the-openchain-curriculum

備考：ステップ①選択を追加© 2019 Toshiba Corporation

6

OSS管理とSW360

OSS活用・管理プロセスと一体運用 (概案)
企画/仕様

社内OSS
利用者

プロジェクト開始
利用実績調査ライセンス情報
脆弱性情報

輸出管理情報

SW360, GitLab,
FOSSology,
CVE-Search ..
製造/出荷

顧客

外部OSS
コミュニティ

一般的にOSS管理に利用されるツール群

ライセンス表記ドキュメントＯＳＳバージョン管理

設計/開発
OSS管理に必要な作業/情報/アイテム

ＯＳＳコード管理
OSS管理プロセス

承認/登録© 2019 Toshiba Corporation7出典([Openchain-japan-wg]メーリングリスト)
https://lists.linuxfoundation.org/mailman/private/openchainjapan-wg/attachments/20190510/f0fdae60/attachment.pdf© 2019 Toshiba Corporation8出典([Openchain-japan-wg]メーリングリスト)
https://lists.linuxfoundation.org/mailman/private/openchainjapan-wg/attachments/20190510/f0fdae60/attachment.pdf© 2019 Toshiba Corporation

9

SW360で情報管理

OSS情報のバージョン管理システム
プロジェクト情報とOSSコンポーネントを紐付けて管理する
OSSごとのコンポーネント管理画面

プロジェクト管理画面

プロジェクト名、バージョン、プロジェクト名、バージョン、開示範囲、開発タイプ、開示範囲、開発タイプ、開発部門、開発リーダ、等
開発部門、マネージャ、等

OSS名、ベンダ、バージョン、OSS名、ベンダ、バージョン、言語、OS、著作者、入手元、OSS名、ベンダ、バージョン、言語、OS、作成者、ライセンス、脆弱性検索キー、等
言語、OS、作成者、ライセンス、脆弱性キー、等
ライセンス、脆弱性キー、等
OSS情報

相互に関連付けられる© 2019 Toshiba Corporation

10

OSS利用時の導入

SW360:
 該当するプロジェクトを作成する
 既存のプロジェクトがある場合は、適切であることを確認する
 プロジェクトに携わるメンバを決め、プロジェクトに対するアクセス権限を設定する

企画/仕様設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Notice

レビュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解
決Review）

監
査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア仕様検討/企画承認/登録

検証）© 2019 Toshiba Corporation

11

① 選択

SW360：
使用予定のコンポーネント(OSS,商用ソフト等)をリストアップ
必要に応じて過去の使用実績などを参照する

企画/仕様

設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Noticeレビ
ュー

製造/出荷Verification（⑦（Registration）（⑥Approval）

問
題の解決Review）

監査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様

承認/登録

検証）

© 2019 Toshiba Corporation

12

② 確認

SW360：
使用コンポーネント(OSS)情報(名称、バージョン、入手元、その他入力可能な情報)登録する
OSS入手元のソースコードを確認する
OSSを使用する開発に利用することを登録
OSS管理責任者が承認
企画/仕様

設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示Distribution）

承認⑧Notice

レビュー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解決Review）

監
査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（SelectionOSS利用予定のソフトウェア
仕様

承認/登録検証）© 2019 Toshiba Corporation

13

③ 監査

SW360(要検討)：
OSSソースコードを登録（バージョン管理）ライセンススキャン(ライセンス情報取得/Fossology)コードスキャン(未知のOSS検出)OSS使用状況を登録 (設計仕様管理)
コンポーネント脆弱性検索キー(CPE ID)を設定
コンポーネント輸出管理関連情報を設定
企画/仕様

設計/開発
①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Noticeレビュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解決Review）

監
査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様

承認/登録検証）© 2019 Toshiba Corporation14

④ 問題の解決

SW360：
コンポーネント登録情報の更新
構成管理表 (BoM) 出力 （レビュー用情報）

企画/仕様

設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Notice

レビ
ュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解決Review）

監
査

Resolve Issue）

確認（Audit選
択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様承認/登録検証）© 2019 Toshiba Corporation15

⑤ レビュー

SW360(要検討)：
レビュー実施記録

例えば以下のレビュー結果を保存
・ OSSライセンスの問題の解決が完了していることを検証
・ アーキテクチャ・レビュー：OSSと自製コードの構造検証
・ リンク解析レビュー：LGPLのリンク方法について検証→
問題が見つかった場合は開発部門へ対応を依頼するような機能が必要？
企画/仕様

設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Notice

レビ
ュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解決Review）

監査Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様承認/登録検証）© 2019 Toshiba Corporation16

⑥ 承認

SW360(要検討)：
承認（承認者、日時、付帯条件、等）を記録

ここでやりたいこと・OSS使用に関する全ての確認、レビューが完了していることを検証する・承認する場合は、製品部へOSS使用条件を伝達する
・否認する場合は、開発担当へ理由を明らかにする
企画/仕様

設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Notice

レビ
ュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解決Review）

監査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様承認/登録検証）© 2019 Toshiba Corporation17

⑦ 登録SW360(要検討)：
OSS名、バージョン、社内担当者、使用するプロジェクト、プロジェクトのバージョン、など詳細を記録する

備考:現在 登録ルール/詳細検討中

企画/仕様

設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Notice

レビ
ュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解
決Review）

監査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様承認/登録検証）© 2019 Toshiba Corporation18⑧ 告知／通知／表示

SW360：
著作権リスト、ライセンスリストを成型する
製品添付文書のフォーマットを登録、文書出力する

企画/仕様

設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Notice

レビ
ュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解
決Review）

監査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様承認/登録検証）© 2019 Toshiba Corporation

19⑨ 出荷前検証

SW360(要検討)：
登録情報が正しいことを最終確認
告知文書等が登録されることを確認••••

OSSを含むコードの配布方法を決定/選択する
配布用ソースコードと製品バイナリの一致を確認する
告知文書がラインセンスを満たすことを確認する
公開用ソースコードに余分な情報が無いようにする(コメント文など)→ 実施状況・ワークフローを確認できるようにする
企画/仕様

設計/開発①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Notice

レビ
ュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解
決Review）

監
査Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様

承認/登録

検証）

© 2019 Toshiba Corporation20

⑩ 頒布

SW360(要検討)：
 頒布情報登録
登録例：• 公開期間• 頒布用パッケージ• ソースコードを公開しているウェブページ

企画/仕様

設計/開発

①）

⑨（検証）

⑩（頒布）

⑪（Verification）

登録

告（知／通知／）表示Distribution）

承認⑧Notice

レビ
ュ
ー

製造/出荷

Verification（⑦（Registration）（⑥Approval）

問
題の解決Review）

監
査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（Selection

OSS利用予定のソフトウェア
仕様承認/登録検証）© 2019 Toshiba Corporation21

⑪ Verification

SW360 (要検討) ： Register the final verification results

やりたいこともしウェブ公開する場合は、公開しているサイトから正常にソースコードを入手し、解凍し、製品と同じものが入手でき、コンパイルができることなどを確認

企画/仕様

設計/開発

①）⑨（検証）⑩（頒布）⑪（Verification）

登録

告（知／通知／）表示

Distribution）

承認⑧Noticeレビ
ュー

製造/出荷Verification（⑦（Registration）（⑥Approval）

問
題の解決Review）

監
査

Resolve Issue）

確認（Audit選択② ③ （④ ⑤（Identification（SelectionOSS利用予定のソフトウェア
仕様承認/登録検証）© 2019 Toshiba Corporation

22

03
おまけ

© 2019 Toshiba Corporation23

おまけOpen Source Summit Japan 7月18日（木）16:50-17:30
Using SW360 for OSS Complience Management
Process - Kouki Hama , Toshibahttps://ossalsjp19.sched.com/event/OVtF/usingsw360-for-oss-complience-managementprocess-kouki-hama-toshiba

ご参加＆フィードバックお願いいたします！
Please join !
© 2019 Toshiba Corporation24