How to manage OSS licenses for CI/CD
development
Takuma Ueba
Fujitsu Computer Technologies Limited
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
1553ka1
whoami
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
I have contributed to the following communities
 Linux kernel
 U-Boot
 Yocto Project
Developer of In-house Embedded Linux Distribution for Fujitsu
Our Distribution is built with Yocto Project
My team-member is maintainer of meta-spdxscanner(Lei Maohui)
and dnf-plugin-tui(Zheng Ruoqin)
Our Distribution is used for 80+ products
 IVI
 Server System Controller
 Storage System
 Network equipment etc..
Mainly platform community
1
Agenda
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Why SPDX is needed?
Simple introduction of “meta-spdxscanner”
Case Study (CI/CD development)
Future Work (Current effort)
Finally
The names of products are the product names, trademarks or registered trademarks of the respective companies.
Trademark notices ((R),TM) are not necessarily displayed on system names and product names in this material.
2
Why SPDX is needed?
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Difficult to manage OSS information
in various formats
product vendor
SPDX
OSS package information
lack of information
list
delivery
software A
software B
software C
delivery
delivery
Company A
Company B
Company C
supplier
Missing OSS License Information!?
3
Why SPDX is needed?
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Extracting all license and
copyright information
Centralized format of package
information for easier management
delivery
software A
software B
software C
delivery
delivery
Company A
Company B
Company C
SPDX
OSS package information
SPDX
SPDX
Software Package Data eXchange
®
Standard format for communicating licenses, copyrights, etc. concerning software packages
SPDX is an efficient method to comply with OpenChain.
4
Simple introduction of “meta-spdxscanner”
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
 Patches come
from 3rd
party
Yocto Project
meta-spdxscanner
SPDX files
openembedded-core
meta-oe
meta-……
 OSS source code
・default output: SPDX files (considering OpenChain)
・currently use fossology as a license scanner (but considering change to scancode-toolkit.)
・support for SPDX “Modification” field
Yocto Project is embedded linux distribution build environment and De facto standard in WW.
(e.g. Automotive Grade Linux (AGL), SoC vendor BSP … built with YP)
do_fetch do_spdx do_package・・・do_unpack
Yocto Build process
5
Case Study (CI/CD development)
 If integration (CI) is performed, new OSS and license will be
added, so it is necessary to clarify the license to deliver.
 In CI/CD development, reducing scan time is an theme.
e.g. In Weekly Deploy environment, If it takes several hours,
it does not fit the development cycle.
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
scan time
delivery delivery
scan time
delivery delivery
scan scan
delivery delivery
time
integration integration scan
integration integrationscan
integration integration
6
Case Study (CI/CD development)
 “meta-spdxscanner” improved performance by reusing
previous scan results.
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
0
50
100
150
200
250
ntp busybox openssl openssh
Spendtime(seconds)
OSS
first
reuse
7
Future work (current effort)
 Automatically import spdx files from Yocto build process to
SW360 (OSS management tool).
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
meta-spdxscanner
License
scanner
 Scan only files with differences.
(Currently, If there are differences in the source file, the entire file is rescanned.)
Automation
Easier license-clearing!
Output only differences to spdx
8
Finally
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
I'd appreciate it if you could give me feedback using
meta-spdxscanner.
github URL: https://github.com/dl9pf/meta-spdxscanner
If you want to know more about meta-spdxscanner,
please ask me.
9
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED

OpenChain: How to manage OSS licenses for CI/CD development

  • 1.
    How to manageOSS licenses for CI/CD development Takuma Ueba Fujitsu Computer Technologies Limited Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED 1553ka1
  • 2.
    whoami Copyright 2019 FUJITSUCOMPUTER TECHNOLOGIES LIMITED I have contributed to the following communities  Linux kernel  U-Boot  Yocto Project Developer of In-house Embedded Linux Distribution for Fujitsu Our Distribution is built with Yocto Project My team-member is maintainer of meta-spdxscanner(Lei Maohui) and dnf-plugin-tui(Zheng Ruoqin) Our Distribution is used for 80+ products  IVI  Server System Controller  Storage System  Network equipment etc.. Mainly platform community 1
  • 3.
    Agenda Copyright 2019 FUJITSUCOMPUTER TECHNOLOGIES LIMITED Why SPDX is needed? Simple introduction of “meta-spdxscanner” Case Study (CI/CD development) Future Work (Current effort) Finally The names of products are the product names, trademarks or registered trademarks of the respective companies. Trademark notices ((R),TM) are not necessarily displayed on system names and product names in this material. 2
  • 4.
    Why SPDX isneeded? Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED Difficult to manage OSS information in various formats product vendor SPDX OSS package information lack of information list delivery software A software B software C delivery delivery Company A Company B Company C supplier Missing OSS License Information!? 3
  • 5.
    Why SPDX isneeded? Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED Extracting all license and copyright information Centralized format of package information for easier management delivery software A software B software C delivery delivery Company A Company B Company C SPDX OSS package information SPDX SPDX Software Package Data eXchange ® Standard format for communicating licenses, copyrights, etc. concerning software packages SPDX is an efficient method to comply with OpenChain. 4
  • 6.
    Simple introduction of“meta-spdxscanner” Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED  Patches come from 3rd party Yocto Project meta-spdxscanner SPDX files openembedded-core meta-oe meta-……  OSS source code ・default output: SPDX files (considering OpenChain) ・currently use fossology as a license scanner (but considering change to scancode-toolkit.) ・support for SPDX “Modification” field Yocto Project is embedded linux distribution build environment and De facto standard in WW. (e.g. Automotive Grade Linux (AGL), SoC vendor BSP … built with YP) do_fetch do_spdx do_package・・・do_unpack Yocto Build process 5
  • 7.
    Case Study (CI/CDdevelopment)  If integration (CI) is performed, new OSS and license will be added, so it is necessary to clarify the license to deliver.  In CI/CD development, reducing scan time is an theme. e.g. In Weekly Deploy environment, If it takes several hours, it does not fit the development cycle. Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED scan time delivery delivery scan time delivery delivery scan scan delivery delivery time integration integration scan integration integrationscan integration integration 6
  • 8.
    Case Study (CI/CDdevelopment)  “meta-spdxscanner” improved performance by reusing previous scan results. Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED 0 50 100 150 200 250 ntp busybox openssl openssh Spendtime(seconds) OSS first reuse 7
  • 9.
    Future work (currenteffort)  Automatically import spdx files from Yocto build process to SW360 (OSS management tool). Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED meta-spdxscanner License scanner  Scan only files with differences. (Currently, If there are differences in the source file, the entire file is rescanned.) Automation Easier license-clearing! Output only differences to spdx 8
  • 10.
    Finally Copyright 2019 FUJITSUCOMPUTER TECHNOLOGIES LIMITED I'd appreciate it if you could give me feedback using meta-spdxscanner. github URL: https://github.com/dl9pf/meta-spdxscanner If you want to know more about meta-spdxscanner, please ask me. 9
  • 11.
    Copyright 2019 FUJITSUCOMPUTER TECHNOLOGIES LIMITED

Editor's Notes