Implementing and Managing Open Source Compliance Programs

Similar documents
Implementing and Managing Open Source Compliance Programs A Crash Course

A Five-Step Compliance Process for FOSS Identification and Review

Establishing Free and Open Source Software Compliance Programs: Challenges and Solutions. By Ibrahim Haddad, Ph.D.

OPEN SOURCE COMPLIANCE IN THE ENTERPRISE

LEVERAGING OPEN SOURCE PROJECTS FOR OPEN SOURCE MANAGEMENT

Open Source Software Audit Do it now or pay later! Jonathan F. Ariano Osborn Maledon, PA

Oracle Policy Automation The modern enterprise advice platform

Contents About This Guide... 5 Upgrade Overview... 5 Examining Your Upgrade Criteria... 7 Upgrade Best Practices... 8

The challenge of OSS present and future perspectives of the IT governance process

Cyber Security Guidelines for Using OPEN SOURCE SOFTWARE

Achieve Continuous Compliance via Business Service Management (BSM)

26 No. 6 Intell. Prop. & Tech. L.J. 31. Intellectual Property & Technology Law Journal June, 2014

Your School District Procurement Card. Staff Guide Staff Agreement & Board Policy

Hardware. This white paper will discuss the realities of IIoT and review the 7 key success factors for software monetization, including:

25% 22% 10% 10% 12% Modern IT shops are a mix of on-premises (legacy) applications and cloud applications. 40% use cloud only. 60% use hybrid model

MAXIMIZING ROI FROM YOUR EMS: Top FAQs for Service Provider Executives

Page : 1 / 9. Get Your Product Made in Asia. A 5-Part Checklist

IBM AIX Performance Toolbox and Performance Aide V3.1 Analyze System Performance

Collaborative DevOps with Rational and Tivoli

IBM Maximo Mobile Asset Manager Version 7 Release 5. User Guide

Quick Links (click the question for the FAQ)

Reinforcing Trust in Your Brand

Web Application Software 1.0 Managed WebSphere Application Server

Extensions for Alfresco Content Services & Process Services

INTEGRATION AND API LICENCE AGREEMENT

Oracle Policy Automation The modern enterprise advice platform

LEVERAGING OPEN SOURCE PROJECTS FOR OPEN SOURCE MANAGEMENT

WAREHOUSE EXECUTION SYSTEMS BUYERS GUIDE

HP Asset Manager SLO Best Practice Package. Installation Guide

Oracle Manufacturing Cloud R13

<Insert Picture Here> Oracle Communications Network Integrity 7.0 Product Introduction and Overview

Business Management System Evaluation Checklist

Enterprise Availability Management

IBM TRIRIGA Version 10 Release 5.2. Procurement Management User Guide IBM

IBM TRIRIGA Version 10 Release 5.2. Procurement Management User Guide IBM

IBM SmartCloud Control Desk: High Availability and Disaster Recovery Configurations IBM Redbooks Solution Guide

ACUMATICA CLOUD KEY BENEFITS ACCESS YOUR ERP ANYTIME FROM ANY DEVICE, EASILY SCALE RESOURCES, AND CHOOSE YOUR DEPLOYMENT OPTION WORK THE WAY YOU WANT

Helping you keep our pets healthy and active

data sheet RFID IN ORACLE 11i10 E-BUSINESS SUITE Oracle Warehouse Management with Application Server 10g

How Can I Better Manage My Software Assets And Mitigate The Risk Of Compliance Audits?

Microsoft Dynamics GP What s New

Microsoft Dynamics GP What s New

PDM/PLM BUYER S GUIDE PDM/ PLM BUYER S GUIDE FOR COMPANIES SEEKING TO STREAMLINE ENGINEERING PROCESSES & MANAGEMENT

Buyer's Guide How to select your POS Software

SapphireIMS 4.0 ITAM Suite Feature Specification

Addition of Cristie Bare Machine Recovery for virtual machines and additional platform-specific feature numbers

Contents Best Practices for Upgrading P6 EPPM... 5 Upgrade Overview... 6 Examining Your Upgrade Criteria... 9 Upgrade Best Practices...

ecommerce Back-Office System Evaluation Checklist

