Professional Documents
Culture Documents
Ost Final CH 1
Ost Final CH 1
You have the freedom to modify the program to suit your needs. (To make this freedom
effective in practice, you must have access to the source code.)
You have the freedom to redistribute copies, either gratis or for a fee.
You have the freedom to distribute modified versions of the program, so that the
community can benefit from your improvements.
Since “free” refers to freedom, not to price, there is no
contradiction between selling copies and free software. In fact,
the freedom to sell copies is crucial: collections of free software
sold on CD-ROMs are important for the community, and selling
them is an important way to raise funds for free software
development.
Richard Stallman made the Initial Announcement of the GNU
Project in September 1983. A longer version called the GNU
Manifesto was published in March 1985.
Developing a whole system is a very large project. To bring it into
reach, he decided to adapt and use existing pieces of free software
wherever that was possible. For example, he decided at the very
beginning to use TeX as the principal text formatter.
Because of this decision, and others like this, the GNU system is
not the same as the collection of all GNU software. The GNU
system includes programs that are not GNU software, programs
that were developed by other people and projects for their own
purposes, but which theycan use because they are free software.
In January 1984 he quit his job at MIT and began writing GNU
software.
Leaving MIT was necessary so that MIT would not be able to
interfere with distributing GNU as free software.
If he had remained on the staff, MIT could have claimed to own
the work, and could have imposed their own distribution terms,
or even turned the work into a proprietary software package.
He had no intention of doing a large amount of work only to
see it become useless for its intended purpose: creating a new
software-sharing community.
However, Professor Winston, head of the MIT AI Lab, kindly
invited me to keep using the lab's facilities.
He began work on GNU Emacs (a real-time display editor, as
its edits are displayed onscreen as they occur) in September
1984, and in early 1985 it was beginning to be usable. This
enabled me to begin using Unix systems to do editing
At this point, people began wanting to use GNU Emacs, which
raised the question of how to distribute it?
He put it on the anonymous ftp server on the MIT computer that
he used and that computer became the principal GNU ftp
distribution site.
But at that time, many of the interested people were not on the
internet and could not get a copy by ftp.
He said, “Find a friend who is on the net and who will make a
copy for you.” Or he could have done what he did with the
original PDP-10 Emacs: tell them, “Mail me a tape and a SASE
(self-addressed stamped envelope), and I will mail it back with
Emacs on it.”
But I had no job, and I was looking for ways to make money from
free software. So I announced that I would mail a tape to whoever
wanted one, for a fee of $150. In this way, I started a free software
distribution business, the precursor of the companies that today
distribute entire GNU/Linux system distributions.
Is a program free for every user?
If a program is free software when it leaves the hands of its author,
this does not necessarily mean it will be free software for everyone
who has a copy of it.
For example, public domain software (software that is not
copyrighted) is free software; but anyone can make a proprietary
modified version of it. Likewise, many free programs are
copyrighted but distributed under simple permissive licenses which
allow proprietary modified versions.
The paradigmatic example of this problem is the X Window System.
Developed at MIT, and released as free software with a permissive
license, it was soon adopted by various computer companies. They
added X to their proprietary Unix systems, in binary form only, and
covered by the same nondisclosure agreement. These copies of X
were no more free software than Unix was.
Copyleft and the GNU GPL
The goal of GNU was to give users freedom, not just to be
popular. So they needed to use distribution terms that would
prevent GNU software from being turned into proprietary
software. The method they use is called “copyleft.”
Copyleft uses copyright law, but flips it over to serve the
opposite of its usual purpose: instead of a means for restricting
a program, it becomes a means for keeping the program free.
The central idea of copyleft is that we give everyone
permission to run the program, copy the program, modify the
program, and distribute modified versions— but not permission
to add restrictions of their own. Thus, the crucial freedoms that
define “free software” are guaranteed to everyone who has a
copy.
For an effective copyleft, modified versions must also be free.
This ensures that work based on ours becomes available to our
community if it is published.
When programmers who have jobs as programmers volunteer to
improve GNU software, it is copyleft that prevents their employers
from saying, “You can’t share those changes, because we are going
to use them to make our proprietary version of the program.”
A related issue concerns combining a free program with nonfree
code. Such a combination would inevitably be nonfree; whichever
freedoms are lacking for the nonfree part would be lacking for the
whole as well.
But, anything added to or combined with a copylefted program
must be such that the larger combined version is also free and
copylefted.
The specific implementation of copyleft that they use for most
GNU software is the GNU General Public License, or GNU GPL
for short.
By 1990 they had either found or written all the major
components except one—the kernel. Then Linux, a Unix-like
kernel(The program in a Unix-like system that allocates machine
resources and talks to the hardware is called the “kernel.”), was
developed by Linus Torvalds in 1991 and made free software in
1992. Combining Linux with the almost-complete GNU system
resulted in a complete operating system: the GNU/Linux system.
So, GNU is typically used with a kernel called Linux.
The GNU Linux project was started to create a Unix-like
operating system created with source code that could be copied,
modified, and redistributed.
According to the GNU Linux project, the Linux operating
system's kernel is Linux but all other elements of the system are
GNU.
GNU/Linux is used by millions, though many call it “Linux” by
mistake.
GNU is aimed initially at Motorola 68000 machine with virtual
memory.
Free Software Foundation
As interest in using Emacs was growing, other people became involved in
the GNU project, and they decided that it was time to seek funding once
again.
So The Free Software Foundation was founded in 1985 as a non-profit
corporation supporting free software development, with the organization's
preference for software being distributed under copyleft. It continued
existing GNU projects.
From its founding until the mid-1990s, FSF's funds were mostly used to
employ software developers to write free software for the GNU Project.
Since the mid-1990s, the FSF's employees and volunteers have mostly
worked on legal and structural issues for the free software movement and
the free software community.
Most of the FSF's income used to come from sales of copies of free software
and of other related services (CD-ROMs of source code, nicely printed
manuals), and Deluxe Distributions (distributions for which we built the
whole collection of software for the customer's choice of platform).
The FSF is also the steward of several free software licenses,
meaning it publishes them and has the ability to make revisions as
needed.
Today the FSF still sells manuals and other gear, but it gets the
bulk of its funding from members' dues. Anyone can join the FSF
at fsf.org.
Free Software Foundation employees have written and maintained
a number of GNU software packages. Two notable ones are the C
library and the shell. The GNU C library is what every program
running on a GNU/Linux system uses to communicate with
Linux. It was developed by a member of the Free Software
Foundation staff, Roland McGrath. The shell used on most
GNU/Linux systems is BASH, the Bourne Again SHell [5], which
was developed by FSF employee Brian Fox.
The FSF holds the copyrights on many pieces of the GNU system,
such as GNU Compiler Collection. As holder of these copyrights,
it has the authority to enforce the copyleft requirements of the
GNU General Public License (GPL) when copyright
infringement occurs on that software.
Free Software Support
The free software philosophy rejects a specific widespread business
practice, but it is not against business.
When businesses respect the users’ freedom, they wish them success.
Selling copies of Emacs demonstrates one kind of free software business.
When the FSF took over that business, Richard Stallman needed another
way to make a living. He found it in selling services relating to the free
software he had developed. This included teaching, for subjects such as
how to program GNU Emacs and how to customize GCC, and software
development, mostly porting GCC to new platforms.
Today each of these kinds of free software business is practiced by a
number of corporations. Some distribute free software collections on CD-
ROM; others sell support at levels ranging from answering user
questions, to fixing bugs, to adding major new features. Free software
companies based on launching new free software products has started to
emerge.
Importance of Communities in Open Source Movement
“The Program” refers to any such program or work, and a “work based
on the Program” means either the Program or any derivative work
under copyright law: that is to say, a work containing the Program or a
portion of it, either Exact or with modifications and/or translated into
another language. Each licensee is addressed as “you”.
To “modify” a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of
an exact copy. The resulting work is called a “modified version” of the
earlier work or a work “based on” the earlier work.
“Licensees” and “recipients” may be individuals or
organizations.
Affero General Public License, Published by Affero, Inc. in GNU General Public License,
version 1 March 2002 version 2 (GPLv2).
GNU Affero General Public Published by the Free Software GNU General Public License,
License, version 3 Foundation in November 2007 version 3 (GPLv3).
Affero General Public License
Both versions of the AGPL were designed to close a
perceived application service provider "loophole" (the "ASP loophole")
in the ordinary GPL, where by using but not distributing the software,
the copyleft provisions are not triggered. Each version differs from the
version of the GNU GPL on which it is based in having an additional
provision addressing use of software over a computer network. The
additional provision requires that the complete source code be made
available to any network user of the AGPL-licensed work, typically
a Web application.
The FSF contemplated including the special provision of AGPLv1 into
GPLv3 but ultimately decided to publish a separate license. The new
license was dubbed the GNU Affero General Public License, the
retention of the Affero name indicating its close historical relationship
with AGPLv1.
The GNU AGPL was given version number 3 for parity with the GPL,
and the current GNU Affero General Public License is often
abbreviated AGPLv3. The finalized version of AGPLv3 was published
by the FSF on November 19, 2007.
Apache License
The Apache License is a free software license authored by the Apache
Software Foundation (ASF). The Apache License requires preservation of
the copyright notice and disclaimer. Like any free software license, the
Apache License allows the user of the software the freedom to use the
software for any purpose, to distribute it, to modify it, and to distribute
modified versions of the software, under the terms of the license, without
concern for royalties.
All software produced by the ASF or any of its projects or subjects is
licensed according to the terms of the Apache License. Some non-ASF
software is also licensed using the Apache License.
The ASF adopted the Apache License 2.0 in January 2004. The stated
goals of the license included making the license easier for non-ASF
projects to use, improving compatibility with GPL-based software,
allowing the license to be included by reference instead of listed in every
file, clarifying the license on contributions, and requiring a patent license
on contributions that necessarily infringe a contributor's own patents.
Artistic License
This license establishes the terms under which a given free
software Package may be copied, modified, distributed,
and/or redistributed. The intent is that the Copyright Holder
maintains some artistic control over the development of that
Package while still keeping the Package available as open
source and free software.
You are always permitted to make arrangements wholly
outside of this license directly with the Copyright Holder of a
given Package. If the terms of this license do not permit the
full use that you propose to make of the Package, you should
contact the Copyright Holder and seek a different licensing
arrangement.
Permission for Use and Modification Without Distribution
(1) You are permitted to use the Standard Version and create and
use Modified Versions for any purpose without restriction, provided
that you do not Distribute the Modified Version.
Permissions for Redistribution of the Standard Version
(2) You may Distribute verbatim copies of the Source form of the
Standard Version of this Package in any medium without
restriction, either gratis or for a Distributor Fee, provided that you
duplicate all of the original copyright notices and associated
disclaimers. At your discretion, such verbatim copies may or may
not include a Compiled form of the Package.
(3) You may apply any bug fixes, portability changes, and other
modifications made available from the Copyright Holder. The
resulting Package will still be considered the Standard Version, and
as such will be subject to the Original License.
Distribution of Modified Versions of the Package as Source
(4) You may Distribute your Modified Version as Source (either gratis or
for a Distributor Fee, and with or without a Compiled form of the
Modified Version) provided that you clearly document how it differs from
the Standard Version, including, but not limited to, documenting any non-
standard features, executables, or modules, and provided that you do at
least ONE of the following:
◦ (a) make the Modified Version available to the Copyright Holder of the
Standard Version, under the Original License, so that the Copyright Holder
may include your modifications in the Standard Version.
◦ (b) ensure that installation of your Modified Version does not prevent the user
installing or running the Standard Version. In addition, the Modified Version
must bear a name that is different from the name of the Standard Version.
◦ (c) allow anyone who receives a copy of the Modified Version to make the
Source form of the Modified Version available to others under
i. the Original License or
ii. a license that permits the licensee to freely copy, modify and redistribute the
Modified Version using the same licensing terms that apply to the copy that
the licensee received, and requires that the Source form of the Modified
Version, and of any works derived from it, be made freely available in that
license fees are prohibited but Distributor Fees are allowed.
Distribution of Compiled Forms of the Standard Version or Modified
Versions without the Source
(5) You may Distribute Compiled forms of the Standard Version without
the Source, provided that you include complete instructions on how to get
the Source of the Standard Version. Such instructions must be valid at the
time of your distribution. If these instructions, at any time while you are
carrying out such distribution, become invalid, you must provide new
instructions on demand or cease further distribution.
Aggregating or Linking the Package
(7) You may aggregate the Package (either the Standard Version or
Modified Version) with other packages and Distribute the resulting
aggregation provided that you do not charge a licensing fee for the
Package. Distributor Fees are permitted, and licensing fees for other
components in the aggregation are permitted. The terms of this license
apply to the use and Distribution of the Standard or Modified Versions as
included in the aggregation.
(8) You are permitted to link Modified and Standard Versions with other
works, to embed the Package in a larger work of your own, or to build
stand-alone binary or bytecode versions of applications that include the
Package, and Distribute the result without restriction, provided the result
does not expose a direct interface to the Package.
Items That are Not Considered Part of a Modified Version
(9) Works that merely make use of the Package, do not, by
themselves, cause the Package to be a Modified Version. In
addition, such works are not considered parts of the Package
itself, and are not subject to the terms of this license.
Creative Commons license
A Creative Commons license is one of several public
copyright licenses that allow the distribution of copyrighted
works.
A Creative Commons license is used when an author wants
to give people the right to share, use, and even build upon a
work that they have created. CC provides an author
flexibility (for example, they might choose to allow only
non-commercial uses of their own work) and protects the
people who use or redistribute an author's work, so they
don’t have to worry about copyright infringement, as long as
they abide by the conditions the author has specified.
As of July 2011, Creative Commons licenses have been
"ported" to over 50 different jurisdictions worldwide.