SlideShare a Scribd company logo
1 of 51
Download to read offline
Lars Kurth
Community Manager, Xen Project
Chairman, Xen Project Advisory Board
Director, Open Source, Citrix lars_kurth
Was a contributor to various projects
Worked in parallel computing, tools,
mobile and now virtualization
Community guy for the Xen Project
Working for Citrix
Accountable to the Xen Project Community
Chairman of Xen Project Advisory Board
Led and supported a number of licensing
related activities in 2016 (for Citrix and the
Xen Project)
Purchased on Shutterstock
Picture by Lars Kurth
Examples of Projects that
started out as single
License Projects
Linux: GPLv2
QEMU: GPLv2
Xen Project: GPLv2
FreeBSD: BSD
Picture by Lars Kurth
What is the percentage of files
in those projects that use the
original license?
Linux: ≤ 96% GPLv2
QEMU: ≤ 86% GPLv2
Xen Project: ≤ 98% GPLv2
FreeBSD: ≤ 84% BSD
Data obtained with scancode toolkit 1.6.0 as an approximation
Files with no (c) header classed as “native license”
for the purpose of this approximation
Paul Morris @ Flickr
Many (most?) projects are
not 100% single license
Vinovyn @ Flickr
You may need to interface with projects of another license
You may want to allow other projects (with another license)
to interface with you
You may want to import code from other projects
Your project may not have clear rules that govern license
exceptions (è people assume it’s OK to add code with other
compatible licenses è increasing “entropy”)
…
Pratap Sankar @ Flickr
These are all good and valid
reasons for license exceptions
Geopungo @ Flickr
BUT: without guidance, best
practice, tooling, …
… you may expose yourself to
unintended consequences
Moyan Brenn @ Flickr
Developing Open Source
Virtualization Technologies since 2003
> 10M Users
Several sub-projects
Xen Hypervisor, XAPI management tools, Mirage OS, Windows Drivers and
Embedded/Automotive Support
Linux Foundation Collaborative Project
Financially sponsored by Alibaba Cloud, Amazon Web Services, AMD, ARM, Cavium,
Citrix, Huawei, Intel, Oracle, Qualcomm, Rackspace
Pratap Sankar @ Flickr
Our reasons for
GPLv2 license exceptions
Want to enable Guest Support for non-GPL OSes
Most headers are BSD style or MIT licenses
Want to make it possible for such OSes to have Xen support
Some BSD style or MIT licenses
Some code is dually licensed (enable re-use elsewhere)
Want to enable non-GPL tools to interface with Xen
Key tools libraries are LGPL 2.1+
Want to be able to import code from other projects
We had no codified rules about licensing exceptions
We assumed we are a single license project
Moyan Brenn @ Flickr
Picture by Lars Kurth
Dragonblood Tree in Socotra
Late 2015: a large vendor (codename
Dragonblood) is reviewing the Xen Project with
a view of allowing their staff to contribute
2015 2016 2017
Dragonblood company starts IP and patent review
Note: the IP lawyer is very thorough
Evaluates license, COPYING files, runs FOSSology, ...
è Picks up a number of mismatches between COPYING file and reality
(e.g. the COPYING file stated that headers are BSD, but some were MIT)
è  Lots of questions about the rationale for licensing exceptions
(unfortunately this was not always easy to find out)
A
2015 2016 2017
Dragonblood company won’t allow staff to contribute until all
questions were resolved
Ended up doing lots of code archaeology to answer
questions and secure future Dragonblood contributions
è Reason for why a license exception existed
è Rationale for why a piece of code was imported and where it came
from
A B
2015 2016 2017
Dragonblood company allows staff contributions
A B C
Needed information was present,
but not readily consumable
Information was in commit logs, sometimes in
source files, sometimes in COPYING files,
sometimes in mailing list conversations referred to
from elsewhere
Inconsistencies
Which confused the IP lawyer and didn’t build trust
Lawyers tend to work on multiple projects
Elapsed time periods with no activity
Picture by Lars Kurth
In-tree information on license exceptions
Guidance on license exceptions:
– When do we use what license
– Rationale for specific and classes of exceptions
COPYING file for each non-GPLv2 component
README.source files (one per directory)
For code imports (even for GPLv2 imports) tracking:
rationale, source, and other relevant information
Fixed inconsistencies in documentation
A few things we merely documented
E.g. some imported code had inconsistent
licenses (license headline said MIT, text was BSD)
Picture by Lars Kurth
Moyan Brenn @ Flickr
Purchased on Shutterstock
Picture by Lars Kurth
Catasetum maculatum in Costa Rica
A bit of taxonomy
and terminology
HWCPUsMemoryI/O
VM1
Guest OS
Applications
VM0 (or Dom0)
Dom0 Kernel
Drivers
VM2 VMn
Applications
Guest OS
Applications
Guest OS
Scheduler MMU Timers InterruptsConfig
Drivers
Toolstack
libxl / libxc
VM1
Guest OS
Applications
VM0 (or Dom0)
Dom0 Kernel
Drives
Scheduler MMU Timers InterruptsConfig
Toolstack
libxl / libxc
Drivers
Public interface headers = MIT or BSD
Core components & drivers = GPL v2
Drivers = GPLv2 & misc licenses
Libraries for 3rd party code = LGPL v2.1
3rd party stuff = Not in our control
HYPERVISOR
TOOLSUTILITY FUNCTIONS FOR HYPERVISOR, LINUX, ETC.
VM1
Guest OS
Applications
VM0 (or Dom0)
Dom0 Kernel
Toolstack
libxl / libxc
HYPERVISOR
TOOLSACPI builder hvmloader
Want to use
Do a clean-room re-implementation
Too hard
Allow GPLv2 encumberment of
libxl / libxc and its consumers
Too disruptive
Relicense
Seemed relatively straightforward
Vinovyn @ Flickr
VM1
Guest OS
Applications
VM0 (or Dom0)
Dom0 Kernel
Toolstack
libxl / libxc
HYPERVISOR
TOOLSACPI builder hvmloader
Use
Pratap Sankar @ Flickr
Observation
Refactoring and new feature
development may require
unanticipated license changes
Could have been avoided with
more foresight
Identify ©
holders
List of ©
holders
© headers of files
Authors
Signed-off-by tags (DCO)
Code Import history
Individuals
@gmail.com, @xen.org, …
Companies
@company.com
Pratap Sankar @ Flickr
Tooling: Hg to Git conversion, code motions, …
Can lead to an incomplete list of © holders due to tooling issues
Was the code (or some of it) imported from elsewhere?
You may want to run FOSSology or similar
If yes, there may be more © holders
In our case, the code was imported from Linux
There could potentially issues with CLA’s (if parent project has CLA’s)
Use of private email addresses by company employees
If yes, you probably have to ask both
Chasing individuals can be harder than chasing companies
List of ©
holders
Approval of
all © holders
Pratap Sankar @ Flickr
Individuals
Contact by e-mail
Companies
Find company stake-holders
that can make a decision
In our case: most companies were
also Advisory Board members
Chasing and follow-up
By LinkedIn, phone, etc.
Sometimes e-mail addresses change
Companies
If you don’t have an up-to-date
contact you will have a challenge
Approval?
Yes
Commit
No
Workaround
Picture by Lars Kurth
Dendrobium fimbriatum in Costa Rica
Mid 2016: contributor XYZ (working for vendor
codename Dendrobium) could not be tracked
down and approval could not be obtained
Find new
contact details
of XYZ
Failed (tried LinkedIn, etc.)
Because XYZ is based in China
Failed
Tracked down individual, but that did
not help. The individual changed
company and the team in Dendrobium
did not exist any more.
Failed
There were none; not a FOSS company
Searched for
Dendrobium FOSS
staff
Searched for
Dendrobium FOSS
contributors
Enlist help
from Chinese
companies
Succeeded via LinkedIn
Worked on a contingency plan
Eventually got approval (took 2 months)
Made use of the fact that binaries, not source code, are licensed
And that not all functionality was needed in the LGPL v2.1 library
Could not remove the change by Dendrobium
– Too far in the past and a key piece of functionality
– Too complex for “fair use” clause
Build two variants of ACPI Builder library from the same codebase
GPLv2 and LGPL v2.1 variants
– Keep GPLv2 code clearly separated in the source tree
– Not ideal from an engineering perspective
BUT: ugly, not easily maintainable, hack
Tooling
Pre-Git code motions (delete, create)
Documentation
No README.source file for import from Linux
Nearly missed code import
Sign-Off’s on Company time
In the early days of the project many people signed
off DCO using private e-mail addresses or Xen alias
Approval
Getting approval from all stake-holders
Implemented a backup (ultimately not needed)
Picture by Lars Kurth
Moyan Brenn @ Flickr
Picture by Lars Kurth
Dragonblood Tree in Socotra
Beginning 2016: vendor (codename Dragonblood)
was rather sensitive towards patents and GPL v3
Code marked as GPL v2+ could be
copied into a GPLv3 project.
GPLv3 projects are problematic for us
from a patent protection perspective.
Thus, we may not be able to contribute
to your project.
Dragonblood company IP lawyer (paraphrased).
Does not reflect the views of the Xen Project
Picture by Lars Kurth
Why did we have GPLv2+ code
in our codebase? Was this a
conscious decision?
Picture by Lars Kurth
No: Purely accidental, because
some contributors copied license
text from FSF (or elsewhere)
without specifying the GPL
version.
Picture by Lars Kurth
Is this issue specific to the
Xen Project?
% of GPLv2 or later
(relative to GPLv2 code) …
Linux: 14%
QEMU: 9%
Xen Project: 10%
FreeBSD: 32% 1)
Data obtained with scancode toolkit 1.6.0 as an approximation
1) Total is 7% GPL code of which 34% are GPLv2+, 84% BSD
Could we fix this?
Couldn’t find clear guidance and a precedence
Too much work/disruption and potentially divisive
CONTRIBUTING file
Added common © header templates
In particular for GPL v2 and LGPL v2.1
Raised awareness amongst committers
Issue went away
When I pointed out that other projects Dragonblood
company contributes to, have the same issue
BUT: it is possible that Dragonblood company instructed
their staff not to contribute to GPLv2+ files
Picture by Lars Kurth
If you are an L/GPL vX only project
L/GPL vX or later files in your codebase
è could scare away some contributors
If you are an L/GPL vX or later project
L/GPLvX only files in your codebase
è diminish your capability to upgrade to vX+1
in the future
Have mechanisms in place to avoid
a mixture of L/GPL vX only and or later
è worst of both worlds
Picture by Lars Kurth
Picture by Lars Kurth
If you want to stay single license
Need tooling to enforce
L/GPL vX only vs. L/GPL vX or later
Have some mechanisms in place to avoid a mixture
Document License Exceptions
Rules/conventions, rationale, instances
Provide © template headers
README.source files or similar
For all code imports (even for “native” imports)
Company / Personal Sign-off
Document conventions (@xenproject.org, @kernel.org)
Awareness by committers
Plan for the future
Consider licensing carefully for any code that may
be re-usable
Picture by Lars Kurth
Picture by Lars Kurth

More Related Content

Viewers also liked

Fosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenFosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenThe Linux Foundation
 
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D... XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...The Linux Foundation
 
XPDS16: Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
XPDS16:  Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...XPDS16:  Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
XPDS16: Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...The Linux Foundation
 
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
XPDS16:  CPUID handling for guests - Andrew Cooper, CitrixXPDS16:  CPUID handling for guests - Andrew Cooper, Citrix
XPDS16: CPUID handling for guests - Andrew Cooper, CitrixThe Linux Foundation
 
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARMXPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARMThe Linux Foundation
 
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...The Linux Foundation
 
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16:  Hypervisor-based Security: Vicarious Learning via Introspektioneerin...XPDS16:  Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...The Linux Foundation
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMThe Linux Foundation
 
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, HuaweiXPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, HuaweiThe Linux Foundation
 
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, IntelXPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, IntelThe Linux Foundation
 
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsXPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsThe Linux Foundation
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...The Linux Foundation
 
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...The Linux Foundation
 
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEXPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEThe Linux Foundation
 
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...The Linux Foundation
 
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...The Linux Foundation
 
OSCON16: Analysis of the Xen code review process: An example of software deve...
OSCON16: Analysis of the Xen code review process: An example of software deve...OSCON16: Analysis of the Xen code review process: An example of software deve...
OSCON16: Analysis of the Xen code review process: An example of software deve...The Linux Foundation
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project VirtualisationThe Linux Foundation
 
The French Revolution of 1789
The French Revolution of 1789The French Revolution of 1789
The French Revolution of 1789Tom Richey
 

Viewers also liked (20)

Fosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenFosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for Xen
 
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D... XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 
XPDS16: Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
XPDS16:  Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...XPDS16:  Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
XPDS16: Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
 
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
XPDS16:  CPUID handling for guests - Andrew Cooper, CitrixXPDS16:  CPUID handling for guests - Andrew Cooper, Citrix
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
 
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARMXPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
 
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
 
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16:  Hypervisor-based Security: Vicarious Learning via Introspektioneerin...XPDS16:  Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
 
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, HuaweiXPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
XPDS16: Xen Scalability Analysis - Weidong Han, Zhichao Huang & Wei Yang, Huawei
 
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, IntelXPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
 
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsXPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
 
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
 
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEXPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
 
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
 
XPDS16: Xen Development Update
XPDS16: Xen Development UpdateXPDS16: Xen Development Update
XPDS16: Xen Development Update
 
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
XPDS16: Consideration of Real Time GPU Scheduling of XenGT in Automotive Embe...
 
OSCON16: Analysis of the Xen code review process: An example of software deve...
OSCON16: Analysis of the Xen code review process: An example of software deve...OSCON16: Analysis of the Xen code review process: An example of software deve...
OSCON16: Analysis of the Xen code review process: An example of software deve...
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
 
