SlideShare a Scribd company logo
1 of 27
Download to read offline
Identifying open source software with ScanCode
May 2016
Open Source for
Open Source
▷ Introduction to ScanCode
○ Toolkit
○ App
▷ Demo
▷ More Details
▷ About nexB
Benefits of an open source
scanner
As a developer:
▷ I get normalized data for comprehensive origin and license
▷ I can find the license immediately when I evaluate a library
▷ I can identify and resolve license issues before a release
▷ I can identify issues for each commit
▷ I can communicate clearly with legal and business about license
and origin of third-party code
You can use the Apache-licensed ScanCode Toolkit now!
Participate by contributing code, license rules, bugs or suggestions.
What does ScanCode Toolkit do?
It scans source and binary code to find:
▷ License notices, texts and “mentions”
▷ Copyright notices
▷ Package-level information (RPM, nuget, NPM, Jar, etc.)
▷ Other provenance clues (author, email, etc.)
▷ File-level information (type, name, checksums, etc.)
ScanCode Results are
provided as:
▷ JSON file
▷ Dynamic HTML
▷ Static HTML table usable in a
spreadsheet
▷ AND
▷ ... the new ScanCode App
▷ ... next, in the ScanCode.io server
Place your screenshot here
ScanCode Toolkit Demo
Available on GitHub
▷ Get the code
https://github.com/nexB/scancode-toolkit/
▷ Read more
https://github.com/nexB/scancode-toolkit/wiki
▷ Report an issue or idea
https://github.com/nexB/scancode-toolkit/issues
▷ Commercial support and services available
from nexB : ScanCode starter pack http:
//www.nexb.com/
ScanCode Licensing
License Notes
Software Apache 2.0
With an
acknowledgement in
the scan output.
Reference
Data
CC0 1.0 Public Domain
Third Party
Components
L/GPL, MIT, BSD, Apache Various Licenses
ScanCode Toolkit Roadmap
▷ New scans for software packages (RPM, NPM, Gems, Java Jars,
Debian, Nuget, Python, etc.)
▷ Approximate license detection
▷ SPDX license expressions
▷ Speed improvements
▷ See https://github.com/nexB/scancode-toolkit/wiki/Roadmap
ScanCode App
What we’ve been working on!
ScanCode App
Motivation:
▷ Analyze ScanCode results
▷ Document your conclusion about the
provenance and license for a software
component.
▷ Save conclusions
▷ Share results
ScanCode Conclusions
Document Component-level conclusions
such as:
▷ Component Name
▷ Component Version
▷ Component Owner
▷ Concluded License
▷ Concluded Copyright
Preview of ScanCode App
Summary of Features
▷ View results in tree or tabular view
▷ Add conclusion data at any node of the
existing codebase hierarchy
▷ Save Components and conclusions to a
JSON file
Thanks!
Any questions?
Credits
Special thanks to all the people who made and released these
awesome free resources:
▷ Presentation template by SlidesCarnival
▷ Photographs by Unsplash
▷ And all the software authors who made ScanCode possible
About nexB Inc.
We offer:
▷ DejaCode™- Open Data Platform for Managing
Open Source - http://www.dejacode.com/
▷ Open Source Scanning & Tracking Tools - https:
//github.com/nexB
▷ Open Source Software Expert Audit Services -
http://www.nexb.com/services.html
ScanCode Details
▷ ScanCode by the numbers
▷ What is scanning?
▷ How does ScanCode work?
Over 6,000 tests
Over 500 large software products scanned
Over 3,000 licenses, notices and samples
ScanCode by the numbers
ScanCode Toolkit- Technology
▷ Written primarily in Python
○ also JavaScript, Ruby, Java and C/C++
▷ Tested on Linux, OS X and Windows
▷ Command line tool or library
▷ Simple HTML browser-app (any modern
browser) - runs locally
ScanCode App - Technology
▷ Based on Electron and written primarily in
JavaScript
▷ D3.js used for data visualizations
What is Scanning?
Detect and discover “evidence” of origin and
license in code (source or binary files)
▷ Copyright notice
▷ License notice and/or license test
▷ Software package manifests
▷ Email, URL, author or other names
▷ Other origin and license clues found in the
code
Scanning is not Matching
Matching looks for similarities between your
code and an index (digital fingerprints) of OSS
code
▷ If your code is similar it “may” share a
similar origin
▷ Matching may be applied at multiple levels
○ Package
○ File or snippet
Scanning plus Matching
▷ Scanning will identify origin and license in
most cases, but
○ Does not detect copying of snippets, or
○ Intentional stripping of notices, etc.
▷ Matching can identify code that was copied
and/or stripped, but
○ Typically produces MANY false
positives and requires extensive review
○ Especially for the most commonly used
OSS projects
How does ScanCode work? (1)
▷ Each file is categorized based on its type
▷ Archives and compressed files are fully extracted
▷ The text of each file is collected (source and binaries)
▷ Each file's text is then "scanned"
▷ Results are formatted and returned as a JSON file
▷ You can view the results in a browser, or
▷ Use the JSON file as you want
How does ScanCode work? (2)
▷ For licenses, the techniques are similar to DNA
analysis with multi-pattern matching
▷ Licenses are found exactly or approximately based on
a set of thousands of license texts, notices and
examples
▷ For copyrights, a syntax and grammar analyzer
captures the many forms of copyright statements
▷ Emails, URLs, authors, person names and other data
are captured using similar pattern matching
techniques
Alternatives and complements
▷ Open source such as:
○ Fossology (c, PHP): regex-based
○ ninka (Perl): regex & sentences-based
○ OSLC (Java, unmaintained)
▷ Commercial
▷ Complementary:
○ AboutCode: document origin side-by-side with code,
collect inventory, generate attribution doc
○ TraceCode (not yet released): trace the source to
binary transformation to find (static) linking and
what is the subset of the source code used
(dynamically trace a build or does a static analysis)

