Next: , Previous: Recording Contributors, Up: Legal Matters


4.4 Copying from Other Packages

When you copy legally significant code from another free software package with a GPL-compatible license, you should look in the package's records to find out the authors of the part you are copying, and list them as the contributors of the code that you copied. If all you did was copy it, not write it, then for copyright purposes you are not one of the contributors of this code.

Especially when code has been released into the public domain, authors sometimes fail to write a license statement in each file. In this case, please first be sure that all the authors of the code have disclaimed copyright interest. Then, when copying the new files into your project, add a brief note at the beginning of the files recording the authors, the public domain status, and anything else relevant.

On the other hand, when merging some public domain code into an existing file covered by the GPL (or LGPL or other free software license), there is no reason to indicate the pieces which are public domain. The notice saying that the whole file is under the GPL (or other license) is legally sufficient.

Using code that is released under a GPL-compatible free license, rather than being in the public domain, may require preserving copyright notices or other steps. Of course, you should do what is needed.

If you are maintaining an FSF-copyrighted package, please verify we have papers for the code you are copying, before copying it. If you are copying from another FSF-copyrighted package, then we presumably have papers for that package's own code, but you must check whether the code you are copying is part of an external library; if that is the case, we don't have papers for it, so you should not copy it. It can't hurt in any case to double-check with the developer of that package.

When you are copying code for which we do not already have papers, you need to get papers for it. It may be difficult to get the papers if the code was not written as a contribution to your package, but that doesn't mean it is ok to do without them. If you cannot get papers for the code, you can only use it as an external library (see External Libraries).