オープンソースコンプライアンス構築、SBOMを活用したソフトウェア透明化技術
オープンソースコンプライアンス構築、SBOMを活用したソフトウェア透明化技術

ソフトウェア生産の
安全性と効率を向上させる

OSS推進部 武山 文信
2014年度入社 数理・計算科学専攻

OSS推進部 武山 文信
2014年度入社 数理・計算科学専攻

オープンソースコンプライアンス構築、SBOMを活用したソフトウェア透明化技術
オープンソースコンプライアンス構築、SBOMを活用したソフトウェア透明化技術

ソフトウェア生産の安全性と効率を向上させる

オープンソースソフトウエア活用の仕組みづくり

東芝が開発する上下水道プラントや放送システムなどの社会インフラシステムでは、安全性や信頼性に加え、限られた人員で運用するための省力化が求められます。その基盤を支えるのがソフトウェアであり、近年は多様な機能を効率よく実現するために、世界中で協力して開発・改善を続けるオープンソースソフトウエア(OSS)が広く活用されています。OSSには大きなメリットがある一方、ライセンス条件の遵守や脆弱性への対応など、適切に扱ううえで注意すべき点もあります。私は開発部門が安心してOSSを利用できるように、社内ルールの策定支援や運用面でのサポートを行っています。特に近年は、欧州でサイバーセキュリティ関連の規制が進み、悪用された脆弱性が確認された場合には迅速な対応が求められるなど、OSSを含む部品管理の重要性が高まっています。製品によっては数百点におよぶOSSが使われ、小さな部品が奥深くで利用されていることも珍しくないため、どの部品がどこで使われているのかを正確に把握することが不可欠です。そこで私は、ソフトウェアに含まれる部品を一覧化し、機械的に読める形にしたSBOM(Software Bill of Materials)の作成技術を研究し、開発現場で活用できるようにガイド整備も進めています。SBOMは脆弱性対応を効率化するだけでなく、ライセンス確認にも役立ち、開発の最終段階で「このOSSは使えない」というトラブルを避けるうえでも有効です。こうした仕組みを整えることで、社会インフラを支えるソフトウェアを安全かつ効率的に開発・運用できる環境づくりに取り組んでいます。

社内外での情報収集を積極的に行う

現在の私の業務は、研究というよりも、開発部門の課題を整理しながら解決策を提案していくコンサルティングに近い仕事です。まず、開発部門の担当者が何に困っているのかをヒアリングし、OSSの情報を適切に管理できるようにするには、どのようなステップや仕組みが必要かを一緒に考えていきます。現場ごとに抱えている課題は異なるため、状況を分析し、その部門にあった実現可能なアプローチを導くことが重要です。相談を受けて運用をサポートする場合もあれば、十分に管理ができていない部分を分析して改善の方向性を示すこともあり、いずれの場合も困っている開発部門を支える業務が多くを占めています。こうした業務業務には、課題解決に必要な技術的なものだけではなく、ルールづくりや運用設計といった制度面の理解も必要になります。そのため、日ごろから情報を集め、引き出しに貯めておき、すぐに取り出して使えるように蓄えておくことが大切です。その一環として、社内外のカンファレンスやイベントに積極的に参加しています。直近では、Open Source Summit Japanとその関連カンファレンスに参加する予定で、加えて趣味としてOSSの国際カンファレンスの運営にも関わっています。こうした場では最新のトピックに次々と触れられるため、まずは見聞きした技術名やソフトウェア名といったキーワードを覚えておき、必要に応じて深掘りするスタイルで学びを広げています。


ある出勤日のスケジュール


08:45:出社

  • 週に1日は、OSS推進部のメンバーは会議室に集まり過ごす

09:00:参加しているプロジェクトの定例会

10:00:打ち合わせ

  • OSSに関する業務を自動化するシステムの設計についての議論

12:00:昼食

  • OSS推進部のメンバーと従業員食堂で昼食。構内で販売しているお弁当を購入して会議室で食べることも。

13:00:OSS推進部の定例会

  • 部長からの連絡事項、部全体での進捗共有
  • 部の各メンバーからの相談・情報共有

16:00:打ち合わせ資料の作成や調査

18:00:退社

  • 本社にあるメイカースペースに向かい、社内の有志メンバーとものづくり。週によってはアフターファイブのハンズオンやセミナーなどに参加、または開催

ある在宅勤務日のスケジュール


08:30:勤務開始、OSS推進部の朝会

  • Good & New, 前日にしたこと, 今日の予定, 困りごとを共有

09:00:情報収集

  • メールやTeams(チャット)の内容確認

09:30:打合せの資料作成と必要な情報の調査

12:00:昼食

  • 冷凍食品、レトルト食品なども活用して自炊
  • 昼休み中に買い物に出ることもあり

13:00:業務ごとの打ち合わせ

  • 進捗確認、業務委託元との打ち合わせの準備、作業分担、議論など

17:00:参加している社外団体の打ち合わせ

  • 共同執筆しているガイドラインの内容についての議論や、最新動向の情報共有

18:00:文書の執筆・コーディング作業

  • プロジェクトが多く日中は打ち合わせ対応が中心。定時後に文書作成やコーディングなどの作業を行う

19:00:夕食

  • 勤務中断を活用して、夜休みを延長

20:00:作業の続き

21:00:勤務終了

多様な人と協力して仕事を進める

学生時代はプログラミング言語の研究開発をしていました。特にプログラムの中の部品を再利用するための仕組みを考え、開発効率を高める研究していました。開発効率を高めるという観点では現在の仕事と関連しています。現在の同僚が当時のリクルーターで、仕事のことをとても楽しそうに話してくれたことが、東芝に興味を持ったきっかけでした。また、多くの製品分野のソフトウェアに関われることにも魅力を感じました。東芝のような大企業では、この大企業ならではのリソースを生かして仕事をすることが大切だと思います。東芝には多様なバックグラウンドを持つ社員が多く、社内の技術コミュニティなど、多分野の“すごい人たち”と気軽につながれる環境をぜひ活用してください。


学生の皆さんに一言


『情報収集の近道は、まず自分が発信すること』

情報を得たいと思うなら、自分から発信していくことが大切です。カンファレンスでも聴講者として参加するだけではなく、発表者として関わることで、さまざまな人から意見や質問をもらえ、新しい気づきにもつながります。これはカンファレンスだけではなく研究室での発表など、より身近な場でも同じです。OSSコミュニティが開催している勉強会など、気軽に発表できる場も多くあります。まずは学んだことや自身の経験を言葉にして発信することから始めてみてください。