SlideShare una empresa de Scribd logo
4 décembre 2020
ULiège - Interface Entreprises
Recherche & Innovation
Managing Open source licenses
Jérémie Fays
Civil engineer in geology
@ Interface ULg since 2004
Freelance :
▸ Websites
▸ Photographer : Insta @jeremiefays
Geek
Geek Anonymes : https://www.recherche.uliege.be/geeksanonymes
What is Open Source ?
History
•  1950 : software source freely available
•  1974 : Software copyright
•  1985 : Free Software foundation
•  1989 : GPLv1 license (copyleft )
•  4 freedoms : run, study, modify, distribute
•  1998 : Open Source Initiative
•  Today : OS won the war !
Licenses
No license = no rights !
Licenses
Public domain
(WTFPL)
Open source (FOSS)
Academic / permissive
MIT, BSD, Apache, X11
Weak copyleft
LGPL, MPL
Strong copyleft
GPL, EUPL
Super strong copyleft
AGPL
Closed source (commercial)
Freeware
Shareware /
freemium
Other commercial
licenses
MIT,	BSD,ISC,		
Apache	v2.0	
GPL	v2-3	
LGPL	v2-3	 Others	(100+)	
Data from Blackduck, June 2018
Permissive
Copyleft
Weak copyleft
Most used OS licenses…
Apache v2.0, MIT, BSD
No copyleft
Could be integrated in closed source software
You must mention authors
Trigger : distribution
GPL v3
Strong copyleft
Source code has to be available
‘contaminates’ the whole work
You must mention authors
Trigger : distribution
GPL v2
Strong copyleft
You must mention authors
Source code has to be available
‘contaminates’ the whole work
Incompatible with a lot of common licenses
Trigger : distribution
AGPL v3
“Affero GPL”
Super strong copyleft
Source code has to be available
‘contaminates’ the whole work
You must mention authors
Trigger : distribution & interactions through a network
LGPL v3
Weak copyleft
Could be integrated in closed source software, provided you
make possible to link with another version of the library
Intended for libraries
You must mention authors
Trigger : distribution
Creative Commons licenses
Not adapted to software!
Adapted to documentation
Attribution
Attribution
No derivatives
Attribution
No commercial use
Share alike
Attribution
Share alike
Attribution
No commercial use
Attribution
No commercial use
No derivatives
How contaminating is copyleft (GPL) ?
Copyleft “contamination”
•  Compiled in 1 executable à contamination
•  Calling another executable and sharing data through
command line or file à no contamination
•  Run a software on a ‘copyleft’ operating system à
no contamination from OS
•  Interact with a webservice through standardized
protocol (query online database with SQL) à no
contamination
Copyleft “contamination”
But a lot of grey zone…
Are there compatibility problems ?
“I don’t like to give bad
news”
© Jérémie fays
PhD Thesis - SimCity
Effect of urban development on traffic jam
SimCity
2D engine for maps
Export to xls
Color picker (palette)
PhD Thesis - SimCity
SimCity
2D engine for maps
Export to xls
Color picker (palette)
May I sell
Licenses ?
Effect of urban development on traffic jam
PhD Thesis - SimCity
SimCity
2D engine for maps
Export to xls
Color picker (palette)
May I sell
Licenses ?
Effect of urban development on traffic jam
PhD Thesis - SimCity
SimCity
2D engine for maps
Export to xls
Color picker (palette)
May I Open
Source ?
Effect of urban development on traffic jam
PhD Thesis - SimCity
SimCity
2D engine for maps
Export to xls
Color picker (palette)
May I Open
Source ?
Effect of urban development on traffic jam
Some known compatibilty problems
•  BSD-4 à GPL
•  Apache v1, v1.1 à GPL
•  GPLv2 à GPLv3
•  GPLv3 à GPLv2
•  MPLv1.1 à GPL
! GPL compatible licences
https://www.gnu.org/licenses/license-list
Dual licensing
Purpose :
▸ Prevent compatibility issues (ex : using GPL v2+)
▸ Run a dual licensing business model
Needs agreement of all rights owners
▸ 1 owner, or…
▸ All owners agree, or…
▸ Unify rights via CLA (Contributor License Agreement)
Freedom to operate
Source : David A. Wheeler
How do I detect Open Source ?
How to detect Open Source ?
1.  Ask the developers (Uliège : Software disclosure form)
2.  Source code scanning tool
▸  open source licence finder
▸  Fossology (free)
▸  open source code finder
▸  Synopsys (Black Duck) – also binary detection
▸  Antelink
▸  Revenera
How to solve incompatibility ?
How to solve incompatibility ?
•  Don’t bother (short code)
•  Rewrite
•  Replace with another library
•  Ask authors for a different license
•  Split your software (if at all possible)
What are the risks ?
What are the risks ?
1.  OS license incompatibility in an open source project
è  Reputation
è  Trouble in OS community
è  (Lawsuit)
è  Stop distribution
What are the risks ?
2.  Copyleft code in commercial code
è  Development costs to clear the situation
è  Lawsuit
è  reputation
è  open your code !!
è  pay damages
è  Dev companies : your customer could be sued
How to manage Open Source ?
For developpers…
•  Choose a distribution strategy from the start
(commercial, permissive, copyleft…)
•  and choose dependencies with a compatible license
•  Ask your employer
•  Before contributing to an open source project
•  Before integrating OS in the company software !
For developpers…
•  Document your code with legal stuff
•  Copyright and license header in each source file
•  LICENSE and AUTHOR file
•  Use a Version Control System (Git, SVN…)
•  Test in branches
•  Track who did what
•  Use Fossology
For companies…
Setup an Open Source Policy !
For companies : Open Source Policy
•  OS licenses allowed, and not allowed
•  Other criteria : maintenance, quality, security…
•  Clear and rapid validation procedure
•  Contributing to an open source project
•  Inventory of dependencies
•  Use tracking tools
Jérémie Fays
j.fays@uliege.be
+32 4 349 85 21
www.linkedin.com/in/jeremiefays
Need some advice ?

Más contenido relacionado

Similar a Managing Open Source Licenses (Geeks Anonymes)

Open-Source Software Panel - IP Track
Open-Source Software Panel - IP TrackOpen-Source Software Panel - IP Track
Open-Source Software Panel - IP Track
Aaron G. Sauers, CLP
 
Introduction To Open Source
Introduction To Open SourceIntroduction To Open Source
Introduction To Open Source
Uchechukwu Obimma
 
What is open source
What is open sourceWhat is open source
What is open source
Anuchit Chalothorn
 
Lecture 2011.05A - FOSS Fundamentals (Digital Sustainability)
Lecture 2011.05A -  FOSS Fundamentals (Digital Sustainability)Lecture 2011.05A -  FOSS Fundamentals (Digital Sustainability)
Lecture 2011.05A - FOSS Fundamentals (Digital Sustainability)
Marcus Dapp
 
Open source operating systems
Open source operating systemsOpen source operating systems
Open source operating systems
Tushar B Kute
 
Using Open Source for Enterprise
Using Open Source for EnterpriseUsing Open Source for Enterprise
Using Open Source for Enterprise
Eric Fesler
 
Opensource
OpensourceOpensource
Opensource
Dave Everitt
 
The Rise of Open Source
The Rise of Open SourceThe Rise of Open Source
The Rise of Open Source
Martin Westhead
 
Open Source vs Proprietary
Open Source vs ProprietaryOpen Source vs Proprietary
Open Source vs Proprietary
M. Antoinette Jerom
 
Open Source
Open SourceOpen Source
Open Source
John Gs
 
Economics of Open Source Software
Economics of Open Source SoftwareEconomics of Open Source Software
Economics of Open Source Software
Ray Toal
 
A research and innovation perspective on Free and Open Source Software (FOSS)
A research and innovation perspective on Free and Open Source Software (FOSS)A research and innovation perspective on Free and Open Source Software (FOSS)
A research and innovation perspective on Free and Open Source Software (FOSS)
Derek Keats
 
Gup2011| open source
Gup2011| open sourceGup2011| open source
Gup2011| open source
Outserve
 
Open Source
Open SourceOpen Source
Open Source
nqfaq
 
OPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONOPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATION
Ritwick Halder
 
Free and Open Source Software
Free and Open Source SoftwareFree and Open Source Software
Free and Open Source Software
Ram Nath
 
Scale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project SuccessScale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project Success
Stephen Walli
 
Asf icfoss-mentoring
Asf icfoss-mentoringAsf icfoss-mentoring
Asf icfoss-mentoring
Luciano Resende
 
Open source software and os
Open source software and osOpen source software and os
Open source software and os
Md. Tasdikul Islam Khan
 
Foss For Media Makers
Foss For Media MakersFoss For Media Makers
Foss For Media Makers
EngageMedia
 

Similar a Managing Open Source Licenses (Geeks Anonymes) (20)

Open-Source Software Panel - IP Track
Open-Source Software Panel - IP TrackOpen-Source Software Panel - IP Track
Open-Source Software Panel - IP Track
 
Introduction To Open Source
Introduction To Open SourceIntroduction To Open Source
Introduction To Open Source
 
What is open source
What is open sourceWhat is open source
What is open source
 
Lecture 2011.05A - FOSS Fundamentals (Digital Sustainability)
Lecture 2011.05A -  FOSS Fundamentals (Digital Sustainability)Lecture 2011.05A -  FOSS Fundamentals (Digital Sustainability)
Lecture 2011.05A - FOSS Fundamentals (Digital Sustainability)
 
Open source operating systems
Open source operating systemsOpen source operating systems
Open source operating systems
 
Using Open Source for Enterprise
Using Open Source for EnterpriseUsing Open Source for Enterprise
Using Open Source for Enterprise
 
Opensource
OpensourceOpensource
Opensource
 
The Rise of Open Source
The Rise of Open SourceThe Rise of Open Source
The Rise of Open Source
 
Open Source vs Proprietary
Open Source vs ProprietaryOpen Source vs Proprietary
Open Source vs Proprietary
 
Open Source
Open SourceOpen Source
Open Source
 
Economics of Open Source Software
Economics of Open Source SoftwareEconomics of Open Source Software
Economics of Open Source Software
 
A research and innovation perspective on Free and Open Source Software (FOSS)
A research and innovation perspective on Free and Open Source Software (FOSS)A research and innovation perspective on Free and Open Source Software (FOSS)
A research and innovation perspective on Free and Open Source Software (FOSS)
 
Gup2011| open source
Gup2011| open sourceGup2011| open source
Gup2011| open source
 
Open Source
Open SourceOpen Source
Open Source
 
OPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONOPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATION
 
Free and Open Source Software
Free and Open Source SoftwareFree and Open Source Software
Free and Open Source Software
 
Scale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project SuccessScale14x Patterns and Practices for Open Source Project Success
Scale14x Patterns and Practices for Open Source Project Success
 
Asf icfoss-mentoring
Asf icfoss-mentoringAsf icfoss-mentoring
Asf icfoss-mentoring
 
Open source software and os
Open source software and osOpen source software and os
Open source software and os
 
Foss For Media Makers
Foss For Media MakersFoss For Media Makers
Foss For Media Makers
 

Más de Geeks Anonymes

Programmer sous Unreal Engine
Programmer sous Unreal EngineProgrammer sous Unreal Engine
Programmer sous Unreal Engine
Geeks Anonymes
 
Implémentation efficace et durable de processus métiers complexes
Implémentation efficace et durable de processus métiers complexesImplémentation efficace et durable de processus métiers complexes
Implémentation efficace et durable de processus métiers complexes
Geeks Anonymes
 
Reprendre le contrôle de ses données
Reprendre le contrôle de ses donnéesReprendre le contrôle de ses données
Reprendre le contrôle de ses données
Geeks Anonymes
 
Geeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes - Le langage Go
Geeks Anonymes - Le langage Go
Geeks Anonymes
 
Le rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingLe rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testing
Geeks Anonymes
 
Kubernetes
KubernetesKubernetes
Kubernetes
Geeks Anonymes
 
Vulnérabilités au cœur des applications Web, menaces et contre-mesures
 Vulnérabilités au cœur des applications Web, menaces et contre-mesures Vulnérabilités au cœur des applications Web, menaces et contre-mesures
Vulnérabilités au cœur des applications Web, menaces et contre-mesures
Geeks Anonymes
 
191121 philippe teuwen cryptographie et attaques materielles
191121 philippe teuwen cryptographie et attaques materielles191121 philippe teuwen cryptographie et attaques materielles
191121 philippe teuwen cryptographie et attaques materielles
Geeks Anonymes
 
"Surfez couverts !" - Conseils de Cyber securité
"Surfez couverts !" - Conseils de Cyber securité "Surfez couverts !" - Conseils de Cyber securité
"Surfez couverts !" - Conseils de Cyber securité
Geeks Anonymes
 
Introduction au développement mobile - développer une application iOS et Andr...
Introduction au développement mobile - développer une application iOS et Andr...Introduction au développement mobile - développer une application iOS et Andr...
Introduction au développement mobile - développer une application iOS et Andr...
Geeks Anonymes
 
Le langage rust
Le langage rustLe langage rust
Le langage rust
Geeks Anonymes
 
Test your code
Test your codeTest your code
Test your code
Geeks Anonymes
 
Intelligence artificielle et propriété intellectuelle
Intelligence artificielle et propriété intellectuelleIntelligence artificielle et propriété intellectuelle
Intelligence artificielle et propriété intellectuelle
Geeks Anonymes
 
Pour une histoire plophonique du jeu video
Pour une histoire plophonique du jeu videoPour une histoire plophonique du jeu video
Pour une histoire plophonique du jeu video
Geeks Anonymes
 
Become Rick and famous, thanks to Open Source
Become Rick and famous, thanks to Open SourceBecome Rick and famous, thanks to Open Source
Become Rick and famous, thanks to Open Source
Geeks Anonymes
 
Reconnaissance vocale et création artistique
Reconnaissance vocale et création artistiqueReconnaissance vocale et création artistique
Reconnaissance vocale et création artistique
Geeks Anonymes
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
Geeks Anonymes
 
Sécurité, GDPR : vos données ont de la valeur
Sécurité, GDPR : vos données ont de la valeur Sécurité, GDPR : vos données ont de la valeur
Sécurité, GDPR : vos données ont de la valeur
Geeks Anonymes
 
Modern sql
Modern sqlModern sql
Modern sql
Geeks Anonymes
 
Qt
QtQt

Más de Geeks Anonymes (20)

Programmer sous Unreal Engine
Programmer sous Unreal EngineProgrammer sous Unreal Engine
Programmer sous Unreal Engine
 
Implémentation efficace et durable de processus métiers complexes
Implémentation efficace et durable de processus métiers complexesImplémentation efficace et durable de processus métiers complexes
Implémentation efficace et durable de processus métiers complexes
 
Reprendre le contrôle de ses données
Reprendre le contrôle de ses donnéesReprendre le contrôle de ses données
Reprendre le contrôle de ses données
 
Geeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes - Le langage Go
Geeks Anonymes - Le langage Go
 
Le rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingLe rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testing
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Vulnérabilités au cœur des applications Web, menaces et contre-mesures
 Vulnérabilités au cœur des applications Web, menaces et contre-mesures Vulnérabilités au cœur des applications Web, menaces et contre-mesures
Vulnérabilités au cœur des applications Web, menaces et contre-mesures
 
191121 philippe teuwen cryptographie et attaques materielles
191121 philippe teuwen cryptographie et attaques materielles191121 philippe teuwen cryptographie et attaques materielles
191121 philippe teuwen cryptographie et attaques materielles
 
"Surfez couverts !" - Conseils de Cyber securité
"Surfez couverts !" - Conseils de Cyber securité "Surfez couverts !" - Conseils de Cyber securité
"Surfez couverts !" - Conseils de Cyber securité
 
Introduction au développement mobile - développer une application iOS et Andr...
Introduction au développement mobile - développer une application iOS et Andr...Introduction au développement mobile - développer une application iOS et Andr...
Introduction au développement mobile - développer une application iOS et Andr...
 
Le langage rust
Le langage rustLe langage rust
Le langage rust
 
Test your code
Test your codeTest your code
Test your code
 
Intelligence artificielle et propriété intellectuelle
Intelligence artificielle et propriété intellectuelleIntelligence artificielle et propriété intellectuelle
Intelligence artificielle et propriété intellectuelle
 
Pour une histoire plophonique du jeu video
Pour une histoire plophonique du jeu videoPour une histoire plophonique du jeu video
Pour une histoire plophonique du jeu video
 
Become Rick and famous, thanks to Open Source
Become Rick and famous, thanks to Open SourceBecome Rick and famous, thanks to Open Source
Become Rick and famous, thanks to Open Source
 
Reconnaissance vocale et création artistique
Reconnaissance vocale et création artistiqueReconnaissance vocale et création artistique
Reconnaissance vocale et création artistique
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Sécurité, GDPR : vos données ont de la valeur
Sécurité, GDPR : vos données ont de la valeur Sécurité, GDPR : vos données ont de la valeur
Sécurité, GDPR : vos données ont de la valeur
 
Modern sql
Modern sqlModern sql
Modern sql
 
Qt
QtQt
Qt
 

Último

SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 

Último (20)

SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 

Managing Open Source Licenses (Geeks Anonymes)

  • 1. 4 décembre 2020 ULiège - Interface Entreprises Recherche & Innovation Managing Open source licenses
  • 2.
  • 3. Jérémie Fays Civil engineer in geology @ Interface ULg since 2004 Freelance : ▸ Websites ▸ Photographer : Insta @jeremiefays Geek Geek Anonymes : https://www.recherche.uliege.be/geeksanonymes
  • 4. What is Open Source ?
  • 5. History •  1950 : software source freely available •  1974 : Software copyright •  1985 : Free Software foundation •  1989 : GPLv1 license (copyleft ) •  4 freedoms : run, study, modify, distribute •  1998 : Open Source Initiative •  Today : OS won the war !
  • 6. Licenses No license = no rights !
  • 7. Licenses Public domain (WTFPL) Open source (FOSS) Academic / permissive MIT, BSD, Apache, X11 Weak copyleft LGPL, MPL Strong copyleft GPL, EUPL Super strong copyleft AGPL Closed source (commercial) Freeware Shareware / freemium Other commercial licenses
  • 8. MIT, BSD,ISC, Apache v2.0 GPL v2-3 LGPL v2-3 Others (100+) Data from Blackduck, June 2018 Permissive Copyleft Weak copyleft Most used OS licenses…
  • 9. Apache v2.0, MIT, BSD No copyleft Could be integrated in closed source software You must mention authors Trigger : distribution
  • 10. GPL v3 Strong copyleft Source code has to be available ‘contaminates’ the whole work You must mention authors Trigger : distribution
  • 11. GPL v2 Strong copyleft You must mention authors Source code has to be available ‘contaminates’ the whole work Incompatible with a lot of common licenses Trigger : distribution
  • 12. AGPL v3 “Affero GPL” Super strong copyleft Source code has to be available ‘contaminates’ the whole work You must mention authors Trigger : distribution & interactions through a network
  • 13. LGPL v3 Weak copyleft Could be integrated in closed source software, provided you make possible to link with another version of the library Intended for libraries You must mention authors Trigger : distribution
  • 14. Creative Commons licenses Not adapted to software! Adapted to documentation Attribution Attribution No derivatives Attribution No commercial use Share alike Attribution Share alike Attribution No commercial use Attribution No commercial use No derivatives
  • 15. How contaminating is copyleft (GPL) ?
  • 16. Copyleft “contamination” •  Compiled in 1 executable à contamination •  Calling another executable and sharing data through command line or file à no contamination •  Run a software on a ‘copyleft’ operating system à no contamination from OS •  Interact with a webservice through standardized protocol (query online database with SQL) à no contamination
  • 17. Copyleft “contamination” But a lot of grey zone…
  • 19. “I don’t like to give bad news” © Jérémie fays
  • 20. PhD Thesis - SimCity Effect of urban development on traffic jam SimCity 2D engine for maps Export to xls Color picker (palette)
  • 21. PhD Thesis - SimCity SimCity 2D engine for maps Export to xls Color picker (palette) May I sell Licenses ? Effect of urban development on traffic jam
  • 22. PhD Thesis - SimCity SimCity 2D engine for maps Export to xls Color picker (palette) May I sell Licenses ? Effect of urban development on traffic jam
  • 23. PhD Thesis - SimCity SimCity 2D engine for maps Export to xls Color picker (palette) May I Open Source ? Effect of urban development on traffic jam
  • 24. PhD Thesis - SimCity SimCity 2D engine for maps Export to xls Color picker (palette) May I Open Source ? Effect of urban development on traffic jam
  • 25. Some known compatibilty problems •  BSD-4 à GPL •  Apache v1, v1.1 à GPL •  GPLv2 à GPLv3 •  GPLv3 à GPLv2 •  MPLv1.1 à GPL ! GPL compatible licences https://www.gnu.org/licenses/license-list
  • 26. Dual licensing Purpose : ▸ Prevent compatibility issues (ex : using GPL v2+) ▸ Run a dual licensing business model Needs agreement of all rights owners ▸ 1 owner, or… ▸ All owners agree, or… ▸ Unify rights via CLA (Contributor License Agreement)
  • 27. Freedom to operate Source : David A. Wheeler
  • 28. How do I detect Open Source ?
  • 29. How to detect Open Source ? 1.  Ask the developers (Uliège : Software disclosure form) 2.  Source code scanning tool ▸  open source licence finder ▸  Fossology (free) ▸  open source code finder ▸  Synopsys (Black Duck) – also binary detection ▸  Antelink ▸  Revenera
  • 30. How to solve incompatibility ?
  • 31. How to solve incompatibility ? •  Don’t bother (short code) •  Rewrite •  Replace with another library •  Ask authors for a different license •  Split your software (if at all possible)
  • 32. What are the risks ?
  • 33. What are the risks ? 1.  OS license incompatibility in an open source project è  Reputation è  Trouble in OS community è  (Lawsuit) è  Stop distribution
  • 34. What are the risks ? 2.  Copyleft code in commercial code è  Development costs to clear the situation è  Lawsuit è  reputation è  open your code !! è  pay damages è  Dev companies : your customer could be sued
  • 35. How to manage Open Source ?
  • 36. For developpers… •  Choose a distribution strategy from the start (commercial, permissive, copyleft…) •  and choose dependencies with a compatible license •  Ask your employer •  Before contributing to an open source project •  Before integrating OS in the company software !
  • 37. For developpers… •  Document your code with legal stuff •  Copyright and license header in each source file •  LICENSE and AUTHOR file •  Use a Version Control System (Git, SVN…) •  Test in branches •  Track who did what •  Use Fossology
  • 38. For companies… Setup an Open Source Policy !
  • 39. For companies : Open Source Policy •  OS licenses allowed, and not allowed •  Other criteria : maintenance, quality, security… •  Clear and rapid validation procedure •  Contributing to an open source project •  Inventory of dependencies •  Use tracking tools
  • 40. Jérémie Fays j.fays@uliege.be +32 4 349 85 21 www.linkedin.com/in/jeremiefays Need some advice ?