OpenSourceCourse_v4
OpenSourceCourse_v4
Agenda
Introduction - Basic concepts – Copyright, copyleft, derivative work, etc…
Software license categories – Proprietary, Open source, Free software, Public Domain…
License Identification – Find out the applicable license of open source software
Usage and distribution – Modifying and linking open source, derivative work, distribution chain,…
Set up your compliance process – What to think when setting up a process at your company
Thanks Wikipedia.
Copyright definition
Legal right that grants the creator of an original work
Sven
Play it anytime
anywhere
Always credit
me
Exclusive rights exercise
Magnus
Use it only in video
games
Sven
Run it for any
purpose
Free to modify
it
Free to
distribute it
Copyrig Copyleft
Legal right that grants ht
the Offering people the right to freely
creator of an original work distribute copies and modified
exclusive rights to its use and versions of a work
distribution
Exists within the legal structure of
copyright
Agenda
Introduction - Basic concepts – Copyright, copyleft, derivative work, etc…
Software license categories – Proprietary, Open source, Free software, Public Domain…
License Identification – Find out the applicable license of open source software
Usage and distribution – Modifying and linking open source, derivative work, distribution chain,…
Set up your compliance process – What to think when setting up a process at your company
License categories
They keep a list of accepted licenses They keep a list of accepted licenses
GPL, LGPL, AGPL, MPL, EPL,... BSD, MIT, Apache License, ...
*Both the OSI and the FSF have copyleft and non-copyleft licenses in their respective lists of
accepted licenses
Free Software vs Open Source
Free Software - Copyleft Open Source - Permissive
This is a social movement. They are ”software Promotes this model of collaboration for companies.
activists”.
Xerox 9700 printer - AI lab at MIT Linus visits aquarium, gets bitten by
No source code for drivers a penguin and chooses it as Linux
mascot (Tux)
https://www.reddit.com/r/linux/comments/cqf3hf/floss_timeline_1980_2000/
License and Project Examples
Free Software - Copyleft Open Source - Permissive
License License
Examples:
GPLv2, GPLv3 - GNU General Public License
Examples:
BSD License - Berkeley Software Distribution
LGPLv2.1, LGPLv3 - GNU Lesser General Public
MIT License - Massachusetts Institute of Technology
License
Apache License
MPL - Mozilla Public License
EPL - Eclipse Public License
Project Project
Examples: Examples: Android (Apache) – Most used
Linux (GPL v2) – Most deployed OS
mobile OS
GCC (GPL v3) – Most popular Apache (Apache) – Most used web
compiler server
Firefox (MPL) – Top 5 most used PHP (PHP) – Popular server scripting
browser language
Eclipse (EPL) – Most used IDE Python (Python) – Popular high-
level language
License Spectrum
GPL v3
GPL v2 MIT
LGPL v3
BSD
LGPL v2.1
Apache License v2
MPL
COPYLEFT PERMISSIVE
Other Licenses - License Fragmentation
Beer-ware License WTFPL (Do What the Fuck You Want To Public
/* * ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42): DO WHAT THE FUCKLicense)
YOU WANT TO PUBLIC LICENSE
* As long as you retain this notice you can do whatever you Version 2, December 2004
want with this
* stuff. If we meet some day, and you think this stuff is worth Copyright (C) 2004 Sam Hocevar <[email protected]>
it, you can
* buy me a beer in return Poul-Henning Kamp Everyone is permitted to copy and distribute verbatim or
* ---------------------------------------------------------------------------- */ modified copies of this license document, and changing it is
allowed as long as the name is changed.
Chicken Dance License (CDL) DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND
/* … CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
* For every thousand (1000) units distributed… at least half of
the employees 0. You just DO WHAT THE FUCK YOU WANT TO.
* or persons affiliated with the product must listen to the “The
Chicken Dance” *FSF approved
* composed by Werner Thomas for no less than two (2) minutes.
* For every twenty-thousand (20000) units distributed, one (1)
or more persons
* affiliated with the entity must be recorded performing the full
Chicken Dance,
* in an original video at the entity's own expense…
*…
*/
Agenda
Introduction - Basic concepts – Copyright, copyleft, derivative work, etc…
Software license categories – Proprietary, Open source, Free software, Public Domain…
License Identification – Find out the applicable license of open source software
Usage and distribution – Modifying and linking open source, derivative work, distribution chain,…
Set up your compliance process – What to think when setting up a process at your company
License Spectrum
GPL v3
GPL v2
Source-available
LGPL v3 MIT Commons Clause
Commons Clause
Redis Source Available License (RSAL)
GitLab Enterprise Edition License (EE License)
Mega Limited Code Review License
Microsoft Shared Source Initiative (2 out of 5
licenses)
SFE Legal Network conference - Barcelona 2019
commonsclause.com
On August 22, 2018 -> Redis Labs shifted some modules from AGPL to Apache + Commons Clause
Agenda
Introduction - Basic concepts – Copyright, copyleft, derivative work, etc…
Software license categories – Proprietary, Open source, Free software, Public Domain…
License Identification – Find out the applicable license of open source software
Usage and distribution – Modifying and linking open source, derivative work, distribution chain,…
Set up your compliance process – What to think when setting up a process at your company
How to identify the applicable license?
Three common places to find the applicable license of a project
Publicly available code is not always open source If not clearly stated, assume it’s
proprietary
Projects sometimes include other licenses inside You need to be compliant with
underlying licenses too
Copy pasted code also carries license obligations Stackoverflow user contributions
CC-BY-SA 4.0*
License text should be reviewed/scanned Sometimes there are
modifications or additions
Software license categories – Proprietary, Open source, Free software, Public Domain…
License Identification – Find out the applicable license of open source software
Usage and distribution – Modifying and linking open source, derivative work, distribution chain,…
Set up your compliance process – What to think when setting up a process at your company
Usage Examples
Free Software - Copyleft Open Source - Permissive
Copyleft Permissive
Modifications Modifications
Proprietary
Proprietary Derivative work* Proprietary
Copyleft Permissive
*License propagation, Copyleft No license
effect propagation
Business friendly
Agenda
Introduction - Basic concepts – Copyright, copyleft, derivative work, etc…
Software license categories – Proprietary, Open source, Free software, Public Domain…
License Identification – Find out the applicable license of open source software
Usage and distribution – Modifying and linking open source, derivative work, distribution chain,…
Set up your compliance process – What to think when setting up a process at your company
Two challenges on how to do compliance
GPL v3
GPL v2
1 Proprietary Nothing
Buyer A
Product A
4 Product D
Reflash the hardware
Remove hardware Buyer D
restrictions
In-house applications and
development
Supplied internally
Native apps: Climate control
Proprietary platform adaptations
Operating system
Supplied by commercial Linux distributor (or in-house Yocto based)
Dependent on hundreds of open source packages
Drivers for specific HW modules
Open source reports
Provided by suppliers along with their sw deliveries
Software license categories – Proprietary, Open source, Free software, Public Domain…
License Identification – Find out the applicable license of open source software
Usage and distribution – Modifying and linking open source, derivative work, distribution chain,…
Set up your compliance process – What to think when setting up a process at your company
1. Be efficient through well defined OS Policies:
Use as much existing software as you can to cut
time-to-market
Development Distribution
Open source scanning
Scans against a huge database of open source and find matches...
Proprietary Sw Notices
3rd Party Sw Source code
Open source Sw Written Offer
How much is their innovation? 95% of it could be just existing open source…
Are there licenses that could jeopardize their IP? Copy pasted copyleft that
could propagate…
Are they mature with open source compliance? Already released products with
compliance problems…
Do they have proper open source policies? There are license incompatibilities…
Do they keep track of existing vulnerabilities in OSS? Their software might have known
vulnerabilities…
Want
What is their patent to avoid surprises? Do an
context? open
There are source and that could
existing patents
affect the business…
patent screening audit