Skip to content
This repository has been archived by the owner on Mar 22, 2021. It is now read-only.

Compare Open Source Licenses #41

Closed
erikbgithub opened this issue Apr 14, 2013 · 6 comments
Closed

Compare Open Source Licenses #41

erikbgithub opened this issue Apr 14, 2013 · 6 comments
Assignees
Labels

Comments

@erikbgithub
Copy link
Contributor

Problem

MONK has no real open source license yet.

Solution

Find out, what the keywords in licensing are, which are the most important open source licenses and on which basis they can be compared. Detail the information about the resources used for the research as well as the differences between those licenses, so that based on this issue a decision can be made, which license is to be applied to MONK.

Notes

This issue contains only the texts linked here and a presentation in the Google Driver folders of DResearch Fahrzeugelektronik GmbH. A review of the presentation should be sufficient to close this Issue.

  1. Overview Investigation
  2. Licenses / Details
  3. Decision Making Helpers
  4. Presentation - Exists in DFE-GoogleDrive, public link possible?
@erikbgithub
Copy link
Contributor Author

Overview

The following pages give an overview about the topic and introduce the most important licenses and further resources.

"A Short Guide To Open-Source And Similar Licenses" - (link)

by Cameron Shapman, Smashing Magazine, 2010
found with Google

  • Licenses don't give away original rights of the product (in most cases)
  • they grant general permission of certain use cases to all users
  • this way, you neither give up your ownership of your product nor have to manage permissions manually for each user
  • in general source and binary distributions are to be differentiated when thinking about licensing (without giving reasons)
  • GPL should be the most famous open source license
    • allows copying the software
    • allows redistributing the software in any possible way
    • allows selling the software
    • change the software in every way
    • software that contains GPL licensed code must be GPL itself, which is not handy for a framework/library that should be used in a commercial setting
    • more information about GPL compliance
  • LGPL grants the additional right to use the LGPL licensed software to be part of another software, which is licensed differently or not at all.
  • BSD License family
    • less restrictive the GPL family
    • Modified BSD License and FreeBSD License are the most important ones
    • Modified BSD License allows any usage desired as long as the copyright and warranty text are included
    • Modified BSD License also includes that the copyright holders and creators can't be used for "endorsement", which I guess means for advertisement, which is not included in the FreeBSD License
  • MIT License basically allows anything as long as copyright and MIT License notice are delivered with it
  • Apache License
    • every right given can't be taken back, ever
    • all rights are world wide
    • rights are granted for free
    • rights aren't exclusive, everybody can make use of it
    • license must be maintained
    • contributors must be credited
  • Creative Commons
    • not a software license, used in art
    • author must be attributed
    • work can be shared but must keep the same license
    • the results of distribution and changes can't be used for commercial purpose, while commercial is not clearly defined
    • the work can't be changed ando ther work is not allowed to be based on this work

Keywords

  • license
    • "[doesn't give] away any of your rights"
    • "[grants] specific permissions for others to use that work"
    • "helps to prevent others from claiming your work as their own"
    • "[is an] alternative to just releasing your work into the public domain or granting permissions on a case-by-case basis"
  • right - undefined
  • copyright - undefined
  • patent - undefined
  • endorsement - undefined
  • copy - undefined
  • use - undefined
  • modify - undefined
  • (re-)distribute - undefined
  • commercial - undefined
  • derivative (work)
    • "modify it in any way or create work based on the original"

Further links

"HOWTO: Pick an open source license" (Part 1, Part 2)

by Ed Burnett, ZDNet, 2006
(found via [Shapman2010])

This article gives a guide about making the right decisions about what you want from a license and discusses more options then the first article does.

Questions to ask, when choosing a license:

  1. Do you want to relinquish any control over how your code is used and distributed?
  2. Do you want to allow people to use your code in non open-source programs?
  3. If somebody uses your code in their program and sells their program for money, do you want some of that money?
  4. If somebody uses and distributes your code and improves it (fixes bugs or adds features) do you want to make them give you the improvements back so you can use them too?
  5. (only mentioned in Part 2) Do you need patent licensing?

