GnuProject in Linux
-
Upload
harsh-sihotra -
Category
Documents
-
view
214 -
download
0
Transcript of GnuProject in Linux
-
8/2/2019 GnuProject in Linux
1/19
GNU PROJECTIN
LINUX
Submitted By:-B12,B16,B17
K1R01
-
8/2/2019 GnuProject in Linux
2/19
What is Linux
Linux is freely distributed implementation of a UNIX and isa kernel(the low-level core of an operating system). Because Linuxtakes the UNIX system as its inspiration, Linux and UNIX programsare very similar. In fact, almost all programs written for UNIX can becompiled and run on Linux.
LinuxwasdevelopedbyLinusTorvaldsattheUniversityofHelsinki,withthehelpofUNIXprogrammersfromacrosstheInternet.TheintentionisthattheLinux kernelwillnotincorporateproprietarycodebutwillcontainnothingbutfreelydistributablecode.
Linux is the kernel(The program in the system that allocates the
machine's resources to the other programs that we run).
-
8/2/2019 GnuProject in Linux
3/19
The GNU ProjectThe GNU Project is a free software, mass
collaboration project. The founding goal of theproject is, in the words of its initialannouncement, to develop "a sufficient body offree software to get along without any softwarethat is not free." To make this happen, the GNUProject began working on an operating systemcalled GNU ("GNU" is a recursive acronym thatstands for "GNU's Not Unix").
Current work of the GNU Project includessoftware development, awareness building,
political campaigning and sharing of the newmaterial.
-
8/2/2019 GnuProject in Linux
4/19
Goal Of GNU
The primary and continuing goal of GNU is to offer a Unix-
compatible system that would be 100% free software. Not 95% free,
not 99.5%, but 100%. The name of the system, GNU, is a recursive
acronym meaning GNU's Not Unixa way of paying tribute to the
technical ideas of Unix, while at the same time saying that GNU is
something different. Technically, GNU is like Unix. But unlike Unix,
GNU gives its users freedom.
-
8/2/2019 GnuProject in Linux
5/19
GNU AND LINUX
For Linux systems, additional programs that
provides system services and tools have been written by
many different programmers and have been freely
contributed. The Linux community supports the concept of
free software, that is, software that is free from restrictions,
subject to the GNU General Public License (the name GNU
stands for the recursive GNU s Not Unix). Although there
may be a cost involved in obtaining the software, it can there
after be used in any way desired and is usually distributed in
source form.
-
8/2/2019 GnuProject in Linux
6/19
History Of GNU ProjectRichard Stallman made the Initial announcementof the GNU
Project in September 1983 as an operating system which would be put
together by people working together for the freedom of all software
users to control their computing.
The name GNU was chosen because it met a few requirements; first, it
was a recursive acronym for GNU' s Not Unix, second, because it
was a real word, and third, it was fun to say (or Sing).
A longer version called the GNU Manifesto was published in March 1985.
It has been translated into several other languages.
Richard Stallman remains the Chief GNUisance today.
-
8/2/2019 GnuProject in Linux
7/19
GNU Software And GNU SystemDeveloping a whole system is a very large project. To bring it into reach,
GNU decided to adapt and use existing pieces of free software wherever that
was possible. For example, GNU decided at the very beginning to use TeX as
the principal text formatter; a few years later, GNU decided to use the X
Window System rather than writing another window system for GNU.
Because of this decision, 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 we can use because they are free
software.
-
8/2/2019 GnuProject in Linux
8/19
GNU Project Softwares
A few major examples of software from the GNU Project distributed under theGPL follow:
i) GCC: The GNU Compiler Collection, containing the GNU C compiler
ii) G++: A C++ compiler, included as part of GCCiii) GDB: A source codelevel debugger
iv) GNU make: A version of UNIX make
v) Bison: A parser generator compatible with UNIX yacc
vi) bash: A command shell
Vii) GNU Emacs: A text editor and environment
-
8/2/2019 GnuProject in Linux
9/19
Work History Of GNU Project
A Unix-like operating system includes a kernel, compilers, editors, text
formatters, mail software, graphical interfaces, libraries, games and many other
things. Thus, writing a whole operating system is a very large job. GNU team
started work in January 1984. The Free Software Foundation was founded in
October 1985, initially to raise funds to help develop GNU.
By 1990 Team had found and written all the major components
except onethe kernel. Then Linux, a Unix-like 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. The principal version of Linux now contains non-free firmware
blobs; free software activists now maintain a modified free version of Linux,
called Linux-Libre.
-
8/2/2019 GnuProject in Linux
10/19
Work Of GNU(2)However, the GNU Project is not limited to the core operating
system. We aim to provide a whole spectrum of software, whatever many users
want to have. This includes application software. See the Fee Software Directory
for a catalogue of free software application programs.
We also want to provide software for users who are not computerexperts. Therefore we developed a Graphical Desktop called GNOME to help
beginners use the GNU system.
We also want to provide games and other recreations. Plenty of Free
Games are already available.
The ultimate goal is to provide free software to do all of the jobs computer
users want to doand thus make proprietary software a thing of the past.
-
8/2/2019 GnuProject in Linux
11/19
GNU TASK LISTAs GNU Project proceeded, and increasing numbers of system components
were found or developed, eventually it became useful to make a list of the remaining
gaps. Team used it to recruit developers to write the missing pieces. This list became
known as the GNU Task List. In addition to missing Unix components, team listed
various other useful software and documentation projects that, according to GNU a truly
complete system ought to have.
Today, hardly any Unix components are left in the GNU Task Listthose jobs had
been done, aside from a few inessential ones. But the list is full of projects that some
might call applications.
Now GNU have a list of High Priority Projects, a much shorter list of projects we really
want to encourage people to write.
-
8/2/2019 GnuProject in Linux
12/19
The GNU HURDBy 1990, the GNU system was almost complete; the only major missing
component was the kernel. GNU had decided to implement their kernel as a collection
of server processes running on top of Mach. Mach was a microkernel developed at
Carnegie Mellon University and then at the University of Utah; the GNU Hurd is a
collection of servers (i.e., a herd of GNUs) that run on top of Mach, and do the various
jobs of the Unix kernel. The start of development was delayed as we waited for Mach to
be released as free software, as had been promised.
Reason for choosing this design was to avoid what seemed to be the hardest part of
the job: debugging a kernel program without a source-level debugger to do it with. This
part of the job had been done already, in Mach, and we expected to debug the Hurd
servers as user programs, with GDB.
-
8/2/2019 GnuProject in Linux
13/19
Linux And GNU/Linux
The GNU Hurd is not suitable for production use, and we don't know if itever will be. The capability-based design has problems that result directly from
the flexibility of the design, and it is not clear solutions exist.
Fortunately, another kernel is available. In 1991, Linus Torvalds developed
a Unix-compatible kernel and called it Linux. In 1992, he made Linux freesoftware; combining Linux with the not-quite-complete GNU system resulted in
a complete free operating system. (Combining them was a substantial job in
itself, of course.) It is due to Linux that we can actually run a version of the
GNU system today.
We call this system version GNU/Linux, to express its composition as a
combination of the GNU system with Linux as the kernel.
-
8/2/2019 GnuProject in Linux
14/19
Unexpected Developments
GNU was suppose to develop the whole GNU system, then
release it as a whole. That is not how it happened.
Since each component of the GNU system was implemented on a Unixsystem, each component could run on Unix systems long before a
complete GNU system existed. Some of these programs became
popular, and users began extending them and porting themto the
various incompatible versions of Unix, and sometimes to other
systems as well.
-
8/2/2019 GnuProject in Linux
15/19
Unexpected Developments(2)
The process made these programs much more powerful, and
attracted both funds and contributors to the GNU Project. But it
probably also delayed completion of a minimal working system by
several years, as GNU developers' time was put into maintaining
these ports and adding features to the existing components, rather
than moving on to write one missing component after another.
-
8/2/2019 GnuProject in Linux
16/19
The GNU Library GPL
The GNU C library uses a special kind of copyleft called the GNU
Library General Public License(1), which gives permission to link
proprietary software with the library.
Why make this exception?
It is not a matter of principle; there is no principle that says proprietary
software products are entitled to include our code. (Why contribute to a
project predicated on refusing to share with us?) Using the LGPL for theC library, or for any library, is a matter of strategy.
-
8/2/2019 GnuProject in Linux
17/19
Challenges In GNU Future
GNU have proved our ability to develop a broad
spectrum of free software. This does not mean we are invincible and
unstoppable. Several challenges make the future of free software
uncertain; meeting them will require steadfast effort and endurance,
sometimes lasting for years. It will require the kind of determination
that people display when they value their freedom and will not let
anyone take it away.
-
8/2/2019 GnuProject in Linux
18/19
Challenges In GNU Future1) Secret Hardware:-Hardware Manufactures have started to
keep their hardware specifications secret due to which it isgoing difficult to write free drivers.
2) NonFree Libraries:-Nonfree library that runs on free operatingsystems acts as a trap for free software developers. Library'sattractive features are the bait; using library will fall you in the
trap, because your program cannot usefully be part of free OS.
3)Software Patents:-software patents put algos and features offlimits to free software for upto twenty years. The LZWcompression algorithm patents were applied for in 1983, and westill cannot release free software to produce proper compressed
GIFs.
4) Free Documentations:-biggest deficiency in free operatingsystemsit is the lack of good free manuals that we caninclude in our systems.
-
8/2/2019 GnuProject in Linux
19/19
Thank You