Find git executable at run time
[git-darcs-import.git] / release / licensing
blob1f9483f6f7ece4b40cdd4f4193def7e7a9a879dd
1 No lawyers were involved in creating this document.  It is intended as
2 an informal summary to quickly get hackers up to speed on legal issues
3 relating to their work on this codebase.
5 Abstract:
7     Individuals retain copyright to their work on the darcs codebase.
8     Copyright assignment is not done because it requires tedious
9     bookkeeping and raises the entry barrier for hackers.  Files DO
10     NOT get copyright declarations because they are only advisory and
11     keeping them up-to-date is tedious.
13     License declarations MUST be added to all files, because otherwise
14     they aren't licensed.  Most files should be declared GPL2+ (with
15     some exceptions), but this still needs to be confirmed with some
16     copyright holders of files already in darcs.
19 Copyright
20 =========
22 Copyright law applies to a "work".  Each file in the codebase is a
23 "work", and the entire codebase is an "aggregate work".
25 A work's author AUTOMATICALLY holds copyright over the work in the
26 year it was published.  Being in a publicly accessible repository such
27 as http://darcs.net/ counts as publication.
29 Copyright can be "assigned" to another legal entity; the GNU project
30 routinely does this for reasons described at the URL below.  Copyright
31 assignment is not performed for the Darcs codebase because requiring
32 authors to fill in paperwork significantly raises the barrier of entry
33 for new Darcs hackers.
35     http://www.gnu.org/licenses/why-assign.html
37 Because copyright is automatic, copyright declarations are merely
38 advisory; it saves people having to work out who owns copyright (which
39 can sometimes be tricky).  Files in the Darcs codebase generally do
40 not have copyright declarations because this avoids the burden of
41 keeping them up to date.
43 A reasonably good heuristic to determine the copyright holders of a
44 file in the Darcs codebase is to aggregate the (author, year) tuples
45 printed by "darcs changes <file>".
48 Licensing
49 =========
51 Licensing of works is NOT AUTOMATIC.  Unless a work is explicitly and
52 unambiguously licensed, it is NOT LICENSED at all!  It is NOT
53 sufficient to have a copy of a license in ./COPYING.
55 It WOULD be sufficient to have a single license declaration in
56 ./LICENSE, and list any exceptions at the bottom of that file.  Darcs
57 DOES NOT do this, because it would be too easy for a hacker who wanted
58 a different license to add a file and forget to add an exception in
59 LICENSE.
61 It's also sufficient for each file to include its own license
62 declaration; this is the approach taken for the Darcs codebase.  Note
63 that some files currently have no license declaration, and these are
64 therefore NOT LICENSED.  A declaration cannot be added unless ALL
65 copyright holders for that file agree to it.
67 If a file already has a license declaration and a hacker adds a patch
68 for it, the hacker's contibution is implicitly licensed under the same
69 terms.