CSC 379:Week 2, Group 2

From Expertiza_Wiki
Jump to navigation Jump to search

GNU General Public License

Overview

"Originally released in 1989, The GNU General Public License, often called the GNU GPL for short, is a software license used by most GNU programs, and by more than half of all free software packages." from the GNU web site The GPL was created by Richard Stallman who created the GNU project and a leader in the free software movement. Unlike more permissive licenses which place little restriction on the end use of covered products, the GPL contains specific restrictions and stipulations on GPL-licensed works. Among other things, the current GNU GPL (version 3) mandates...

  1. That GPL software may be sold for commercial or other profit purposes at any cost...
  2. That regardless of software cost, a copy of the software package's original source code must be made available for free when any binary versions of GPL software are being distributed...
  3. That if territorial law prohibits any of the stipulations in the GPL from being upheld, GPL software may not be distributed at all in that locality...
  4. That a copy of the GPL license be distributed in full with any distributed GPL works...
  5. That the source code of GPL-covered works may be freely compiled, copied, modified, or improved by anyone...
  6. That an executable program covered under the GPL may be reproduced freely by anyone...
  7. That any software which results from modification of GPL work, or of which GPL-covered source code is a portion, must be licensed under the GPL...
  8. That GPL-licensed software may not be cross-licensed by any means which would restrict the liberties and requirements set in place by the GPL (ie, by a corporate contract, or a more restrictive license)...
  9. That GPL-licensed software must not be run on a platform which prohibits the running of modified GPL software...
  10. That no warranty whatsoever be issued for GPL software...
  11. That works covered under any version of the GPL may be optionally covered under the newest version of the GPL as new versions of the license are released.

Discussion Questions

What is the impact of GPL use?

  • A developer that wishes to release their code free and open source can do so and not worry about future changes of their code ending up in none free propriety software by releasing their code under the GPL. Others can modify and change software to meet their needs, but any thing that is derived from GPL code must again be released under the GPL.
  • If a developer wishes to use some code from a GPL project in one of their own, they can not unless the new project will be licensed under the GPL. Some have criticized the GPL in acting like a virus, as it is inherently attached to anything that uses GPL code. A View as to why GPL should not be used
  • GPL and other open source code licenses allows for many more developers to look and and find bugs and make improvements to software than in proprietary software.
    • The many different distributions of the Linux operating system are the most popular examples of GPL-licensed work.
    • Firefox and OpenOffice.org are released under the LGPL or Lesser General Public License
    • The above and other GPL software packages have created more competition in the market. competition in a market is a good thing for the users, it drives prices down and forces faster innovation. This could be seen as a good ethical outcome of the GPL
  • An other good impact the GPL and other open source licenses have had is provided an abundance of code for educational use. I know myself and other that have used the code from GPL projects to learn, study, and see how things are done.

What are the ethical considerations for licenses like GPL that require their adoption if work licensed under it is incorporated into a parent work, with additional stipulations that include the acceptance of the most current version of the GPL license?

