SlideShare une entreprise Scribd logo
1  sur  25
Managing Software Inventories &
Automating Open Source
Software Compliance
Managing Software Inventories & Automating OSS Compliance
Agenda
• Introduction
• Identify Most Common Open Source License Requirements
• Discuss Key Compliance Challenges Today
• Outline Approach For Automating Compliance With Attribution
And Redistribution Requirements
• Demo: Automating Attribution Generation with AboutCode and
DejaCode
• Q&A
Managing Software Inventories & Automating OSS Compliance
Most Common OSS License Obligations
• Copyright notices
• License notices
• Attribution obligations
• “Copyleft” obligations (licensing of derivative works)
– Source code delivery
– Build and installation instruction delivery (GPL)
• Notice of changes
• Indemnities
• Non-use of trademarks
Managing Software Inventories & Automating OSS Compliance
Attribution Obligations
• Copyright, license, modification, and attribution
requirements
• Delivery of source code may be the easiest way to
comply in some cases because notices are “baked in”
to distribution package
– Very common approach for Linux Kernel
• Binary delivery requires creation of notice files
• Notices must be in the product delivery, for most
licenses
• Posting on a website is usually not sufficient
• Relying on third party notices is usually not sufficient
Managing Software Inventories & Automating OSS Compliance
Source Code Redistribution Obligations
• For GPL, LGPL, and other copyleft licenses
• Source materials must be made available, but not
necessarily delivered with product
• Not necessary to post source materials on the web, but
this is often a good practice
• For GPL and LGPL you must enable recipient to compile
the code
Managing Software Inventories & Automating OSS Compliance
Licensing Obligations
• Need to carve out copyleft and some other OSS
licensing requirements from EULAs
• GPL, LGPL and other licenses cannot be changed to
other terms
• Copyleft Limited licenses like EPL, MPL allow bifurcated
licensing of source and binaries
Managing Software Inventories & Automating OSS Compliance
Key Compliance Automation Challenges
• Identifying open source in use and how used
– Software Inventory of components in Development environments
• Tracking open source redistributed by product release
– Software Bill of Materials (BOM) of components distributed or deployed
• Creating Attribution Notices by product release
– Including offer to redistribute source code
• And doing this while the amount of open source used
increases exponentially
– See GitHub……
– Proportion of open source in commercial software solutions is higher
than 50% and growing
Managing Software Inventories & Automating OSS Compliance
• Most companies have software component data in many formats in many
places without approval process for third-party code
o Components in Version Control systems and Repos
o Reports from internal and/or external software audits
o FOSS disclosures from suppliers
o Contracts for proprietary components
Page Content Copyright 2010 by Linux Foundation
Managing Software Inventories & Automating OSS Compliance
OSS Compliance Trends
• More customers are requiring suppliers to share the
OSS compliance burden and provide compliance
artifacts for their products
– Software Bill of Materials (BOM)
– SPDX Documents
– Attribution Notices
– Source Code Redistribution Packages as needed
• Focus is shifting from “scanning” to managing the
growing amount of software provenance data from
internal and external sources
9
Managing Software Inventories & Automating OSS Compliance
OSS Compliance Trends
• How do I manage OSS information from internal and
external sources?
– Where to store the data?
– How to validate the data with minimal rework?
– How to update the data as the software changes?
• Most companies will need a layered solution
– Specific tools at the engineering group level that are best
suited for the technologies, languages and development
systems
– An enterprise system to pull data together across products
and development systems
Managing Software Inventories & Automating OSS Compliance
AboutCode and DejaCode
nexB offers two OSS Compliance solutions:
•AboutCode for engineering/product teams
– Basic system that can be adapted for any technology
platform or language
– Can be integrated into build systems
– Open source license – Apache 2.0
•Dejacode for the enterprise
– Enterprise application designed for use by legal, engineering
and business staff across all products and technologies
– Import data from any engineering-level system and from
external sources (system of record for product releases)
– Subscription for SaaS (or on-premises)
11
Managing Software Inventories & Automating OSS Compliance
AboutCode
• nexB created the AboutCode tools to automate OSS compliance
• Based on ABOUT specification v1.0
• An ABOUT file documents the origin and license for each
component, usually at the library or directory level
• An ABOUT file = text file with file extension “.about”
• Applicable to any programming language and software
development environment
• Extensible for build system integration for advanced automation
• Currently offered as command line tools
• Tools are written in Python and licensed under Apache 2.0
• Code and specification available at
https://github.com/dejacode/about-code-tool
Managing Software Inventories & Automating OSS Compliance
ABOUT File Example
A text file in tag / value format:
httpd-2.4.3.tar.gz.about
name: Apache HTTP Server
home_url: http://httpd.apache.org
download_url: http://apache.belnet.be//httpd/httpd2.4.3.tar.gz
version: 2.4.3
date: 2012-08-21
license: apache-2.0
license_file: httpd-2.4.3.tar.gz/LICENSE
copyright: Copyright 2012 The Apache Software Foundation.
notice_file: httpd-2.4.3.tar.gz/NOTICE
Managing Software Inventories & Automating OSS Compliance
AboutCode tools
• Create ABOUT files inside a codebase from a Software
BOM or Inventory file (spreadsheet or other)
• Create a Software BOM or Inventory file (spreadsheet
or other) from ABOUT files in the codebase
• Generate an Attribution Notices file
• Text file organized by copyright/license notice and
component
• Default text or HTML format
• Generate a Source Code Redistribution package list
Managing Software Inventories & Automating OSS Compliance
AboutCode Compliance Lifecycle
Managing Software Inventories & Automating OSS Compliance
AboutCode Demonstration
• Example based on e2fspgprogs project
– Package included in most Linux distributions
– Set of utilities under different licenses
• Software Inventory file to create ABOUT files
• ABOUT files as created
• Generated Attribution Notice
16
Managing Software Inventories & Automating OSS Compliance
DejaCode
Enterprise system for business, engineering and legal use
•Apply policies to licenses (and components)
•Use public component data from nexB and/or add private data
about supplier-provided or own components
•Import or create a Product BOM for each product release
•Generate Attribution Notices and other compliance documents
See also https://enterprise.dejacode.com/landing/
17
Managing Software Inventories & Automating OSS Compliance
Product Portfolio
Component Catalog License Library
Managing Software Inventories & Automating OSS Compliance
DejaCode Demonstration
• Product Portfolio
• Attribution Notice generation
• Component Catalog
• License Library
19
Managing Software Inventories & Automating OSS Compliance
Questions
Managing Software Inventories & Automating OSS Compliance
About Fenwick & West
• 40 years working closely with technology and life sciences
companies that are changing the world through innovation, and
the venture capital and investment banking firms that are
financing them.
• One of the first technology law firms in the world. Now one of
the 150 largest law firms in the U.S.
• More than 350 attorneys focused on representing technology
and life sciences companies in all facets of their legal needs
• Nationally ranked practices in initial public offerings, complex
financial and commercial transactions, intellectual property
protection and licensing, mergers and acquisitions, domestic
and international tax planning and tax controversies
21
Managing Software Inventories & Automating OSS Compliance
About nexB Inc.
• nexB offers:
– DejaCode Enterprise – a central business system for
managing software components
– Software analysis/audit services for products and for
acquisitions
– Open source tools for OSS management – AboutCode and
ScanCode coming soon..
• 300+ software audit projects completed to-date
– Aggregated audited codebases > 3 billion lines of source
code
– Aggregated value of the acquisitions transactions > $5B
• See DejaCode Enterprise at www.dejacode.com
Managing Software Inventories & Automating OSS Compliance
Contacts
• Fenwick & West
Stephen Gillespie
sgillespie@fenwick.com
+1 415.875.2421
• nexB Inc.
Michael Herzog
mjherzog@nexB.com
+1 650 380 0680
Managing Software Inventories & Automating OSS Compliance
Glossary
• Software Provenance: Owner, origin and license for a
software component
• FOSS: Free and Open Source Software (aka FLOSS)
– Includes free, but not open source, components like Oracle
Java libraries under their Binary Code License
• SPDX: Software Package Data Exchange
• http://spdx.org/
• Emerging standard for exchanging software license data
• Sponsored by Linux Foundation
Managing Software Inventories & Automating OSS Compliance
Advanced Automation with AboutCode
Enhance your build system and tools to:
• Recognize ABOUT files
• Assemble ABOUT files during a build for the sub-set of
components included in an end-product (Deployed)
• Collect Attribution data for Deployed components and create
Attribution Notices file
• Insert Attribution Notices into GUI (Help / About)
• Collect source code for the components that require
Redistribution (including dependencies)
• Create an archive file of the Source Code Redistribution
package