9 Questions Food and Beverage Manufacturers Need to Ask About Their ERP

Achieving Application Readiness Maturity The key to accelerated service delivery and faster adoption of new application technologies

Oracle Manufacturing Cloud

IBM United States Software Announcement , dated August 21, 2018

Oracle Policy Automation The modern enterprise advice platform

MEETING OF INTELLECTUAL PROPERTY OFFICES (IPOs) ON ICT STRATEGIES AND ARTIFICIAL INTELLIGENCE (AI) FOR IP ADMINISTRATION

A Guide to Evaluating Salesforce AppExchange Apps

Statement of Work. IBM Software Support Services IBM Support Line for Open Source Software on IBM Power Systems. 1. Subject. 2. IBM Business Partners

Introduction Figure 1:

UPGRADE CONSIDERATIONS Appian Platform

GDPR BEST PRACTICES ESSENTIAL PROCESSES TO MEET THREE KEY OBLIGATIONS

Business Management System Evaluation Checklist

Fontana IMS Inventory Management System

ORACLE ADVANCED ACCESS CONTROLS CLOUD SERVICE

Inventory. Modules. Inventory

ACHIEVE GLOBAL TRADE BEST PRACTICES

Bitnami Stacksmith. What is Stacksmith?

Increasing your profitability with BitTitan migration solutions

FINAL REPORT Electronic system

IBM PowerHA SystemMirror for Linux delivers highavailability solution for Linux distributions on IBM Power Systems servers

1.1 Defined Terms. As used in this Policy, the following terms have the indicated meanings:

Purchase Card Program

On the Radar: Telestax. RestcommONE Marketplace powered by Communications Platform-as-a-Service enablement platform, RestcommONE

Understanding Your Enterprise API Requirements

Proposal No. P18/9978L Information Technology Service Management Solution

Secure Delivery Center 2012

Genialcloud Proj ERP - CRM - SCM - HRM GENIALCLOUD PROJ ONE PLATFORM, MANY SOLUTIONS

FRAXION SPEND MANAGEMENT INTEGRATION FRAMEWORK OVERVIEW

Harness the power of ReQlogic

Oracle Banking Enterprise Originations

Program Overview and Course Offerings. EAM elearning. Instructor-led online Infor EAM software training

IBM Tivoli Endpoint Manager for Lifecycle Management

ONLINE INVENTORY MANAGEMENT

IBM Emptoris Supplier Lifecycle Management on Cloud

Guidelines for Assessors

IBM Tivoli Composite Application Manager for Transactions V6.2. helps monitor the availability and response time of business

IBM Bluemix. The following IBM SaaS offerings are covered by these SaaS Specific Offering Terms: IBM Bluemix

Meaningful Use: Compliance Management Best Practices. David Morton, Adventist Health Jay Fisher, Meaningful Use Monitor May 20, 2015

Network Optimization Handbook. Your Guide to a Better Network

ADDITIONAL TERMS FOR INTEROUTE CLOUD HOSTED UNIFIED COMMUNICATIONS SCHEDULE 2U

Enterprise Command Center

» The Open Compliance Program. Self-Assessment Checklist Version November The Linux Foundation

Administration -> Setup -> General -> Security -> Read-Only DB user

Emergency Gateway Maintenance Plus Service Addendum. Version

[HR / WORKFORCE ADMINISTRATION FACT SHEET]

DocAve Governance Automation

Desigo CC OEM Edition System builder presentation

GUIDEBOOK ADAPTIVE INSIGHTS

IBM Clinical Development

Securing Intel s External Online Presence

PayPass Mag Stripe Vendor Testing Process (Cards & Devices)

INTERAC Online Schedule Terms and Conditions

Transcription:

Implementing and Managing Open Source Compliance Programs Ibrahim Haddad, Ph.D. VP of R&D, Head of Open Source Twitter: Web: @IbrahimAtLinux IbrahimAtLinux.com Open Source Compliance Summit Yokohama, November 2017 Slides are provided to the conference. Feel free to re-use while crediting original author.

Disclaimers I am not a legal counsel. This presentation does not offer legal advice. This presentations expresses my own views, and do not necessarily reflect those of my current or any of my previous employers. 2