One of the most controversial aspects of the GPL is the so-called "copyleft" protection which it imposes. Contrary to copyright, which forcibly restricts an end user's right to reproduce or modify a covered work, copyleft protection, though the term itself has no official legal meaning, refers to licensing agreements which guarantee that the right to reproduce and modify a work is preserved, often across numerous individuals, modifications, and even independent uses of a product. In essence, copyleft protection is the contractual exclusion of the common rights of copyright. While the ethical issues of copyright are often and thoroughly discussed, the issues surrounding copyleft protection are much less frequently addressed, perhaps due to its lesser prevalence. While the most adamant proponents of copyleft protection might like it depicted as the solution for a free and open software market devoid of the injustices of copyright, copyleft protection has its own set of ethical dilemmas, independent of but not less significant than its better-known counterpart.
In the form present in the GPL license, copyleft protection stipulates that any modification of a GPL-covered work must also be covered under the GPL. However, it also stipulates that any work in which GPL-covered code is included must itself, in entirety, be licensed under the GPL. Thus, in theory, if a developer were to write a program containing several million lines of source code, and were to include a GPL-covered algorithm in ten such lines, then the entire program, not just the portion which had been previously covered by the GPL, would now be GPL software. As such, though the developer might have been planning to rely upon this product for his or her livelihood, and even though he or she independently created well over 99% of the program in question without any GPL code, he or she would now be forced to release all such code for free, and to allow for the free copying of the entire program. Thus, the GPL is ideal for initial developers of a program who wish to guarantee that their work remains free, readily improvable, and is not used for proprietary purposes in the future. For those who wish to contribute to future free software projects, too, the GPL provides a means of ensuring the intended use of software and libraries. However, in one sense, the GPL essentially renders all covered programs useless for any purposes related to profit. Though large corporations such as Red Hat have profited significantly off of GPL-licensed software, it is legitimately arguable that such profit is not from the software itself - which is freely available for download - but from the increased ease with which it can be rapidly distributed from Red Hat's installation media, or from the tech support which the company provides. Any programmer needing any guaranteed profit from a work is effectively barred from using any GPL-licensed code, as to do so would have a significantly negative impact on the author's ability to control reproduction of his or her work. Additionally, GPL projects may incorporate stipulations which require that, as the GPL is updated, the newest version of the license is automatically adopted.
Ethically, the implications of this copyleft phenomenon can be examined from a number of perspectives. For the end user, the right to freely redistribute and, with the right expertise, modify, improve, or customize software is a great improvement over purchasing a program and being required to use it in a limited fashion. For the developer, however, the advantages are more mixed. If the developer is starting on a project and wishes it to remain forever free to redistribute, then the GPL serves that function. Too, for the developer who wishes to improve upon a GPL project, the license ensures that his or her contribution will not be misused. For the developer implementing an existing or independent project with the help of any GPL code, though, the implications are much less positive. From this perspective, the restrictions which copyleft places on the developer are quite as restrictive as those which copyright places on the end user. While the developer of the GPL code should ethically have the right to decide how his code is used, the question becomes a bit more ambiguous when the language of the GPL is perused. Due to the conditions of the GPL, this developer is essentially given the right to forcibly dictate how another larger product is licensed if a GPL product is at all contributory. In effect, the developer who contributed the vast majority of the effort to his independent project loses the right to dictate his or her own license terms due to a perhaps trivial amount of GPL code. In such way, many have argued, the GPL dictatorially forces itself on developers. Additionally, if the GPL code included requires the adoption of newer license versions as they become available, then the developer, in including the GPL product in his own, essentially agrees to have distribution of the overarching product controlled by an open-ended licensing agreement, the stipulations of which are only temporarily known.
In essence, then, the GPL is an excellent for any software project released with the primary intention of benefiting the computing community. For any project in which profit is a must, however, it most likely should not be employed. The obvious, though unpleasant, solution is to The question of whether forced copyleft protection is ethical is one perhaps without a definitive answer. While the GPL developer has the right to determine how his code should be used and therefore should have the right to limit the use of his code in any proprietary project, the independent developer should likewise retain the right to determine the use of his code. However, this is not the case with the GPL. Whether this is an ethical stance depends entirely on whether the rights of the free-software or the proprietary-software developer are favored, and the question is therefore not a cut-and-dry issue with explicit right and wrong answers. The GPL, too, allows for profit, yet by requiring the release of source code, it restricts the potential to profit only to those unable or unwilling to build working working binaries of a program for themselves. It could be therefore said that the GPL does not in fact allow for profit, except from circumstances of ignorance or laziness, which few would consider ethical. If the free use of GPL code were truly the aim of the license, then some might say that more permissive terms, which allow for non-redistributable but still open-source projects, as well as for freely redistributable projects, are in order. Then, a developer could make the choice free of the duress of the current GPL conditions, and the code from the GPL would benefit end users either way, while a developer would retain the option of guaranteed profit on the use of his or her product.
In the ideal, projects which incorporated code licensed under the GPL would give both the GPL-covered author and the independent author concurrent power to decide the license terms of a product, each over the portion of the product for which each respective individual was the author. To this aim, the LGPL, or Lesser GNU Public License, was composed. Simplistically, code licensed under the LGPL may be used in independent for-profit products without instating the requirement that the entire overarching project be distributed for free. LGPL code may be included in a project as a linked library, and while the library itself must be treated in very similar fashion to a project licensed under the GPL, the license for the remaining independent project is left much more (though not entirely) to the discretion of the independent developer. Thus, the LGPL developer, unlike the GPL developer, is not given undue power over the product of the time and effort of the proprietary developer. The LGPL therefore exists as a compromise between the high-minded ideals of the GPL and the economic realities of society, in which even software developers must earn a living. This compromise addresses many of the issues considered possibly unethical surrounding the copyleft protection of the GPL. However, the intent of the GPL, to provide free and unrestricted access to software so that all can benefit and contribute, is in many opinions far more ethical than the profiteering schemes prevalent in much of the rest of the software market.


Linux Creator Calls GPLv3 Authors 'Hypocrites' As Open Source Debate Turns Nasty

An Examination of a Recent Related Event: The Microsoft/Novell partnership

Recently Microsoft partnered with their rival Novell, the makers of Suse Linux, in an effort to optimize virtualization for each other's operating systems, among other promised features. Since Suse Linux is covered under the GNU General Public License, this raised some unique concerns. GPL licenses specify that source code is available for free and can be freely modified and redistributed (given you adhere to the other stipulations of the GPL), however, Microsoft is paying a royalty to Novell to use and modify their products. Even though legally this agreement is valid, many developers who have contributed their work to Suse over the years with the understanding that it would be covered under the GPL feel betrayed by this and consider it a breach of the agreement.

Another ethical dilemma arises when one considers that the GPL agreement included patent protection for Novell customers only if Microsoft's intellectual property was discovered in Linux. However, Novell has not yet officially acknowledged that Linux infringes on Microsoft's patents.

Some argue that an agreement to make operating systems better optimized for one another as the demand for servers to run multiple operating systems increases can only be beneficial to customers, companies and the development community as a whole.

You can read more about the announcement, reactions and criticism at these external links: