Other Criteria of Open Source Software

GPL Compatibility
Copyleft
Open Source vs. Sourceware

GPL Compatibility

Making a software free is not necessarily enough to make it compatible with the GNU GPL licence. The GPL makes some restrictions regarding which licences it can link against, and some perfectly good free software does not qualify to it. (examples are the Mozilla Public License, the Qt Public License, and even the original BSD licence). It is advisable that whenever possible a developer or vendor should choose a licence that is compatible with the GPL, because otherwise there may be problems integrating his code with GPLed one or using both a GPL and a non-GPL compatible library. (I am not a lawyer, so I cannot conclusively say when it is legal or not).

Mozilla is an example for a large project that started out with its custom (albeit now relatively common), non-GPL compatible licence, and recently adopted a triple licence of the Mozilla Public License, the GNU General Public License, and the GNU Lesser General Public License in order to make it compatible with the GPL and to standardise its integrability. The Qt library whose commercial vendor and originator is Troll Tech Inc., also adopted the GPL as well as its own QPL, to relieve the various legal problems that KDE (a desktop system for UNIXes which is based on it) faced when using GPL code.

Copyleft

The copyleft definition

Copyleft means that a derived work of a copyleft software, that are not used for internal or personal use, must include the source code and released under the same terms of the original work. Copyleft is common in many licences including the GPL, the Lesser General Public License, the QPL, etc.

Many licences are not Copyleft - most notably the BSD and MIT/X11 licences. Software released under such licences can be derived into a proprietary software product by a third party, and often have been.

Open Source vs. Sourceware

Open source does not mean any software that is accompanied by its source, albeit many people who are new to the term would be tempted to think that. It is possible to write non-OS software while accompanying it with the source.

Examples for such cases are:

1. The Microsoft Visual C++ Run-Time Library and the Microsoft Foundation Classes, that are accompanied with their source.

2. xv - a very popular shareware image viewer and manipulator for X-Windows that has been distributed with its source code.

3. qmail - a popular mail server whose source code is available and can be deployed free of charge, but its licence specifies that it is illegal to distribute modified binaries (at least outside the organization) This is enough to make it non-open-source, but it is still a very popular program.

None of these packages qualify as free software, but they are all accompanied with the source. There are many others around. A quick search on Freshmeat will find many such packages.

In order for a program to be open-source it needs to be free of various restrictions as specified in the open-source definition. To be free software as well, it must be also free of some other restrictions. [3]

I believe the term open-source is a bit dangerous in this regard. Then again, free software may not automatically be associated with freedom and liberty, so it isn't perfect either. But I guess finding a description that accurately describes it in a short space is not very possible, so these terms will have to do.



[3] In a recent query given to an Israeli Defense Force Official by an Israeli MP, the former interpreted open-source as software that the IDF has access to its source. This is an even more radical deviation from the correct meaning.