First Unit
First Unit
Design: Again, the basic agenda after knowing the client requires to
prepare a design in which development will take place along with
the successful integration factor keeping in mind.
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.