Surveying the Open Source Landscape
It is easy to see the impact that open source software has had on the developer community. A Google search for "open source" turns up over nineteen million results. That's more than a similar search for "Oracle", and nearly one-fifth as many as for "Microsoft", the king of proprietary software. This article will describe what open-source software is, and examine a few of the products that are out there on the open-source landscape.
What Is Open-Source Software?
According to the Open Source Initiative, http://www.opensource.org, Open-source software is any software that is distributed to the developer community with the source code. Traditionally, software vendors distribute only the binaries for their products, leaving developers in the dark as to the inner workings of the products they use. Because open-source software vendors distribute the source code, developers can readily improve the product by creating patches for problems, or by making enhancements.
Although most open-source software is free to the community, there are sometimes strings attached. Let's take a look at the most common types of licensing for open-source software.
GNU General Public License (GPL)
Under the General Public License, or GPL, the licensee is free to distribute or modify the software product, provided that the modifications, both in binary and source code form, remain free to the public under the terms of the GPL. In addition, the licensee must provide all build scripts, interface definitions, and installation scripts necessary to compile and install the program.
The GPL makes no provision for a warranty of any kind, and this fact must be displayed prominently in the source code, as well as on the user interface of the program, if applicable.
Works that contain the original software, or are derived from it, must fall under the GPL. Thus, no one is allowed to create proprietary software based on a GPL-licensed product, ensuring that free software remains free.
Anyone who modifies and redistributes software under the GPL must prominently display the fact that the new version is different than the older version. Thus, if a new version of the product is not up to par, that fact won't tarnish the reputation of the original product.
GNU Lesser General Public License (LGPL)
The Lesser General Public License (LGPL), the successor to the GNU Library Public License, is the GPL equivalent for open-source software libraries. Under this license, the libraries themselves fall under provisions similar to the GPL. The libraries themselves, and any works directly based on them, in both source code and binary form, must be freely available to the public. However, unlike the GPL, programs that simply use the libraries can be excluded from the terms of the LGPL, and can be proprietary.
Because LGPL is less restrictive, free software developers who license software under it's terms enjoy less of an advantage over those who are paid for their software. However, LGPL still provides some benefits to the open-source community. First, by providing libraries under LGPL rather than GPL, free software developers can encourage the use of their libraries as a default standard in the industry. Secondly, encouraging the use of the libraries may help to speed the growth of the use of other free software, such as operating systems, even by paid software vendors.
Mozilla Public License
The Mozilla Public License, or MPL, is very similar to the GPL in spirit, with a few exceptions. First of all, this license is more precise, from a legal standpoint, and addresses specifically some areas, such as intellectual property rights, license termination, government licensing, and liability issues, that are not explicitly mentioned in the GPL.
Unlike GPL, the MPL allows the licensee to create larger works that include the licensed software, while still allowing those programs to be distributed for payment, as long as the portion of the code licensed under Mozilla is still covered under the MPL.
Many developers are now embracing this more strictly-defined license for their open-source software, rather than continuing to use the GPL. The clause allowing larger works using the licensed product, as with the LGPL, is a boon for developers wishing to make their products a defacto industry standard.
Other Open-Source Licenses
There are many other licenses available to those who create open-source software. The BSD and MIT licenses were created to address products developed at the University of California and MIT, respectively. These licenses are very similar, and are available through the OSI as templates for those wishing to use them for their own open-source products.
Other licenses address open-source products based on software written by particular organizations. For example, the Apache and IBM licenses cover software written for the Apache Foundation and IBM, or products utilizing software developed by them.
The bottom line is that most open-source software is free, as long as you distribute any modifications you make under the terms of the original license agreement, and no warranty is provided, unless otherwise stated, by the developer of the product.
How Do Open-Source Developers Make Money?
If open-source software is free, how can any software developer hope to make money on it? They do so by providing value-added services and products that are not covered by the original licensing agreements.
Because open-source software is usually distributed "as-is", software developers can earn income by providing warranty coverage for the products they develop.
Some vendors provide support for open-source products for a fee. Many provide various levels of support; just as commercial software vendors do, ranging in price and quality from email-only support up to on-site consulting and troubleshooting.
Open-source software is largely developed by volunteers. Developers are notorious for neglecting documentation, besides that found in the source code. Many open-source software developers provide excellent documentation for a nominal fee. Most provide documentation in electronic form, but some will provide hard-copy versions for a larger fee.
Although open-source licenses guarantee licensees the right to receive source code for the products licensed, they do allow licensors to charge for such distributions. Most open-source software, and it's associated source code, can be downloaded from the Internet free of charge, but there are many vendors who will provide distributions, sometimes with additional documentation or other bonuses, on CD for a fee.
Now that we have defined open-source software and discussed how it is licensed, let's have a look at some of the products available to developers.