You have to pay a price for the bounty of Linux-to protect its developers and users, Linux is distributed under the GNU GPL (General Public License), which stipulates the distribution of the source code.
This does not mean, however, that you cannot write commercial software for Linux that you want to distribute (either for free or for a price) in binary form only. You can follow all the rules and still sell your Linux applications in binary form.
When writing applications for Linux, be aware of two licenses:
The GNU General Public License (GPL), which governs many Linux programs, including the Linux kernel and GCC.
The GNU Library General Public License (LGPL), which covers many Linux libraries.
The following sections provide an overview of these licenses and some suggestions on how to meet their requirements. Because I am not a lawyer, however, you should not take anything in this book as legal advice. The full text for these licenses is in text files on your Red Hat Linux system; show these licenses to your legal counsel for a full interpretation and an assessment of applicability to your business.
The text of the GPL is in a file named COPYING in various directories in your Red Hat Linux system. For example, type cd /usr/share/doc/gdb*, and type more COPYING to read the GPL.
The GPL has nothing to do with whether you charge for the software or distribute it for free; its thrust is to keep the software free for all users. GPL does this by requiring that the software is distributed in source-code form and by stipulating that any user can copy and distribute the software in source-code form to anyone else. In addition, everyone is reminded that the software comes with absolutely no warranty.
The software that GPL covers is not in the public domain; such software 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 are not really restrictions; they are benefits because the user is guaranteed access to the source code.
If your application uses parts of any software the GPL covers, your application is considered a derived work; because the GPL covers it, you must distribute the source code to your application.
The text of the GNU 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, use this find command:
find /usr/share/doc -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.