0% found this document useful (0 votes)
64 views62 pages

Open Source Licenses

The document discusses open source licenses and how they determine the rules and philosophy that govern open source communities. It outlines key aspects of various licenses including the goals they aim to achieve and families they belong to, and addresses issues like license proliferation, scope, and compatibility.

Uploaded by

AlvinGutierrez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views62 pages

Open Source Licenses

The document discusses open source licenses and how they determine the rules and philosophy that govern open source communities. It outlines key aspects of various licenses including the goals they aim to achieve and families they belong to, and addresses issues like license proliferation, scope, and compatibility.

Uploaded by

AlvinGutierrez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

Making Sense of Open

Source Licenses
J Aaron Farr
ApacheCon US 2009

Open Source

Development Methodology

Open Source
=
License

Open Source

License

Rights and Conditions

Empower

Community

The license determines


the rules the community
lives by.

Different licenses create


different communities.

Free Software
&
Open Source

The license captures the


community philosophy.

Making Sense of OSS Licenses

Goals
Philosophy
Example Uses
Community Implications

Why Not Public Domain?

Why Not Public Domain?


Warranty
Attribution
Requirements on distribution
Requirements on derivative works
To ensure code remains open source

A license is chosen to
reach certain goals.

What goals?

License Goals
Ensure certain code remains open source
Reserve control
Build a commercial coalition
Encourage third-party marketplace
Challenge competitors

Free Software Definition

Four Freedoms

Freedom to run the program


Freedom to study and adapt the program
Freedom to redistribute
Freedom to improve

Copyleft

Open Source Definition

Open Source Software Definition


Free Redistribution
Source Code

Distribution of the
License

Derived Works

No Specific
Technology

Integrity of Authors
Code

Cannot Restrict
Other Software

No Discrimination

Technology-Neutral

Free Distribution

By constraining the license to require free


redistribution, we eliminate the temptation to throw
away many long-term gains in order to make a few
short-term sales dollars. If we didn't do this, there
would be lots of pressure for cooperators to defect.

Source Code

We require access to un-obfuscated source code


because you can't evolve programs without
modifying them. Since our purpose is to make
evolution easy, we require that modification be made
easy.

Derivative Works

The mere ability to read source isn't enough to


support independent peer review and rapid
evolutionary selection. For rapid evolution to
happen, people need to be able to experiment with
and redistribute modifications.

Integrity of Authors Source Code

Encouraging lots of improvement is a good thing,


but users have a right to know who is responsible for
the software they are using. Authors and maintainers
have reciprocal right to know what they're being
asked to support and protect their reputations.

No Discrimination

The major intention of this clause is to prohibit


license traps that prevent open source from being
used commercially. We want commercial users to
join our community, not feel excluded from it.

Distribution of License

This clause is intended to forbid closing up software


by indirect means such as requiring a non-disclosure
agreement.

License Not Specific to Product

This clause forecloses yet another class of license


traps.

No Restriction of Other Software

Distributors of open-source software have the right


to make their own choices about their own software.

Technology Neutral
This provision is aimed specifically at licenses which
require an explicit gesture of assent in order to
establish a contract between licensor and licensee...
Conformant licenses must allow for the possibility
that (a) redistribution of the software will take place
over non-Web channels that do not support clickwrapping of the download, and that (b) the covered
code (or re-used portions of covered code) may run
in a non-GUI environment that cannot support
popup dialogues.

Academic Free License


Affero GNU Public License
Adaptive Public License
Apache Software License
Apache License, 2.0
Apple Public Source License
Artistic license
Artistic license 2.0
Attribution Assurance Licenses
New and Simplified BSD licenses
Boost Software License (BSL1.0)
Computer Associates Trusted Open
Source License 1.1
Common Development and
Distribution License
Common Public Attribution License
1.0 (CPAL)
Common Public License 1.0
CUA Office Public License Version
1.0
EU DataGrid Software License
Eclipse Public License
Educational Community License,
Version 2.0
Eiffel Forum License
Eiffel Forum License V2.0
Entessa Public License
Fair License
Frameworx License
GNU General Public License (GPL)

GNU General Public License version


3.0 (GPLv3)
GNU Library or "Lesser" General
Public License (LGPL)
GNU Library or "Lesser" General
Public License version 3.0 (LGPLv3)
Historical Permission Notice and
Disclaimer
IBM Public License
Intel Open Source License
ISC License
Jabber Open Source License
Lucent Public License (Plan9)
Lucent Public License Version 1.02
Microsoft Public License (Ms-PL)
Microsoft Reciprocal License (MsRL)
MIT license
MITRE Collaborative Virtual
Workspace License (CVW License)
Motosoto License
Mozilla Public License 1.0 (MPL)
Mozilla Public License 1.1 (MPL)
Multics License
NASA Open Source Agreement 1.3
NTP License
Naumen Public License
Nethack General Public License
Nokia Open Source License
OCLC Research Public License 2.0
Open Group Test Suite License

Open Software License


PHP License
Python license (CNRI Python
License)
Python Software Foundation License
Qt Public License (QPL)
RealNetworks Public Source License
V1.0
Reciprocal Public License
Reciprocal Public License 1.5
(RPL1.5)
Ricoh Source Code Public License
Simple Public License 2.0
Sleepycat License
Sun Industry Standards Source
License (SISSL)
Sun Public License
Sybase Open Watcom Public License
1.0
University of Illinois/NCSA Open
Source License
Vovida Software License v. 1.0
W3C License
wxWindows Library License
X.Net License
Zope Public License
zlib/libpng license

Academic Free License


Affero GNU Public License
Adaptive Public License
Apache Software License
Apache License, 2.0
Apple Public Source License
Artistic license
Artistic license 2.0
Attribution Assurance Licenses
New and Simplified BSD licenses
Boost Software License (BSL1.0)
Computer Associates Trusted Open
Source License 1.1
Common Development and
Distribution License
Common Public Attribution License
1.0 (CPAL)
Common Public License 1.0
CUA Office Public License Version
1.0
EU DataGrid Software License
Eclipse Public License
Educational Community License,
Version 2.0
Eiffel Forum License
Eiffel Forum License V2.0
Entessa Public License
Fair License
Frameworx License
GNU General Public License (GPL)

GNU General Public License version


3.0 (GPLv3)
GNU Library or "Lesser" General
Public License (LGPL)
GNU Library or "Lesser" General
Public License version 3.0 (LGPLv3)
Historical Permission Notice and
Disclaimer
IBM Public License
Intel Open Source License
ISC License
Jabber Open Source License
Lucent Public License (Plan9)
Lucent Public License Version 1.02
Microsoft Public License (Ms-PL)
Microsoft Reciprocal License (MsRL)
MIT license
MITRE Collaborative Virtual
Workspace License (CVW License)
Motosoto License
Mozilla Public License 1.0 (MPL)
Mozilla Public License 1.1 (MPL)
Multics License
NASA Open Source Agreement 1.3
NTP License
Naumen Public License
Nethack General Public License
Nokia Open Source License
OCLC Research Public License 2.0
Open Group Test Suite License

Open Software License


PHP License
Python license (CNRI Python
License)
Python Software Foundation License
Qt Public License (QPL)
RealNetworks Public Source License
V1.0
Reciprocal Public License
Reciprocal Public License 1.5
(RPL1.5)
Ricoh Source Code Public License
Simple Public License 2.0
Sleepycat License
Sun Industry Standards Source
License (SISSL)
Sun Public License
Sybase Open Watcom Public License
1.0
University of Illinois/NCSA Open
Source License
Vovida Software License v. 1.0
W3C License
wxWindows Library License
X.Net License
Zope Public License
zlib/libpng license

71

License Proliferation

Most Common Licenses


Apache License, 2.0
BSD licenses
GNU General Public License (GPL)
GNU Library or "Lesser" General Public License (LGPL)
MIT license
Mozilla Public License 1.1 (MPL)
Common Development and Distribution License
Eclipse Public License
Artistic Licenses

Open Source License Families

- Dave Johnson
http://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem

Open Source License Families


Give Me Credit
AL, BSD, MIT

- Dave Johnson
http://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem

Open Source License Families


Give Me Credit
AL, BSD, MIT
Give Me Fixes
MPL, EPL, LGPL

- Dave Johnson
http://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem

Open Source License Families


Give Me Credit
AL, BSD, MIT
Give Me Fixes
MPL, EPL, LGPL
Give Me Everything
GPL
- Dave Johnson
http://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem

Give Me Credit
Software Commons
Derivatives can sub-license
May have some conditions
No warranty
Credit to original authors required
Apache (AL), BSD, MIT

Give Me Credit
Universal donor
Limited control by any one entity
Little value in direct commercial licensing
Allows for commercial product development
Allows for competing services
Commoditized and low-level

Give Me Fixes
File or derivative based conditions
Original author may have special rights
Differentiate between source and binary
Larger works can be under a different license
Mozilla (MPL), Eclipse (EPL/CPL), LGPL

Give Me Fixes
Single entity control
Still very business friendly
Encourages incorporation of code into larger works
Ensures direct development benefits all
Tends towards libraries or platforms

Give Me Everything
Copyleft
Derivative works remain under the license
Linked works may also remain under the license
Ensures all down stream have the same rights
GPL

Give Me Everything
All direct development is contributed back
Contributors assured code remains open source
Encourages a full free software economy
Copyright holder retains much control
Limits commercial adoption
Dual-license business strategy

License Scope
Viral Index

License Scope
Viral Index

AL

MPL

GPL

License Compatibility

Can I Relicense?

AL

MPL / LGPL

GPL

Can I Relicense?

AL

MPL / LGPL

GPL

Can I Relicense?

AL

MPL / LGPL

GPL

Can I Relicense?

AL

MPL / LGPL

GPL

Can I Relicense?

AL

MPL / LGPL

GPL

Can I Relicense?

AL

MPL / LGPL

GPL

Can I Relicense?

AL

MPL / LGPL

GPL

Can I Relicense?

AL

MPL / LGPL

GPL

Can I Relicense?

AL

MPL / LGPL

GPL

Apache License

Apache License

Permissive License (Gimme Credit)


Requires Attribution via a NOTICE file
No Trademark Grant
Grant of Patent License

Apache License Philosophy

To allow the maximum use of our software for


any purpose and by all people.

Making Sense of OSS Licenses

Goals
Philosophy
Example Uses
Community Implications

Open Source License Families


Give Me Credit
AL, BSD, MIT
Give Me Fixes
MPL, EPL, LGPL
Give Me Everything
GPL
- Dave Johnson
http://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem

Questions?
Thank you!
[email protected]

You might also like