making sense of open source licenses

62
Making Sense of Open Source Licenses J Aaron Farr ApacheCon US 2009

Upload: j-aaron-farr

Post on 20-Jan-2015

12.454 views

Category:

Technology


0 download

DESCRIPTION

Are all open source licenses equal? Why are there so many? How are they different? Which should I choose? If you've ever asked these questions, don't worry. You're in good company. "License proliferation," or the increasing number of free and open source licenses in use, has many managers and developers alike confused. In this session, we'll review the most common open source licenses in a simple way that will help you make sense of them. So the next time someone asks you about the difference between the GPL, LGPL, and MPL, you'll know just what to say. Presented at ApacheCon Europe and US in 2008 and 2009.

TRANSCRIPT

Page 1: Making Sense Of Open Source Licenses

Making Sense of Open Source Licenses

J Aaron FarrApacheCon US 2009

Page 2: Making Sense Of Open Source Licenses

Open Source ≠

Development Methodology

Page 3: Making Sense Of Open Source Licenses

Open Source =

License

Page 4: Making Sense Of Open Source Licenses
Page 5: Making Sense Of Open Source Licenses

Open Source↓

License↓

Rights and Conditions↓

Empower↓

Community

Page 6: Making Sense Of Open Source Licenses

The license determinesthe rules the community

lives by.

Page 7: Making Sense Of Open Source Licenses

Different licenses createdifferent communities.

Page 8: Making Sense Of Open Source Licenses

Free Software&

Open Source

Page 9: Making Sense Of Open Source Licenses

The license captures thecommunity philosophy.

Page 10: Making Sense Of Open Source Licenses

Making Sense of OSS Licenses

Goals

Philosophy

Example Uses

Community Implications

Page 11: Making Sense Of Open Source Licenses

Why Not Public Domain?

Page 12: Making Sense Of Open Source Licenses

Why Not Public Domain?

Warranty

Attribution

Requirements on distribution

Requirements on derivative works

To ensure code remains open source

Page 13: Making Sense Of Open Source Licenses

A license is chosen to reach certain goals.

Page 14: Making Sense Of Open Source Licenses

What goals?

Page 15: Making Sense Of Open Source Licenses

License Goals

Ensure certain code remains open source

Reserve control

Build a commercial coalition

Encourage third-party marketplace

Challenge competitors

Page 16: Making Sense Of Open Source Licenses

Free Software Definition

Page 17: Making Sense Of Open Source Licenses

Four Freedoms

Freedom to run the program

Freedom to study and adapt the program

Freedom to redistribute

Freedom to improve

Page 18: Making Sense Of Open Source Licenses

Copyleft

Page 19: Making Sense Of Open Source Licenses

Open Source Definition

Page 20: Making Sense Of Open Source Licenses

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

Page 21: Making Sense Of Open Source Licenses

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.

Page 22: Making Sense Of Open Source Licenses

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.

Page 23: Making Sense Of Open Source Licenses

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.

Page 24: Making Sense Of Open Source Licenses

Integrity of Author’s 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.

Page 25: Making Sense Of Open Source Licenses

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.

Page 26: Making Sense Of Open Source Licenses

Distribution of License

This clause is intended to forbid closing up software by indirect means such as requiring a non-disclosure

agreement.

Page 27: Making Sense Of Open Source Licenses

License Not Specific to Product

This clause forecloses yet another class of license traps.

Page 28: Making Sense Of Open Source Licenses

No Restriction of Other Software

Distributors of open-source software have the right to make their own choices about their own software.

Page 29: Making Sense Of Open Source Licenses

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 click-

wrapping 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.

Page 30: Making Sense Of Open Source Licenses

Academic Free LicenseAffero GNU Public LicenseAdaptive Public LicenseApache Software LicenseApache License, 2.0Apple Public Source LicenseArtistic licenseArtistic license 2.0Attribution Assurance LicensesNew and Simplified BSD licensesBoost Software License (BSL1.0)Computer Associates Trusted Open Source License 1.1Common Development and Distribution LicenseCommon Public Attribution License 1.0 (CPAL)Common Public License 1.0CUA Office Public License Version 1.0EU DataGrid Software LicenseEclipse Public LicenseEducational Community License, Version 2.0Eiffel Forum LicenseEiffel Forum License V2.0Entessa Public LicenseFair LicenseFrameworx LicenseGNU 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 DisclaimerIBM Public LicenseIntel Open Source LicenseISC LicenseJabber Open Source LicenseLucent Public License (Plan9)Lucent Public License Version 1.02Microsoft Public License (Ms-PL)Microsoft Reciprocal License (Ms-RL)MIT licenseMITRE Collaborative Virtual Workspace License (CVW License)Motosoto LicenseMozilla Public License 1.0 (MPL)Mozilla Public License 1.1 (MPL)Multics LicenseNASA Open Source Agreement 1.3NTP LicenseNaumen Public LicenseNethack General Public LicenseNokia Open Source LicenseOCLC Research Public License 2.0Open Group Test Suite License

Open Software LicensePHP LicensePython license (CNRI Python License)Python Software Foundation LicenseQt Public License (QPL)RealNetworks Public Source License V1.0Reciprocal Public LicenseReciprocal Public License 1.5 (RPL1.5)Ricoh Source Code Public LicenseSimple Public License 2.0Sleepycat LicenseSun Industry Standards Source License (SISSL)Sun Public LicenseSybase Open Watcom Public License 1.0University of Illinois/NCSA Open Source LicenseVovida Software License v. 1.0W3C LicensewxWindows Library LicenseX.Net LicenseZope Public Licensezlib/libpng license

Page 31: Making Sense Of Open Source Licenses

Academic Free LicenseAffero GNU Public LicenseAdaptive Public LicenseApache Software LicenseApache License, 2.0Apple Public Source LicenseArtistic licenseArtistic license 2.0Attribution Assurance LicensesNew and Simplified BSD licensesBoost Software License (BSL1.0)Computer Associates Trusted Open Source License 1.1Common Development and Distribution LicenseCommon Public Attribution License 1.0 (CPAL)Common Public License 1.0CUA Office Public License Version 1.0EU DataGrid Software LicenseEclipse Public LicenseEducational Community License, Version 2.0Eiffel Forum LicenseEiffel Forum License V2.0Entessa Public LicenseFair LicenseFrameworx LicenseGNU 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 DisclaimerIBM Public LicenseIntel Open Source LicenseISC LicenseJabber Open Source LicenseLucent Public License (Plan9)Lucent Public License Version 1.02Microsoft Public License (Ms-PL)Microsoft Reciprocal License (Ms-RL)MIT licenseMITRE Collaborative Virtual Workspace License (CVW License)Motosoto LicenseMozilla Public License 1.0 (MPL)Mozilla Public License 1.1 (MPL)Multics LicenseNASA Open Source Agreement 1.3NTP LicenseNaumen Public LicenseNethack General Public LicenseNokia Open Source LicenseOCLC Research Public License 2.0Open Group Test Suite License

Open Software LicensePHP LicensePython license (CNRI Python License)Python Software Foundation LicenseQt Public License (QPL)RealNetworks Public Source License V1.0Reciprocal Public LicenseReciprocal Public License 1.5 (RPL1.5)Ricoh Source Code Public LicenseSimple Public License 2.0Sleepycat LicenseSun Industry Standards Source License (SISSL)Sun Public LicenseSybase Open Watcom Public License 1.0University of Illinois/NCSA Open Source LicenseVovida Software License v. 1.0W3C LicensewxWindows Library LicenseX.Net LicenseZope Public Licensezlib/libpng license

71

Page 32: Making Sense Of Open Source Licenses

License Proliferation

Page 33: Making Sense Of Open Source Licenses

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

Page 34: Making Sense Of Open Source Licenses

Open Source License Families

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

Page 35: Making Sense Of Open Source Licenses

Open Source License Families

Give Me Credit

AL, BSD, MIT

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

Page 36: Making Sense Of Open Source Licenses

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

Page 37: Making Sense Of Open Source Licenses

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

Page 38: Making Sense Of Open Source Licenses

Give Me Credit

Software “Commons”

Derivatives can sub-license

May have some conditions

No warranty

Credit to original authors required

Apache (AL), BSD, MIT

Page 39: Making Sense Of Open Source Licenses

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”

Page 40: Making Sense Of Open Source Licenses

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

Page 41: Making Sense Of Open Source Licenses

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

Page 42: Making Sense Of Open Source Licenses

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

Page 43: Making Sense Of Open Source Licenses

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

Page 44: Making Sense Of Open Source Licenses

License Scope

“Viral Index”

Page 45: Making Sense Of Open Source Licenses

License Scope

AL MPL GPL

“Viral Index”

Page 46: Making Sense Of Open Source Licenses

License Compatibility

Page 47: Making Sense Of Open Source Licenses
Page 48: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 49: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 50: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 51: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 52: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 53: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 54: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 55: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 56: Making Sense Of Open Source Licenses

Can I Relicense?

AL MPL / LGPL GPL

Page 57: Making Sense Of Open Source Licenses

Apache License

Page 58: Making Sense Of Open Source Licenses

Apache License

Permissive License (Gimme Credit)

Requires Attribution via a NOTICE file

No Trademark Grant

Grant of Patent License

Page 59: Making Sense Of Open Source Licenses

Apache License Philosophy

To allow the maximum use of our software for any purpose and by all people.

Page 60: Making Sense Of Open Source Licenses

Making Sense of OSS Licenses

Goals

Philosophy

Example Uses

Community Implications

Page 61: Making Sense Of Open Source Licenses

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