Contenu connexe

Tendances

Managing Open Source Software Supply Chains
Managing Open Source Software Supply ChainsManaging Open Source Software Supply Chains
Managing Open Source Software Supply ChainsnexB Inc.
 
nexB Software Audit M&A: What to expect as a Seller
nexB Software Audit M&A: What to expect as a SellernexB Software Audit M&A: What to expect as a Seller
nexB Software Audit M&A: What to expect as a SellernexB Inc.
 
How to Manage Open Source requirements with AboutCode
How to Manage Open Source requirements with AboutCodeHow to Manage Open Source requirements with AboutCode
How to Manage Open Source requirements with AboutCodenexB Inc.
 
Managing Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EraManaging Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EranexB Inc.
 
Identifying third party software with ScanCode
Identifying third party software with ScanCodeIdentifying third party software with ScanCode
Identifying third party software with ScanCodenexB Inc.
 
Optimizing The Cost Of Open Source Software Management
Optimizing The Cost Of Open Source Software ManagementOptimizing The Cost Of Open Source Software Management
Optimizing The Cost Of Open Source Software ManagementProtecode
 
IT due diligence and software quality for fintech startups
IT due diligence and software quality for fintech startupsIT due diligence and software quality for fintech startups
IT due diligence and software quality for fintech startupsSieuwert van Otterloo
 
