GnuProject in Linux

download GnuProject in Linux

of 19

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