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