back to the main page

Legal Issues about Contributing Code to GNU

- last updated 23 Oct 91 -


Table of Contents
Assigning copyright. Keeping the copyright. Public domain.
What about your employer? Did anyone else contribute? A reminder!

Project GNU has to be careful to obey intellectual property laws, even though these laws are wrong and people generally should share useful information without hesitation, because we are in the public eye.

This means that if you want to contribute software, you have to do something to give us legal permission to use it. There are three ways this can be done:

Assign the copyright to the Free Software Foundation. This is what we prefer because it allows us to use the copyright law to prevent others from hoarding modified versions of the program.

Keep the copyright yourself and give us a suitable nonexclusive license. It will then be up to you to prevent any unauthorized hoarding of modified versions; we will be unable to act. (This alternative is impractical for us if the use for your work is to be merged into a preexisting GNU program.)

Put the code in the public domain. Then there is nothing to stop hoarding of modified versions, but we can still use the program in GNU.

Whichever one of these you choose, you need to sign a piece of paper to make it happen.



Assigning copyright.

Assigning the copyright means signing a contract that makes the Free Software Foundation the "owner" of the program according to the law. As the copyright holder, the foundation can sue anyone who tries to distribute the program as a proprietary product. We are willing to keep your name on the program as the author for as long as the program remains recognizably distinct. ("Owner" is in quotes to show that we don't really believe in this kind of ownership. We are against the copyright law, because it is intended to assist information hoarding, but since we cannot get it repealed just yet, we use it to stop hoarding when we can.)

The assignment contract commits the foundation to setting distribution terms that permit free redistribution.

Often we don't want to do the work of starting to distribute a program right away. There are many things which we will need in order to have a complete system but which aren't really useful until the rest of the system is done. But signing the assignment does not stop you from distributing the program yourself--as long as you do so under the GNU terms. You don't have to wait for us to start distributing. You can start distributing as soon as you attach our standard copyleft to the files. (Ask for our advice on how to do this.)

The assignment contract we normally use has a clause that permits you to sell the program to others, on 30 days' notice. (The 30 days' notice is there because, through a legal technicality, it would improve our position in a suit against a hoarder.) Although we believe that selling a program is wrong, we include this clause because it would serve no purpose to ask you to promise not to do it. (After all, you are giving us a gift to begin with.) You don't need to invoke this clause in order to distribute copies as free software, since the Foundation's standard terms let everyone do that.



Keeping the copyright.

Keeping the copyright and giving the Free Software Foundation a nonexclusive license also requires signing a contract. The license we need permits us to add our usual distribution terms; it recognizes possession of a copy with our distribution terms accurately stated as licensing anyone to redistribute on those terms. However, if someone violates these terms--for example, gets a copy from us and uses it as a basis for a proprietary product in violation of our terms--we cannot sue him. You have to sue, or he gets away with it. The law doesn't recognize the idea that he, by doing this, is stealing rights from the public; it thinks that information exists to be hoarded and is concerned only with how the spoils are to be divided.

Often free programs say they can be copied for "noncommercial distribution" or "not for profit". Unfortunately, the vagueness of these terms can cause trouble for us.

One of the aims of GNU is to encourage computer manufacturers to distribute GNU--only as free software, of course, but that is still commercial distribution in some sense. We hope the manufacturer might find that offering free software makes the machines more attractive as well as saving the cost of a Unix distribution license and royalties. This would constitute profit for them if it happens. And certainly we want companies to be able to operate GNU systems for business purposes. So we can't use software whose terms don't allow these things.

Those terms might not even permit the Foundation to send out copies, since we make a profit on tape distribution. The Foundation is a nonprofit organization, which means that the surplus from distribution is used for our charitable purpose (software development). Perhaps this means that our surplus is not profit, but perhaps it doesn't.

Most often the reason for "noncommercial distribution only" is to prevent the abuse of proprietary products based on the free program. We think it is better to prohibit exactly that--the making of proprietary programs incorporating the free program--while encouraging people to make a business, if they can, of free software that remains free.



Public domain.

If you put the program in the public domain, we prefer to have a signed piece of paper--a disclaimer of rights--from you confirming this. If the program is not very important, we can do without one; the worst that could happen is that we might some day be forced to stop using it.

The law says that anyone can copyright a modified version of the public domain work. (This doesn't restrict the original, which remains in the public domain; only the changes are copyrighted.) If we make extensive changes, we will probably do this and add our usual copyleft. If we make small changes, we will leave the version we distribute in the public domain.



What about your employer?

If you are employed to do programming, or have made an agreement with your employer that says it owns programs you write, we need a signed piece of paper from your employer disclaiming rights to the program. It should be signed by a vice president or general manager of the company. If you can't get at them, it is almost as good to find someone who signs licenses for software that is purchased. Here is a sample wording:

Digital Stimulation Corporation hereby disclaims all copyright interest in the program "seduce.el" (a program to direct assemblers to make passes at compilers under GNU Emacs) written by Hugh Heffner.

[signature of Ty Coon], 1 April 1987
Ty Coon, President of Vice, Digital Stimulation Corp.

The description of what the program does is just to make it clearer what the disclaimer covers.

If what you did was change an existing program, it should say this:

...in the changes and enhancements made by Hugh Heffner to the program "seduce.el".



Did anyone else contribute?

If someone else contributed more than a few lines here or there to the program, then that person too is an author, and that person too needs to sign papers just as you do. So may that person's employer. However, if his contribution is just a fraction of the whole work, it is satisfactory if he disclaims his own rights, even if you are assigning yours. (If just the minor contributors' work goes in the public domain, that doesn't leave much of a loophole for hoarders.)

If you incorporated packages which you found floating around as "public domain", we might still want to track down their authors, to get disclaimers to reassure us that they really are in the public domain. So keep track of what these packages are and who wrote them.



A reminder:

While working on a project for GNU, DO NOT refer to any Unix sources that might have any bearing on the project. Don't refer to them at all unless you are forced to for non-GNU reasons.

Especially, if you are working on an imitation of a Unix utility, DO NOT refer to the source for that utility.

It is not considered a serious problem if you have read Unix sources in the past for other purposes, provided you don't copy anything in particular from them. But referring to them while you do the work could cause us legal problems later.