GPL, MIT, BSD,
GEHC (and me)
Introduction to Open Source
Therese Catanzariti
GPL, MIT, BSD, GE and Me 28/2/2010
has the
exclusive
right to
the
COPYRIGHT
OWNER
reproduce
prepare derivatives
assignee
employer
authorliterary
COPYRIGHT
WORKS
commission
“work for hire”
RIGHTS
display publicly
distribute
perform publicly
musical
dramatic
choreagraph
pictorial /
graphic
motion
picture
sound recording
architectural
GPL, MIT, BSD, GE and Me 38/2/2010
open source software and
copyright
open source software is a copyright work
the copyright owner is the author of the code
if you want to copy the code, you need to get
the copyright owner’s permission
the copyright owner gives you permission in a
licence
ITS THE CONDITIONS IN THE LICENCE
THE CONDITIONS IN THE LICENCE IS WHAT
MAKES IT OPEN SOURCE
GPL, MIT, BSD, GE and Me 48/2/2010
conditions in the licence
the author of the code decides to impose
”open source” conditions
anyone who copies the code has to
comply with the ”open source” conditions
if you don’t comply with the ”open source”
conditions, you don’t have the owner’s
permission and you are breaching
copyright
GPL, MIT, BSD, GE and Me 58/2/2010
freedom to
distribute to
anyone
freedom to play!freedom
to changefreedo
m to
use for
any
purpos
e
freedom
to add /
delete
GPL, MIT, BSD, GE and Me 68/2/2010
BUT
”as is”
no indemnities
no warranties
licence
conditions
who are
we playing
with?will community
exist for whole
product
lifecycle?
GPL, MIT, BSD, GE and Me 78/2/2010
who are we playing with?
analyse OSS community as if they were a
supplier / strategic partner
values – SMASH C@PIT@LI$M!!! or
professionals
code – quality of code, is it a meritocracy?
licence conditions
what are the consequences if we
misbehave
GPL, MIT, BSD, GE and Me 88/2/2010
will community be around for my
product lifecyle
we have responsibility for our product for whole
product lifestyle
will community continue for whole of product
lifecycle?
will community support code for whole of product
lifecyle
will community’s roadmap match my roadmap?
may need to foster and steer community
GPL, MIT, BSD, GE and Me 98/2/2010
licence
conditions
”as is”
no indemnities
no warranties
any distribution
has to be on
same
conditions
conditions
also cover
any changes
you make
and
derivatives
any
distribution
has to
include
source code
royalty
free
GPL, MIT, BSD, GE and Me 108/2/2010
what are open source conditions
GPL http://www.gnu.org
Apache http://www.apache.org/licenses/LICENSE-2.0
Mozilla http://www.mozilla.org/MPL/MPL-1.1.html
MIT http://www.opensource.org/licenses/mit-license.php
BSD http://www.opensource.org/licenses/bsd-license.php
High Lower
Risk
GPL LGP
L
BSDApache/Mozilla
GPL, MIT, BSD, GE and Me 118/2/2010
copyrigh
tnoti
ce
copy of
lice
nce
in
sour
ce
cod
e
copy of
licenc
e in
mater
ials
royalty
fre
e
provide
source
code
covers
modifica
tions
covers
combinat
ions of
OSS
code and
other
code in
one
program
BSD x x x
MIT x x x
Apache x x x x
Mozilla x x x x x
GPL x x x x x
open source conditions
GPL, MIT, BSD, GE and Me 128/2/2010
OSS saves
engineering
time and
money
OSS is risky! some OSS
is really
good
OSS encourages
code distribution
(so you can sell
expensive things
on top of code
OSS robust (lots
of people working
on errors)
GPL, MIT, BSD, GE and Me 138/2/2010
the process…lets workshop it
where do you want to use OSS stand alone applications
embedded into our programs
tools or services
how do you want to use
passive taking without modifications
some modifications for product purposes
active contribution in community
foster / steer community – strategic investment
GPL, MIT, BSD, GE and Me 148/2/2010
manage open source risk
engineers can use open source
BUT need to manage the risk
compliance – comply with licence
AND compatibility – OSS and proprietary
code / product
OSS planning part of design – otherwise too late
GPL, MIT, BSD, GE and Me 158/2/2010
manage open source risk -
preparation identify community / licence
prepare business case why need open source code
save resources and time / robustness
will we need to add to the OS code
how the open source risk will be managed during development
discuss with manager
Business Unit lawyer
Intellectual Property Team
GPL, MIT, BSD, GE and Me 168/2/2010
manage open source risk -
development train all team members about process
keep proprietary code and open source code physically and logically separate unless specific approval
GPL don’t modify GPL code
keep executables separate
LGPL can use or link to libraries
only dynamic linking (not static linking)
GPL, MIT, BSD, GE and Me 178/2/2010
manage open source risk -
commercialisation make sure product manager is aware that product
contains open source
exclude from Licence open source components
ensure OS terms do not allow use of trade marks
include OS notices in source code
in user manuals / documentation
confirm logistics of delivering source code
GPL, MIT, BSD, GE and Me 188/2/2010
copyright notices / licence terms
what notices are required copyright notices
licence terms
no warranty / warranty disclaimer
summary / web reference to licence terms
notice source code available on request
where put notices in the source code
in the user manuals
in product specs
GPL, MIT, BSD, GE and Me 198/2/2010
open issues
we are liable for putting product on market
even if exclude OS from scope of licence
how do we get FDA certification for OS
code
other regulatory aspects unsupported OS
code
review End User Licence Agreements
GPL, MIT, BSD, GE and Me 208/2/2010
ATTACHMENTS TO
PRESENTATION background - copyright law
summary of licence terms BSD
MIT
Apache
Mozilla
GPL
why are open source conditions are an issue change and derivatives
no indemnities
distribute source code
distribute on same conditions
best practices
GPL, MIT, BSD, GE and Me 218/2/2010
back to basics – copyright 1
copyright protects copyright works copyright works includes literary works
literary works includes software programs / lines of code
the copyright owner of copyright works is the author / the programmer
the author / programmer’s employer
the person who commissioned the author / programmer (only in US ”work for hire”)
GPL, MIT, BSD, GE and Me 228/2/2010
back to basics – copyright 2
copyright gives copyright owner rights in
the copyright work copyright rights include reproduction / copying
reproduction / copying includes copying someone else’s code
into your code
copying right includes copying the whole or a
substantial part you don’t have to copy the whole program
it is enough if you copy a few important lines
GPL, MIT, BSD, GE and Me 238/2/2010
back to basics – copyright 3
if you want to exercise copying right, you need to own the rights – get an assignment from the copyright
owner
get the owner’s permission – get a licence from the copyright owner
the assignment or the licence is a contract, just like any other contract
the copyright owner can impose conditions in the contract
if you don’t comply with the conditions then there is no contract – so you are breaching copyright
GPL, MIT, BSD, GE and Me 248/2/2010
has the
exclusive
right to
the
COPYRIGHT
OWNER
reproduce
prepare derivatives
assignee
employer
authorliterary
COPYRIGHT
WORKS
commission
“work for hire”
RIGHTS
display publicly
distribute
perform publicly
musical
dramatic
choreagraph
pictorial /
graphic
motion
picture
sound recording
architectural
GPL, MIT, BSD, GE and Me 258/2/2010
and open source?
how is open source software different from
copyright software?
ITS NOT
GPL, MIT, BSD, GE and Me 268/2/2010
open source software and
copyright
open source software is a copyright work
the copyright owner is the author of the code
if you want to copy the code, you need to get
the copyright owner’s permission
the copyright owner gives you permission in a
licence
ITS THE CONDITIONS IN THE LICENCE
THE CONDITIONS IN THE LICENCE IS WHAT
MAKES IT OPEN SOURCE
GPL, MIT, BSD, GE and Me 278/2/2010
conditions in the licence
the author of the code decides to impose
”open source” conditions
anyone who copies the code has to
comply with the ”open source” conditions
if you don’t comply with the ”open source”
conditions, you don’t have the owner’s
permission and you are breaching
copyright
GPL, MIT, BSD, GE and Me 288/2/2010
BSD can redistribute in source or binary
copy of licence and copyright notice in source code if distribute source
in materials if distribute binary
name of creator / contributors not used to endorse derived code / products
”as is”, no warranty
NOTE no obligation to distribute source code
NOTE no obligation royalty free
NOTE no obligation modifications / derivative works
GPL, MIT, BSD, GE and Me 298/2/2010
MIT royalty free
can deal in the Software including use, copy, modify, merge, publish, distribute, sublicense and/or sell
copy of licence and copyright notice in copies or substantial portions of software
”as is”, no warranty
NOTE no obligation to distribute source code
NOTE no obligation to include notice in materials
NOTE no obligation modifications
GPL, MIT, BSD, GE and Me 308/2/2010
Apache 1/
royalty free
copyright licence - reproduce, prepare Derivative
Works of, publicly display, publicly perform,
sublicense, and distribute the Work and such
Derivative Works in Source or Object form
patent licence – make and have made, use, sell,
import and transfer, to extent contribution
necessarily infringes (terminate if you bring
patent lawsuit)
GPL, MIT, BSD, GE and Me 318/2/2010
Apache 2/
if reproduce and distribute copies / derivatives
provide copy of licence (doesn’t say where)
modified files carry notice that you changed
attributions in NOTICE txt file must appear in
derivatives NOTICE txt file, source code,
materials or display (you can also add yours)
can add / change terms that apply to your
modifications / derivatives (provided consistent)
GPL, MIT, BSD, GE and Me 328/2/2010
Apache 3/
”as is”, no liability, no indemnity
any contribution intentionally submitted for inclusion covered by licence unless say otherwise
can charge fee for support, warranty and indemnity, but solely responsible and indemnify other contributors if they are liable because of yr indemnity
NOTE no obligation distribute source code
NOTE no obligation your modifications / derivatives provided comply AND not intentionally submitted
GPL, MIT, BSD, GE and Me 338/2/2010
Mozilla Public Licence royalty free
IPR rights (except TM and patent) - use, reproduce, modify, display, perform, sublicence and distribute
patent rights - make and have made, use, practice, sell, dispose of, to extent contribution necessarily infringes
your modifications covered by licence
provided make commercial use of original code / modifications
can charge fee for support, warranty and indemnity, but solely responsible
GPL, MIT, BSD, GE and Me 348/2/2010
Mozilla Public Licence
”as is”, no warranty
if distribute source, must include copy of licence
if distribute binary, must make source available
(include notice in materials that source available)
include file documenting changes that you made
include Mozilla Exhibit A notice in each file of source
code or in directory if no files
NOTE no obligation combined code
NOTE only applies if make commercial use
GPL, MIT, BSD, GE and Me 358/2/2010
GNU – GPL – General Public
Licence /1 copy and distribute exact copies received
publish copyright notice/ warranty disclaimer
keep notices refer licence / warranty disclaimer
provide copy of licence
must provide source / offer to provide source
if copy or distribute modifications / derivatives notice on modified files that you changed
GPL, MIT, BSD, GE and Me 368/2/2010
GPL 2/ if distribute modifications
licensed to all 3rd parties without charge (ie any 3rd parties who receive
down the chain don’t have to pay you a fee)
provide source / offer to provide source
If program reads interactively, cause it when started to print or display
an announcement
copyright notice / warranty disclaimer
users may redistribute the program under these conditions
how user can view licence
modifications includes combined works unless
identifiable sections that are separate and independent
distributed as separate works
GPL, MIT, BSD, GE and Me 378/2/2010
GPL 3/
• ”as is”, no liability, no indemnity
• can’t impose other restrictions on rights
• can charge fee for physical copy and warranty
• NOTE only applies if distribute
• NO OBLIGATION royalty free
GPL, MIT, BSD, GE and Me 388/2/2010
why is this an issue - changes and
derivatives
if you change code / write code based on other code
owns and controls the new code / changes to code
subject to the rights in the original code
can decide how code used – can impose conditions on use
unless the underlying code is open source
it doesn’t matter who owns the new code / changes to code
the owner can’t choose its own conditions on use of code
all code based on open source code becomes open source code and subject to open source conditions
GPL, MIT, BSD, GE and Me 398/2/2010
its the flesh
eating zombies
in ”Night of the
Living Dead”
if they bite
you, you
become a
flesh-eating
zombie!
GPL, MIT, BSD, GE and Me 408/2/2010
whats a derivative?
Apache - any work, whether in Source or Object form, that is based on (or derived from) the Work
NOT works that remain separable from, or merely link (or bind by name) to the interfaces of the work
GPL work based on the program
combining modules depends on
mechanism of communication (exec, pipes, rpc, function calls within a shared address space
semantics of the communication (what kinds of information are interchanged)
same executable file
NOT mere aggregation, NOT same storage or distribution medium
GPL, MIT, BSD, GE and Me 418/2/2010
why is this an issue – no
indemnities we cannot launch a commercial product ”no indemnities,
no warranties”
we are liable for products it puts on the market breach of IPR
product defects
BUT
we cannot rely on any indemnities and warranties from
any supplier of the code – the licence says ”no
indemnities”
we cannot rely on the good reputation / good working
practices of the supplier – who knows who wrote the
code?
GPL, MIT, BSD, GE and Me 428/2/2010
why is this an issue – distribution on same
conditions
some open source licences royalty free
we needs to charge money for its products
some open source licences allow further
distribution
we need to stop customers from further
distributing the products – otherwise potential
customers will get the products from our
customers instead of from us
GPL, MIT, BSD, GE and Me 438/2/2010
why is this an issue – distribute source
code
we operate in a tough market
our source code gives us a market advantage
our source code is a critical trade secret
we does not want to distribute our source code
our source code could be distributed to a our competitor
GPL, MIT, BSD, GE and Me 448/2/2010
why is this an issue – distribute source
code
the Patent Office will only grant a patent if
an invention is ”new”
”new” means new in the public area
if we distribute our source code, our
source code is public
if we distributes our source code, we
cannot get a patent for any invention in the
source code