Licenses discussed (and which questions are answered "yes", ~ means "maybe"):

  • Public Domain (not a license): 2,3
  • BSD/MIT: 1,2,3
  • ASLv2: 1,2,3,5 (of course used by Apache projects)
  • GPL: 1,2,4 (used by GNU projects)
  • LGPL: 1,2~,3~,4; This license usage is discouraged by the author himself
  • MPL/CDDL: 1,2,3,4,5 (used by Mozilla projects)
  • CPL/EPL: 1,2,3,4,5 (used by Eclipse Project, Microsoft Opensource projects and SourceForge)

If necessary it is possible to ask a user to fulfil additional requirements before a license is granted. This leads to multi licensing of the same software, i.e. FOSS usage gets GPL license while commercial usage must pay for an individual license.

Keywords

  • code - undefined
  • open source - undefined
  • permission - undefined
  • closed source - undefined
  • proprietary software - undefined
  • free software - undefined
  • author - undefined
  • use - undefined
  • distribute - undefined
  • modify - undefined
  • contribute - undefined
  • copyright - undefined
  • dual license
    • "means you give permission for people to use your code under two or more licenses"
  • reciprocal license
    • "[means any] modifications to your code need to be made available under the same licensing terms as your original code"
  • patent - undefined

Further Links

"Understanding Open-Source Licensing" (link)

Ben Adida, OpenACS, Year unknown
(found in [Shapman2010])

This article doesn't discuss how to choose an open source license, but rather how and why those licenses exist. It explains what copyright is and what might be considered a derivative work, that every developer owns the copy right on his specific small part of a project, and that licensing is done for the whole project. That means earlier or later a lot of people need to be involved, if changes to the licensing of a project should be done. Therefore and because some licenses state it explicitely, a license shoulde be considered static, once a project decided for it.

It also talks about the GPL, which is often called *copyleft because it trys to use copyright laws to deactivate copyright itself.

Keywords

  • open-source software - undefined
  • copyright
    • "[...] various governments grant authors a temporary monopoly on handling the distribution of their work. This is called copyright." (text formatting omitted)
    • "[...] little control over how the content is used." (text formatting omitted)
    • "whether or not [the authors] register this copyright, it's automatic"
  • derivative work
    • explained with a book (the original), which gets a new chapter by another author, which in turn is called derivative work
    • it is noted that there doesn't seem to be a broadly accepted definition
    • assumes that the GPLv2 implies "a derivative work is one that is linked, statically or dynamically, with the original work" (but without quoting the GPL)
  • author - undefined
  • redistribute - undefined
  • use - undefined
  • collaborative software development - undefined

Further Links

Debian Free Software Guidelines & FAQ (Social Contract with DFSG, FAQ)

  • DFSG is one example to formulate one's requirements for open source licensing
  • Debian cares a lot about free software, because it only wants to include free software in it's repositories
  • free is meant as freedom of the user, not free of charge
  • the three freedom tests:
    • the desert island test: "Imagine a castaway on a desert island with a solar-powered computer. This would make it impossible to fulfill any requirement to make changes publicly available or to send patches to some particular place. This holds even if such requirements are only upon request, as the castaway might be able to receive messages but be unable to send them. To be free, software must be modifiable by this unfortunate castaway, who must also be able to legally share modifications with friends on the island."
    • the dissident test: "Consider a dissident in a totalitarian state who wishes to share a modified bit of software with fellow dissidents, but does not wish to reveal the identity of the modifier, or directly reveal the modifications themselves, or even possession of the program, to the government. Any requirement for sending source modifications to anyone other than the recipient of the modified binary---in fact any forced distribution at all, beyond giving source to those who receive a copy of the binary---would put the dissident in danger. For Debian to consider software free it must not require any such "excess" distribution."
    • the Tentacles of Evil test: "Imagine that the author is hired by a large evil corporation and, now in their thrall, attempts to do the worst to the users of the program: to make their lives miserable, to make them stop using the program, to expose them to legal liability, to make the program non-free, to discover their secrets, etc. The same can happen to a corporation bought out by a larger corporation bent on destroying free software in order to maintain its monopoly and extend its evil empire. The license cannot allow even the author to take away the required freedoms!"

Keywords

  • free software
    • "software freedom is a set of rights (free as in speech) rather than a price (free as in beer)"
  • dual-license
  • commercial vs **proprietary

Further Links

"What is free software?" (link)

Free Software Foundation, Year unknown

  • describes what the Free Software Foundation (FSF) considers as free software and why
  • the FSF believes a user has 4 fundamental rights about the software he acquired:
    • "The freedom to run the program, for any purpose (freedom 0)"
    • "The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this. "
    • "The freedom to redistribute copies so you can help your neighbor (freedom 2). "
    • "The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this. "

Keywords

  • free software
    • "means software that respects users' freedom and community. Roughly, the users have the freedom to run, copy, distribute, study, change and improve the software. With these freedoms, the users (both individually and collectively) control the program and what it does for them. "

"Make Your Open Source Software GPL-Compatible. Or Else." (link)

David A. Wheeler, 2002-2013
(found via [DFSG-FAQ])

  • projects should only choose GPL compatible licenses
  • reasons:
    • GPL mostly used (many sources sighted, often more then 50% of projects checked)
    • such a decision is not just about your code, but also about the code from other's you want to use
    • GPL has strong legal base
    • community pushes projects towards GPL compatibility or abandons them
    • license proliferation considered harmful
    • a lot of big projects like Python, Vim, Qt or Mozilla spend a lot of money to become GPL compatible
  • in general the following licenses are considered GPL compatible:If you've read up on Unix history, you know that Unix was a freak product of AT&T's Bell Labs division, around 1969. I'll omit most of the long story, but the most important fact to know is that AT&T was then operating under a January 24, 1956 Department of Justice anti-trust judgement [7](which expired around 1980) prohibiting it from entering the computer/software business, and required it to reveal what patents it held and license them when asked. So, it could not legally sell Unix, but instead sold source-code licences (and occasionally also the right to use the trademarked name "Unix") to (1) universities, such as U.C. Berkeley, and (2) companies such as IBM, Apple, DEC, Data General, SGI, SCO, HP, etc.
    • GPL
    • LGPL
    • MIT/X
    • BSD-new
  • options to be GPL compatible:
    • choose the GPL
    • use one of the other listed licenses
    • dual licensing
  • non-sourcecode data should be under Creative Commons CC-BY-SA, like Wikipedia and so on

Keywords

  • free-libre open source software (FLOSS, FOSS, OSS/FS) - undefined
  • GPL compatible - undefined

Further Links

"Fear of Forking" (link)

Rick Moen, EMail, 1999

  • everybody has the right to fork from an open source project. why would people not do that?
  • Happened a lot to Unix because of Proprietary Source Code and marketing needs
  • BSD derived from AT&T Unix and was up to about 1991 totally rewritten, thus able to license differently from the AT&T Unix
  • gives more examples of forks that went more or less successful
  • basic idea is: if the maintainer does nothing or stupid things then you can fork and make it better, IF it is a forkable license.
  • the original is decided by users through usage

"Freedom Fighters" (link)

Jeremy Allison, tuxdeluxe.org, 2007

  • software shouldn't be just open to use, it should be free from people's exploitation
  • this freedom must be faught for
  • people at FSF and projects using GPL are doing that

Copyright vs. Copyleft Licencing and Software Development (download)

Massimo D'Antoni, Maria Alessandra Rossi, Department of Economics and Statistics, University of Siena

  • theoretical comparison of copyleft and non-copyleft licenses with GPL and BSD as examples
  • follows that GPL contains measures to increase cooperation by itself that BSD doesn't have
  • concludes that GPL might be advantageous were cooperation is not regulated by social norms, i.e. in big groups unknown people, because the GPL states that cooperation is required
  • concludes that BSD might be advantageous when social norms regulate cooperation, because the smaller number of restrictions allows easier commitment to future investments by licensees
  • reasons for open sourcing:
    • "reputational and signaling benefits"
    • "satisfaction of specific user needs"
    • "intrinsic motivations, including the enjoyment of programming per se"
    • "ideological commitment"
    • "the very idea that source code should be open"
    • "maximizing the value of the software", instead of maximizing it's sale value (own addition, others are from other papers)
  • software development has two important characteristics: cumulativeness and investment specificity
  • cumulativeness implies that open components result in more efficient cooperation
  • investment specificity implies indirect profit from further usages of previously invested into software
  • in connection investors want to be able to reap benefits from future improvements to their investment, being denied access to improved versions may decrease the return on their investment drastically
  • (own opinion about this document) contains false assumptions about conveying derivative work, e.g. that derivative work and improvements by the original author must be publicly available which is both not correct. The original copyright holder can of course license his code differently later on and derivative works don't have to be conveyed if they are just used privately
  • investment decisions in an OSS include the amount of investment as well as it's co-specifity in regard ot other developments
  • "Proposition 1. Under the GPL, each developers will choose to be specific to all other develpers (N -specific), i.e. the highest possible degree of co-specificity. Under a BSD license, a lower degree of co-specificity will be chosen." (--> GPL advocates cooperation between different developers more)
  • "Proposition 2. Taking into account incentives to invest, the BSD li-
    cense can be expected to induce a higher level of yi . However, the more
    important is the e ̧ect of co-speci ̨city on X or on ̋, the lower is the
    chance that yi will be higher under the BSD." (--> BSD advocates a higher investment by each developer)

Keywords

  • copyleft license
    • "the obligation to license future developments under the same terms"
    • "[does not grant] developers the possibility to exclude other users and developers from access to an improved version of the software or from a software using the original one as a component"
  • innovation
  • source code
    • "the human-readable instructions expressing the di ̧erent tasks that have to be performed by the computer"
  • OSS - Open Source Software
    • "a) the free availability of its source code"
    • "b) the nature of the license under which it is distributed, which grants licensees a number of rights, namely the right to use (run) the program, to study how it works, to modify and improve it, to redistribute it with or without modifications" - interpretation of FSF Freedoms
  • co-specifity
    • (no quote) a quantifiable abstraction of how much a derivative work relies not just on the original but also on other derivative works of that original

"Why you should use a BSD style license for your Open Source Project" (link)

  • permissive licenses are good for science, because results can be commercialised in every way
  • permissively licensed products are more flexible in changing markets
  • it also has the problem of other people make money from your work

"'The BSD License Problem" (link)

  • problem: advertise every contributor, when advertising derivated work
  • newer BSD licenses don't have that problem
  • alternatives like MIT and Apache also don't have that problem
  • advice to use Apache in case of preferring permissive licenses

Wikipedia

There are different articles on Wikipedia, which are handled in short in this chapter.

Other links

@ghost ghost assigned erikbgithub Apr 14, 2013
@erikbgithub
Copy link
Contributor Author

Licenses - Informational Research

TODO:

Open Source Definition by Open Source Initiative (link)

  • requires source code
  • must enable redistribution
  • also of modifications, although they might be applied indirectly
  • protection against NDAs, discrimination and work arounds

In Detail:

  1. Free Redistribution
  2. Source Code
  3. Derived Works
  4. Integrity of The Author's Source Code
  5. No Discrimination Against Persons or Groups
  6. No Discrimination Against Fields of Endeavor
  7. Distribution of License
  8. License Must Not Be Specific to a Product
  9. License Must Not Restrict Other Software
  10. License Must Be Technology-Neutral

Free Software Definition by FSF (link)

  • free software fulfills the requirements on freedom not on free of price
  • it follows the 4 freedoms (as described below)
  • the freedoms of the users should be protected from the developer
  • access to the source code is an implicit requirement
  • freedoms must be permanent and irrevocable
  • defining rules outside of the protected freedoms is up to the license
  • local restrictions of one government or another should not be included
  • "Open source is a development methodology; free software is a social movement." source

The Four Freedoms

  1. The freedom to run the program, for any purpose (freedom 0).
  2. The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help your neighbor (freedom 2).
  4. The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

GPL (license in version 3, FAQ)

  • the goal:
    • create freedom for software user
    • protect software and freedom from people who want to remove that freedom, even if it's the original creator
    • protect the copyright holder from people, who want to make money from improvements to his software without sharing them publicly
    • convince more software developers to free their software
  • GPL should not be used for non-sourcecode data, because other aspects apply to sourcecode, texts like books or documentation, art and music
  • reason for not using pure GPL: there is already a lot of proprietary competition.
  • choosing GPL or LGPL should depend on, which ever improves the projects chances of survival in the global community
  • You don't have to deliver the source code for free, when it is licensed under GPL

Keywords

  • modify
    • 'To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.'
  • propagate
    • 'To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.'
  • convey
    • 'To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.'
  • source code
    • 'The “source code” for a work means the preferred form of the work for making modifications to it.'
  • object code
    • '“Object code” means any non-source form of a work.'
  • standard interface
    • 'A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.'
  • system library
    • 'The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.'
  • copyleft

Mozilla Public License (overview, text, FAQ)

  • to apply
    • add these headers to your source files
    • (optionally) add copyright holder info
  • external distribution requires source reference that works
  • existing rights might not be limited by additional terms or licenses
  • the recipient must be informed that the distrubuted binaries and sources are under MPL-
  • notices in the source code might not be harmed by distributers
  • modfifications have to be MPL licensed as well
  • MPL licensed work can be part of a bigger work which is not MPL licensed
  • interpretation by Mozilla:
    • MPL: The copyleft applies to any files containing MPLed code.
    • LGPL: The copyleft applies to any library based on LGPLed code.
    • GPL: The copyleft applies to all software based on GPLed code.
  • it is possible to combine MPL, BSD and Apache licensed work
  • combining with LGPL is possible, when
    • it's not marked as incompatible with LGPL
    • both terms apply combined
    • must be licensed under LGPL as well, chosen by the recipient not by you
  • source code made unreadable is not considered source code anymore
  • minified, MPLed code can be shared in the same file as non-MPL source code
  • rights can be restricted by law and such but notice must be applied how this affects the licensee
  • unclear:
    • how to actually treat conflict between law and license
    • how far this license can be modified to comply with other restrictions
    • it explicitely possible to modify the MPL for whatever reason
    • some wording
    • often many options or alternatives

Keywords

  • distribute
    • 'The MPL uses "distribute" in the sense of delivery of a copy of the software to another person or entity. We do not use distribute to mean "make available" in the sense of "making functionality available over the web without delivery of a copy of the software."' - from the FAQ
  • contributor
    • 'each individual or legal entity that creates, contributes to the creation of, or owns Covered Software'
  • contributor version
    • 'the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution'
  • contribution
    • 'Covered Software of a particular Contributor'
  • covered software
    • 'Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof'
  • larger work
    • 'a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software'
  • modifications
    • 'any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software' or
    • 'any new file in Source Code Form that contains any Covered Software'

PSF LICENSE AGREEMENT FOR PYTHON 2.7.4 (link)

  • considers itself GPL-compatible
  • very PSF/Python specific wording
  • specifically written for Python and stdlib
  • it is not clear if our code is considered derivative work or not

Apache 2.0 License (link, FAQ, GPL compatibility, application)

  • target: open source community, commercial setup
  • must not give back changes
  • must name the source of a work
  • can not use the source of a work for marketing own works
  • FSF considers it free license
  • Apache licensed work can be included in GPLv3 licensed work, but not the other way around
  • must include additional NOTICE file
  • each source file contains small notice block above

Keywords

  • license
    • 'the terms and conditions for use, reproduction, and distribution'
  • licensor
    • 'the copyright owner or entity authorized by the copyright owner that is granting the License'
  • source
    • 'the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files'
  • object
    • 'any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types'
  • work
    • 'the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work'
  • derivative work
    • 'any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof'
  • contribution
    • 'any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner'

BSD Licenses (3-clause, 2-clause)

  • very short
  • the included or excluded clause contains the prohibition of using any contributor's trademarks for advertisment purpose
  • terms like binary form are not defined
  • basically pretty much only requires including the BSD with a distribution in source or binary form

MIT/X11 License (link)

  • even shorter
  • include the license and copyright notice in every distribution

Creative Commons CC0 (text, application)

  • waive all rights possible or add to public domain if possible
  • don't influence patents and the like on the work
  • no endorsement rights by the author

Public Domain

  • is considered the negative space, which everything belongs to that is not protected by copyright
  • adding work to PD is only possible as far as copyright can be waived

@erikbgithub
Copy link
Contributor Author

License comparison

TODO: Review and add links. It's not much more then brain storming now.

History

  • ~1969 AT&Ts Unix; first general purpose operating system
  • proprietary system, which gave open source and development licenses to all customers due to regulations that forbade selling binaries to customers -> proprietary source code licenses
  • Because everybody was able to to build their own Unix most companies did exactly that. Result: Unix option hell for customers, a lot of imperfect operating systems and all incompatible
  • Berkeley used their Unix License to build their own distribution: BSD.
  • They could share it with everybody who had a similar Unix Sourcecode License
  • In the coming years they replaced most of AT&T's code
  • At one point so much code was replaced, that UCB decided to make a free license for everybody who wanted to use their code
  • BSD License allowed proprietary forks, so those forks happened. Not as bad as with Unix, but still existant
  • ~1985 Richard M. Stallman put a rewrite of his Emacs Editor under his newly created GPL, the Free Software Movement began
  • 1991 a student named Linus Torvalds started to write a new open source OS kernel, called Linux.
  • 1992 Linux 0.99 is released completely under GPL
  • Another story is the NCSA httpd server, which lived under a "~public domain with credits" license.
  • About 1995 the project slowly died and people who formerly wrote patches for the NCSA server decided to fork it under the name Apache, which soon became today's quasi standard web server
  • 22 January 1998 Netscape decided to open source their browser to fight MS-IE's dominance over the internet, which threatened their server market.
  • Feb. 1998 Founding of the Open Source Initiative

What is FOSS?

  • having the source code doesn't enable you to do anything
  • legal aspects:
    • copyright
    • copyleft
  • philosophical aspects:
    • freedom of knowledge
    • users rights
  • commercial aspects:
    • software quality
    • development costs
    • investment protection
  • The 4 freedoms of the FSF:
    1. The freedom to run the program, for any purpose (freedom 0).
    2. The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).
      Access to the source code is a precondition for this.
    3. The freedom to redistribute copies so you can help your neighbor (freedom 2).
    4. The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the
      whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
  • Debian Free Software Tests:
    • the desert island test
    • the dissident test
    • the Tentacles of Evil test
  • open source:
    1. Free Redistribution
    2. Source Code
    3. Derived Works
    4. Integrity of The Author's Source Code
    5. No Discrimination Against Persons or Groups
    6. No Discrimination Against Fields of Endeavor
    7. Distribution of License
    8. License Must Not Be Specific to a Product
    9. License Must Not Restrict Other Software
    10. License Must Be Technology-Neutral
  • FOSS means Free and Open Source Software

License Compatibility Overview

Compatibility Chart, taken from David A. Wheeler, 2007
Compatibility Chart

If your software is directly or indirectly reachable by the license of a software package you want to use, then both are compatible. It is possible to reach GPLv3 from BSD-new so a GPLv3 project can use BSD-new licensed code. The other way is not possible, because no arrows go from GPLv3 to BSD-new, not even indirectly.

Options

If there is not a very special situation one of the following 2 should be chosen:

A. GPLv3 (and later)
B. Apache License 2.0
Reasons:

  • both are used very, very often (GPL zwischen 40% und 50% TODO: Link)
  • both have strong legal foundation, already tested in court (in contrast to own license)
  • both are clearly understandable even by non-lawyers (in contrast to BSD-style licenses)
  • both focus clearly on their goals and don't have special cases (in contrast to Mozilla-style licenses)
  • both protect the developers fundamental rights
  • both are compatible with most copyright-like laws (in contrast to public domain)

http://www.oss-watch.ac.uk/apps/licdiff/

C. Docs: CC-BY-SA 3.0

  • not investigated in depth
  • should be GPL like, just for non source code

Finding Own Requirements

  • Our goals in FOSS:
    • using FOSS software to not write our own
    • minimizing entrance barriers for customers
    • getting feedback & patches to our software
    • working together with talented people

Other things to consider:

  • own political/philosophical preferences (How important is software freedom?)
  • community preferences (history shows that ignoring the public hurts own projects, e.g. XFree86 vs X.Org)
  • FSF acceptance
  • OSI acceptance
  • GPL-compatibility

Future Legal Risks

  1. PSF License dependencies
  2. Our infringements of third party copyrights
  3. Third party infringements of our copyright

GPLv3 or later

  • the goal:
    • create freedom for software user
    • protect software and freedom from people who want to remove that freedom, even if it's the original creator
    • protect the copyright holder from people, who want to make money from improvements to his software without sharing them publicly
    • convince more software developers to free their software
  • GPL should not be used for non-sourcecode data, because other aspects apply to sourcecode, texts like books or documentation, art and music
  • reason for not using pure GPL: there is already a lot of proprietary competition.
  • pro:
    • most often used
    • legally tested in law
    • strong community support
    • protects own investment (which loses value, if others improve on it but don't share)
    • improves general freedom of knowledge
  • contra:
    • selling binaries nearly impossible, because redistribution free (alternative sales strategies exist)
    • decrease of control
      • given rights can't be revoked
      • better/richer maintainers might take over development control with a fork
    • virility (others are forced to GPL their code which might convince them to invest otherwise)
  • TODO:
    • difference to GPLv2?
    • why "or later"?

Apache License 2.0

  • the goal:
    • provide high quality standard code base for everybody to profit
  • naming contributors without misusing them for advertisement is enough
  • derivative works are not forced to use Apache License themselves
  • pro:
    • often used
    • clear wording (I feel I can understand the license without consulting others)
    • decision of users and future contributors is not limited to the space of open source
  • contra:
    • doesn't protect contributors investment
    • doesn't preserve software freedoms (right to study, use, modify and redistribute source)

Summary of Alternatives

  • CC-BY-SA 3.0
  • Public Doman and CC0; not an option, because no right protection
  • BSD-new: 3-clause, 2-clause; not an option because naming and formulation unclear
  • MIT/X11; same as BSD
  • MPL; not understandable, too many exceptions; and BSD like

Decision Advice

  • after reading of Apache License best impression -> pro Apache

  • we do open source because we hope others invest in our code quality -> pro GPL

  • I believe that software as representation of knowledge/idea should be free -> pro GPL

    ==> Light preference towards "GPLv3 or later"

  • Non code under CC-BY-SA 3.0

  • CLA not necessary, because GPL already defines which rules

Decision Making

  • in a group

@erikbgithub
Copy link
Contributor Author

Presentation is prepared. If it is possible to show it in public is still open

@erikbgithub
Copy link
Contributor Author

Presented and therefore finished.

@erikbgithub
Copy link
Contributor Author

Current status March 2017 from a lawyer: https://writing.kemitchell.com/2017/03/29/OSS-Business-Perception-Report.html#

Summary: If you want to license FOSS source code

  • permissively: Apache-2.0
  • restrictively: GPLv2
  • as library: LGPLv2.1
  • or non-sourcecode text: Creative Commons
  • don't use: MIT, BSD, language specific licenses, no license

Conclusion is that GPLv2 would've been slightly better for MONK than GPLv3+.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant