June 23, 2018
Hot Topics:

Free software licenses

  • June 7, 1999
  • By Paul Nivin Fisher
  • Send Email »
  • More Articles »

All of these licenses grant users the same basic freedoms to run, copy, distribute, study, change, and improve the software. Here we'll focus on the primary differences among these licenses. The OSD enumerates the specific freedoms all these licenses grant.

GNU General Public License

The GNU General Public License (GPL) provides the foundation on which the majority of GNU software is built. Software licensed under the GPL, simply stated, will always be free -- including all derivative works. Any piece of software that links to a program covered under the GPL must at least permit distribution under the terms of the GPL. Prominent examples of software licensed under the GPL include the Linux kernel, GNU Emacs, and GCC (GNU C compiler).

GNU Lesser General Public License

The GNU Lesser General Public License (LGPL) -- previously known as the GNU Library General Public License -- permits use of a library by a proprietary program. The LGPL compartmentalizes a library into a set of procedures that can be accessed by a proprietary program. However, any modifications to the library must be released as free software.

The LGPL also requires that the library be easily replaceable when linked against proprietary code (assuming binary incompatibilities have not been introduced into the library). The proprietary code must link against the LGPL library using either dynamic linking or, if static linking is used, the vendor must provide object files such that the user can relink the proprietary program against a new version of the LGPL-covered library.

XFree86-style licenses

The XFree86-style licenses refer to a group of non-copyleft licenses that are based on the Berkeley Systems Distribution (BSD) license, but lack the BSD advertising clause.

The BSD advertising clause hampers the ability to advertise free software:

All advertising materials mentioning features or use of this software must display the following acknowledgement:

This product includes software developed by the University of California, Berkeley, and its contributors.

Including one sentence in an advertisement is not a particular large problem; however, people typically replace "University of California" with their own institution or name. When a software project has many contributors, the result is a profusion of sentences that must be added to all advertisements.

Specific examples of XFree86-style licenses include those for XFree86, X11, and FreeBSD. All of the these licenses are equivalent in meaning but differ slightly in wording. XFree86-style licenses permit redistributed copies to become proprietary software.

Releasing a program under an XFree86-style license is similar to placing a program into the public domain, except the copyright notice must be preserved. XFree86-style licenses are noticeably shorter than other software licenses. The majority contain wording similar to the following:

Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without written agreement is hereby granted, provided that the above copyright notice appear in all copies of this software.

Artistic License

The Artistic License was created for Larry Wall's Perl scripting language. However, the Artistic license is extremely confusing and poorly worded. Lawyers would likely advise against the use of this license. The Artistic license is filled with loopholes.
The Artistic license is extremely confusing and poorly worded.

For instance, one cannot sell a copy of software covered under the Artistic license, but one can sell a copy of the software if another piece of software is bundled with the Artistic licensed software. Fortunately, Perl is dual-licensed under both the Artistic license and GNU GPL.

Mozilla Public License

The Mozilla Public License (MPL) is most similar to the XFree86-style licenses. The main difference is in the semi-copyleft nature of the MPL. Modifications to existing source code must be released under the MPL. However, any added subroutines in separate files need not be released under the MPL. Proprietary extensions to MPL covered software can be easily added.

Table 1: License compatibility (X = compatible)

Yet even though the MPL is a free software license, it does have one downfall for the free software community: it is incompatible with the GNU GPL. Source code cannot be shared between projects licensed under the MPL and GNU GPL.

License compatibility

With an abundance of free software licenses coming into existence, license compatibility is becoming an extremely important issue. Compatible licenses allow for source code covered under one free software license to be combined with source code covered under a different free software license (see Table 1).

The majority of free software in existence is covered under the GPL and XFree86-style licenses. Being able to share code with existing free software is a valuable trait of a free software license.

Freedom of choice

The licenses primarily differ in the rights they extend to proprietary software developers (see Table 2).

When choosing a free software license, one must consider license compatibility and what rights to extend to those who are not part of the free software community.

Table 2: Rights of proprietary software developers
License Permits bundling with non-free software Modified/redistributed copies can be non-free

Free software licenses give users the freedoms they deserve to run, copy, distribute, study, change, and improve the software they use. When a developer releases software under free terms, regardless of the license chosen, everyone in the free software community benefits - including the end user.ø

Related resources

1. The Free Software Foundation (FSF), brainchild of Richard M. Stallman, is the home to all things GNU.
2. FSF Philosophy Go here for more detailed info on licensing, laws, definitions, and other issues of free software.
3. The Open Source Initiative, founded by Eric Raymond and Bruce Perens, established the definition and significance of "open source."
4. Home page of Eric Raymond, controversial bigwig in the field of free and open source software.
5. Copyleft is explained at the FSF site.
6. For more information, visit our legal links!

Paul Fisher is a freelance consultant and GNU hacker based in North Carolina. He is also the host of open source IT's discussion forum on free and open source software.

Copyright 1999 Paul Nivin Fisher
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved and the original location (www.opensourceit.com/news/990607_freesoftware.html) is prominently displayed.

Page 2 of 2

Comment and Contribute


(Maximum characters: 1200). You have characters left.



Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

By submitting your information, you agree that developer.com may send you developer offers via email, phone and text message, as well as email offers about other products and services that developer believes may be of interest to you. developer will process your information in accordance with the Quinstreet Privacy Policy.


We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date