Only relatively recently has intellectual property (IP) become a significant issue for software.
An Open Letter to Hobbyists
free software
open source
At the dawn of computing, software was developed by and shared among the small number of individual user/programmers. Copyright and licensing were not of importance.
As computers were commercialized, each hardware manufacturer developed an operating system, general utilities, and an assembler and perhaps compilers for their machines and gave it at no extra charge to customers who bought the hardware. Companies that bought computers then developed custom software in-house for their specific requirements, or contracted its development on a bespoke basis. Each software system was developed for a specific hardware platform, and except for the general software developed by the hardware manufacturer, for a single customer. Copyright and licensing were still not of particular importance; physical control of media (tape reels, primarily) sufficed for control of the software, and for much of it the only people who could run a program were the ones who were authorized to do so by virtue of having access to the hardware.
In general the users and developers of software were now different people.
The rise of high-level languages made source-code compatibility possible at least in concept, but this was not widely utilized until much later, in part due to the difficulty of automatically optimizing run-time performance. Two versions of a system for different platforms are source-code compatible if they are built from the same or nearly the same source code. Differences between what we would now term development environments and run-time environments on different platforms made porting source code a substantial task requiring expert practitioners through at least the 1990's for most platforms, and even today many systems (notably games) are not source-code compatible across platforms (but see Unix porting below).
The IBM System/360 became the first family of systems that were binary-code compatible, so that a program for one of the dozen or so IBM S/360 models could run on any other in the family (with a few well-defined exceptions) without recompilation. For the first time, software could be independent of its hardware platform.
Starting perhaps in the 1960's, general purpose software was developed by companies that were not hardware manufacturers. One author cites ADR (apparently no longer in existence) as the first company to do this, in 1965 Montague2008-vbos. This was perhaps the first point at which software licensing became significant; there was now an obvious incentive to make a second copy of a program rather than buying a second copy.
Software development companies selling software that could run on many different machines used licenses to control how copies of their software were paid for and distributed. In general only binaries were distributed.
Unix was developed from 1969 by a small group of developers at AT&T Bell Labs, initially just for their own use. It was originally written mostly in assembler for a PDP-7, then about the time of the first port of Unix (to a PDP-11) was rewritten in C, developed by the same group for easier porting. The developers achieved source-code compatibility for almost all of Unix on all platforms, so that a port to a new platform was done by first porting a tiny compiler for a C subset, written in assembler, then bootstrapping by recompiling the full compiler (written in that subset of C) with the tiny compiler, and then the rest of Unix with the full compiler. The software was organized into a small kernel interacting directly with the hardware, and hardware-independent libraries and commands.
Unix was used only within AT&T until the mid-1970's. In the interval from the 1958 antitrust settlement until the 1982 antitrust settlement under which AT&T was broken up, AT&T was forbidden to sell software and required to license any non-telephone software to anyone who asked; and Unix's developers quietly distributed tapes to anyone who asked. After the 1974 CACM article on Unix appeared, many people asked. It is not clear under what license this distribution was done.
An Open Letter to Hobbyists
In 1975 then-student Bill Gates, another student, and Paul Allen wrote a BASIC interpreter for the new Altair 8800 microcomputer made by MITS, and licensed it to MITS in exchange for royalties. Royalties were much lower than expected, apparently because Altair purchasers copied the interpreter. Gates wrote a widely-published letter equating copying with theft Gates1976-olh.
In contrast, and possibly in response,
Apple advertised that its BASIC interpreter was distributed free of charge,
and that Apple's philosophy was
to provide software for our machines free
or at a minimal cost
Apple1976-aifl.
The patentability of software was and continues to be controversial. Many argue that patent law is not applicable to software. Until recently few software patents were granted. An early one was the patent on the Unix set uid bit concept, applied for in 1972 and granted in Jan. 1979. The patent was later placed in the public domain, supposedly because AT&T judged the effort of collecting small fees from the hundreds of Unix licensees to be not worth the effort.
AT&T was broken up in the 1982 antitrust settlement and Bell Labs was finally allowed to sell software. It began to charge a substantial fee for Unix licenses, and the BSD Unix distributions managed by UC Berkeley were subject to this fee as well since they contained AT&T code.
The X project was started to develop
platform-independent bitmapped display software.
It was started at MIT to produce a successor
to the platform-specific W window system,
thus the name X
.
The X Window System was initially licensed for a fee,
but beginning with release X10R3 (1986)
it was distributed at no charge
(see The first OSS license
).
free software
In frustration that increasingly more software was distributed in binary form without access to source code, Richard Stallman quit his job at MIT in January 1984 to write free software, meaning not software given away but software for which users have the freedom to
This was the GNU Project. The first software from the project was GNU Emacs, and he supported himself by selling copies of the tape containing it (it was also available at no charge through ftp). Interestingly, GPLv2 still forbade charging a license fee but allowed charging a fee for physically giving a copy as Stallman had done (GPLv3 appears to allow license fees). He founded the Free Software Foundation in October 1985 in order to fund this work. Over time he and many contributors developed free (=freedom) implementations and extensions of the Unix libraries and commands, often more powerful than the originals.
Stallman wrote the Free Software Definition (summarized in the four points above) and the first version of the GNU General Purpose License (GPL) (discussed below).
The X project release X10R3 was distributed at no charge under what is now commonly known as the MIT (or X11) license. This appears to have been the first OSS license used.
The BSD project began moving toward a version of Unix
independent of AT&T's.
The port of 4.3BSD to the Tahoe
platform released in June 1988,
not widely distributed,
and the release of the BSD networking code in June 1989,
developed independently
and containing no AT&T code,
were released at no charge under the
first version of the BSD license.
The first version appeared of the GNU General Purpose License, the first copyleft license that uses copyright law to preserve and extend software freedom by preventing licensees from distributing the software or modifications of it under any less-free license.
The Linux kernel was developed from 1991 by an individual, Linus Torvalds, as an OSS implementation of the Unix kernel for Intel 386 processors. It was released through Feb. 1992 under its own license restricting commercial use, and thereafter under GPL.
The second version of GPL was published. GPLv2 is by far the most commonly used OSS license. Until August 2009 it was used for over half of all OSS projects, more projects than all other OSS licenses put together BlackDuckSoftware-t2mc.
The Free Software Foundation published the Lesser General Public License (LGPL) adapted specifically for software libraries. Works may link to LGPL-licensed software without having to be released under LGPL or GPL. The first version of LGPL was LGPLv2; there was no LGPLv1.
The Debian Project was founded in August 1993 to collect and distribute compatible releases of the Linux kernel and the GNU libraries and commands. The project created the Debian Social Contract, five promises the project fulfills, and the Debian Free Software Guidelines (DFSG), an influential list of ten characteristics of free software.
The Apache Software Foundation formalized the group of user/developers who enhanced and eventually recoded the public domain NCSA HTTP server distribution after the NCSA project stalled when the principal developer left in 1994. The first Apache release was in April 1995, under the Apache License 1.0, and a full rewrite was released a few months later, in August. The foundation was formed in June 1999.
open source
The Open Source Initiative (OSI) was founded in February 1998 by Eric Raymond and Bruce Perens as an advocacy organization for making open source business-friendly and businesses open-source-friendly. The term open source was coined during the meetings that led to OSI's creation, possibly in opposition to Stallman's free software. OSI derived its Open Source Definition, a list of ten criteria, from the earlier Debian Free Software Guidelines.
The Mozilla Organization was founded in 1998 to continue development of the Netscape browser, whose source code had been made public. The organization was formalized as the Mozilla Foundation in 2003, and the Mozilla Corporation was created in 2005 as a wholly owned subsidiary to handle revenue from the Firefox browser. Mozilla software has been released under the Mozilla Public License (MPL) version 1.0 and 1.1, with 2.0 currently under development, and presently is released under the Mozilla tri-license, with which the user chooses either MPL, LGPL, or GPL as the license governing that use of the software.
For many years the U.S. Patent and Trademark Office
had resisted issuing software patents,
but in the late 1970's and early 1980's
several suits protesting patent denials
were decided by the Supreme Court
in favor of the patent applicants,
and software and business process patents
became gradually more common.
The State Street
decision by the
U.S. Court of Appeals for the Federal Circuit,
the appeals court for patent cases,
upholding a software patent granted to Signature Financial Group
and contested by State Street Bank,
is widely viewed as having set off the current boom in
software patents.
The open source software code base arguably outpaced proprietary software during this decade. Researchers began to find evidence that virtually every software system contains some OSS, whether intentionally and openly, accidentally, or secretively added by developers in a hurry Gobeille2008-fp.
The Free Software Foundation (FSF) and other OSS organizations stepped up their suits against infringers; most cases have been settled out of court, with the infringers ceasing to infringe and in some cases paying damages.
Companies such as Black Duck Software were started to help software organizations identify OSS in their code. Software companies either work hard to keep OSS out of their software, or manage its inclusion and carefully satisfy their OSS license obligations.
Affero published the Affero General Public License (AGPL) adapted specifically for software that provides a service over the Internet or other connection, under which providing a software service imposes the same copyleft obligations as distributing the software does under GPL. Affero is a company with which one may post webpages, rate others' webpages, and make payments to webpage authors whose work one wishes to support. Affero later published AGPLv2 in Nov. 2007, and the Free Software Foundation published AGPLv3, extending GPLv3 to treat provision of a software service similarly with distribution of the software, in the same month.
It is more and more often the case that a single software system will contain code under two or more licenses. A prominent example is the UDK license for the Unreal Engine 3, a widely-used game development environment, containing text for or references to 25 distinct licenses for 27 cited components.
Corporations and governments are increasingly involved in OSS: IBM puts substantial resources into its Eclipse project, Red Hat and others operate on a business model in which companies pay them for help in setting up and using their OSS systems, the U.S. Department of Defense pursues software acquisition with the stated goal of increasing OSS and open architecture in its software, and many OSS contributors are paid by their employers to work on OSS projects.
The very few OSS license infringment cases that have gone to trial have resulted in judgements against the infringers.
Some companies maintain large staffs of lawyers
to apply for patents on everything possible that the company does;
other companies buy smaller companies for their patent portfolios.
Patent troll
companies buy patent rights
with no intention to use the patented processes,
only intending to sue others for infringement.
OSS foundations accumulate patent portfolios
to use defensively
against suits for infringement,
in a you sue me, I'll sue you
strategy.