GNU Info

Info Node: (maintain.info)External Libraries

(maintain.info)External Libraries


Prev: License Notices Up: Legal Matters
Enter node , (file) or (file)node

External Libraries
==================

   When maintaining an FSF-copyrighted GNU package, sometimes you will
want to use a general-purpose free software module which offers a useful
functionality, as a "library" facility (though the module is not always
packaged technically as a library).

   In a case like this, it would be unreasonable to ask the author of
that module to assign the copyright to the FSF.  After all, person did
not write it specifically as a contribution to your package, so it
would be impertinent to ask per, out of the blue, "Please give the FSF
your copyright."

   So the thing to do in this case is to make your program use the
module, but not consider it a part of your program.  There are two
reasonable methods of doing this:

  1. Assume the module is already installed on the system, and use it
     when linking your program.  This is only reasonable if the module
     really has the form of a library.

  2. Include the module in your package, putting the source in a
     separate subdirectory whose `README' file says, "This is not part
     of the GNU FOO program, but is used with GNU FOO."  Then set up
     your makefiles to build this module and link it into the
     executable.

     For this method, it is not necessary to treat the module as a
     library and make a `.a' file from it.  You can link with the `.o'
     files directly in the usual manner.

   Both of these methods create an irregularity, and our lawyers have
told us to minimize the amount of such irregularity.  So consider using
these methods only for general-purpose modules that were written for
other programs and released separately for general use.  For anything
that was written as a contribution to your package, please get papers
signed.


automatically generated by info2www version 1.2.2.9