More Related Content

What's hot

The open source philosophy
The open source philosophyThe open source philosophy
The open source philosophyGautam Krishnan
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?VMware Tanzu Korea
 
How Edureka's LMS Works!
How Edureka's LMS Works!How Edureka's LMS Works!
How Edureka's LMS Works!Edureka!
 
IATA Interactive Cargo Webinar 2021
IATA Interactive Cargo Webinar 2021IATA Interactive Cargo Webinar 2021
IATA Interactive Cargo Webinar 2021Sonia Ben Hamida
 
Open source software licenses
Open source software licensesOpen source software licenses
Open source software licensesDrexelELC
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2
 
FOSS4Gov: Understanding Open Source Licenses
FOSS4Gov: Understanding Open Source LicensesFOSS4Gov: Understanding Open Source Licenses
FOSS4Gov: Understanding Open Source LicensesChamindra de Silva
 
오픈소스의 이해(교육자료)
오픈소스의 이해(교육자료) 오픈소스의 이해(교육자료)
오픈소스의 이해(교육자료) 정명훈 Jerry Jeong
 
OPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONOPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONRitwick Halder
 
Introduction to flutter(1)
 Introduction to flutter(1) Introduction to flutter(1)
Introduction to flutter(1)latifah alghanem
 
GNU GPL, LGPL, Apache licence Types and Differences
GNU GPL, LGPL, Apache licence Types and DifferencesGNU GPL, LGPL, Apache licence Types and Differences
GNU GPL, LGPL, Apache licence Types and DifferencesIresha Rubasinghe
 
Linux Desktop Operation - Session 1
Linux Desktop Operation - Session 1Linux Desktop Operation - Session 1
Linux Desktop Operation - Session 1Arash Foroughi
 
Open Source Software Presentation
Open Source Software PresentationOpen Source Software Presentation
Open Source Software PresentationHenry Briggs
 
Kelebihan omeka untuk repositori
Kelebihan omeka untuk repositoriKelebihan omeka untuk repositori
Kelebihan omeka untuk repositoriDwi Fajar Saputra
 
Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Ramola Dhande
 
Users and groups in Linux
Users and groups in LinuxUsers and groups in Linux
Users and groups in LinuxKnoldus Inc.
 

What's hot (20)

