Thursday, December 13, 2007

The incompatibility problem - General Public License; New Release

The General Public License version 3 (GPLv3), released by the Free Software Foundation on June 29, 2007, is the latest version of the most widely used "open source" license. It is based on the open source movement which is predicated on the "free" sharing of source code. Prominent free software programs licensed under the General Public License include the Linux kernel and the GNU Compiler Collection (GCC).

While the GPLv3 (like General Public License version 2 (GPLv2)) is a license which requires a person who conveys a covered work (either the original program subject to GPLv3 or a work based on the program) to also convey the machine-readable corresponding source code under GPLv3, the GPLv3 differs from the GPLv2 in a number of ways. The GPLv3 includes an express rather than an implied patent license in connection with the open source code being licensed. Additionally, the GPLv3 includes amendments designed to counter certain practices. The first practice is "tivoization", designing a product so that it fails if the user makes any changes to the open source code included in it. Section 11 of the GPLv3 is intended to counter the practice of using "discriminatory patent licenses". A patent license is "discriminatory" if it prohibits the exercise of, or is conditioned upon the non-exercise of, one or more of the rights granted under GPLv3.

It should also be noted that since the GPLv2 contains a clause which requires programs which incorporate code licensed under the GPLv2 to be licensed under the GPLv2, and the GPLv3 does the same, the licenses are incompatible. It is not possible to combine code licensed under the GPLv2 with code licensed under the GPLv3 within a single program.

No comments: