-
Notifications
You must be signed in to change notification settings - Fork 16
/
licences.theory.txt
159 lines (138 loc) · 9.65 KB
/
licences.theory.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
LICENCES
COPYRIGHT HOLDER ==> #Can always change the license.
# - but only for new releases (not retroactive)
#Any license issue can be fixed with written authorization from copyright holder.
#When several contributors (e.g. GitHub PRs), each is a copyright holder
# - e.g. cannot change the license of whole project without asking them
# - can make them sign a CLA to donate their copyright to organization instead
MULTI-LICENSING ==> #Possible goals:
# - copyleft license for non-commercial, prioprietary for commercial
# - cumulating constraints of two licenses
# - allow users picking the license they want. Issues:
# - license incompability can arise
# - if one license is less permissive, cannot contribute back/upstream
#Note also that different versions can also apply on:
# - different versions of same project
# - different files
OPEN-SOURCE LICENSES ==>#Always allow freedom to:
# - use (implies free price)
# - read sources
# - copy
# - modify
COPYLEFT ==> #Require copies/derivatives to keep same license
# - if "strong copyleft", also apply to linking
#When combining projects, stronger license prevails for the whole
# - except for loose bundling is allowed
# - providing licenses are compatible
#"Permissive" is when no copyleft.
FAIR USE ==> #Does not need to respect license when using under fair use.
TIVOIZATION ==> #When software is free but must be used with non-free hardware (e.g. DRM)
ATTRIBUTION CLAUSE ==> #Must name copyright holder.
#Usually must also include original license.
#Sometimes must also indicate when changes/patches were made.
#Also called advertising clause.
#Issue: list of attributions can become long in big projects.
NON-ENDORSEMENT CLAUSE
==> #Cannot use copyright name for promotion purpose.
+-------------------------------+-----------+-----+-------+-------------------+
| | REDISTRIB | GPL | APROV | CLAUSES |
| LICENCE +-----------+-----+-------+-------------------+
| | 1 2 3 4 $ |G2 G3| F O D | A a n o g t c . ->|
+-------------------------------+-----------+-----+-------+-------------------+
| GPL2 | x x x o x | o o | o o o | x x ? ? ? x o o o |
| GPL3 | x x x o x | o o | o o o | x x ? ? ? o o o o |
| Mozilla (MPL) | x x o x x | x ? | o o o | ? ? ? ? ? x o o ? |
| CDDL | x x o x x | x ? | o o o | ? ? ? ? ? x o o ? |
| LGPL 2.1 | x o x x x | o o | o o o | x x ? ? ? x o o o |
| LGPL 3 | x o x x x | o o | o o o | x x ? ? ? o o o o |
| Artistic license 1.0 | o x x x ? | x x | x o ? | ? ? ? ? ? x o o o |
| Artistic license 2.0 | o x x x ? | o o | o o ? | ? ? ? ? ? x o o o |
| Apache 1.1 | o x x x x | x x | o o o | o x o x ? x o o x |
| Apache 2 | o x x x x | x o | o o o | o x x x ? x o o x |
| original/old/4-clause BSD | o x x x x | x x | o x x | o x o x o x o o x |
| modified/new/3-clause/2.0 BSD | o x x x x | o o | o o o | x x o x o x o o x |
| MIT / X11 | o x x x x | o o | o o o | x x x x o x o o x |
| simplified/free/2-clause BSD | o x x x x | o o | o o o | x x x o o x o o x |
| Zlib / libpng | o x x x x | o o | o o o | x o x x o x o o x |
| ISC / OpenBSD | o x x x x | o o | o o o | x x x x o x o o x |
| Boost | o x x x x | o o | o o o | x x x x o x o o x |
| Common Public License (CPL) | o x x x x | x x | o o o | x ? ? ? ? x o o o |
| Eclipse (EPL) | o x x x x | x x | o o o | x ? ? ? ? x o o o |
| public domain | o x x x x | o o | ? x ? | x x x x x x o o x |
+-------------------------------+-----------+-----+-------+-------------------+
| CC 0 | o x x x x | o o | o x ? | ? ? ? ? ? x o o \ |
| CC by | o x x x x | o o | o x ? | ? ? ? ? ? x o o \ |
| CC by-nc | o x x x o | x x | x x ? | ? ? ? ? ? x o o \ |
| CC by-nd | x x x o x | x x | x x ? | ? ? ? ? ? x o o \ |
| CC by-sa | x x x o x | x o | o x ? | ? ? ? ? ? x o o \ |
| CC by-nc-nd | x x x o o | x x | x x ? | ? ? ? ? ? x o o \ |
| CC by-nc-sa | x x x o o | x x | x x ? | ? ? ? ? ? x o o \ |
| GFDL (GNU Free Doc. Lic.) | x x x o x | x x | o x x | ? ? ? ? ? o o o \ |
+-------------------------------+-----------+-----+-------+-------------------+
SYMBOLS ==> # 1 Permissive
# 2 Weak copyleft (linking allowed)
# 3 Weak copyleft (bundling allowed)
# 4 Strong copyleft
# $ Cannot make profits
# G2 Compatible GPL2
# G3 Compatible GPL3
# F FSF approved
# O OSI approved
# D Debian approved
# A Attribution clause
# a Must not pretend to be original author
# n Non-endorsement clause
# o Opinions expressed in software/doc are not author's
# g No warranty (or limited)
# t Anti-tivoization clause
# c Must copy licence
# . Must distribute source code
# -> Must indicate where to find source code
/=+===============================+=\
/ : : \
)==: NON-SOFTWARE :==(
\ :_______________________________: /
\=+===============================+=/
OPEN DATA ==> # - format: machine-readable, open
# - no restrictions, similar to open source
# - discoverable
# - e.g. known websites like datahub.io or github
DATA LICENSING ==> #Difference between:
# - database/structure/model
# - content
CREATIVE COMMONS ==> #Clauses:
# - BY: attribution
# - must keep license files as is
# - must state origin of that part
# - must say when part has been modified
# - SA: share-alike, similar to copyleft
# - NC: no commercial (not free)
# - cannot be mixed with CC SA
# - but bundling is ok
# - ND: no derivatives (not free)
# - must not modify
# - including license
# - but can bundle with other parts
#Specific licenses:
# - CC0:
# - no clauses
# - also it relinquishes any copyright/ownership, i.e. puts in public domain.
# - PDM (Public Domain Mark):
# - states that something is already in public domain (as opposed to CC0 which puts it in public domain)
#Use in:
# - data:
# - CC 4.0 became more applicable to data. Previous versions were not.
# - covers both database/structure and content
# - attribution (BY) is hard with data, i.e. CC0 is usually preferred
# - software:
# - better for non-code, e.g. picture, video, data, text.
# - explicitly does not cover patents (e.g. like Apache does)
OPEN DATA COMMONS ==> #Licenses:
# - PDDL (Public Domain and Dedication): similar to CC0
# - ODCAL (Open Data Commons Attribution): similar to CC-BY
# - ODbL (Open Database): similar to CC-BY-SA
#Difference with Creative Commons:
# - database/structure only, not content
# - DbCL is a separate license meant for content