The open source philosophy
The open source philosophyThe open source philosophy
The open source philosophy
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
 
How Edureka's LMS Works!
How Edureka's LMS Works!How Edureka's LMS Works!
How Edureka's LMS Works!
 
IATA Interactive Cargo Webinar 2021
IATA Interactive Cargo Webinar 2021IATA Interactive Cargo Webinar 2021
IATA Interactive Cargo Webinar 2021
 
Apache web service
Apache web serviceApache web service
Apache web service
 
Open source software licenses
Open source software licensesOpen source software licenses
Open source software licenses
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product Overview
 
Linux
LinuxLinux
Linux
 
FOSS4Gov: Understanding Open Source Licenses
FOSS4Gov: Understanding Open Source LicensesFOSS4Gov: Understanding Open Source Licenses
FOSS4Gov: Understanding Open Source Licenses
 
오픈소스의 이해(교육자료)
오픈소스의 이해(교육자료) 오픈소스의 이해(교육자료)
오픈소스의 이해(교육자료)
 
OPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONOPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATION
 
Introduction to flutter(1)
 Introduction to flutter(1) Introduction to flutter(1)
Introduction to flutter(1)
 
GNU GPL, LGPL, Apache licence Types and Differences
GNU GPL, LGPL, Apache licence Types and DifferencesGNU GPL, LGPL, Apache licence Types and Differences
GNU GPL, LGPL, Apache licence Types and Differences
 
Linux Desktop Operation - Session 1
Linux Desktop Operation - Session 1Linux Desktop Operation - Session 1
Linux Desktop Operation - Session 1
 
Open Source Software Presentation
Open Source Software PresentationOpen Source Software Presentation
Open Source Software Presentation
 
Open Source Software
Open Source SoftwareOpen Source Software
Open Source Software
 
PHP CODING STANDARDS
PHP CODING STANDARDSPHP CODING STANDARDS
PHP CODING STANDARDS
 
Kelebihan omeka untuk repositori
Kelebihan omeka untuk repositoriKelebihan omeka untuk repositori
Kelebihan omeka untuk repositori
 
Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)
 
Users and groups in Linux
Users and groups in LinuxUsers and groups in Linux
Users and groups in Linux
 

Viewers also liked

Managing Software Inventories & Automating Open Source Software Compliance
Managing Software Inventories & Automating Open Source Software ComplianceManaging Software Inventories & Automating Open Source Software Compliance
Managing Software Inventories & Automating Open Source Software CompliancenexB Inc.
 
Software audit for acquisition due diligence with nexB
Software audit for acquisition due diligence with nexBSoftware audit for acquisition due diligence with nexB
Software audit for acquisition due diligence with nexBnexB Inc.
 
Open source governance with Dejacode
Open source governance with DejacodeOpen source governance with Dejacode
Open source governance with DejacodenexB Inc.
 
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.
 
Rightsizing Open Source Software Identification
Rightsizing Open Source Software IdentificationRightsizing Open Source Software Identification
Rightsizing Open Source Software IdentificationnexB Inc.
 
nexB - FOSS Introduction
nexB - FOSS IntroductionnexB - FOSS Introduction
nexB - FOSS IntroductionnexB Inc.
 
nexB - Software audit for product release
nexB - Software audit for product releasenexB - Software audit for product release
nexB - Software audit for product releasenexB Inc.
 
Managing OSS license obligations
Managing OSS license obligationsManaging OSS license obligations
Managing OSS license obligationsnexB Inc.
 
nexB: Software Audit for Acquisition Due Diligence
nexB: Software Audit for Acquisition Due DiligencenexB: Software Audit for Acquisition Due Diligence
nexB: Software Audit for Acquisition Due DiligencenexB Inc.
 
QR Codes PowerPoint Presentation
QR Codes PowerPoint PresentationQR Codes PowerPoint Presentation
QR Codes PowerPoint PresentationZachary Moore
 

Viewers also liked (13)

Managing Software Inventories & Automating Open Source Software Compliance
Managing Software Inventories & Automating Open Source Software ComplianceManaging Software Inventories & Automating Open Source Software Compliance
Managing Software Inventories & Automating Open Source Software Compliance
 
Software audit for acquisition due diligence with nexB
Software audit for acquisition due diligence with nexBSoftware audit for acquisition due diligence with nexB
Software audit for acquisition due diligence with nexB
 
Open source governance with Dejacode
Open source governance with DejacodeOpen source governance with Dejacode
Open source governance with Dejacode
 
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
 
Rightsizing Open Source Software Identification
Rightsizing Open Source Software IdentificationRightsizing Open Source Software Identification
Rightsizing Open Source Software Identification
 
nexB - FOSS Introduction
nexB - FOSS IntroductionnexB - FOSS Introduction
nexB - FOSS Introduction
 
nexB - Software audit for product release
nexB - Software audit for product releasenexB - Software audit for product release
nexB - Software audit for product release
 
Managing OSS license obligations
Managing OSS license obligationsManaging OSS license obligations
Managing OSS license obligations
 
nexB: Software Audit for Acquisition Due Diligence
nexB: Software Audit for Acquisition Due DiligencenexB: Software Audit for Acquisition Due Diligence
nexB: Software Audit for Acquisition Due Diligence
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
QR Codes PowerPoint Presentation
QR Codes PowerPoint PresentationQR Codes PowerPoint Presentation
QR Codes PowerPoint Presentation
 
Printer's
Printer'sPrinter's
Printer's
 
Introduction to Printers
Introduction to PrintersIntroduction to Printers
Introduction to Printers
 

Similar to Identifying third party software with ScanCode

Scanning Docker Images with ScanCode.io
Scanning Docker Images with ScanCode.ioScanning Docker Images with ScanCode.io
Scanning Docker Images with ScanCode.ioMichael Herzog
 
OpenChain, SPDX and FOSSology
OpenChain, SPDX and FOSSologyOpenChain, SPDX and FOSSology
OpenChain, SPDX and FOSSologyShane Coughlan
 
“State of the Tooling” in Open Source Automation
“State of the Tooling” in Open Source Automation“State of the Tooling” in Open Source Automation
“State of the Tooling” in Open Source AutomationShane Coughlan
 
SplunkLive! Beginner Session
SplunkLive! Beginner SessionSplunkLive! Beginner Session
SplunkLive! Beginner SessionSplunk
 
FOSSology and OSS-Tools for License Compliance and Automation
FOSSology and OSS-Tools for License Compliance and AutomationFOSSology and OSS-Tools for License Compliance and Automation
FOSSology and OSS-Tools for License Compliance and AutomationGaurav Mishra
 
Open source software governance with DejaCode
Open source software governance with DejaCodeOpen source software governance with DejaCode
Open source software governance with DejaCodenexB 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.
 
Building search and discovery services for Schibsted (LSRS '17)
Building search and discovery services for Schibsted (LSRS '17)Building search and discovery services for Schibsted (LSRS '17)
Building search and discovery services for Schibsted (LSRS '17)Sandra Garcia
 
Open Source Software Concepts
Open Source Software ConceptsOpen Source Software Concepts
Open Source Software ConceptsJITENDRA LENKA
 
Legal analysis of source code
Legal analysis of source codeLegal analysis of source code
Legal analysis of source codeRobert Viseur
 
Analysing NPM and JavaScript at scale
Analysing NPM and JavaScript at scaleAnalysing NPM and JavaScript at scale
Analysing NPM and JavaScript at scaleJakub Žitný
 
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
 
Managing Open Source Software Supply Chains
Managing Open Source Software Supply ChainsManaging Open Source Software Supply Chains
Managing Open Source Software Supply ChainsnexB Inc.
 
Where’s the license?
Where’s the license?Where’s the license?
Where’s the license?Protecode
 
Managing Open Source Software License Compliance with DejaCode
Managing Open Source Software License Compliance with DejaCodeManaging Open Source Software License Compliance with DejaCode
Managing Open Source Software License Compliance with DejaCodenexB Inc.
 
Components license
Components licenseComponents license
Components licensedmgerman
 
OSINT for Attack and Defense
OSINT for Attack and DefenseOSINT for Attack and Defense
OSINT for Attack and DefenseAndrew McNicol
 

Similar to Identifying third party software with ScanCode (20)

Scanning Docker Images with ScanCode.io
Scanning Docker Images with ScanCode.ioScanning Docker Images with ScanCode.io
Scanning Docker Images with ScanCode.io
 
OpenChain, SPDX and FOSSology
OpenChain, SPDX and FOSSologyOpenChain, SPDX and FOSSology
OpenChain, SPDX and FOSSology
 
“State of the Tooling” in Open Source Automation
“State of the Tooling” in Open Source Automation“State of the Tooling” in Open Source Automation
“State of the Tooling” in Open Source Automation
 
Splunk live beginner training nyc
Splunk live beginner training nycSplunk live beginner training nyc
Splunk live beginner training nyc
 
SplunkLive! Beginner Session
SplunkLive! Beginner SessionSplunkLive! Beginner Session
SplunkLive! Beginner Session
 
Autopsy Digital forensics tool
Autopsy Digital forensics toolAutopsy Digital forensics tool
Autopsy Digital forensics tool
 
FOSSology and OSS-Tools for License Compliance and Automation
FOSSology and OSS-Tools for License Compliance and AutomationFOSSology and OSS-Tools for License Compliance and Automation
FOSSology and OSS-Tools for License Compliance and Automation
 
Open source software governance with DejaCode
Open source software governance with DejaCodeOpen source software governance with DejaCode
Open source software governance with DejaCode
 
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
 
Handout: 'Open Source Tools & Resources'
Handout: 'Open Source Tools & Resources'Handout: 'Open Source Tools & Resources'
Handout: 'Open Source Tools & Resources'
 
Building search and discovery services for Schibsted (LSRS '17)
Building search and discovery services for Schibsted (LSRS '17)Building search and discovery services for Schibsted (LSRS '17)
Building search and discovery services for Schibsted (LSRS '17)
 
Open Source Software Concepts
Open Source Software ConceptsOpen Source Software Concepts
Open Source Software Concepts
 
Legal analysis of source code
Legal analysis of source codeLegal analysis of source code
Legal analysis of source code
 
Analysing NPM and JavaScript at scale
Analysing NPM and JavaScript at scaleAnalysing NPM and JavaScript at scale
Analysing NPM and JavaScript at scale
 
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
 
Managing Open Source Software Supply Chains
Managing Open Source Software Supply ChainsManaging Open Source Software Supply Chains
Managing Open Source Software Supply Chains
 
Where’s the license?
Where’s the license?Where’s the license?
Where’s the license?
 
Managing Open Source Software License Compliance with DejaCode
Managing Open Source Software License Compliance with DejaCodeManaging Open Source Software License Compliance with DejaCode
Managing Open Source Software License Compliance with DejaCode
 
Components license
Components licenseComponents license
Components license
 
OSINT for Attack and Defense
OSINT for Attack and DefenseOSINT for Attack and Defense
OSINT for Attack and Defense
 

Recently uploaded

Structuring and Writing DRL Mckinsey (1).pdf
Structuring and Writing DRL Mckinsey (1).pdfStructuring and Writing DRL Mckinsey (1).pdf
Structuring and Writing DRL Mckinsey (1).pdflaloo_007
 
Cracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' SlideshareCracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' SlideshareWorkforce Group
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 MonthsIndeedSEO
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizharallensay1
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxCynthia Clay
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfAdmir Softic
 
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All TimeCall 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Timegargpaaro
 
Pre Engineered Building Manufacturers Hyderabad.pptx
Pre Engineered  Building Manufacturers Hyderabad.pptxPre Engineered  Building Manufacturers Hyderabad.pptx
Pre Engineered Building Manufacturers Hyderabad.pptxRoofing Contractor
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGpr788182
 
Mifepristone Available in Muscat +918761049707^^ €€ Buy Abortion Pills in Oman
Mifepristone Available in Muscat +918761049707^^ €€ Buy Abortion Pills in OmanMifepristone Available in Muscat +918761049707^^ €€ Buy Abortion Pills in Oman
Mifepristone Available in Muscat +918761049707^^ €€ Buy Abortion Pills in Omaninstagramfab782445
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Falcon Invoice Discounting
 
New 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateNew 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateCannaBusinessPlans
 
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdfTVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdfbelieveminhh
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptxnandhinijagan9867
 
Falcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business PotentialFalcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business PotentialFalcon investment
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting
 
Over the Top (OTT) Market Size & Growth Outlook 2024-2030
Over the Top (OTT) Market Size & Growth Outlook 2024-2030Over the Top (OTT) Market Size & Growth Outlook 2024-2030
Over the Top (OTT) Market Size & Growth Outlook 2024-2030tarushabhavsar
 

Recently uploaded (20)

Structuring and Writing DRL Mckinsey (1).pdf
Structuring and Writing DRL Mckinsey (1).pdfStructuring and Writing DRL Mckinsey (1).pdf
Structuring and Writing DRL Mckinsey (1).pdf
 
Cracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' SlideshareCracking the 'Career Pathing' Slideshare
Cracking the 'Career Pathing' Slideshare
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All TimeCall 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
 
Pre Engineered Building Manufacturers Hyderabad.pptx
Pre Engineered  Building Manufacturers Hyderabad.pptxPre Engineered  Building Manufacturers Hyderabad.pptx
Pre Engineered Building Manufacturers Hyderabad.pptx
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
Mifepristone Available in Muscat +918761049707^^ €€ Buy Abortion Pills in Oman
Mifepristone Available in Muscat +918761049707^^ €€ Buy Abortion Pills in OmanMifepristone Available in Muscat +918761049707^^ €€ Buy Abortion Pills in Oman
Mifepristone Available in Muscat +918761049707^^ €€ Buy Abortion Pills in Oman
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
 
New 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateNew 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck Template
 
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdfTVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
 
Falcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business PotentialFalcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business Potential
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Over the Top (OTT) Market Size & Growth Outlook 2024-2030
Over the Top (OTT) Market Size & Growth Outlook 2024-2030Over the Top (OTT) Market Size & Growth Outlook 2024-2030
Over the Top (OTT) Market Size & Growth Outlook 2024-2030
 

Identifying third party software with ScanCode

  • 1. Identifying open source software with ScanCode May 2016 Open Source for Open Source
  • 2. ▷ Introduction to ScanCode ○ Toolkit ○ App ▷ Demo ▷ More Details ▷ About nexB
  • 3. Benefits of an open source scanner As a developer: ▷ I get normalized data for comprehensive origin and license ▷ I can find the license immediately when I evaluate a library ▷ I can identify and resolve license issues before a release ▷ I can identify issues for each commit ▷ I can communicate clearly with legal and business about license and origin of third-party code You can use the Apache-licensed ScanCode Toolkit now! Participate by contributing code, license rules, bugs or suggestions.
  • 4. What does ScanCode Toolkit do? It scans source and binary code to find: ▷ License notices, texts and “mentions” ▷ Copyright notices ▷ Package-level information (RPM, nuget, NPM, Jar, etc.) ▷ Other provenance clues (author, email, etc.) ▷ File-level information (type, name, checksums, etc.)
  • 5. ScanCode Results are provided as: ▷ JSON file ▷ Dynamic HTML ▷ Static HTML table usable in a spreadsheet ▷ AND ▷ ... the new ScanCode App ▷ ... next, in the ScanCode.io server
  • 6. Place your screenshot here ScanCode Toolkit Demo
  • 7. Available on GitHub ▷ Get the code https://github.com/nexB/scancode-toolkit/ ▷ Read more https://github.com/nexB/scancode-toolkit/wiki ▷ Report an issue or idea https://github.com/nexB/scancode-toolkit/issues ▷ Commercial support and services available from nexB : ScanCode starter pack http: //www.nexb.com/
  • 8. ScanCode Licensing License Notes Software Apache 2.0 With an acknowledgement in the scan output. Reference Data CC0 1.0 Public Domain Third Party Components L/GPL, MIT, BSD, Apache Various Licenses
  • 9. ScanCode Toolkit Roadmap ▷ New scans for software packages (RPM, NPM, Gems, Java Jars, Debian, Nuget, Python, etc.) ▷ Approximate license detection ▷ SPDX license expressions ▷ Speed improvements ▷ See https://github.com/nexB/scancode-toolkit/wiki/Roadmap
  • 10. ScanCode App What we’ve been working on!
  • 11. ScanCode App Motivation: ▷ Analyze ScanCode results ▷ Document your conclusion about the provenance and license for a software component. ▷ Save conclusions ▷ Share results
  • 12. ScanCode Conclusions Document Component-level conclusions such as: ▷ Component Name ▷ Component Version ▷ Component Owner ▷ Concluded License ▷ Concluded Copyright
  • 14. Summary of Features ▷ View results in tree or tabular view ▷ Add conclusion data at any node of the existing codebase hierarchy ▷ Save Components and conclusions to a JSON file
  • 16. Credits Special thanks to all the people who made and released these awesome free resources: ▷ Presentation template by SlidesCarnival ▷ Photographs by Unsplash ▷ And all the software authors who made ScanCode possible
  • 17. About nexB Inc. We offer: ▷ DejaCode™- Open Data Platform for Managing Open Source - http://www.dejacode.com/ ▷ Open Source Scanning & Tracking Tools - https: //github.com/nexB ▷ Open Source Software Expert Audit Services - http://www.nexb.com/services.html
  • 18. ScanCode Details ▷ ScanCode by the numbers ▷ What is scanning? ▷ How does ScanCode work?
  • 19. Over 6,000 tests Over 500 large software products scanned Over 3,000 licenses, notices and samples ScanCode by the numbers
  • 20. ScanCode Toolkit- Technology ▷ Written primarily in Python ○ also JavaScript, Ruby, Java and C/C++ ▷ Tested on Linux, OS X and Windows ▷ Command line tool or library ▷ Simple HTML browser-app (any modern browser) - runs locally
  • 21. ScanCode App - Technology ▷ Based on Electron and written primarily in JavaScript ▷ D3.js used for data visualizations
  • 22. What is Scanning? Detect and discover “evidence” of origin and license in code (source or binary files) ▷ Copyright notice ▷ License notice and/or license test ▷ Software package manifests ▷ Email, URL, author or other names ▷ Other origin and license clues found in the code
  • 23. Scanning is not Matching Matching looks for similarities between your code and an index (digital fingerprints) of OSS code ▷ If your code is similar it “may” share a similar origin ▷ Matching may be applied at multiple levels ○ Package ○ File or snippet
  • 24. Scanning plus Matching ▷ Scanning will identify origin and license in most cases, but ○ Does not detect copying of snippets, or ○ Intentional stripping of notices, etc. ▷ Matching can identify code that was copied and/or stripped, but ○ Typically produces MANY false positives and requires extensive review ○ Especially for the most commonly used OSS projects
  • 25. How does ScanCode work? (1) ▷ Each file is categorized based on its type ▷ Archives and compressed files are fully extracted ▷ The text of each file is collected (source and binaries) ▷ Each file's text is then "scanned" ▷ Results are formatted and returned as a JSON file ▷ You can view the results in a browser, or ▷ Use the JSON file as you want
  • 26. How does ScanCode work? (2) ▷ For licenses, the techniques are similar to DNA analysis with multi-pattern matching ▷ Licenses are found exactly or approximately based on a set of thousands of license texts, notices and examples ▷ For copyrights, a syntax and grammar analyzer captures the many forms of copyright statements ▷ Emails, URLs, authors, person names and other data are captured using similar pattern matching techniques
  • 27. Alternatives and complements ▷ Open source such as: ○ Fossology (c, PHP): regex-based ○ ninka (Perl): regex & sentences-based ○ OSLC (Java, unmaintained) ▷ Commercial ▷ Complementary: ○ AboutCode: document origin side-by-side with code, collect inventory, generate attribution doc ○ TraceCode (not yet released): trace the source to binary transformation to find (static) linking and what is the subset of the source code used (dynamically trace a build or does a static analysis)