making sense of open source licenses
DESCRIPTION
Version of my talk given at Apache Roadshow Shanghai 2011TRANSCRIPT
Making Sense of Open Source Licenses
J Aaron Farr
Apache Asia Roadshow 2011
1Wednesday, October 26, 2011
开源许可证
2Wednesday, October 26, 2011
Open Source ≠
Development Methodology
3Wednesday, October 26, 2011
Open Source =
License
4Wednesday, October 26, 2011
5Wednesday, October 26, 2011
Open Source↓
License↓
Rights and Conditions↓
Empower↓
Community5Wednesday, October 26, 2011
The license determinesthe rules the community
lives by.
6Wednesday, October 26, 2011
Different licenses createdifferent communities.
7Wednesday, October 26, 2011
Free Software&
Open Source
8Wednesday, October 26, 2011
The license captures thecommunity philosophy.
9Wednesday, October 26, 2011
Making Sense of OSS Licenses
Goals
Philosophy
Example Uses
Community Implications
10Wednesday, October 26, 2011
Why Not Public Domain?
11Wednesday, October 26, 2011
Why Not Public Domain?
Warranty
Attribution
Requirements on distribution
Requirements on derivative works
To ensure code remains open source
12Wednesday, October 26, 2011
A license is chosen to reach certain goals.
13Wednesday, October 26, 2011
What goals?
14Wednesday, October 26, 2011
License Goals
Ensure certain code remains open source
Reserve control
Build a commercial coalition
Encourage third-party marketplace
Challenge competitors
15Wednesday, October 26, 2011
Free Software Definition
16Wednesday, October 26, 2011
Four Freedoms
Freedom to run the program
Freedom to study and adapt the program
Freedom to redistribute
Freedom to improve
17Wednesday, October 26, 2011
Copyleft
18Wednesday, October 26, 2011
Open Source Definition
19Wednesday, October 26, 2011
Open Source Software Definition
Free Redistribution
Source Code
Derived Works
Integrity of Author’s Code
No Discrimination
Distribution of the License
No Specific Technology
Cannot Restrict Other Software
Technology-Neutral
20Wednesday, October 26, 2011
Academic Free License 3.0 (AFL-3.0)Affero GNU Public License: See "GNU Affero General Public License 3.0 (AGPL-3.0)"Adaptive Public License (APL-1.0)Apache License 2.0 (Apache-2.0)Apple Public Source License (APSL-2.0)Artistic license 2.0 (Artistic-2.0)Attribution Assurance Licenses (AAL)BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause)Boost Software License (BSL-1.0)Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)Common Development and Distribution License 1.0 (CDDL-1.0)Common Public Attribution License 1.0 (CPAL-1.0)CUA Office Public License Version 1.0 (CUA-OPL-1.0)EU DataGrid Software License (EUDatagrid)Eclipse Public License 1.0 (EPL-1.0)Educational Community License, Version 2.0 (ECL-2.0)Eiffel Forum License V2.0 (EFL-2.0)Entessa Public License (Entessa)European Union Public License, Version 1.1 (EUPL-1.1) (links to every language's version on their site)Fair LicenseFrameworx License (Frameworx-1.0)GNU Affero General Public License v3 (AGPL-3.0)
GNU General Public License version 2.0 (GPL-2.0)GNU General Public License version 3.0 (GPL-3.0)GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1)GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0)Historical Permission Notice and Disclaimer (HPND)IBM Public License 1.0 (IPL-1.0)IPA Font License (IPA)ISC License (ISC)LaTeX Project Public License 1.3c (LPPL-1.3c)Lucent Public License Version 1.02MirOS LicenceMicrosoft Public License (Ms-PL)Microsoft Reciprocal License (Ms-RL)MIT license (MIT)Motosoto License (Motosoto)Mozilla Public License 1.1 (MPL-1.1)Multics LicenseNASA Open Source Agreement 1.3 (NASA 1.3)NTP License (NTP)Naumen Public License (Naumen)Nethack General Public License (NGPL)Nokia Open Source LicenseNon-Profit Open Software License 3.0 (Non-Profit OSL 3.0)OCLC Research Public License 2.0 (OCLC-2.0)Open Font License 1.1 (OFL 1.1)Open Group Test Suite License (OGTSL)Open Software License 3.0 (OSL-3.0)
PHP License 3.0 (PHP-3.0)The PostgreSQL License (PostgreSQL)Python License (Python-2.0) (overall Python license)CNRI Python license (CNRI portion of Python License)Q Public License (QPL-1.0)RealNetworks Public Source License V1.0 (RPSL-1.0)Reciprocal Public License 1.5 (RPL-1.5)Ricoh Source Code Public License (RSCPL)Simple Public License 2.0 (Simple-2.0)Sleepycat License (Sleepycat)Sun Public License (SPL)Sybase Open Watcom Public License 1.0 (Watcom-1.0)University of Illinois/NCSA Open Source License (NCSA)Vovida Software License v. 1.0 (VSL-1.0)W3C LicensewxWindows Library License (WXwindows)X.Net License (Xnet)Zope Public License 2.0 (ZPL-2.0)zlib/libpng license (Zlib)
21Wednesday, October 26, 2011
Academic Free License 3.0 (AFL-3.0)Affero GNU Public License: See "GNU Affero General Public License 3.0 (AGPL-3.0)"Adaptive Public License (APL-1.0)Apache License 2.0 (Apache-2.0)Apple Public Source License (APSL-2.0)Artistic license 2.0 (Artistic-2.0)Attribution Assurance Licenses (AAL)BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause)Boost Software License (BSL-1.0)Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)Common Development and Distribution License 1.0 (CDDL-1.0)Common Public Attribution License 1.0 (CPAL-1.0)CUA Office Public License Version 1.0 (CUA-OPL-1.0)EU DataGrid Software License (EUDatagrid)Eclipse Public License 1.0 (EPL-1.0)Educational Community License, Version 2.0 (ECL-2.0)Eiffel Forum License V2.0 (EFL-2.0)Entessa Public License (Entessa)European Union Public License, Version 1.1 (EUPL-1.1) (links to every language's version on their site)Fair LicenseFrameworx License (Frameworx-1.0)GNU Affero General Public License v3 (AGPL-3.0)
GNU General Public License version 2.0 (GPL-2.0)GNU General Public License version 3.0 (GPL-3.0)GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1)GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0)Historical Permission Notice and Disclaimer (HPND)IBM Public License 1.0 (IPL-1.0)IPA Font License (IPA)ISC License (ISC)LaTeX Project Public License 1.3c (LPPL-1.3c)Lucent Public License Version 1.02MirOS LicenceMicrosoft Public License (Ms-PL)Microsoft Reciprocal License (Ms-RL)MIT license (MIT)Motosoto License (Motosoto)Mozilla Public License 1.1 (MPL-1.1)Multics LicenseNASA Open Source Agreement 1.3 (NASA 1.3)NTP License (NTP)Naumen Public License (Naumen)Nethack General Public License (NGPL)Nokia Open Source LicenseNon-Profit Open Software License 3.0 (Non-Profit OSL 3.0)OCLC Research Public License 2.0 (OCLC-2.0)Open Font License 1.1 (OFL 1.1)Open Group Test Suite License (OGTSL)Open Software License 3.0 (OSL-3.0)
PHP License 3.0 (PHP-3.0)The PostgreSQL License (PostgreSQL)Python License (Python-2.0) (overall Python license)CNRI Python license (CNRI portion of Python License)Q Public License (QPL-1.0)RealNetworks Public Source License V1.0 (RPSL-1.0)Reciprocal Public License 1.5 (RPL-1.5)Ricoh Source Code Public License (RSCPL)Simple Public License 2.0 (Simple-2.0)Sleepycat License (Sleepycat)Sun Public License (SPL)Sybase Open Watcom Public License 1.0 (Watcom-1.0)University of Illinois/NCSA Open Source License (NCSA)Vovida Software License v. 1.0 (VSL-1.0)W3C LicensewxWindows Library License (WXwindows)X.Net License (Xnet)Zope Public License 2.0 (ZPL-2.0)zlib/libpng license (Zlib)69
21Wednesday, October 26, 2011
License Proliferation开源许可的增殖问题
22Wednesday, October 26, 2011
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
23Wednesday, October 26, 2011
Open Source License Families
- Dave Johnsonhttp://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem
24Wednesday, October 26, 2011
Open Source License Families
Give Me Credit
AL, BSD, MIT
- Dave Johnsonhttp://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem
24Wednesday, October 26, 2011
Open Source License Families
Give Me Credit
AL, BSD, MIT
Give Me Fixes
MPL, EPL, LGPL
- Dave Johnsonhttp://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem
24Wednesday, October 26, 2011
Open Source License Families
Give Me Credit
AL, BSD, MIT
Give Me Fixes
MPL, EPL, LGPL
Give Me Everything
GPL
- Dave Johnsonhttp://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem
24Wednesday, October 26, 2011
Give Me Credit
Software “Commons”
Derivatives can sub-license
May have some conditions
No warranty
Credit to original authors required
Apache (AL), BSD, MIT
25Wednesday, October 26, 2011
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”
26Wednesday, October 26, 2011
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
27Wednesday, October 26, 2011
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
28Wednesday, October 26, 2011
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
29Wednesday, October 26, 2011
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
30Wednesday, October 26, 2011
License Scope
“Viral Index”
31Wednesday, October 26, 2011
License Scope
AL MPL GPL
“Viral Index”
31Wednesday, October 26, 2011
License Compatibility
32Wednesday, October 26, 2011
33Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
34Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
34Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
34Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
35Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
35Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
35Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
36Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
36Wednesday, October 26, 2011
Can I Relicense?
AL MPL / LGPL GPL
36Wednesday, October 26, 2011
Apache License
37Wednesday, October 26, 2011
Apache License
Permissive License (Gimme Credit)
Requires Attribution via a NOTICE file
No Trademark Grant
Grant of Patent License
38Wednesday, October 26, 2011
Apache License Philosophy
To allow the maximum use of our software for any purpose and by all people.
39Wednesday, October 26, 2011
Making Sense of OSS Licenses
Goals
Philosophy
Example Uses
Community Implications
40Wednesday, October 26, 2011
Open Source License Families
Give Me Credit
AL, BSD, MIT
Give Me Fixes
MPL, EPL, LGPL
Give Me Everything
GPL
- Dave Johnsonhttp://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem
41Wednesday, October 26, 2011
Questions?
42Wednesday, October 26, 2011