Introduction

Open source in modern software platforms 3 rd Party Commercial Proprietary Open Source Proprietary + 3 rd Party Commercial Proprietary + Open Source 3 rd Party Commercial + Open Source Commercial Applications (possibly include Open Source code) Proprietary Applications (possibly include Open Source code) Middleware (Open Source, Proprietary, 3 rd party or a mix) Linux Open Source Applications Proprietary + Open Source + 3 rd Party Commercial Open Source Driver Open Source Driver Open Source Driver H/W H/W H/W 4

Mitigation of risks through compliance practices Protect your intellectual property and that of your customers and suppliers. Identify the origin and license of used software. Identify license obligations. Fulfill license obligations when products ship. 5

6

Compliance End-to-End Process Compliance due diligence involves the following: - OSS used in the product has been identified, reviewed and approved. - The product implementation includes only the approved OSS. - OSS used in the product have been registered in the OSS inventory system. - Obligations related to the use of licensed material have been identified. - Notices have been provided in the product documentation (written offer, attributions and copyright notices). - Source code including modifications (when applicable) are ready to be made available once the product ships. - Verifications of all the steps in the process. Proprietary software 3rd party software Open source software Open Source Compliance Due Diligence Process Identify Review Approve Register Verify Fulfill Compliance end-to-end process high level overview Notices Source code 7

Identification Audit Resolve Issues Reviews Approvals Registration Notices Verifications Distribution Verifications Compliance End-to-End Process Customize to your own environment Review and approve compliance record Compile notices for publication Post distribution verifications Proprietary software 3rd party software Open source software Notices Source code Identify source code changes in the build environment (new, modified and retired components) Scan source code and identify possible code matches + Confirm source code origin(s) and license(s) Resolve any issues flagged by the scanning tool + Ensure linkages are in line with company policies Record approved software/version in inventory per product and per release Verify source code packages prepared for distribution and Verify appropriate notices are provided with/in the product 8

Metrics to evaluate source code scanning tools There are a number of companies providing open source compliance tools and services. The question of what tool is best for a specific usage model and environment always comes up, especially around the time of license renewal. These few questions will help you create a comparison matrix for the tools you re comparing in an effort to make it as objective as possible to compare the tools and arrive to a decision with least subjectivity. Size of the knowledge base against which scanned code is being compared. Frequency of updates to the knowledge base. Support for different audit models / methods (traditional, blind, DIY). Speed of scans for same loads. Deployment models (local, cloud, hybrid). Ability to identify snippets (down to x lines). Ability to do auto-identification to avoid spending endless hours on manual labor. Support for vulnerability discovery (there are two methods and only one is really meaningful when combined with the compliance context). Cost to deploy tool in terms of # of servers needed for your specific install. A simplified and intuitive UI that makes it easy and inviting to use the tool minimizing learning curve. Support for APIs and a CLI that you can connect to for ease of integration with existing development and build systems. Ability to use the tool for M&A transactions. Programming languages agnostic. Licensing cost and cost for private customizations. 9

When a Vendor Discloses OSS, What do They Need to Tell You? Package Name Version Original download URL License Copyright notices Attribution notices Source code including modifications Included dependencies Development team s point of contact Inclusion of technology subject to export control <add more disclosures as needed> 10

What Should be Verified About the Disclosure? Completeness, consistency, and accuracy. Use scanning and identification tools whenever the source code is available. Does the declared licensees match what s in the code files? Do version numbers match? Do the licenses truly permit the proposed use of the software? 11

Recommended open source compliance practices w.r.t. software suppliers General Reform software acquisition agreements. Verify disclosures via efficient tooling and automation processes. OpenChain-related Get suppliers to certify with OpenChain to understand their compliance adherence. Set targets similar to any SW supplier need to meet Level 1 by 12/2017, Level 2 by 6/2018, Level 3 by 6/2019. etc. Mandate use of compliance tools. 12

Compliance Failures and How to Avoid Them

