Random Thoughts..
Thursday, March 20, 2003
 
Basic Principles of Software Source Code Licensing
http://www.microsoft.com/resources/sharedsource/Articles/LicensingBasics.mspx

This document is designed to provide a fundamental understanding of current methods of software source code licensing. A few definitions of terms are necessary to begin this discussion.
"Software" is a program or set of programs that instructs computer equipment (or "hardware") to operate in a desired manner. "Source code" is the portion of a program's language that is written and read by humans, specifically, computer programmers (the other portion of the language, "object code," is read only by the hardware).
"Intellectual property (IP) rights" are ownership rights to property that is intangible (lacking any physical form), such as ideas, artistic concepts, and inventions. IP rights include such things as patents, copyrights, trademarks, and trade secrets. Other than the fact that it has no tangible form, IP is much like any other property. The author of source code owns the original ideas expressed in that code, just like a book author owns the original ideas expressed in that book, and can sell that ownership to someone else.
Owners of IP rights in source code, however, often choose to retain those rights, while allowing other parties to view and use the ideas expressed in that code by "licensing" the code. Licensing gives programmers incentive to develop new ideas by leaving them with ownership of the most valuable aspect of their labors�the IP. Licensing also makes programmers' ideas useful and practical, by allowing others to improve, modify, and combine those ideas in ways programmers, by themselves, cannot�such as by turning the ideas into products that businesses and consumers can use and afford. In this manner, licensing helps fuel the vigorous innovation and growth that has characterized the software industry for the past quarter-century.
There are several software development models, each with distinct benefits and drawbacks. Within each model, moreover, there are many types of licenses, also bearing specific advantages and disadvantages.
Commercial Software Development (CSD) Model
In this traditional model, the developer bears virtually all burdens and risks of converting original ideas into practical solutions, often investing heavily in research and development in hope of realizing a profit through sales of resulting software products and related support services. Source code access usually is limited (often to customers, partners, and academia), because the value for the developer lies in having unique knowledge of the source code. The CSD model has produced the lion's share of outstanding software over the years, particularly for most business and individual consumers who do not care to understand source code and who will pay modest premiums to leave such technical concerns to the developer.
The main benefit of the CSD model is that software users can rely on the expertise of a single entity which, driven by profit motive, has powerful incentive to make the software useful, cost-effective, reliable, legal, and compatible with other software and hardware. Users also can depend on the developer for support, service, and updates. For this reason, there are thousands of viable CSD companies employing millions of workers. The principal drawback of CSD is limited opportunity for outside programmers to advance the developer's innovations in new directions. In addition, if the developer decides that a project is no longer commercially viable or abandons it for other reasons, it is less likely that someone else will have the expertise to pick up the project and run with it. Finally, commercial software costs money to acquire.



Open Source Software (OSS) Model
In this model, the developer licenses the ideas embodied in its source code, at little or no cost, to anyone who cares to use them. Some OSS developers are programming enthusiasts driven by a desire for peer recognition or personal accomplishment rather than profit. Commercial OSS distributors, who cannot derive significant revenue from selling the software itself, seek to profit by selling things associated with OSS software: hardware that runs the software, non-OSS software that uses or works with the OSS software, support services and reference manuals for the software, and so forth. The OSS model also has produced outstanding software over the years, appealing more to programmers and companies that maintain their own programming departments, but less to ordinary users.
The main benefit of the OSS model is that it allows any programmer to advance the ideas of the original developer, and global "communities" of programmers do emerge to contribute to major OSS projects. Another obvious benefit is that there is little or no cost in obtaining OSS software, although training, service, and support costs may be higher over the life of the software. The principal drawback of OSS is that no single entity can be held responsible for individual contributions of a far-flung army of unrelated programmers. There also is the possibility that one version of an OSS program will not work properly, or at all, with other versions. In addition, it is not clear that the OSS model can sustain software companies over the long term.



'Free' Software and the GPL
A faction within the OSS community believes that commercial software is immoral and that nobody should hold IP rights in source code. This faction espouses the use of the GNU General Public License (GPL) to discriminate against all CSD. The GPL permits free use, modification, and redistribution of software and its source code by anyone, but also imposes three key restrictions on every licensee:

If the licensee distributes code licensed under the GPL, it must guarantee availability of the source code for the entire work for unlimited replication to anyone who wants it.

When the licensee distributes GPL code, it may not charge a licensing fee or royalty for the software, but may charge only for the cost of distribution.

If the licensee includes any amount of GPL code in another program, that entire program becomes subject to the terms of the GPL.

This third restriction often is called a "viral" clause, because it causes the GPL to "infect" any future software that incorporates GPL code, whether or not the developer intended that result. This even applies to software not in existence at the time the license was drafted. It should be pointed out that there are many OSS licenses, most of which do not include GPL-style restrictions and do not tell licensees how they must license their own innovations. This anti-commercial philosophy is rejected by much of the OSS community.



Shared Source Initiative (SSI)
In May 2001, seeking to garner the best aspects of both CSD and OSS, Microsoft launched its Shared Source Initiative, enabling it to make source code more broadly available to customers, partners, independent developers, researchers, students, and other interested individuals, while retaining the IP rights that are vital to sustain innovation within the software industry. The SSI is an evolving framework that supports a variety of licensing programs, each tailored to meet the source-code access needs of a specific constituent community.
Like the OSS model, the SSI uses broad-based licensing to foster the growth of global communities of software developers who, armed with Microsoft source code, are free to devise new solutions and implement their own innovations. By placing source code in the hands of universities throughout the world as a research and teaching tool, moreover, the SSI nurtures the vibrant software industry of the future.
Like the CSD model, the SSI rewards innovators for their research and development efforts by protecting their valuable IP rights in the source code they produce. By preserving this free-market incentive to labor for future rewards, programs like the SSI ensure that the software industry can sustain its unparalleled level of innovation and continue to fuel the global economy, while providing users access to source code.

Comments: Post a Comment

<< Home

Powered by Blogger