Datasheet

Book VIII
Chapter 1
Programming
in Linux
551
Understanding the Implications of GNU Licenses
The software that the GPL covers isn’t in the public domain. Software cov-
ered by GPL is always copyrighted, and the GPL spells out the restrictions
on the software’s copying and distribution. From a user’s point of view, of
course, GPL’s restrictions aren’t really restrictions; the restrictions are ben-
efits because the user is guaranteed access to the source code.
If your application uses parts of any software the GPL covers, your appli-
cation is considered a derived work, which means that your application is
also covered by the GPL and you must distribute the source code to your
application.
Although the GPL covers the Linux kernel, the GPL doesn’t cover your appli-
cations that use the kernel services through system calls. Those applica-
tions are considered normal use of the kernel.
If you plan to distribute your application in binary form (as most commercial
software is distributed), you must make sure that your application doesn’t
use any parts of any software the GPL covers. Your application may end up
using parts of other software when it calls functions in a library. Most librar-
ies, however, are covered by a different GNU license, which is described in
the next section.
You have to watch out for only a few library and utility programs the GPL
covers. The GNU dbm (gdbm) database library is one of the prominent librar-
ies GPL covers. The GNU bison parser-generator tool is another utility the
GPL covers. If you allow bison to generate code, the GPL covers that code.
Other alternatives for the GNU dbm and GNU bison aren’t covered by GPL.
For a database library, you can use the Berkeley database library db in place
of gdbm. For a parser-generator, you may use yacc instead of bison.
The GNU Lesser General Public License
The text of the GNU Lesser General Public License (LGPL) is in a file named
COPYING.LIB. If you have the kernel source installed, a copy of COPYING.
LIB file is in one of the source directories. To locate a copy of the COPYING.
LIB file on your Linux system, type the following command in a terminal
window:
find /usr -name “COPYING*” -print
This command lists all occurrences of COPYING and COPYING.LIB in your
system. The COPYING file contains the GPL, whereas COPYING.LIB has the
LGPL.
42_770191-bk08ch01.indd 55142_770191-bk08ch01.indd 551 8/6/10 9:51 AM8/6/10 9:51 AM