Best practice recommendations for utilizing open source software (from a lega...
Best practice recommendations for utilizing open source software (from a lega...Best practice recommendations for utilizing open source software (from a lega...
Best practice recommendations for utilizing open source software (from a lega...Rogue Wave Software
 
Don't Let Open Source be the Deal Breaker In Your M&A
Don't Let Open Source be the Deal Breaker In Your M&A Don't Let Open Source be the Deal Breaker In Your M&A
Don't Let Open Source be the Deal Breaker In Your M&A Black Duck by Synopsys
 
Best practices for simplifying software audits
Best practices for simplifying software auditsBest practices for simplifying software audits
Best practices for simplifying software auditsTiberius Forrester
 
Open-Source Software Panel - IP Track
Open-Source Software Panel - IP TrackOpen-Source Software Panel - IP Track
Open-Source Software Panel - IP TrackAaron G. Sauers, CLP
 
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...FINOS
 
Flight WEST 2018 Presentation - A Buyer Investor Playbook for Successfully Na...
Flight WEST 2018 Presentation - A Buyer Investor Playbook for Successfully Na...Flight WEST 2018 Presentation - A Buyer Investor Playbook for Successfully Na...
Flight WEST 2018 Presentation - A Buyer Investor Playbook for Successfully Na...Black Duck by Synopsys
 
Customer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to ComplianceCustomer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to ComplianceBlack Duck by Synopsys
 
documentation-testing.ppt
documentation-testing.pptdocumentation-testing.ppt
documentation-testing.pptGaurav Nigam
 

Tendances (16)

Managing Open Source Software Supply Chains
Managing Open Source Software Supply ChainsManaging Open Source Software Supply Chains
Managing Open Source Software Supply Chains
 
nexB Software Audit M&A: What to expect as a Seller
nexB Software Audit M&A: What to expect as a SellernexB Software Audit M&A: What to expect as a Seller
nexB Software Audit M&A: What to expect as a Seller
 
How to Manage Open Source requirements with AboutCode
How to Manage Open Source requirements with AboutCodeHow to Manage Open Source requirements with AboutCode
How to Manage Open Source requirements with AboutCode
 
Managing Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EraManaging Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub Era
 
Identifying third party software with ScanCode
Identifying third party software with ScanCodeIdentifying third party software with ScanCode
Identifying third party software with ScanCode
 
Optimizing The Cost Of Open Source Software Management
Optimizing The Cost Of Open Source Software ManagementOptimizing The Cost Of Open Source Software Management
Optimizing The Cost Of Open Source Software Management
 
IT due diligence and software quality for fintech startups
IT due diligence and software quality for fintech startupsIT due diligence and software quality for fintech startups
IT due diligence and software quality for fintech startups
 
Best practice recommendations for utilizing open source software (from a lega...
Best practice recommendations for utilizing open source software (from a lega...Best practice recommendations for utilizing open source software (from a lega...
Best practice recommendations for utilizing open source software (from a lega...
 
Don't Let Open Source be the Deal Breaker In Your M&A
Don't Let Open Source be the Deal Breaker In Your M&A Don't Let Open Source be the Deal Breaker In Your M&A
Don't Let Open Source be the Deal Breaker In Your M&A
 
Best practices for simplifying software audits
Best practices for simplifying software auditsBest practices for simplifying software audits
Best practices for simplifying software audits
 
Open-Source Software Panel - IP Track
Open-Source Software Panel - IP TrackOpen-Source Software Panel - IP Track
Open-Source Software Panel - IP Track
 
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...Managing the Software Supply Chain: Policies that Promote Innovation While Op...
Managing the Software Supply Chain: Policies that Promote Innovation While Op...
 
Flight WEST 2018 Presentation - A Buyer Investor Playbook for Successfully Na...
Flight WEST 2018 Presentation - A Buyer Investor Playbook for Successfully Na...Flight WEST 2018 Presentation - A Buyer Investor Playbook for Successfully Na...
Flight WEST 2018 Presentation - A Buyer Investor Playbook for Successfully Na...
 
Customer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to ComplianceCustomer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to Compliance
 
Concepts of Open source
Concepts of Open source Concepts of Open source
Concepts of Open source
 
documentation-testing.ppt
documentation-testing.pptdocumentation-testing.ppt
documentation-testing.ppt
 

En vedette

Managing Open Source software in the Docker era
Managing Open Source software in the Docker era Managing Open Source software in the Docker era
Managing Open Source software in the Docker era nexB Inc.
 
Automating Inventory Management. Manage your inventory efficiently!
Automating Inventory Management. Manage your inventory efficiently!Automating Inventory Management. Manage your inventory efficiently!
Automating Inventory Management. Manage your inventory efficiently!Soft4
 
Automating Business Processes with APIs
Automating Business Processes with APIsAutomating Business Processes with APIs
Automating Business Processes with APIsSaul Caganoff
 
Automating Supply Chain Mgmt And Its Impact
Automating  Supply  Chain  Mgmt And Its ImpactAutomating  Supply  Chain  Mgmt And Its Impact
Automating Supply Chain Mgmt And Its Impactguest61a8d3
 
Automating Sales Processes To Drive Competitive Advantage
Automating Sales Processes To Drive Competitive AdvantageAutomating Sales Processes To Drive Competitive Advantage
Automating Sales Processes To Drive Competitive AdvantageVisibleThread
 
Managing OSS license obligations
Managing OSS license obligationsManaging OSS license obligations
Managing OSS license obligationsnexB Inc.
 
Project Proposal Sample: RFID on Warehouse Management System
Project Proposal Sample: RFID on Warehouse Management SystemProject Proposal Sample: RFID on Warehouse Management System
Project Proposal Sample: RFID on Warehouse Management SystemCheri Amour Calicdan
 

En vedette (7)

Managing Open Source software in the Docker era
Managing Open Source software in the Docker era Managing Open Source software in the Docker era
Managing Open Source software in the Docker era
 
Automating Inventory Management. Manage your inventory efficiently!
Automating Inventory Management. Manage your inventory efficiently!Automating Inventory Management. Manage your inventory efficiently!
Automating Inventory Management. Manage your inventory efficiently!
 
Automating Business Processes with APIs
Automating Business Processes with APIsAutomating Business Processes with APIs
Automating Business Processes with APIs
 
Automating Supply Chain Mgmt And Its Impact
Automating  Supply  Chain  Mgmt And Its ImpactAutomating  Supply  Chain  Mgmt And Its Impact
Automating Supply Chain Mgmt And Its Impact
 
Automating Sales Processes To Drive Competitive Advantage
Automating Sales Processes To Drive Competitive AdvantageAutomating Sales Processes To Drive Competitive Advantage
Automating Sales Processes To Drive Competitive Advantage
 
Managing OSS license obligations
Managing OSS license obligationsManaging OSS license obligations
Managing OSS license obligations
 
Project Proposal Sample: RFID on Warehouse Management System
Project Proposal Sample: RFID on Warehouse Management SystemProject Proposal Sample: RFID on Warehouse Management System
Project Proposal Sample: RFID on Warehouse Management System
 

Similaire à Managing Software Inventories & Automating Open Source Software Compliance

Open Source Software: What Are Your Obligations?
Open Source Software: What Are Your Obligations? Open Source Software: What Are Your Obligations?
Open Source Software: What Are Your Obligations? Source Code Control Limited
 
Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...All Things Open
 
Open DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
Open DevSecOps 2019 - Securing the Software Supply Chain - SonatypeOpen DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
Open DevSecOps 2019 - Securing the Software Supply Chain - SonatypeEmerasoft, solutions to collaborate
 
Giving Everyone Access To Open Source Best Practices: The OpenChain Curriculum
Giving Everyone Access To Open Source Best Practices: The OpenChain CurriculumGiving Everyone Access To Open Source Best Practices: The OpenChain Curriculum
Giving Everyone Access To Open Source Best Practices: The OpenChain CurriculumShane Coughlan
 
Software audit strategies: how often is enough?
Software audit strategies: how often is enough? Software audit strategies: how often is enough?
Software audit strategies: how often is enough? Protecode
 
Martin von Willebrand - Collaborative Open Source Compliance - Mindtrek 2016
Martin von Willebrand - Collaborative Open Source Compliance - Mindtrek 2016Martin von Willebrand - Collaborative Open Source Compliance - Mindtrek 2016
Martin von Willebrand - Collaborative Open Source Compliance - Mindtrek 2016Mindtrek
 
Technical Due Diligence for M&A: A Perspective from Corporate Development at ...
Technical Due Diligence for M&A: A Perspective from Corporate Development at ...Technical Due Diligence for M&A: A Perspective from Corporate Development at ...
Technical Due Diligence for M&A: A Perspective from Corporate Development at ...Black Duck by Synopsys
 
Welcome to the FOSS4G Community
Welcome to the FOSS4G CommunityWelcome to the FOSS4G Community
Welcome to the FOSS4G CommunityJody Garnett
 
BlackDuck Suite
BlackDuck SuiteBlackDuck Suite
BlackDuck Suitejeff cheng
 
Choosing the right business model and license - OW2con'19, June 12-13, 2019, ...
Choosing the right business model and license - OW2con'19, June 12-13, 2019, ...Choosing the right business model and license - OW2con'19, June 12-13, 2019, ...
Choosing the right business model and license - OW2con'19, June 12-13, 2019, ...OW2
 
Open Source Compliance Automation Capability Map
Open Source Compliance Automation Capability MapOpen Source Compliance Automation Capability Map
Open Source Compliance Automation Capability MapShane Coughlan
 
Structure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud FoundryStructure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud FoundryAndrew Ripka
 
Open source software for IoT – The devil’s in the details
Open source software for IoT – The devil’s in the detailsOpen source software for IoT – The devil’s in the details
Open source software for IoT – The devil’s in the detailsRogue Wave Software
 
Open Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingOpen Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingAll Things Open
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...Alexandr Savchenko
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...Fwdays
 
Xebia labsperforce final
Xebia labsperforce finalXebia labsperforce final
Xebia labsperforce finalPerforce
 

Similaire à Managing Software Inventories & Automating Open Source Software Compliance (20)

Open Source Software: What Are Your Obligations?
Open Source Software: What Are Your Obligations? Open Source Software: What Are Your Obligations?
Open Source Software: What Are Your Obligations?
 
Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...
 
Open DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
Open DevSecOps 2019 - Securing the Software Supply Chain - SonatypeOpen DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
Open DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
 
OWF14 - Open Source & Software Supply Chain
OWF14 - Open Source & Software Supply ChainOWF14 - Open Source & Software Supply Chain
OWF14 - Open Source & Software Supply Chain
 
Giving Everyone Access To Open Source Best Practices: The OpenChain Curriculum
Giving Everyone Access To Open Source Best Practices: The OpenChain CurriculumGiving Everyone Access To Open Source Best Practices: The OpenChain Curriculum
Giving Everyone Access To Open Source Best Practices: The OpenChain Curriculum
 
Open Development
Open DevelopmentOpen Development
Open Development
 
Software audit strategies: how often is enough?
Software audit strategies: how often is enough? Software audit strategies: how often is enough?
Software audit strategies: how often is enough?
 
Martin von Willebrand - Collaborative Open Source Compliance - Mindtrek 2016
Martin von Willebrand - Collaborative Open Source Compliance - Mindtrek 2016Martin von Willebrand - Collaborative Open Source Compliance - Mindtrek 2016
Martin von Willebrand - Collaborative Open Source Compliance - Mindtrek 2016
 
Technical Due Diligence for M&A: A Perspective from Corporate Development at ...
Technical Due Diligence for M&A: A Perspective from Corporate Development at ...Technical Due Diligence for M&A: A Perspective from Corporate Development at ...
Technical Due Diligence for M&A: A Perspective from Corporate Development at ...
 
Welcome to the FOSS4G Community
Welcome to the FOSS4G CommunityWelcome to the FOSS4G Community
Welcome to the FOSS4G Community
 
BlackDuck Suite
BlackDuck SuiteBlackDuck Suite
BlackDuck Suite
 
Choosing the right business model and license - OW2con'19, June 12-13, 2019, ...
Choosing the right business model and license - OW2con'19, June 12-13, 2019, ...Choosing the right business model and license - OW2con'19, June 12-13, 2019, ...
Choosing the right business model and license - OW2con'19, June 12-13, 2019, ...
 
Open Source ETL
Open Source ETLOpen Source ETL
Open Source ETL
 
Open Source Compliance Automation Capability Map
Open Source Compliance Automation Capability MapOpen Source Compliance Automation Capability Map
Open Source Compliance Automation Capability Map
 
Structure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud FoundryStructure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud Foundry
 
Open source software for IoT – The devil’s in the details
Open source software for IoT – The devil’s in the detailsOpen source software for IoT – The devil’s in the details
Open source software for IoT – The devil’s in the details
 
Open Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingOpen Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are using
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
 
Xebia labsperforce final
Xebia labsperforce finalXebia labsperforce final
Xebia labsperforce final
 

Dernier

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Dernier (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Managing Software Inventories & Automating Open Source Software Compliance

  • 1. Managing Software Inventories & Automating Open Source Software Compliance
  • 2. Managing Software Inventories & Automating OSS Compliance Agenda • Introduction • Identify Most Common Open Source License Requirements • Discuss Key Compliance Challenges Today • Outline Approach For Automating Compliance With Attribution And Redistribution Requirements • Demo: Automating Attribution Generation with AboutCode and DejaCode • Q&A
  • 3. Managing Software Inventories & Automating OSS Compliance Most Common OSS License Obligations • Copyright notices • License notices • Attribution obligations • “Copyleft” obligations (licensing of derivative works) – Source code delivery – Build and installation instruction delivery (GPL) • Notice of changes • Indemnities • Non-use of trademarks
  • 4. Managing Software Inventories & Automating OSS Compliance Attribution Obligations • Copyright, license, modification, and attribution requirements • Delivery of source code may be the easiest way to comply in some cases because notices are “baked in” to distribution package – Very common approach for Linux Kernel • Binary delivery requires creation of notice files • Notices must be in the product delivery, for most licenses • Posting on a website is usually not sufficient • Relying on third party notices is usually not sufficient
  • 5. Managing Software Inventories & Automating OSS Compliance Source Code Redistribution Obligations • For GPL, LGPL, and other copyleft licenses • Source materials must be made available, but not necessarily delivered with product • Not necessary to post source materials on the web, but this is often a good practice • For GPL and LGPL you must enable recipient to compile the code
  • 6. Managing Software Inventories & Automating OSS Compliance Licensing Obligations • Need to carve out copyleft and some other OSS licensing requirements from EULAs • GPL, LGPL and other licenses cannot be changed to other terms • Copyleft Limited licenses like EPL, MPL allow bifurcated licensing of source and binaries
  • 7. Managing Software Inventories & Automating OSS Compliance Key Compliance Automation Challenges • Identifying open source in use and how used – Software Inventory of components in Development environments • Tracking open source redistributed by product release – Software Bill of Materials (BOM) of components distributed or deployed • Creating Attribution Notices by product release – Including offer to redistribute source code • And doing this while the amount of open source used increases exponentially – See GitHub…… – Proportion of open source in commercial software solutions is higher than 50% and growing
  • 8. Managing Software Inventories & Automating OSS Compliance • Most companies have software component data in many formats in many places without approval process for third-party code o Components in Version Control systems and Repos o Reports from internal and/or external software audits o FOSS disclosures from suppliers o Contracts for proprietary components Page Content Copyright 2010 by Linux Foundation
  • 9. Managing Software Inventories & Automating OSS Compliance OSS Compliance Trends • More customers are requiring suppliers to share the OSS compliance burden and provide compliance artifacts for their products – Software Bill of Materials (BOM) – SPDX Documents – Attribution Notices – Source Code Redistribution Packages as needed • Focus is shifting from “scanning” to managing the growing amount of software provenance data from internal and external sources 9
  • 10. Managing Software Inventories & Automating OSS Compliance OSS Compliance Trends • How do I manage OSS information from internal and external sources? – Where to store the data? – How to validate the data with minimal rework? – How to update the data as the software changes? • Most companies will need a layered solution – Specific tools at the engineering group level that are best suited for the technologies, languages and development systems – An enterprise system to pull data together across products and development systems
  • 11. Managing Software Inventories & Automating OSS Compliance AboutCode and DejaCode nexB offers two OSS Compliance solutions: •AboutCode for engineering/product teams – Basic system that can be adapted for any technology platform or language – Can be integrated into build systems – Open source license – Apache 2.0 •Dejacode for the enterprise – Enterprise application designed for use by legal, engineering and business staff across all products and technologies – Import data from any engineering-level system and from external sources (system of record for product releases) – Subscription for SaaS (or on-premises) 11
  • 12. Managing Software Inventories & Automating OSS Compliance AboutCode • nexB created the AboutCode tools to automate OSS compliance • Based on ABOUT specification v1.0 • An ABOUT file documents the origin and license for each component, usually at the library or directory level • An ABOUT file = text file with file extension “.about” • Applicable to any programming language and software development environment • Extensible for build system integration for advanced automation • Currently offered as command line tools • Tools are written in Python and licensed under Apache 2.0 • Code and specification available at https://github.com/dejacode/about-code-tool
  • 13. Managing Software Inventories & Automating OSS Compliance ABOUT File Example A text file in tag / value format: httpd-2.4.3.tar.gz.about name: Apache HTTP Server home_url: http://httpd.apache.org download_url: http://apache.belnet.be//httpd/httpd2.4.3.tar.gz version: 2.4.3 date: 2012-08-21 license: apache-2.0 license_file: httpd-2.4.3.tar.gz/LICENSE copyright: Copyright 2012 The Apache Software Foundation. notice_file: httpd-2.4.3.tar.gz/NOTICE
  • 14. Managing Software Inventories & Automating OSS Compliance AboutCode tools • Create ABOUT files inside a codebase from a Software BOM or Inventory file (spreadsheet or other) • Create a Software BOM or Inventory file (spreadsheet or other) from ABOUT files in the codebase • Generate an Attribution Notices file • Text file organized by copyright/license notice and component • Default text or HTML format • Generate a Source Code Redistribution package list
  • 15. Managing Software Inventories & Automating OSS Compliance AboutCode Compliance Lifecycle
  • 16. Managing Software Inventories & Automating OSS Compliance AboutCode Demonstration • Example based on e2fspgprogs project – Package included in most Linux distributions – Set of utilities under different licenses • Software Inventory file to create ABOUT files • ABOUT files as created • Generated Attribution Notice 16
  • 17. Managing Software Inventories & Automating OSS Compliance DejaCode Enterprise system for business, engineering and legal use •Apply policies to licenses (and components) •Use public component data from nexB and/or add private data about supplier-provided or own components •Import or create a Product BOM for each product release •Generate Attribution Notices and other compliance documents See also https://enterprise.dejacode.com/landing/ 17
  • 18. Managing Software Inventories & Automating OSS Compliance Product Portfolio Component Catalog License Library
  • 19. Managing Software Inventories & Automating OSS Compliance DejaCode Demonstration • Product Portfolio • Attribution Notice generation • Component Catalog • License Library 19
  • 20. Managing Software Inventories & Automating OSS Compliance Questions
  • 21. Managing Software Inventories & Automating OSS Compliance About Fenwick & West • 40 years working closely with technology and life sciences companies that are changing the world through innovation, and the venture capital and investment banking firms that are financing them. • One of the first technology law firms in the world. Now one of the 150 largest law firms in the U.S. • More than 350 attorneys focused on representing technology and life sciences companies in all facets of their legal needs • Nationally ranked practices in initial public offerings, complex financial and commercial transactions, intellectual property protection and licensing, mergers and acquisitions, domestic and international tax planning and tax controversies 21
  • 22. Managing Software Inventories & Automating OSS Compliance About nexB Inc. • nexB offers: – DejaCode Enterprise – a central business system for managing software components – Software analysis/audit services for products and for acquisitions – Open source tools for OSS management – AboutCode and ScanCode coming soon.. • 300+ software audit projects completed to-date – Aggregated audited codebases > 3 billion lines of source code – Aggregated value of the acquisitions transactions > $5B • See DejaCode Enterprise at www.dejacode.com
  • 23. Managing Software Inventories & Automating OSS Compliance Contacts • Fenwick & West Stephen Gillespie sgillespie@fenwick.com +1 415.875.2421 • nexB Inc. Michael Herzog mjherzog@nexB.com +1 650 380 0680
  • 24. Managing Software Inventories & Automating OSS Compliance Glossary • Software Provenance: Owner, origin and license for a software component • FOSS: Free and Open Source Software (aka FLOSS) – Includes free, but not open source, components like Oracle Java libraries under their Binary Code License • SPDX: Software Package Data Exchange • http://spdx.org/ • Emerging standard for exchanging software license data • Sponsored by Linux Foundation
  • 25. Managing Software Inventories & Automating OSS Compliance Advanced Automation with AboutCode Enhance your build system and tools to: • Recognize ABOUT files • Assemble ABOUT files during a build for the sub-set of components included in an end-product (Deployed) • Collect Attribution data for Deployed components and create Attribution Notices file • Insert Attribution Notices into GUI (Help / About) • Collect source code for the components that require Redistribution (including dependencies) • Create an archive file of the Source Code Redistribution package