Unapproved Copy/Paste Inclusion of open source code into proprietary or 3 rd -party code (or vice versa) Description Discovery Avoidance This type of failure occurs during the development process when engineers add open source code into proprietary or 3rd party source code via copy and paste into proprietary or 3rd party software (or vice versa). This type of failure can be discovered by scanning the source code to identify all open source code, their origin and license. Offer training. Conduct regular source code scanning for the complete source code base. 14

Unapproved Linkages Linking OSS into Proprietary Source Code (or vice versa) Description Discovery Avoidance This failure occurs as a result of linking software (OSS, 3 rd party, proprietary) that have conflicting or incompatible licenses. This failure can be discovered using a linking discovery tool that allows you to discover links between different software components Offer training to engineering staff to avoid linking software components with conflicting licenses. Continuously run dependency tracking tools over build environment. 15

Source Code Related Compliance Failures Description Failure to publish source code Source code versioning failures Failure to Publish Source Code Modifications Avoidance Milestone - part of product shipment checklist Add a verification step into the development / compliance process. Add a verification step into the development / compliance process. Use a bill of material difference tool that allows you to identify what software components have changed between different releases. Failure to mark OSS source code modifications 1. Offer training to engineering staff. 2. Add a verification step into the development / compliance process. 3. Conduct source code inspections before releasing the source code. 16

Compliance Process Failures Description Failure to submit a request to use open source Prevention 1. Conduct periodic full scans. 2. Training. 3. Include compliance in employee performance reviews. Failure to take open source training Failure to audit source code Failure to resolve audit findings Failure to submit OSRB form on time Mandatory attached to performance metrics. 1. Provide proper staffing. 2. Training. 3. Enforce periodic audits. Implement a policy in the compliance management system that doesn t allow it to close a compliance ticket if it has open sub-tasks or issues. 1. Training. 2. Require form as soon as component or code is being evaluated. 17

Recommended Practices

Identification Audit Resolve Issues Reviews Approvals Registration Notices Verifications Distribution Verifications Compliance End-to-End Process Proprietary software 3rd party software Open source software Notices Source code 19

Identification Identify all the components and snippets included in the product and their origin. Print out and retain the license information at the time you download the software. Double check that the license terms in the source distribution match the ones described on the project web site. If you cannot identify a license, ask legal to identify it for you. Document all changes to open source code. 20

Source Code Auditing Scan all source code. Scan early and often. This practices allows you to: - Keep the delta with the previous scan to a minimum. - Discover compliance problems as they occur. - Provide solutions to discovered problem within acceptable delays. - Perform incremental scan in a very efficient way. Scan newer versions of previously approved packages: - Each time engineers modify a previously approved component or plan to use a previously approved component in a different product, the source code of the modified component is re-scanned and the component has to go through the approval process again. 21

Resolving Issues Identified by the Audit When in doubt, discuss with engineering and in some cases you may need to discuss with tool vendors if you suspect an unusual tool behavior. - The zlib test Inspect and resolve each file or snippet flagged by the scanning tool Identify if your engineers made any code modifications. - Don t rely exclusively on engineers to remember if they made code changes. - Use tools to identify code changes, who made them and when. Re-scan the code after engineering has resolved a given issue to get a confirmation and a clean BoM. Provide legal with all information you discovered on the licensing of the specific component (COPYING, README, or LICENSE files). 22

If You Can t Comply 4 possible scenarios to consider. Remove and replace Can you live without this code? Is there an alternative project with same function under a different license? Re-engineer Can you create a work around? Version tracking Is there a newer (or older) version of this code under a different license? Re-license Can you contact the author(s) and ask for an exception / different license? 23

Notices Companies using OSS in their products need to provide appropriate notices - Full License Text - Copyright Notices - Attribution Notices - Written offer / Information on Obtaining the Source Code Be clear, direct in the language of the written offer and inclusive of all OSS included in your product. 24

Presentation of the Notices Provide the written offer and notices in the product manual, on the web site, and inside the product. In some instances, depending on the product in question, the product may have a graphical user interface or a command line administrative interface; in this instance, you can also provide the option to display the attributions on the product (such as a mobile phone). For product updates, such as over-the-air (OTA) update for mobile phones, the notices must also be updated as part of the product updates when the update includes new or updated OSS components. 25

Verifications Due to the large number of verifications steps, we consider it a best practice to develop checklists that cover all the verification steps and the compliance team follows to ensure consistency and to ensure that no verification steps is overlooked. 26

Engineering guidelines Good programming practices are also legal best practices.

General Guidelines to Engineers 1/3 Fill out an request form for each open source software you are using in product, service or SDK. Save the web page from which you downloaded the package. Save a mint copy of the original package. Consult with compliance team when you upgrade your open source software version. - License changes can occur between versions. Do not check un-approved source code into any source tree without authorization. Document your modification to open source packages following the change log practice of the project. Do not re-naming open source modules. 28

General Guidelines to Engineers 2/3 Do not send modifications to any public source tree without getting proper approval(s). - Follow company policy/process. Do not discuss coding or compliance practices with persons outside the company. Document the interfaces between any code you write. 29

General Guidelines to Engineers 3/3 Copy/Paste - Do not copy/paste OSS code into proprietary or third party source code or vice versa without OSRB approval. - Approvals are given on a case-by-case basis. Mixing Source Code with Different Licenses - Mixing of code coming under different OSS licenses must be avoided. - Many OSS licenses are incompatible with each other, especially when mixing licenses with the GPL. - When in doubt, always refer to the FSF resource page on license compatibility available at http://www.fsf.org/licensing/licenses/index_html. - The OSRB must review all cases where more than one type of OSS license is used and provide approval on a case-by-case basis. 30

General considerations recommended practices

General Considerations 1/2 Compliance Verification Golden Rule - Compliance is verified on a product-by-product basis: Just because a OSS package is approved for use in one product does not necessarily mean it will be approved for use in a second product. Source Code Comments - Do not leave any inappropriate comments in the source code that includes private comments, product code names, mention of competitors, etc. Existing Licensing Information - Do not remove or in any way disturb existing OSS licensing copyrights or other licensing information from any OSS components that you use. All copyright and licensing information is to remain intact in all OSS components. 32

General Considerations 2/2 Inbound Clean Bill of Material - Ensure that any in-bound software is not contaminated with OSS. - Always audit source code you received from your software providers or alternatively make it a company policy that software providers must deliver you a source code audit report for any source code you receive. Open Source in M&As : Understand the Risks - Understand the OSS implications of any software of an entity to be acquired as part of the due diligence performed prior to approval the corporate transaction. 33

Distribution Considerations Ensure that source code subject to OSS distribution obligations is ready prior to distribution and ship acceptance. All modified GPL and LGPL files and any associated files that are required to build GPL and LGPL components must be available for distribution. - If a file is required in order to build a GPL or an LGPL component, it becomes a dependency for that component. Therefore, it must be part of the source code release and will be bound under the GPL or LGPL. 34

Compliance: A Balancing Act

How Good is Good Enough? Very High Risk Acceptable Safe Level IP Leakage Product Recall Compensation Opening code $ Settlement Reputation damage Optimal Point? 0% Risk OpenChain Compliance Infra Education & Training Code Scanning Legal Due Diligence Automation Cost 36

Final Thoughts We ve come a long way in open source compliance. We learned a lot. Compliance today is now more of a scalability and a cost issue, not as much of a license interpretation debate. 37

Next Frontier How can we minimize the costs associated with being in compliance? - Costs = resources, tools, IT, support staff. - Minimize to eliminate common errors. - Adopt automation and tooling. - Increase education. Mandate training and internal certification to be eligible for promotions. - Improve practices with vendors in your software supply chain. How can we provide a consistent, repeatable approach that helps companies achieve proper compliance? How can we have a common method to evaluate compliance practices? - OpenChain. 38

1 Suggestion Collect recommended practices per area and publish them as part of an OpenChain educational package. Create consistency between companies on DO s and DON T s of open source compliance. I volunteer to provide draft 0.1 with my content. 39

Implementing and Managing Open Source Compliance Programs Ibrahim Haddad, Ph.D. VP of R&D, Head of Open Source Twitter: Web: @IbrahimAtLinux IbrahimAtLinux.com Open Source Compliance Summit Yokohama, November 2017 Slides are provided to the conference. Feel free to re-use while crediting original author.