CertCities.com -- The Ultimate Site for Certified IT Professionals
Post Your Mind in the CertCities.com Forums Share share | bookmark | e-mail
  Microsoft®
  Cisco®
  Security
  Oracle®
  A+/Network+"
  Linux/Unix
  More Certs
  Newsletters
  Salary Surveys
  Forums
  News
  Exam Reviews
  Tips
  Columns
  Features
  PopQuiz
  RSS Feeds
  Press Releases
  Contributors
  About Us
  Search
 

Advanced Search
  Free Newsletter
  Sign-up for the #1 Weekly IT
Certification News
and Advice.
Subscribe to CertCities.com Free Weekly E-mail Newsletter
CertCities.com

See What's New on
Redmondmag.com!

Cover Story: IE8: Behind the 8 Ball

Tech-Ed: Let's (Third) Party!

A Secure Leap into the Cloud

Windows Mobile's New Moves

SQL Speed Secrets


CertCities.com
Let us know what you
think! E-mail us at:



 
 
...Home ... Editorial ... Columns ..Column Story Saturday: April 5, 2014


 Inside the Kernel  
Emmett Dulaney
Emmett Dulaney


 Linux and the Licensing Two-Step
When it comes to writing Linux applications, there are two licenses you need to be aware of: the GPL and the LGPL.
by Emmett Dulaney  
9/28/2009 -- When you write applications for Linux, there are two licenses you should be aware of:

  • The GNU General Public License (GPL), which governs many Linux programs including the Linux kernel and the GNU Compiler Collection (GCC).

  • The GNU Library General Public License (LGPL), which covers many Linux libraries.

The following is an overview of these licenses and some suggestions on how to meet their requirements. Keep in mind, however, that this is no substitute for legal advice. For that, you should first read the full text of these licenses in the text files on your Linux system, then show them to your legal counsel for a full interpretation and an assessment of how they apply to your business.

The GNU General Public License
To protect its developers and users, Linux is distributed under the GNU GPL, which stipulates the distribution of the source code (but which few people spend much time trying to understand). However, the GPL doesn't mean that you can't write commercial software for Linux and then distribute it -- either for free or for a price -- in binary form. You can follow all the rules and still sell your Linux applications in binary form.

The text of the GNU GPL is in a file named COPYING stored in various directories of your Linux system. Type the following command to find a copy of that file:

find /usr -name "COPYING" -print

After you find the file, you can change to that directory and type "more COPYING" to read the GPL.

If you can't find the COPYING file, here's the text of the GPL online.

Note that the GPL has nothing to do with whether you charge for your software or distribute it for free; its main point is to require that the software is distributed in source-code form. 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 the GPL covers is always copyrighted (not in the public domain) and the GPL spells out the restrictions regarding the software's copying and distribution. From a user's point of view, of course, the GPL's restrictions aren't really restrictions. In fact, they're really benefits: 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." This means your application is also covered by the GPL and that you must distribute its source code.

Although the GPL covers the Linux kernel, it doesn't cover applications that use the kernel services through system calls; those applications 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.

However, if your application ends up using parts of other software when it calls functions in a library, remember that most libraries 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 covered by the GPL, one of which is the prominent GNU dbm (gdbm) database library. 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, however. For example, 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 LGPL is intended to allow use of libraries in your applications, even if you don't distribute source code for your application. However, the LGPL does stipulate that users must have access to the source code of the library you use and that users can make use of modified versions of those libraries.

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 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, as previously mentioned).

The LGPL covers most Linux libraries, including the C library (libc.a). Thus, when you build your application on Linux using the GCC compiler, your application links with code from one or more libraries the LGPL covers. If you want to distribute your application in binary form only, you need to pay attention to LGPL.

One way to meet the intent of the LGPL is to provide the object code for your application and a makefile that re-links your object files with any updated Linux libraries covered under the LGPL. A better way to satisfy the LGPL is to use dynamic linking, in which your application and the library are separate entities, even though your application calls functions in the library when it runs. With dynamic linking, users immediately get the benefit of any updates to the libraries without ever having to re-link the application.


Emmett Dulaney is the author of several books on Linux, Unix and certification. He can be reached at .

 


More articles by Emmett Dulaney:

-- advertisement --


There are 34 CertCities.com user Comments for “Linux and the Licensing Two-Step”
Page 1 of 4
9/29/09: Penguin says: I say it's lesser general public license, not librarysomething. http://www.gnu.org/copyleft/lesser.html
6/30/13: louisvuittonttoutlet.com from [email protected] says: nice articles louisvuittonttoutlet.com http://www.louisvuittonttoutlet.com
7/5/13: christian louboutin outlet from [email protected] says: good share. christian louboutin outlet http://www.christianlouboutinoutleta.com
7/5/13: gucci outlet from [email protected] says: nice articles gucci outlet http://www.guccioutletstore-online.com
7/23/13: Fake Oakleys from [email protected] says: Hint! Do Not Try to follow all the other sunglass Guides Until You Read Through This Totally free Documentation Fake Oakleys http://www.fakeoakleysglasses.com
7/23/13: cheap Toms from [email protected] says: Daily shoes Wrap up is beginning to feel a little out of date cheap Toms http://www.tomscanadaoutlets.com
7/26/13: Christian Louboutin Discount from [email protected] says: thanks for share! Christian Louboutin Discount http://www.discount-louboutin.net/
8/10/13: Cheap Benefit Makeup from [email protected] says: True storyline on makeup that the professionals don't want anyone to be aware of. Cheap Benefit Makeup http://www.benefitmakeupcheap.co.uk
8/17/13: nike basketball from [email protected] says: Customers takes the boast on shoes nike basketball http://www.runontheway.com/
8/18/13: OakleySunglassesWhol from [email protected] says: sunglass is getting absolutely free turbo-charge... by a social concept group!! Oakley Sunglasses Wholesale http://www.cheap-oakleysunglassesusa.com
First Page   Next Page   Last Page
Your comment about: “Linux and the Licensing Two-Step”
Name: (optional)
Location: (optional)
E-mail Address: (optional)
Comment:
   

-- advertisement (story continued below) --

top