The French Revolution of 1789
The French Revolution of 1789The French Revolution of 1789
The French Revolution of 1789
 

Similar to Fosdem17 - Mixed License FOSS Projects

OSSA17 - Mixed License FOSS Projects
OSSA17 - Mixed License FOSS ProjectsOSSA17 - Mixed License FOSS Projects
OSSA17 - Mixed License FOSS ProjectsThe Linux Foundation
 
PFHub: Phase Field Community Hub
PFHub: Phase Field Community HubPFHub: Phase Field Community Hub
PFHub: Phase Field Community HubDaniel Wheeler
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)dmgerman
 
Q Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - ConjurQ Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - Conjurconjur_inc
 
Module 18 (linux hacking)
Module 18 (linux hacking)Module 18 (linux hacking)
Module 18 (linux hacking)Wail Hassan
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environmentsalexandru giurgiu
 
@dtmsecurity Mitre ATT&CKcon - Playing Devil's Advocate to Security Initiativ...
@dtmsecurity Mitre ATT&CKcon - Playing Devil's Advocate to Security Initiativ...@dtmsecurity Mitre ATT&CKcon - Playing Devil's Advocate to Security Initiativ...
@dtmsecurity Mitre ATT&CKcon - Playing Devil's Advocate to Security Initiativ...DTM Security
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentS. M. Hossein Hamidi
 
MITRE ATT&CKcon 2018: Playing Devil’s Advocate to Security Initiatives with A...
MITRE ATT&CKcon 2018: Playing Devil’s Advocate to Security Initiatives with A...MITRE ATT&CKcon 2018: Playing Devil’s Advocate to Security Initiatives with A...
MITRE ATT&CKcon 2018: Playing Devil’s Advocate to Security Initiatives with A...MITRE - ATT&CKcon
 
An Open Source Case Study
An Open Source Case StudyAn Open Source Case Study
An Open Source Case Studywebhostingguy
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...The Linux Foundation
 
XPDDS17: Keynote: Xen Weather Report 2017
XPDDS17: Keynote: Xen Weather Report 2017XPDDS17: Keynote: Xen Weather Report 2017
XPDDS17: Keynote: Xen Weather Report 2017The Linux Foundation
 
Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business CaseFITT
 
The Digital Demise - by Robin Turner
The Digital Demise - by Robin TurnerThe Digital Demise - by Robin Turner
The Digital Demise - by Robin Turnerrobinturner
 
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 SuccessStephen Walli
 
Wrath of Ransomware_Longinus Timochenco
Wrath of Ransomware_Longinus TimochencoWrath of Ransomware_Longinus Timochenco
Wrath of Ransomware_Longinus TimochencoLonginus Timochenco
 
An OWL Copyright Ontology for Semantic Digital Rights Management
An OWL Copyright Ontology for Semantic Digital Rights ManagementAn OWL Copyright Ontology for Semantic Digital Rights Management
An OWL Copyright Ontology for Semantic Digital Rights ManagementRoberto García
 
Your Blacklist is Dead: Why the Future of Command and Control is the Cloud
Your Blacklist is Dead: Why the Future of Command and Control is the CloudYour Blacklist is Dead: Why the Future of Command and Control is the Cloud
Your Blacklist is Dead: Why the Future of Command and Control is the CloudCloudVillage
 

Similar to Fosdem17 - Mixed License FOSS Projects (20)

OSSA17 - Mixed License FOSS Projects
OSSA17 - Mixed License FOSS ProjectsOSSA17 - Mixed License FOSS Projects
OSSA17 - Mixed License FOSS Projects
 
PFHub: Phase Field Community Hub
PFHub: Phase Field Community HubPFHub: Phase Field Community Hub
PFHub: Phase Field Community Hub
 
Open Source in the Enterprise
Open Source in the EnterpriseOpen Source in the Enterprise
Open Source in the Enterprise
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)
 
Q Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - ConjurQ Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - Conjur
 
Module 18 (linux hacking)
Module 18 (linux hacking)Module 18 (linux hacking)
Module 18 (linux hacking)
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
 
@dtmsecurity Mitre ATT&CKcon - Playing Devil's Advocate to Security Initiativ...
@dtmsecurity Mitre ATT&CKcon - Playing Devil's Advocate to Security Initiativ...@dtmsecurity Mitre ATT&CKcon - Playing Devil's Advocate to Security Initiativ...
@dtmsecurity Mitre ATT&CKcon - Playing Devil's Advocate to Security Initiativ...
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development Environment
 
MITRE ATT&CKcon 2018: Playing Devil’s Advocate to Security Initiatives with A...
MITRE ATT&CKcon 2018: Playing Devil’s Advocate to Security Initiatives with A...MITRE ATT&CKcon 2018: Playing Devil’s Advocate to Security Initiatives with A...
MITRE ATT&CKcon 2018: Playing Devil’s Advocate to Security Initiatives with A...
 
An Open Source Case Study
An Open Source Case StudyAn Open Source Case Study
An Open Source Case Study
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...
 
XPDDS17: Keynote: Xen Weather Report 2017
XPDDS17: Keynote: Xen Weather Report 2017XPDDS17: Keynote: Xen Weather Report 2017
XPDDS17: Keynote: Xen Weather Report 2017
 
App locker
App lockerApp locker
App locker
 
Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business Case
 
The Digital Demise - by Robin Turner
The Digital Demise - by Robin TurnerThe Digital Demise - by Robin Turner
The Digital Demise - by Robin Turner
 
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
 
Wrath of Ransomware_Longinus Timochenco
Wrath of Ransomware_Longinus TimochencoWrath of Ransomware_Longinus Timochenco
Wrath of Ransomware_Longinus Timochenco
 
An OWL Copyright Ontology for Semantic Digital Rights Management
An OWL Copyright Ontology for Semantic Digital Rights ManagementAn OWL Copyright Ontology for Semantic Digital Rights Management
An OWL Copyright Ontology for Semantic Digital Rights Management
 
Your Blacklist is Dead: Why the Future of Command and Control is the Cloud
Your Blacklist is Dead: Why the Future of Command and Control is the CloudYour Blacklist is Dead: Why the Future of Command and Control is the Cloud
Your Blacklist is Dead: Why the Future of Command and Control is the Cloud
 

More from The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleThe Linux Foundation
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderThe Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEThe Linux Foundation
 

More from The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Fosdem17 - Mixed License FOSS Projects

  • 1. Lars Kurth Community Manager, Xen Project Chairman, Xen Project Advisory Board Director, Open Source, Citrix lars_kurth
  • 2. Was a contributor to various projects Worked in parallel computing, tools, mobile and now virtualization Community guy for the Xen Project Working for Citrix Accountable to the Xen Project Community Chairman of Xen Project Advisory Board Led and supported a number of licensing related activities in 2016 (for Citrix and the Xen Project)
  • 4. Picture by Lars Kurth Examples of Projects that started out as single License Projects
  • 5. Linux: GPLv2 QEMU: GPLv2 Xen Project: GPLv2 FreeBSD: BSD
  • 6. Picture by Lars Kurth What is the percentage of files in those projects that use the original license?
  • 7. Linux: ≤ 96% GPLv2 QEMU: ≤ 86% GPLv2 Xen Project: ≤ 98% GPLv2 FreeBSD: ≤ 84% BSD Data obtained with scancode toolkit 1.6.0 as an approximation Files with no (c) header classed as “native license” for the purpose of this approximation
  • 8. Paul Morris @ Flickr Many (most?) projects are not 100% single license
  • 10. You may need to interface with projects of another license You may want to allow other projects (with another license) to interface with you You may want to import code from other projects Your project may not have clear rules that govern license exceptions (è people assume it’s OK to add code with other compatible licenses è increasing “entropy”) …
  • 11. Pratap Sankar @ Flickr These are all good and valid reasons for license exceptions
  • 12. Geopungo @ Flickr BUT: without guidance, best practice, tooling, … … you may expose yourself to unintended consequences
  • 13. Moyan Brenn @ Flickr
  • 14. Developing Open Source Virtualization Technologies since 2003 > 10M Users Several sub-projects Xen Hypervisor, XAPI management tools, Mirage OS, Windows Drivers and Embedded/Automotive Support Linux Foundation Collaborative Project Financially sponsored by Alibaba Cloud, Amazon Web Services, AMD, ARM, Cavium, Citrix, Huawei, Intel, Oracle, Qualcomm, Rackspace
  • 15. Pratap Sankar @ Flickr Our reasons for GPLv2 license exceptions
  • 16. Want to enable Guest Support for non-GPL OSes Most headers are BSD style or MIT licenses Want to make it possible for such OSes to have Xen support Some BSD style or MIT licenses Some code is dually licensed (enable re-use elsewhere) Want to enable non-GPL tools to interface with Xen Key tools libraries are LGPL 2.1+ Want to be able to import code from other projects We had no codified rules about licensing exceptions We assumed we are a single license project
  • 17. Moyan Brenn @ Flickr
  • 18. Picture by Lars Kurth Dragonblood Tree in Socotra Late 2015: a large vendor (codename Dragonblood) is reviewing the Xen Project with a view of allowing their staff to contribute
  • 19. 2015 2016 2017 Dragonblood company starts IP and patent review Note: the IP lawyer is very thorough Evaluates license, COPYING files, runs FOSSology, ... è Picks up a number of mismatches between COPYING file and reality (e.g. the COPYING file stated that headers are BSD, but some were MIT) è  Lots of questions about the rationale for licensing exceptions (unfortunately this was not always easy to find out) A
  • 20. 2015 2016 2017 Dragonblood company won’t allow staff to contribute until all questions were resolved Ended up doing lots of code archaeology to answer questions and secure future Dragonblood contributions è Reason for why a license exception existed è Rationale for why a piece of code was imported and where it came from A B
  • 21. 2015 2016 2017 Dragonblood company allows staff contributions A B C
  • 22. Needed information was present, but not readily consumable Information was in commit logs, sometimes in source files, sometimes in COPYING files, sometimes in mailing list conversations referred to from elsewhere Inconsistencies Which confused the IP lawyer and didn’t build trust Lawyers tend to work on multiple projects Elapsed time periods with no activity Picture by Lars Kurth
  • 23. In-tree information on license exceptions Guidance on license exceptions: – When do we use what license – Rationale for specific and classes of exceptions COPYING file for each non-GPLv2 component README.source files (one per directory) For code imports (even for GPLv2 imports) tracking: rationale, source, and other relevant information Fixed inconsistencies in documentation A few things we merely documented E.g. some imported code had inconsistent licenses (license headline said MIT, text was BSD) Picture by Lars Kurth
  • 24. Moyan Brenn @ Flickr
  • 26. Picture by Lars Kurth Catasetum maculatum in Costa Rica A bit of taxonomy and terminology
  • 27. HWCPUsMemoryI/O VM1 Guest OS Applications VM0 (or Dom0) Dom0 Kernel Drivers VM2 VMn Applications Guest OS Applications Guest OS Scheduler MMU Timers InterruptsConfig Drivers Toolstack libxl / libxc
  • 28. VM1 Guest OS Applications VM0 (or Dom0) Dom0 Kernel Drives Scheduler MMU Timers InterruptsConfig Toolstack libxl / libxc Drivers Public interface headers = MIT or BSD Core components & drivers = GPL v2 Drivers = GPLv2 & misc licenses Libraries for 3rd party code = LGPL v2.1 3rd party stuff = Not in our control HYPERVISOR TOOLSUTILITY FUNCTIONS FOR HYPERVISOR, LINUX, ETC.
  • 29. VM1 Guest OS Applications VM0 (or Dom0) Dom0 Kernel Toolstack libxl / libxc HYPERVISOR TOOLSACPI builder hvmloader Want to use
  • 30. Do a clean-room re-implementation Too hard Allow GPLv2 encumberment of libxl / libxc and its consumers Too disruptive Relicense Seemed relatively straightforward Vinovyn @ Flickr
  • 31. VM1 Guest OS Applications VM0 (or Dom0) Dom0 Kernel Toolstack libxl / libxc HYPERVISOR TOOLSACPI builder hvmloader Use
  • 32. Pratap Sankar @ Flickr Observation Refactoring and new feature development may require unanticipated license changes Could have been avoided with more foresight
  • 33. Identify © holders List of © holders © headers of files Authors Signed-off-by tags (DCO) Code Import history Individuals @gmail.com, @xen.org, … Companies @company.com Pratap Sankar @ Flickr
  • 34. Tooling: Hg to Git conversion, code motions, … Can lead to an incomplete list of © holders due to tooling issues Was the code (or some of it) imported from elsewhere? You may want to run FOSSology or similar If yes, there may be more © holders In our case, the code was imported from Linux There could potentially issues with CLA’s (if parent project has CLA’s) Use of private email addresses by company employees If yes, you probably have to ask both Chasing individuals can be harder than chasing companies
  • 35. List of © holders Approval of all © holders Pratap Sankar @ Flickr Individuals Contact by e-mail Companies Find company stake-holders that can make a decision In our case: most companies were also Advisory Board members Chasing and follow-up By LinkedIn, phone, etc. Sometimes e-mail addresses change Companies If you don’t have an up-to-date contact you will have a challenge Approval? Yes Commit No Workaround
  • 36. Picture by Lars Kurth Dendrobium fimbriatum in Costa Rica Mid 2016: contributor XYZ (working for vendor codename Dendrobium) could not be tracked down and approval could not be obtained
  • 37. Find new contact details of XYZ Failed (tried LinkedIn, etc.) Because XYZ is based in China Failed Tracked down individual, but that did not help. The individual changed company and the team in Dendrobium did not exist any more. Failed There were none; not a FOSS company Searched for Dendrobium FOSS staff Searched for Dendrobium FOSS contributors Enlist help from Chinese companies Succeeded via LinkedIn Worked on a contingency plan Eventually got approval (took 2 months)
  • 38. Made use of the fact that binaries, not source code, are licensed And that not all functionality was needed in the LGPL v2.1 library Could not remove the change by Dendrobium – Too far in the past and a key piece of functionality – Too complex for “fair use” clause Build two variants of ACPI Builder library from the same codebase GPLv2 and LGPL v2.1 variants – Keep GPLv2 code clearly separated in the source tree – Not ideal from an engineering perspective BUT: ugly, not easily maintainable, hack
  • 39. Tooling Pre-Git code motions (delete, create) Documentation No README.source file for import from Linux Nearly missed code import Sign-Off’s on Company time In the early days of the project many people signed off DCO using private e-mail addresses or Xen alias Approval Getting approval from all stake-holders Implemented a backup (ultimately not needed) Picture by Lars Kurth
  • 40. Moyan Brenn @ Flickr
  • 41. Picture by Lars Kurth Dragonblood Tree in Socotra Beginning 2016: vendor (codename Dragonblood) was rather sensitive towards patents and GPL v3
  • 42. Code marked as GPL v2+ could be copied into a GPLv3 project. GPLv3 projects are problematic for us from a patent protection perspective. Thus, we may not be able to contribute to your project. Dragonblood company IP lawyer (paraphrased). Does not reflect the views of the Xen Project
  • 43. Picture by Lars Kurth Why did we have GPLv2+ code in our codebase? Was this a conscious decision?
  • 44. Picture by Lars Kurth No: Purely accidental, because some contributors copied license text from FSF (or elsewhere) without specifying the GPL version.
  • 45. Picture by Lars Kurth Is this issue specific to the Xen Project?
  • 46. % of GPLv2 or later (relative to GPLv2 code) … Linux: 14% QEMU: 9% Xen Project: 10% FreeBSD: 32% 1) Data obtained with scancode toolkit 1.6.0 as an approximation 1) Total is 7% GPL code of which 34% are GPLv2+, 84% BSD
  • 47. Could we fix this? Couldn’t find clear guidance and a precedence Too much work/disruption and potentially divisive CONTRIBUTING file Added common © header templates In particular for GPL v2 and LGPL v2.1 Raised awareness amongst committers Issue went away When I pointed out that other projects Dragonblood company contributes to, have the same issue BUT: it is possible that Dragonblood company instructed their staff not to contribute to GPLv2+ files Picture by Lars Kurth
  • 48. If you are an L/GPL vX only project L/GPL vX or later files in your codebase è could scare away some contributors If you are an L/GPL vX or later project L/GPLvX only files in your codebase è diminish your capability to upgrade to vX+1 in the future Have mechanisms in place to avoid a mixture of L/GPL vX only and or later è worst of both worlds Picture by Lars Kurth
  • 50. If you want to stay single license Need tooling to enforce L/GPL vX only vs. L/GPL vX or later Have some mechanisms in place to avoid a mixture Document License Exceptions Rules/conventions, rationale, instances Provide © template headers README.source files or similar For all code imports (even for “native” imports) Company / Personal Sign-off Document conventions (@xenproject.org, @kernel.org) Awareness by committers Plan for the future Consider licensing carefully for any code that may be re-usable Picture by Lars Kurth