Many updates.
[gnulib.git] / doc / Copyright / conditions.text
1 Legal Issues about Contributing Code to GNU     last updated 1 Jul 2007
2
3 Project GNU has to be careful to obey copyright laws, even though we
4 don't recognize them as a moral authority, because we and our users
5 are in the public eye.
6
7 This means that if you want to contribute software, you have to do
8 something to give us legal permission to use it.  There are four ways
9 this can be done:
10
11 * Assign the copyright to the Free Software Foundation.
12 This is what we prefer because it allows us to use the copyright law
13 to prevent others from hoarding modified versions of the program.
14
15 * Keep the copyright yourself and give us a suitable nonexclusive
16 license.  It will then be up to you to prevent any unauthorized
17 hoarding of modified versions; we will be unable to act.  (This
18 alternative is impractical for us if the use for your work is to be
19 merged into a preexisting GNU program.)
20
21 * Keep the copyright and release the program yourself under the GNU
22 GPL.  (This alternative too is impractical for contributions to a
23 preexisting GNU program.)
24
25 * Put the code in the public domain.  Then there is nothing to stop
26 restriction of modified versions, but we can still use the program in
27 GNU.
28
29 Most of these alternatives require a signed piece of paper to make
30 them happen.
31
32 * Assigning copyright.
33
34 Assigning the copyright means signing a contract that makes the Free
35 Software Foundation the "owner" of the program according to the law.
36 As the copyright holder, the Foundation can sue anyone who tries to
37 distribute the program as a proprietary product.  We are willing to
38 keep your name on the program as the author for as long as the program
39 remains recognizably distinct.  ("Owner" is in quotes to show that we
40 don't in general believe in this kind of ownership.  We think it is
41 legitimate to use this power to defend others' freedom, given that the
42 power exists, but that doesn't justify using this power to deny
43 others the freedom they should have.)
44
45 The assignment contract commits the foundation to setting distribution
46 terms that permit free redistribution.
47
48 We may not want to do the work of starting to distribute a program
49 right away.  But you can distribute it right away if you want: just
50 please first attach our standard copyleft notice to the files.  (Ask
51 for our advice on how to do this.)
52
53 The assignment contract we normally use has a clause that permits you
54 to use your code in proprietary programs, on 30 days' notice.  (The 30
55 days' notice is there because, through a legal technicality, it would
56 improve our position in a suit against anyone making a proprietary
57 version.)  Although we believe that proprietary software is wrong, we
58 include this clause because it would be ungrateful to ask you to limit
59 yourself, given that you're giving us a gift in the first place.
60
61 You don't need to invoke this clause in order to distribute copies as
62 free software under the GNU GPL, since everyone is allowed to do that.
63
64 * Keeping the copyright.
65
66 Keeping the copyright and giving the Free Software Foundation a
67 nonexclusive license also requires signing a contract.  The license we
68 need permits us to add our usual distribution terms; it recognizes
69 possession of a copy with our distribution terms accurately stated as
70 licensing anyone to redistribute on those terms.  However, if someone
71 violates these terms--for example, if he uses the code in a
72 proprietary product in violation of the GPL--we cannot enforce the
73 license against him.  You would have to do that, and if you don't, he
74 would get away with the violation.
75
76 * Releasing it yourself.
77
78 You can release a program yourself under a copyleft license such as
79 the GNU GPL.  (In order to accept the program as GNU software, we
80 would have to be happy with your choice of license.)  This does not
81 require a contract between you and the FSF, but we would appreciate
82 having a signed piece of paper to confirm your decision.
83
84 As in the previous option, only you will be able to enforce the license
85 against violators.  The FSF will be unable to act.
86
87 * Public domain.
88
89 If you put the program in the public domain, we prefer to have a signed
90 piece of paper--a disclaimer of rights--from you confirming this.  If the
91 program is not very important, we can do without one; the worst that could
92 happen is that we might some day be forced to stop using it.
93
94 The law says that anyone can copyright a modified version of the public
95 domain work.  (This doesn't restrict the original, which remains in the
96 public domain; only the changes are copyrighted.)  If we make extensive
97 changes, we will probably do this and add our usual copyleft.  If we make
98 small changes, we will leave the version we distribute in the public
99 domain.
100
101 * What about your employer?
102
103 If you are employed to do programming, or have made an agreement with your
104 employer that says it owns programs you write, we need a signed piece of
105 paper from your employer disclaiming rights to the program.  It should be
106 signed by a vice president or general manager of the company.  If you
107 can't get at them, it is almost as good to find someone who signs licenses
108 for software that is purchased.  Here is a sample wording:
109
110   Digital Stimulation Corporation hereby disclaims all copyright interest
111   in the program "seduce.el" (a program to direct assemblers to make passes
112   at compilers under GNU Emacs) written by Hugh Heffner.
113
114   <signature of Ty Coon>, 1 April 1987
115   Ty Coon, President of Vice, Digital Stimulation Corp.
116
117 The description of what the program does is just to make it clearer
118 what the disclaimer covers.
119
120 If what you did was change an existing program, it should say this:
121
122   ...in the changes and enhancements made by Hugh Heffner to the
123   program "seduce.el".
124
125 * Did anyone else contribute?
126
127 If someone else contributed more than a few lines here or there to the
128 program, then that person too is an author, and that person too needs to
129 sign papers just as you do.  So may that person's employer.  However, if
130 his contribution is just a fraction of the whole work, it is satisfactory
131 if he disclaims his own rights, even if you are assigning yours.  (If just
132 the minor contributors' work goes in the public domain, that doesn't leave
133 much of a loophole for proprietary software.)
134
135 If you incorporated packages which you found floating around as "public
136 domain", we might still want to track down their authors, to get
137 disclaimers to reassure us that they really are in the public domain.  So
138 please keep track of what these packages are and who wrote them.
139
140 * A reminder:
141
142 In working on a free software package, DO NOT study and follow any
143 non-free source code that might have any bearing on the project.
144 Don't refer to non-free source code at all, unless you are forced to
145 for non-GNU reasons.
146
147 Especially, if you are working on a replacement for a particular
148 non-free program, DO NOT refer to the source for that program
149 (supposing you have it).
150
151 It is not considered a serious problem if you have read non-free
152 source code in the past for other purposes, provided you don't copy
153 anything in particular from it.  But referring to it while you do the
154 work could cause legal problems later for the users of your work.
155