SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Open Source Software
 An Overview and Outlook

    Author: Jean-Pierre Messager


          English Translation:
       TransPerfect Translations

   Technical Editor, English Version:
         Frank L. Schmidt, Jr.


         1-800-843-8733
        www.learningtree.ca




      ©2007 Learning Tree International. All rights reserved.
LEARNING TREE INTERNATIONAL             White Paper


                          C O N T E N T S


    1. Introduction . . . . . . . . . . . . . . . . . . . .1           1. Introduction
           1.1 Definition of Free Software . . . . . . . 1
                                                                       1.1 Definition of Free Software
           1.2 Licenses. . . . . . . . . . . . . . . . . . . . . . 2
                                                                       The omnipresence of information technology has made
           1.3 A Brief History Lesson . . . . . . . . . . . 3          the notion of software familiar to nearly everyone. Without
                                                                       really being able to define it, we are all in contact with
    2. Systems . . . . . . . . . . . . . . . . . . . . . . .4
                                                                       this abstract concept on a daily basis. Software is what
           2.1 Architecture and Integration. . . . . . . 4             makes our personal computers useable, makes our tele-
           2.2 The Linux Kernel: Characteristics                       phones work, enables us to view and publish information
           and Future Developments . . . . . . . . . . . 5             on the Internet, to communicate with correspondents,
           2.3 GNU/Linux Distributions . . . . . . . . . 6             to store and process information in businesses and
                                                                       governments, to listen to music or watch films, and the
    3. Development Environments . . . . . . . .9                       list goes on and on. Although you cannot use it with-
           3.1 GCC . . . . . . . . . . . . . . . . . . . . . . . . 9   out hardware, software is also independent to a certain
                                                                       extent, since it can function on different computers, be
           3.2 Scripting Languages . . . . . . . . . . . . . 9
                                                                       added, removed and copied, for example.
           3.3 Java and .NET . . . . . . . . . . . . . . . . . 9
                                                                       Information technology that is referred to as “proprietary”
    4. Free Software in a Network . . . . . . .10                      treats software like a product, the use of which is leased,
           4.1 Infrastructure . . . . . . . . . . . . . . . . . 10     most often—but not always—through a commercial
                                                                       exchange that limits the possible uses (often) and the
           4.2 Web Services . . . . . . . . . . . . . . . . . 11
                                                                       possibility of reviewing, modifying and copying the
           4.3 Other Internet Services . . . . . . . . . 12            software (always).
    5. The Workstation . . . . . . . . . . . . . . . .12               Free software is defined rather simply by the complete
           5.1 Graphical Environments . . . . . . . . 12               freedom that its authors offer to those who receive it.
                                                                       Simply imagine anything you could do to, or base on, a
           5.2 Office Software . . . . . . . . . . . . . . . 14
                                                                       software program. That is the complete definition of
           5.3 The Internet and Communication . . 15                   what is meant by free software:
           5.4 Multimedia . . . . . . . . . . . . . . . . . . 15
                                                                         1. Freedom to use the software, regardless of the
    6. Resources. . . . . . . . . . . . . . . . . . . . .16                 purpose, context or who you are.
                                                                         2. Freedom to examine how the software works,
    About the Author . . . . . . . . . . . . . . . . .17                    down to the smallest detail. This implies that
                                                                            access to its source code (what its authors wrote) is
                                                                            granted, not just what enables it to run on a given
                                                                            system (its object code).
                                                                         3. Freedom to modify the software (which also
                                                                            implies having access to its source code) and to use
                                                                            the improved, extended, integrated version in the
                                                                            functioning of another software program.
                                                                         4. Freedom to redistribute a copy of the software
                                                                            in its original or modified form, as well as any soft-
                                                                            ware derived from it (contrary to a widespread myth,
                                                                            this is never an obligation). This freedom can be
                                                                            exercised by giving it away, making it available for
                                                                            downloading, integrating it into hardware, or by
                                                                            selling it.




1-800-843-8733 • www.learningtree.ca
                                                                          Open Source Software: An Overview and Outlook              1
©2007 Learning Tree International. All rights reserved.
1-800-843-8733 • www.learningtree.ca                          LEARNING TREE INTERNATIONAL            White Paper



 Some of the points in this definition may be surprising,      One last common misconception is that copies of free
 such as the freedom of use, as many people believe this       software cannot be distributed commercially. Actually,
 applies to all software. However, there are examples to       everyone, not only the original authors, is granted
 the contrary, such as some kinds of freeware (a term          permission to distribute the software commercially.
 often confused with “free software” where “free” is           It is also completely acceptable for the original free
 meant as in “free speech”) which, if free of charge, can      software or a modified version to be sold.
 be used only in an academic or scholastic context.
                                                               1.2 Licenses
 This is not considered to be free software. In fact, access
                                                               Without getting into too much legal detail, this funda-
 to the source code for freeware is rarely granted. Access
                                                               mental aspect of the freedom to redistribute copies of
 to a software program’s source code (which explains
                                                               the software allows us to categorize free software, or
 the term “open source software” which may be used
                                                               rather the legal licenses that accompany them, into
 in place of “free software,” emphasizing access to the
                                                               two major groups:
 source code instead of freedom) makes it possible to
 both examine the software and develop variations on             • Licenses that apply to all copies of the original
 it, which would make no sense, of course, if it were not          or modified software
 explicitly permissible to use those variations.                 • Licenses that allow for the distribution of the
 One widespread myth concerns a redistribution                     original or modified software according to other
 obligation that allegedly applies to any variations devel-        terms (for example, not granting the freedoms
 oped. In addition to the fact that this would not make            cited above)
 any sense (at what stage of modification would one be         It is important to remember that the software licensing
 obligated to redistribute it?), the simple right to privacy   terms are freely determined by the people who hold
 ensures the use of free software, whether or not it has       the copyrights to them. Often forgotten, this means
 been modified, without having to notify anyone.               “the right to copy” and not necessarily a “restriction
 We should, however, take a closer look at the last            on copying” by the authors of the original software
 point of this definition. It is the driving force behind      (developers, publishers, companies, or governments,
 the development of free software, which promotes              etc.). The first type of license requires that any redis-
 knowledge sharing and encourages cooperation                  tribution of the original or derived software must be
 among users and developers, whether or not they               carried out according to the same terms. In particular,
 are programming specialists, without obligation.              it completely preserves the right to access the source
 The motivation for participating in this knowledge            code and grants the related freedoms that enabled the
 exchange (since software is, first and foremost,              original software to be modified in the first place. The
 information) is probably best explained by the                second type allows for the distribution of proprietary
 fundamental principles of this movement:                      software (meaning software for which at least one of
                                                               the freedoms listed above is not offered).
    • Philosophical motivations: People prefer to
      live in a world of communication rather than             Although the details might seem complicated, it is
      a world of secrets.                                      important to note that a user is not directly concerned
    • Political motivations: Within the context of an          by any particular limitation, even if he uses a modified
      institution, for example, the free use of software       version of the software. Likewise, a distributor—such
      enables those governed to communicate with               as a publisher or the manufacturer of equipment that
      their government with full confidence.                   includes the software, for example—who decides to
    • Commercial motivations: The software that is             preserve the terms of distribution of a derived soft-
      at the heart of a company’s business will be used        ware program (only mandatory for the first group of
      more than if it were distributed with limitations,       licenses) does not have to worry about any legal issues.
      and will thus gain more value.                           This is, in fact, an extremely common situation.
    • Industrial motivations: Efforts and costs are            Clearly, the first group of licenses offers greater
      shared by the parties involved, who improve the          guarantees of the continued existence of the software.
      software and correct its errors and security flaws.      It is less likely to be fragmented into variations with




©2007 Learning Tree International. All rights reserved.
                                                               Open Source Software: An Overview and Outlook           2
1-800-843-8733 • www.learningtree.ca                           LEARNING TREE INTERNATIONAL           White Paper



functionalities that are difficult to reintegrate into a      Until the end of the 1970s, information technology
single software program and that might have become            was dominated by large, very costly systems reserved
incompatible (“forks”). However, the second group             for use by major organizations (such as banks,
of licenses offers an advantage when it comes to              insurance companies and central governments), and
promoting compatibility with formats or exchange              these systems were completely incompatible with one
protocols. In this way, their use is promoted in              another. In fact, software was often free for most of
completely proprietary software, therefore also               the terms we have mentioned, mainly because user
promoting the interoperability between free and               requirements made it inconceivable for the supplier
proprietary software, as well as among proprietary            not to provide the source code for quality control and
software programs. This is exactly how TCP/IP, the            adaptation purposes. In addition, the redistribution
network protocol of the Internet, has grown.                  of copies only really made sense for the supplier, who
The software we will examine here will have various           was very willing to redistribute it.
types of licenses, mostly belonging to the first group,       At the beginning of this same decade, at AT&T’s Bell
but there will also be many examples of software              Laboratories, Kenneth Thompson and Dennis
distributed through licenses in the second group. The         Ritchie created, from scratch, the first UNIX operating
typical representatives of these two groups are:              system. It emphasized simplicity, modularity,
  ü The GPL (GNU General Public License) which,               and portability of both the system itself and its
    using a conservative estimate, applies to 60% of          applications. (This is why Ritchie would develop, with
    what forms a “Linux system.”                              Brian Kernighan, the programming language C). It
                                                              turned out that, due to anti-trust legislation, AT&T
  ü The BSD (Berkeley Software Distribution) license,
                                                              did not have the right to pursue commercial activities
    which applies to free UNIX BSDs, as well as many
                                                              in the field of information technology. Instead they
    network utitilities.
                                                              used the UNIX system internally and pursued its
One last note here on what is meant exactly by derived        development, freely allowing anyone who asked for it
software: It must import a significant portion of the         to obtain the UNIX software and its source code.
source code of a software program to be in this category.
Simply juxtaposing free software with other software          At the time, aside from a few major companies, the
in distribution (e.g., archive, CD-ROM, DVD), or even         type of mini-computer (we were not yet talking about
installing them jointly, is not what is meant by “derived     micro-computers) capable of running this system
software,” so it is perfectly legitimate. There are very      only existed at universities, where it spread rapidly for
few limitations on distribution rights, compared to the       operational or scientific research needs, but especially
usual practices of proprietary software. Also, in the event   for research and development on the operating systems
of a violation, there is no risk of criminal penalties for    themselves. For over a decade, the development of
“piracy”—only a loss of distribution rights, subject to a     UNIX was distributed between AT&T and several
resolution of the problem (by publishing the source           universities, in particular the University of California,
code and the software according to the proper terms).         Berkeley. Later, AT&T’s UNIX became a commercial
                                                              product, while Berkeley’s version continued to be dis-
1.3 A Brief History Lesson                                    tributed freely.
Free information technology has existed for as long as        In 1984, Richard Stallman was a computer scientist
information technology has existed. The phenomenon            at the Massachusetts Institute of Technology (MIT). His
only appears to be new, because the fantastic dissemi-        ideas were encouraged by the kind of cooperation that
nation of computers in businesses and homes has also          enabled the development of UNIX, and by the growing
brought about a sharp rise in proprietary software in         irritation he felt encountering more and more software
the last two decades. In fact, this popularization of         that he was unable to correct or improve, not for tech-
information technology tools has accelerated the              nical but for legal reasons. He decided to launch the
development of free software since the end of the 1980s.      GNU project:




©2007 Learning Tree International. All rights reserved.
                                                               Open Source Software: An Overview and Outlook              3
1-800-843-8733 • www.learningtree.ca                       LEARNING TREE INTERNATIONAL            White Paper



  ü Its objective: To write a full system (operating       2. Systems
    system, tools and applications) that was free,
    in the sense that it offered all the freedoms listed   2.1 Architecture and Integration
    above. He wanted these freedoms to be guaran-          As we have seen, “GNU/Linux” is a system largely
    teed by a software distribution license (and not       based on UNIX architecture, the model for most
    only by some nonspecific form of tolerance).           operating systems (including Microsoft Windows),
  ü GNU is an acronym for “GNU’s Not UNIX,”                especially regarding its modularity.
    a subtle way to affirm being a UNIX system even        What was not usual was the combination formed
    if unrelated to the heritage of legacy UNIX. It is     to create a complete software system from various
    pronounced somewhat like the word “new”.               autonomous origins: the Linux (or other!) kernel,
  ü UNIX was chosen as a model because it was              GNU and other tools, graphics management (X11),
    well thought out, it was simple and modular,           desktop environments (Gnome, KDE), network
    several of its components were already free, and       servers, applications, and others. The strong standard-
    it was well known to a broad community of              ization of programming interfaces in the UNIX world
    programmers.                                           eliminated most concern about how the ensemble
                                                           would function.
Shortly thereafter, Richard Stallman created the
Free Software Foundation to promote and support
this project and free software in general.

In 1991, the GNU system was complete, except for
one noteworthy part: its heart, its “kernel.” (This is
the part of a system that manages the hardware
and distributes resources among applications.) The
GNU system was also very popular as a working
and developing environment on proprietary UNIX
systems. A Finnish student, Linus Torvalds, devel-
oped—at first as a hobby—a functional kernel with
the contributions of several hundred developers
who communicated over the Internet.
The combination of this kernel developed with GNU
tools, and of the application environment of the GNU                 Architecture of a GNU/Linux system
project, gave rise to the GNU system planned by                           (and most UNIX systems)
Stallman. What everyone now calls “Linux” should
more fairly be called “GNU/Linux.”                         What remained to be done was a thorough integra-
At the same time, over the next fifteen years, the         tion making it possible to deploy the system within a
development of the Internet would not only provide         reasonable timeframe and provide the tools necessary
this system with new, important free software              to manage updates, administration and security over the
(such as Web servers, e-mail, communication, etc.),        long term. This is the burden of all operating systems,
but also the infrastructure that allowed its users         which are also often comprised of a large number of
and developers to continue their work. In fact, it         third-party components. The major difference here is
was no accident that the success of free software          that it was possible to have several contributors
accompanied the popularization of the Internet             involved as integrators. These are the distribution
in the university spheres, and then among                  publishers.
companies, governments and individuals.




©2007 Learning Tree International. All rights reserved.
                                                           Open Source Software: An Overview and Outlook             4
1-800-843-8733 • www.learningtree.ca                       LEARNING TREE INTERNATIONAL              White Paper



Fragmentation and the resulting incompatibilities
that might have been a concern never occurred,            What hardware is supported?
because the distributors worked using software            To access a given piece of hardware, an operating
from combined development efforts, (almost)               system must have drivers that are able to communicate
always published all their specific tools, and their      with it. In the case of Microsoft Windows, these drivers
common interest was maximum interoperability.             are often written by the hardware manufacturer, or
Some of these publishers were commercial                  by Microsoft (who has information provided by the
companies; others were not.                               manufacturer), or through a collaboration between
                                                          them. For free operating systems, and Linux in
A commercial company that offers a completely,
                                                          particular, there are some different scenarios:
free system is not required to provide images of its
installation media, or even the binary code for the         • The manufacturer may publish the source code
                                                               for a driver for Linux under a license permitting its
software it is distributing, as a free download. Strict        inclusion into all distributions without any problems.
compliance with the licenses only requires that
                                                            • The manufacturer may publish or provide the
the company provide the source code for the free               specifications of its hardware, upon request, thus
software provided to customers, and that it must not           allowing external developers to write a driver
claim to limit said customers’ rights. All significant         under a free license.
distributions, even commercial distributions, take          • The manufacturer may provide a binary driver,
this even further by publicly offering a download              without its source code (it is therefore not free,
of the source code for all their software and by               even if it is available for download at no charge).
licensing their specific tools into free software.          • The manufacturer may provide nothing at all
Before we present an overview of these distributions,          and may refuse to reveal the specifications of
we are going to take a closer look at the basis of             its hardware.
a GNU/Linux system: the Linux kernel. What is             The first two situations, which are by far the most
referred to as the user space consists of a large         common, result in the hardware being supported by
number of software applications that provide              the kernel without annoyance to the user. However,
network services (e.g., Web, e-mail, remote access,       sometimes a lag occurs between the release of the
etc.), as well as the working environment (both in        hardware on the market and the release of a production
console mode and in graphic mode) for a developer         driver.
or a user. These topics will be addressed in the          The latter two scenarios are problematic. A non-free
chapters below.                                           driver, even when offered at no charge, will certainly
                                                          make the hardware function, but often on only a
2.2 The Linux Kernel: Characteristics                     subset of the architectures supported by Linux (Intel
    and Future Development                                32-bit certainly, AMD 64-bit often, and others almost
An operating system’s kernel is its base. First, it       never). Even in this case, the user must accept the
accesses the hardware (disks, network interfaces,         presence in the most critical part of the system (the
peripherals) on behalf of the applications and            kernel) of a “black box” that few developers have been
utilities. Second, it distributes a certain number of     able to examine and improve, and which can only be
resources (memory, CPU’s execution time) among            updated by a single entity.
the tasks, and among users. This special position         In fact, it is notable that these drivers are often of a
implies that it manages the first steps of system         less-than-average quality and present real stability
startup, as well as data access control and security.     problems. Moreover, no third-party company can
It is therefore an essential component, even though       provide in-depth support with this type of unknown
it is generally small in size compared to all the         variable in the system. This concerns only a small
software installed.                                       percentage of hardware, even if it does include the
                                                          3D management of a few high-end consumer graph-
The Linux kernel is the unique result of the work
                                                          ics cards. The last scenario (no information) generally
of several thousand programmers over a period
                                                          leads to a complete lack of any driver. This can be
of about fifteen years. It is in its sixth generation     the case for relatively low-end hardware, such as RTC
(currently 2.6) since Version 1.0.                        software modems and WiFi USB controllers.




©2007 Learning Tree International. All rights reserved.
                                                           Open Source Software: An Overview and Outlook                5
1-800-843-8733 • www.learningtree.ca                       LEARNING TREE INTERNATIONAL             White Paper



The philosophy of its designers (above all, Linus          A similar strategy is “paravirtualization,” which
Torvalds) combines necessity with pragmatism.              requires the modification of virtual machines hosted
On one hand, the kernel must contain everything            on systems’ kernels (an operation that is obviously
that structurally cannot be put elsewhere (drivers,        |easy when the systems are free). The solution offered
memory management, multitasking), as well as               by Xen, based on a resource monitor above which
certain functions that could be implanted in the           several Linux systems can operate, is already being
user space (network protocols, firewall, file systems),    deployed in industrial settings. One last possibility is
most often for performance reasons. In the end, a          to extend the Linux kernel so that it has environ-
compromise is struck between the meticulousness            ments partitioned to several groups of applications
necessary to ensure a stable, maintainable system          (“containers”). New developments spring up all
and efficiency.                                            the time!
From the very earliest versions, the characteristics       One last field worth mentioning is real time, which
of the Linux kernel have been those featured in            is often critical in test or measurement information
modern operating systems:                                  technology, where Linux can already be used in its
  ü Multiple platform (e.g., Intel 32- and 64-bit,         traditional versions. However, when time constraints
    PowerPC, SPARC, ARM, etc.)                             are very tight or very strict, it may be necessary to
  ü Preemptive multitasking with dynamic priorities        modify the system to take them into account at the
                                                           lowest level. An initial idea, consisting of running the
  ü Static priorities (soft real time)
                                                           Linux kernel itself as a specific task of a real-time
  ü Virtual memory management, including hard              kernel (RTLinux, RTAI, Xenomai), has resulted in
    disk pagination                                        active developments for several years and has attracted
  ü Support for many native file systems (e.g., ext3,      the interest of the industrial sector. Another approach
    XFS, JFS and others) or foreign file systems           makes it possible to include real-time characteristics
    (e.g., FAT, NTFS, HFS, etc.)                           more easily in a traditional kernel, which also benefits
  ü TCP/IP, routing, IPSec, firewall, and quality of       more traditional uses of Linux (high server availability,
    service (QoS) management                               acquisition, and multimedia transmission).
  ü “Plug-and-play” support, peripheral hot
    plugging (USB, Firewire, PCI, etc.)                    2.3 GNU/Linux Distributions

Besides the characteristics that made the Linux            When installing a GNU/Linux system, the user or
Kernel successful and are very similar to what other       system administrator interfaces with a distribution, or
systems offer (UNIX or others), the Linux kernel has       finished product, available on a CD-ROM or a DVD,
seen many innovations, many offering improved              which includes the Linux kernel, the GNU environ-
performance and flexibility. Most of these were the        ment, and much more. The quality of a distribution
result of the availability of its source code, enabling    depends not only on the quality of the software
many academic and industrial research teams to use         included, but also on:
it as a basis.                                               ü A judicious selection of software programs
                                                               offered and their versions
One very active field is virtualization, the objective
of which is to make systems function as autonomously         ü Intensive quality testing
as possible on a single physical machine. This is how        ü The flexibility of the installation program
several instances of different operating systems (Linux,     ü The simplicity and efficacy of the administration
Microsoft Windows, etc.) can run simultaneously. One           and configuration tools
very well-known product that is not free is VMware,          ü The software maintenance tools: installation
which, in its server version, is based on a mini Linux         of supplementary software, updates, etc.
system. Similar free software does exist: QEmu and           ü The possibility of applying critical patches
Virtual Box. Very recently, KVM (Kernel Virtual                without risk
Machine) infrastructure was introduced into the kernel
                                                             ü Procedures for reporting problems
to take advantage of the extensions of the new Intel
and AMD processors in this field.                            ü Relevant, updated documentation




©2007 Learning Tree International. All rights reserved.
                                                           Open Source Software: An Overview and Outlook               6
1-800-843-8733 • www.learningtree.ca                        LEARNING TREE INTERNATIONAL             White Paper



Not all of these points are of equal importance. This      One of the most interesting characteristics of most
depends on whether you are a system administrator,         distributions is the presence of sophisticated
a developer familiar with Linux or UNIX, or a work-        software installation and update management
station user. In one decade, we have seen distributions    tools. Experience has shown that GNU/Linux
and software evolve and improve to meet the needs of       distributors have gone further than most proprietary
the first group, as well as those of the last group.       systems to streamline the day-to-day and long-term
                                                           management of installed software.
Among the most common distributions in the
industry are Red Hat, Debian and SuSE. Others that         Whether with Red Hat/SuSE/Mandriva (RPM
are or were variations of the first two are also very      [Red Hat Package Manager] system) and especially
common, such as Mandriva and Ubuntu. Without as-           with Debian and its derivatives, each file of the
sessing their quality, less common distributions are of-   system and each application is installed through
ten specifically intended for members of a specialized     what is called a package, which includes a lot of
audience or for specific uses (such as system repair or    information on the software (versions, dependencies,
for installation on low-end machines), including Gen-      files, etc.), making it possible to validate and auto-
too, Kubuntu, Xubuntu, and Slackware, among others.        matically resolve any problem involving interactions
Red Hat offers its distribution exclusively through        between components (presence of libraries/DLL
graduated service contracts (from the workstation to       and their versions, conflicts, version changes, etc.).
the high-availability server), which does not prevent
                                                           In practice, if a given software program must be
quasi-clones, like CentOS from appearing (since all
                                                           installed, and if it is available in the form of a package
the software comprising it is free). Fedora, a distribu-
                                                           on your distribution site (Debian offers more than
tion developed in cooperation with a large community,
                                                           fifteen thousand packages), all you have to do is type
is available for download and is used as a test bench
                                                           a single command or click on a single button to install
for Red Hat.
                                                           it. If other software must be installed or updated to
The situation is similar with SuSE, developed and          do this, it will be installed or updated automatically.
distributed by Novell, which also offers the               This is also true, to a large extent, for entire system
OpenSuSE distribution for download.                        updates.
As for Debian, it is the result of work performed
by volunteer developers working through a non-
commercial organization. It has an excellent reputation
among professionals. Debian has become the basis for
most new Linux distributions, and word has spread
outside of the traditional Linux world of networks
and systems, such as Knoppix or Ubuntu.




©2007 Learning Tree International. All rights reserved.
                                                           Open Source Software: An Overview and Outlook                7
1-800-843-8733 • www.learningtree.ca                           LEARNING TREE INTERNATIONAL            White Paper




                  Automatic Software Installation with the Synaptic Tool Available for Debian and Ubuntu


   Other Free Systems                                              Embedded Computing
   The GNU-Linux combination is not the only free                  We talk about embedded computing as a
   system. Arising from the historic UNIX of UC                    computer system that is often designed for
   Berkeley, there are also three very reputable UNIX              a precise use. This is a situation that is just
   systems in the networking world (TCP/IP was                     as common for multimedia equipment as
   created originally on BSD):                                     it is for a WiFi access point, an industrial
      • FreeBSD, which is intended for the same                    process control system, or even a telephone
        general uses as GNU/Linux                                  or a PDA.
      • NetBSD, which emphasizes portability on                    Free systems have numerous advantages in
        several architectures                                      this context:
      • OpenBSD, which emphasizes security                            • Easy to adapt to new architecture
   All the popular applications of Linux are available                  (if it has not already been done)
   on these systems, both on the server end and for                   • No royalties to pay to a third-party
   the workstation. Many tools that are considered to                   publisher
   be key on GNU/Linux, like network utilities or the                 • Readily available development
   SSH secure remote access server, come from BSD,                      environment and applications
   and Open BSD in particular.                                        • Ability to modify them to give them
   Another UNIX system that used to be proprietary,                     a low memory imprint
   Solaris by SUN Microsystems, has become free.                      • Real-time capabilities
   Solaris 10 can thus be downloaded or obtained upon
   request for PC or SPARC architecture, and its source            In fact, GNU/Linux (and BSD) operate on
   code is available. A plan known as Nexenta is in                many kinds of network, multimedia, tele-
   the works, to combine the OpenSolaris kernel and                communications, and industrial process
   the GNU environment in the form of a variant of                 control equipment.
   the Ubuntu distribution. Perhaps soon, alongside
   GNU/Linux, there will also be GNU/Solaris?




©2007 Learning Tree International. All rights reserved.
                                                               Open Source Software: An Overview and Outlook
1-800-843-8733 • www.learningtree.ca                       LEARNING TREE INTERNATIONAL             White Paper



3. Development Environments                               also for developing effective processing applications for
                                                          data of various origins and formats, graphics tools, Web
3.1 GCC                                                   applications, and more.
At first, developers of free software tried to create     Among the most popular are Perl, which is unbeatable
environments that would enable the creation of new        for textual data processing, and Python, which is ideal
software: systems—as we have seen—and before              for learning programming, has a very disciplined
those, development tools.                                 structure, and is adapted both to major projects and
The C programming language and its descendants            to small tools. The Ruby and PHP languages must also
were the initial focus of developers, since most          be mentioned.
operating systems (beginning with UNIX and Linux)         All of these have libraries that enable them to
and their utilities are written in C. The C compiler      interface easily with UNIX and Windows systems,
of the GNU project, known as the GNU C Compiler,          networks, databases, directories, the Internet, and
quickly became the GNU Compiler Collection, since         more. It is possible, using these languages, to quickly
it was not long before it also handled additional         develop complex applications that function just as
languages, such as C++, Objective C, ADA, etc., and       well on GNU/Linux, UNIX, Mac OS X and Microsoft
now also include the more recent Java.                    Windows.
GCC is essential for developing system applications       PHP Hypertext Processor stands out from this group.
or other applications on GNU/Linux or BSD, on             Originally designed for small Web applications, it is
other UNIX systems, and even on Microsoft                 now in its fifth generation, is adapted for much
Windows. It is one of the compilers that handles          larger-scale projects, and is also used to run forums
the most target architectures (many more than Intel       for associations, company intranets, and even the
and Intel-compatible processors) and different            Yahoo! portal.
languages. It is easily portable and is well supported
by its developers and by manufacturers for producing      3.3 Java and .NET
optimized code for the most recent variations of
                                                          Java, designed by SUN Microsystems, and .NET,
processors, such as 32- or 64-bit Intel or AMD
                                                          designed by Microsoft, are highly integrated, very rich
processors.
                                                          development infrastructures, based on virtual machines
GCC comes with a debugger (gdb), which is                 running above the operating system. They offer
capable of interfacing with integrated development        complete project management environments.
environments (such as Kdevelop and Anjuta) and
several performance analysis tools to identify the        The long-awaited headline event of 2007 was the
critical parts of a program. The sophisticated XCode      complete release as free software by SUN of the
development environment (not free), provided by           source code of its Java virtual machine. The Java
Apple with Mac OS X, is based on GCC.                     world was familiar with free software for a long time,
                                                          through thousands of free libraries and applications,
3.2 Scripting Languages                                   and free development environments such as Eclipse
                                                          by IBM. Until recently, though, the heart of Java, its
Beyond the traditional UNIX scripting languages
                                                          top-notch virtual machine, was still not free; it was
(Bourne Shell, C Shell, KornShell) for which free
                                                          only usable at no charge. SUN’s entire Java develop-
implementations exist which administrators of Linux,
                                                          ment and deployment environment is now free.
UNIX, and even Windows (with the free software
cygwin or Microsoft SFU) systems use every day,           The effects of this change will likely be minor at first.
more evolved languages are becoming very popular          At least Java will be much more easily integrated
on all of these platforms. They are invaluable for        into GNU/Linux and BSD distributions. Eventually,
system and network administration, of course, but         we can expect to see better Java support in GCC, a




©2007 Learning Tree International. All rights reserved.
                                                          Open Source Software: An Overview and Outlook               9
1-800-843-8733 • www.learningtree.ca                     LEARNING TREE INTERNATIONAL             White Paper



convergence of various competing free virtual machines,   4. Free Software in a Network
improved support for embedded computing in Java, and
better performance in general.                            4.1 Infrastructure
                                                          TCP/IP was developed and became widespread
.NET, besides being a (not free) product of Microsoft,
                                                          because its communication protocols were public,
is the specification of an architecture, a set of
                                                          their design was the result of general collaboration,
standardized programming interfaces, and a family
                                                          and the software that implemented it was published
of languages, including C#, which is close to the
                                                          under free licenses. This is why we saw all systems,
Java philosophy.
                                                          free or not free, adopt it, and the Internet, as well as
The Mono project implements this standardized             intranets, become widespread all over the planet.
architecture and strives for complete compatibility
                                                          Software that runs a TCP/IP network is completely
with the reference version from Microsoft. Today,
                                                          integrated into the free GNU/Linux and BSD
Mono is compliant with .NET 2.0 specifications,
                                                          operating systems. It is a place where, for the past
except for a few partially implemented elements,
                                                          decade, free software has had no trouble
such as Windows.Forms (planned for the end of
                                                          establishing itself as a reliable, inexpensive
2007). Work on the transition to Version 3.0 of .NET
                                                          and effective solution.
is already underway. A compiler that is completely
compatible with Visual Basic.NET was recently             Linux and BSD have advanced features in terms of
announced.                                                access control and security:
                                                            ü Routing, filtering, and network traffic monitoring:
                                                              firewall, fault analysis and reporting
                                                            ü Security gateways: IPSec and other virtual
                                                              private network protocols
                                                          As for applications on which the proper functioning
                                                          of even a heterogeneous network relies, we can list
                                                          free software programs that are often considered to
                                                          be the best in their respective categories:
                                                            ü The domain name server BIND
                                                            ü The DHCP server from the ISC
                                                            ü Several LDAP directory servers, among them
                                                              OpenLDAP
                                                            ü NFS Version 3 or 4 for file sharing between
                                                              UNIX systems
                                                            ü CUPS for printing services
           A .NET application running with Mono           These software programs make it easy to deploy a
                      on GNU/Linux                        homogenous network of UNIX or Linux systems.
                                                          Microsoft Windows systems use different protocols.
                                                          The Samba software suite speaks these protocols,
                                                          with performance levels that are sometimes superior
                                                          to those reached by Windows. It is thus possible for
                                                          a Linux system to be:
                                                            ü NetBIOS authentication server or client
                                                            ü NetBIOS domain controller
                                                            ü Active Directory authentication client
                                                            ü File sharing server or client
                                                            ü Printing service server or client




©2007 Learning Tree International. All rights reserved.
                                                          Open Source Software: An Overview and Outlook              10
1-800-843-8733 • www.learningtree.ca                     LEARNING TREE INTERNATIONAL              White Paper



In short, Samba can do everything Windows can             Naturally, it implements all the functionalities
do in a network in a transparent manner. It is still      necessary to provide Web services both on the
missing one important functionality: the ability to       Internet and in intranets, including:
replace an Active Directory domain controller. This is      ü Virtual hosting of numerous Web sites on
already possible on an experimental basis with the            a single server
Samba development version, which should be
officially validated as stable in 2007.                     ü Running CGI programs
                                                            ü Embedded scripting languages
                                                              such as PHP, Perl, Python, etc.
                                                            ü Server authentication and data encryption
                                                              (SSL)
                                                            ü User authentication
                                                              (flat files, DBM bases, LDAP)
                                                            ü Proxy and URL rewriting




 A heterogenous network with GNU/Linux
         and Microsoft Windows

4.2 Web Services
According to statistics from Netcraft, Apache is                          Apache Architecture
the most widely used Web server on the Internet
(nearly 60%). It is the result of the development         Web applications, among others, often rely on a
of one of the first Web servers, NCSA HTTP Server.        relational database with which they communicate
This explains where the name “Apache” comes               using the SQL language. The most widespread
from: Over ten years ago, it was a simple set of          database server, particularly for the Web, is MySQL.
patches on top of a NSCA server, transforming it          Designed to improve raw performance at the
into a “patchy server”, which eventually became           expense of certain functionalities, MySQL is starting
the “Apache Web Server.”                                  to position itself as the best alternative to proprietary
Since then, the Apache Foundation has been                RDBMS (Relational Database Management System)
established that directs the development of this          by offering advanced functionalities such as stored
strategic software for all Internet users, as well as     procedures or clustering.
for other projects, such as the Tomcat Java
                                                          Another free RDBMS, PostgreSQL, aims to
application server. At the heart of Web infra-
                                                          satisfy the most demanding users and developers
structure, Apache continues to evolve. It is
                                                          by offering these functionalities since its first versions
now in its third generation (2.2 after 1.3 and
                                                          (it is in its eighth generation) while covering most of
2.0) and is still compatible with multiple platforms
                                                          the SQL 92 standard.
(UNIX, Linux and Windows).




©2007 Learning Tree International. All rights reserved.
                                                          Open Source Software: An Overview and Outlook                11
1-800-843-8733 • www.learningtree.ca                      LEARNING TREE INTERNATIONAL             White Paper



4.3 Other Internet Services                               5. The Workstation
A multitude of free server software programs
                                                          5.1 Graphical Environments
covers all Internet protocols. They are often, as
for the Web, the top products in terms of compliance      The software architecture of the graphical interface for
with standards, performance, security and reliability.    all current UNIX systems, whether free or not, is similar.
                                                          The display and the input devices (keyboard, mouse,
E-mail, for example, was created with the free            tablet, etc.) are managed by a display server (known as
software sendmail, which remains a common                 an “X11 server”) on which are displayed a number of
component in many UNIX systems. The relative              clients that are the components of the graphical desk-
complexity of its configuration made mail servers         top as well as the applications themselves.
that were more easily administrated, such as Exim
and Postfix, very popular.                                This makes it possible to directly display graphical
                                                          applications running on various machines (possibly
All of these servers use smart filters against
                                                          from different systems) on a single desktop. Thus,
unsolicited e-mail, like SpamAssassin, or against
                                                          a workstation (applications and display on the same
viruses (which mainly pertain to systems that are
                                                          machine) can be installed just as easily as a thin client
not free but that it is good to detect downstream)
                                                          giving access to applications running on applications
such as Clamav.
                                                          servers where most, if not all, software is installed. It
To conclude, the following are a few of the top free      is also easy to display the desktop of a Linux or BSD
products for some services, among many others:            system on a Windows machine, since the most wide-
  ü Proftpd and vsftpd for FTP file transfer              spread free implementation of X11 (X.org) has been
  ü Jabber for instant messaging                          ported to Microsft Windows (Xming or cygwin).

  ü VNC for multiplatform GUI remote access               What will determine the look and feel of a graphical
                                                          desktop will be a set of applications such as the
  ü SQUID as an HTTP and FTP proxy
                                                          window manager (which draws the borders and man-
    (cache, filtering and authentication)
                                                          ages their movement), the file manager, and various
                                                          panels (also known as the “taskbars”). The most
                                                          popular desktop environments are Gnome (GNU
                                                          Object Model Environment) and KDE (Kool Desktop
                                                          Environment). All GNU/Linux distributions offer both.
                                                          Most of them, however, have chosen Gnome as the
                                                          default environment. In fact, nothing prevents you
                                                          from having applications from both environments
                                                          cohabitating on a single desktop, due to the presence
                                                          of the X11 server. The developers of both projects
                                                          also work together to ensure that their software is
                                                          compatible.
                                                          The level of ergonomics reached by these two
                                                          environments is comparable to those of top proprietary
                                                          systems in the field (Apple Mac OS X and Microsoft
                                                          Windows). Over the past few years, new ideas have
                                                          been conceived in the world of graphical interfaces
                                                          that take advantage of the power of recent hardware.
                                                          In this field, free systems are not lagging behind. On
                                                          the contrary:




©2007 Learning Tree International. All rights reserved.
                                                          Open Source Software: An Overview and Outlook               12
1-800-843-8733 • www.learningtree.ca                                       LEARNING TREE INTERNATIONAL           White Paper



  ü Novell and Red Hat proposed two parallel technolo-                      composition manager, such as Compiz or Beryl, offer
    gies to improve ergonomics with various effects:                        the following, among other effects:
    XGL and AIGLX. These two technologies are com-                           ü A virtual desktop system that is distributed
    patible; they differ mainly in their communication                         over the surfaces of a cube;
    with graphics drivers.                                                   ü A mechanism for quickly scaling windows
  ü Various research teams, including the one working                          so that they can all be seen at the same time
    on the Metisse project at INRIA [French National                           (similar to the exposé feature on Mac OS X);
    Institute for Research in Computer Science and                           ü Transparency management.
    Control], used Linux and X11 to imagine new ways                        Everything functions without any problems on
    to organize the applications’ “widgets.”                                machines that are not cutting edge, with low-end
Mandriva integrated Metisse into its 2007 version.                          graphics cards and low-powered processors.
XGL and AIGLX technologies are quickly becoming                             The rapid development around these technolo-
stable enough to be offered as the default on certain                       gies, and the general enthusiasm that they incite,
distributions such as SuSE or Ubuntu. XGL and AIGLX,                        lead us to believe that we have not seen
in cooperation with a particular window manager or                          everything yet...




                                                   A 3D vision of desktops and windows on AIGLX




©2007 Learning Tree International. All rights reserved.
                                                                           Open Source Software: An Overview and Outlook          13
1-800-843-8733 • www.learningtree.ca                                    LEARNING TREE INTERNATIONAL            White Paper



 5.2 Office Software
 OpenOffice.Org is certainly the most well-known                             specifications of major calls for proposals in the
 free office suite, which functions just as well on                          industry. Proprietary office suites may no longer
 Windows, Mac OS X, UNIX or Linux. In its Version 2,                         be able to afford to leave it out.
 it is largely comparable to Microsoft Office, exchanges
                                                                           ü MS Office 2003 uses OpenXML, a data format
 documents rather well with Microsoft Office, and is
                                                                             based on XML, as its default which Microsoft
 even more advanced in certain other aspects, such as
                                                                             wants to standardize.
 the default use of an open, standardized data format
 based on XML.                                                           Among developments we should expect in
 Although there remain some partial incompatibilities                    OpenOffice, in addition to the further improvement
 with respect to Microsoft Office data formats, things                   of interoperability with proprietary formats, is the
 are developing in the right direction:                                  integration of a multilingual grammar check.
                                                                         Currently, only the spell check is multilingual.
    ü Microsoft and Novell are working together to
      improve the interoperability of the two suites                     OpenOffice is not the only free office suite. KDE and
      (they still have to clarify their positions regarding              Gnome have been working for a long time and are
      a few patents).                                                    now offering stable products which, although less
    ü The Open Document format of OpenOffice is an                       complete than OpenOffice, are lighter: KOffice for
      ISO standard and is starting to be required in the                 KDE and the pair Abiword+Gnumeric for Gnome.




                                                OpenOffice.Org and Abiword on a Gnome desktop




©2007 Learning Tree International. All rights reserved.
                                                                        Open Source Software: An Overview and Outlook             14
1-800-843-8733 • www.learningtree.ca                       LEARNING TREE INTERNATIONAL             White Paper



5.3 The Internet and Communication                          5.4 Multimedia
If a free software program can be said to have made         Let us begin by debunking a myth, which is certainly
fantastic progress, it is the Mozilla Firefox Web           a relic from a bygone era: It is possible, without any
browser. In just two years, it has become the browser       problem, to save your CDs in MP3 format (or even
of approximately 20% of users, and is even more             better, Ogg Vorbis) and listen to them, synchronize
popular in continental Europe. These percentages            your portable player, watch a DVD and DivX, and
reflect mostly Windows users. For Linux users,              even design your own using your vacation videos,
the number is certainly closer to 80%. The broad            on GNU/Linux.
success of Firefox, regardless of the system used, is
                                                            There are many software programs that can be used
easy to explain:
                                                            for this, and some of them are just as well known on
  ü Ease of browsing with tabs                              proprietary systems. We will list just a few:
  ü High level of security                                    ü gthumb and The GIMP for managing photos
  ü Compliance with the WWW Consortium’s                        and images (equivalent of Adobe Photoshop)
    (W3C) HTML standards                                      ü XMMS, Audacious or RhythmBox for managing
  ü Many extremely useful extensions                            and listening to music
    (advertisement and flash blocker, privacy                 ü GRIP or Sound Juicer for saving CD audio
    protection, etc.)
                                                              ü MPlayer, VLC, Gstreamer or Xine for
The future of the Internet seems to be headed toward            watching films
applications with rich interfaces (AJAX). Firefox has         ü Kino and Avidemux for importing, manipulating
a strong advantage in this respect with its XUL infra-          and creating your own films
structure (pronounced “zool”), which makes it easier
to build Web pages with developed graphical elements          ü Ekiga for using telephony and video conferencing
(WYSIWYG tables and fields, among others).                      over the Internet
                                                            As for video games, we cannot compare Linux to the
In application suites from the Mozilla series, we           most well-known platforms, even if Linux could be
must also mention the e-mail client Thunderbird,            installed on XBox or PlayStation; however:
which also runs on multiple platforms and is a serious
competitor of its proprietary alternatives. This appeals      ü Free games of all types exist, as does free
to the general public, like Firefox, and for similar            educational software
reasons.                                                      ü A few major game titles for “PC” are available
Another e-mail client worth taking a look at is                 for Linux (such as Quake and Doom)
Evolution. Now developed mainly under the direction           ü The more seasoned gamer may be happy to
of Novell, it allows Linux and UNIX users, in                   run free versions of Quake, the excellent
addition to reading and writing e-mail, to manage               (and free) flight simulator Flight Gear, and
a daily planner and address book, both individually             most of the major game titles for “PC” through
and collaborating within a group.                               the (non-)emulator Wine.

In the field of group work, multiple-platform               However, music and movie lovers may be disappointed
solutions exist, but the main pitfall remains compat-       at first when they install a distribution of GNU/Linux.
ibility with Microsoft Exchange or with Microsoft           It is likely that they won’t immediately be able to hear
Outlook. OpenExchange and OpenGroupware server              MP3s, or read DVDs or other kinds of video. Strangely
software, as well as special connectors for client tools,   enough, this type of “out-of-the-box” Linux system
may eventually make it possible to achieve better           has no problem playing the less popular, high-quality
interoperability and, therefore, smoother transitions.      Ogg and Theora audio and video formats.




©2007 Learning Tree International. All rights reserved.
                                                            Open Source Software: An Overview and Outlook          15
1-800-843-8733 • www.learningtree.ca                      LEARNING TREE INTERNATIONAL            White Paper



What is the difference? Well, it is purely legal…         6. Resources
and does not directly concern the inhabitants
of all countries. Many multimedia formats are             Linux and Open Source News Sites
protected by software patents, a notion that is           Linux Weekly News: www.lwn.net/articles
foreign to people in Europe, but that prevents            Slashdot: www.slashdot.org
GNU/Linux distributors from offering us the
libraries that make it possible to read them on
their installation medium. On the other hand,             Free Software Directories and Repositories
it is completely legal to add these libraries             Freshmeat: www.freshmeat.net
later, just as easily as any other software, over         SourceForge: www.sourceforge.net
the Internet.
                                                          Savannah GNU software repository: savannah.gnu.org
What is even more disturbing is that some
formats are protected by encryption against
copying (digital rights management or DRM),               Free Software Fundation
which has the perverse effect of making it                www.fsf.org
impossible for software for which the source              www.fsfeurope.org
code is public, to read them. In the most
extreme versions, these processes tend to make
                                                          Embedded Systems and Real-Time Computing
it impossible to read anything as soon as non-
locked software or hardware is present. As for            Linux Devices: www.linuxdevices.com
DVDs, protections have been bypassed for a
long time by teenagers, but installing a library          Perspectives on Free and Open Source Software
that allows it is not legal everywhere (it is in
                                                          http://mitpress.mit.edu/catalog/item/default.
Europe), so again it must be installed over
                                                          asp?ttype=2tid=11216
the Internet.
The time it takes to download these few files
                                                          Open Sources: Voices from the
provides a good opportunity to think about the
                                                          Open Source Revolution
implications of these systems (which, after
multimedia, are starting to be used for office            Dircted by Chris DiBona
applications) designed to make it difficult, or           http://www.oreilly.com/catalog/opensources/
                                                          book/toc.html
even impossible, to enjoy one’s own data and to
give an external organization more power over
computer systems than their owners have.                  GNU/Linux Distribution Sites
For the same uses, for each of these inconvenient         www.redhat.com
formats, there is always a documented, open,
                                                          www.debian.org
non-patented format that is managed by free
software.                                                 www.ubuntu.com
                                                          www.opensuse.org
                                                          www.mandriva.com
                                                          www.gnusolaris.org (Nexenta)
                                                          www.openbsd.org
                                                          www.freebsd.org
                                                          www.netbsd.org




©2007 Learning Tree International. All rights reserved.
                                                          Open Source Software: An Overview and Outlook         16
1-800-843-8733 • www.learningtree.ca                                        LEARNING TREE INTERNATIONAL          White Paper



About Learning Tree International                                                About the Author

Learning Tree International is a leading worldwide                               Jean-Pierre Messager
provider of vendor-independent training to managers                              Independent Consultant on
and IT professionals in business and government                                  Open SourceTechnology
organizations. Since 1974, over 1,700,000 course                                 jpm@xiasma.net
participants from over 13,000 organizations worldwide
                                                                                 A former mathematics and computer science
have enhanced their skills and extended their knowledge
                                                                                 teacher and researcher, and then an engineer
under the guidance of expert instructors with real-
                                                                                 for an open source software service company,
world experience. Learning Tree develops, markets and
                                                                                 Jean-Pierre Messager is an independent
delivers a broad, proprietary library of instructor-led
                                                                                 consulting engineer on free information
courses focused on the latest information technologies,
                                                                                 technology (network, security and computing)
management practices and key business skills.
                                                                                 and is a Learning Tree course author and
Learning Tree International annually trains over                                 instructor on the topics of UNIX, Linux and
87,000 professionals in its Education Centers around                             Free Software, as well as Web Development.
the world. Learning Tree also provides training in a
number of additional cities and on site at customer
locations in 26 countries. For more information
                                                                                 About the Editor
about Learning Tree products and services, call
1-800-THE-TREE (1-800-843-8733), or visit our                                    Frank L. Schmidt, Jr
Web site at www.learningtree.ca                                                  schmidtf@att.net

                                                                                 Frank Schmidt has worked as a system
                                                                                 administrator in UNIX for over 20 years, and
                                                                                 in Linux for over 10 years. He is an independent
                                                                                 computer consultant who has worked for
       Atlanta              Los Angeles                   Boston   Chicago       Learning Tree International as an instructor,
                                                                                 course author, and technical editor.



   Washington, DC           New York City             Toronto      London




        Paris                  Ottawa                Stockholm      Tokyo




©2007 Learning Tree International. All rights reserved.                      Open Source Software: An Overview and Outlook          17
WP Open Source 0706Final CN

Contenu connexe

Similaire à Open Source Software, An Overview And Outlook

Similaire à Open Source Software, An Overview And Outlook (20)

Nt1330 Unit 4.3 Assignment 1
Nt1330 Unit 4.3 Assignment 1Nt1330 Unit 4.3 Assignment 1
Nt1330 Unit 4.3 Assignment 1
 
Foss Presentation
Foss PresentationFoss Presentation
Foss Presentation
 
Essay About ISS 418 Lab 7 And 8
Essay About ISS 418 Lab 7 And 8Essay About ISS 418 Lab 7 And 8
Essay About ISS 418 Lab 7 And 8
 
Open source operating systems
Open source operating systemsOpen source operating systems
Open source operating systems
 
Open source freeopensource & linux
Open source freeopensource & linuxOpen source freeopensource & linux
Open source freeopensource & linux
 
The linux-guide
The linux-guideThe linux-guide
The linux-guide
 
FreeBSD is not a Linux distribution
FreeBSD is not a Linux distribution FreeBSD is not a Linux distribution
FreeBSD is not a Linux distribution
 
Redhat Linux server administration industrial training report.
Redhat Linux server administration industrial training report.Redhat Linux server administration industrial training report.
Redhat Linux server administration industrial training report.
 
A Newbie’s Initiation To Linux
A Newbie’s Initiation To LinuxA Newbie’s Initiation To Linux
A Newbie’s Initiation To Linux
 
1 the linux-guide
1 the linux-guide1 the linux-guide
1 the linux-guide
 
Iniciación a linux
Iniciación a linuxIniciación a linux
Iniciación a linux
 
An introduction to open source software
An introduction to open source softwareAn introduction to open source software
An introduction to open source software
 
Linux v/s Windows
Linux v/s WindowsLinux v/s Windows
Linux v/s Windows
 
Introduction to FOSS
Introduction to FOSSIntroduction to FOSS
Introduction to FOSS
 
Fos sintro pres-dav
Fos sintro pres-davFos sintro pres-dav
Fos sintro pres-dav
 
I Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on LinuxI Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on Linux
 
Linux
Linux Linux
Linux
 
Open Source Software
Open Source SoftwareOpen Source Software
Open Source Software
 
Open source
Open sourceOpen source
Open source
 
open source technology
open source technologyopen source technology
open source technology
 

Dernier

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Dernier (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Open Source Software, An Overview And Outlook

  • 1. Open Source Software An Overview and Outlook Author: Jean-Pierre Messager English Translation: TransPerfect Translations Technical Editor, English Version: Frank L. Schmidt, Jr. 1-800-843-8733 www.learningtree.ca ©2007 Learning Tree International. All rights reserved.
  • 2. LEARNING TREE INTERNATIONAL White Paper C O N T E N T S 1. Introduction . . . . . . . . . . . . . . . . . . . .1 1. Introduction 1.1 Definition of Free Software . . . . . . . 1 1.1 Definition of Free Software 1.2 Licenses. . . . . . . . . . . . . . . . . . . . . . 2 The omnipresence of information technology has made 1.3 A Brief History Lesson . . . . . . . . . . . 3 the notion of software familiar to nearly everyone. Without really being able to define it, we are all in contact with 2. Systems . . . . . . . . . . . . . . . . . . . . . . .4 this abstract concept on a daily basis. Software is what 2.1 Architecture and Integration. . . . . . . 4 makes our personal computers useable, makes our tele- 2.2 The Linux Kernel: Characteristics phones work, enables us to view and publish information and Future Developments . . . . . . . . . . . 5 on the Internet, to communicate with correspondents, 2.3 GNU/Linux Distributions . . . . . . . . . 6 to store and process information in businesses and governments, to listen to music or watch films, and the 3. Development Environments . . . . . . . .9 list goes on and on. Although you cannot use it with- 3.1 GCC . . . . . . . . . . . . . . . . . . . . . . . . 9 out hardware, software is also independent to a certain extent, since it can function on different computers, be 3.2 Scripting Languages . . . . . . . . . . . . . 9 added, removed and copied, for example. 3.3 Java and .NET . . . . . . . . . . . . . . . . . 9 Information technology that is referred to as “proprietary” 4. Free Software in a Network . . . . . . .10 treats software like a product, the use of which is leased, 4.1 Infrastructure . . . . . . . . . . . . . . . . . 10 most often—but not always—through a commercial exchange that limits the possible uses (often) and the 4.2 Web Services . . . . . . . . . . . . . . . . . 11 possibility of reviewing, modifying and copying the 4.3 Other Internet Services . . . . . . . . . 12 software (always). 5. The Workstation . . . . . . . . . . . . . . . .12 Free software is defined rather simply by the complete 5.1 Graphical Environments . . . . . . . . 12 freedom that its authors offer to those who receive it. Simply imagine anything you could do to, or base on, a 5.2 Office Software . . . . . . . . . . . . . . . 14 software program. That is the complete definition of 5.3 The Internet and Communication . . 15 what is meant by free software: 5.4 Multimedia . . . . . . . . . . . . . . . . . . 15 1. Freedom to use the software, regardless of the 6. Resources. . . . . . . . . . . . . . . . . . . . .16 purpose, context or who you are. 2. Freedom to examine how the software works, About the Author . . . . . . . . . . . . . . . . .17 down to the smallest detail. This implies that access to its source code (what its authors wrote) is granted, not just what enables it to run on a given system (its object code). 3. Freedom to modify the software (which also implies having access to its source code) and to use the improved, extended, integrated version in the functioning of another software program. 4. Freedom to redistribute a copy of the software in its original or modified form, as well as any soft- ware derived from it (contrary to a widespread myth, this is never an obligation). This freedom can be exercised by giving it away, making it available for downloading, integrating it into hardware, or by selling it. 1-800-843-8733 • www.learningtree.ca Open Source Software: An Overview and Outlook 1 ©2007 Learning Tree International. All rights reserved.
  • 3. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper Some of the points in this definition may be surprising, One last common misconception is that copies of free such as the freedom of use, as many people believe this software cannot be distributed commercially. Actually, applies to all software. However, there are examples to everyone, not only the original authors, is granted the contrary, such as some kinds of freeware (a term permission to distribute the software commercially. often confused with “free software” where “free” is It is also completely acceptable for the original free meant as in “free speech”) which, if free of charge, can software or a modified version to be sold. be used only in an academic or scholastic context. 1.2 Licenses This is not considered to be free software. In fact, access Without getting into too much legal detail, this funda- to the source code for freeware is rarely granted. Access mental aspect of the freedom to redistribute copies of to a software program’s source code (which explains the software allows us to categorize free software, or the term “open source software” which may be used rather the legal licenses that accompany them, into in place of “free software,” emphasizing access to the two major groups: source code instead of freedom) makes it possible to both examine the software and develop variations on • Licenses that apply to all copies of the original it, which would make no sense, of course, if it were not or modified software explicitly permissible to use those variations. • Licenses that allow for the distribution of the One widespread myth concerns a redistribution original or modified software according to other obligation that allegedly applies to any variations devel- terms (for example, not granting the freedoms oped. In addition to the fact that this would not make cited above) any sense (at what stage of modification would one be It is important to remember that the software licensing obligated to redistribute it?), the simple right to privacy terms are freely determined by the people who hold ensures the use of free software, whether or not it has the copyrights to them. Often forgotten, this means been modified, without having to notify anyone. “the right to copy” and not necessarily a “restriction We should, however, take a closer look at the last on copying” by the authors of the original software point of this definition. It is the driving force behind (developers, publishers, companies, or governments, the development of free software, which promotes etc.). The first type of license requires that any redis- knowledge sharing and encourages cooperation tribution of the original or derived software must be among users and developers, whether or not they carried out according to the same terms. In particular, are programming specialists, without obligation. it completely preserves the right to access the source The motivation for participating in this knowledge code and grants the related freedoms that enabled the exchange (since software is, first and foremost, original software to be modified in the first place. The information) is probably best explained by the second type allows for the distribution of proprietary fundamental principles of this movement: software (meaning software for which at least one of the freedoms listed above is not offered). • Philosophical motivations: People prefer to live in a world of communication rather than Although the details might seem complicated, it is a world of secrets. important to note that a user is not directly concerned • Political motivations: Within the context of an by any particular limitation, even if he uses a modified institution, for example, the free use of software version of the software. Likewise, a distributor—such enables those governed to communicate with as a publisher or the manufacturer of equipment that their government with full confidence. includes the software, for example—who decides to • Commercial motivations: The software that is preserve the terms of distribution of a derived soft- at the heart of a company’s business will be used ware program (only mandatory for the first group of more than if it were distributed with limitations, licenses) does not have to worry about any legal issues. and will thus gain more value. This is, in fact, an extremely common situation. • Industrial motivations: Efforts and costs are Clearly, the first group of licenses offers greater shared by the parties involved, who improve the guarantees of the continued existence of the software. software and correct its errors and security flaws. It is less likely to be fragmented into variations with ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 2
  • 4. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper functionalities that are difficult to reintegrate into a Until the end of the 1970s, information technology single software program and that might have become was dominated by large, very costly systems reserved incompatible (“forks”). However, the second group for use by major organizations (such as banks, of licenses offers an advantage when it comes to insurance companies and central governments), and promoting compatibility with formats or exchange these systems were completely incompatible with one protocols. In this way, their use is promoted in another. In fact, software was often free for most of completely proprietary software, therefore also the terms we have mentioned, mainly because user promoting the interoperability between free and requirements made it inconceivable for the supplier proprietary software, as well as among proprietary not to provide the source code for quality control and software programs. This is exactly how TCP/IP, the adaptation purposes. In addition, the redistribution network protocol of the Internet, has grown. of copies only really made sense for the supplier, who The software we will examine here will have various was very willing to redistribute it. types of licenses, mostly belonging to the first group, At the beginning of this same decade, at AT&T’s Bell but there will also be many examples of software Laboratories, Kenneth Thompson and Dennis distributed through licenses in the second group. The Ritchie created, from scratch, the first UNIX operating typical representatives of these two groups are: system. It emphasized simplicity, modularity, ü The GPL (GNU General Public License) which, and portability of both the system itself and its using a conservative estimate, applies to 60% of applications. (This is why Ritchie would develop, with what forms a “Linux system.” Brian Kernighan, the programming language C). It turned out that, due to anti-trust legislation, AT&T ü The BSD (Berkeley Software Distribution) license, did not have the right to pursue commercial activities which applies to free UNIX BSDs, as well as many in the field of information technology. Instead they network utitilities. used the UNIX system internally and pursued its One last note here on what is meant exactly by derived development, freely allowing anyone who asked for it software: It must import a significant portion of the to obtain the UNIX software and its source code. source code of a software program to be in this category. Simply juxtaposing free software with other software At the time, aside from a few major companies, the in distribution (e.g., archive, CD-ROM, DVD), or even type of mini-computer (we were not yet talking about installing them jointly, is not what is meant by “derived micro-computers) capable of running this system software,” so it is perfectly legitimate. There are very only existed at universities, where it spread rapidly for few limitations on distribution rights, compared to the operational or scientific research needs, but especially usual practices of proprietary software. Also, in the event for research and development on the operating systems of a violation, there is no risk of criminal penalties for themselves. For over a decade, the development of “piracy”—only a loss of distribution rights, subject to a UNIX was distributed between AT&T and several resolution of the problem (by publishing the source universities, in particular the University of California, code and the software according to the proper terms). Berkeley. Later, AT&T’s UNIX became a commercial product, while Berkeley’s version continued to be dis- 1.3 A Brief History Lesson tributed freely. Free information technology has existed for as long as In 1984, Richard Stallman was a computer scientist information technology has existed. The phenomenon at the Massachusetts Institute of Technology (MIT). His only appears to be new, because the fantastic dissemi- ideas were encouraged by the kind of cooperation that nation of computers in businesses and homes has also enabled the development of UNIX, and by the growing brought about a sharp rise in proprietary software in irritation he felt encountering more and more software the last two decades. In fact, this popularization of that he was unable to correct or improve, not for tech- information technology tools has accelerated the nical but for legal reasons. He decided to launch the development of free software since the end of the 1980s. GNU project: ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 3
  • 5. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper ü Its objective: To write a full system (operating 2. Systems system, tools and applications) that was free, in the sense that it offered all the freedoms listed 2.1 Architecture and Integration above. He wanted these freedoms to be guaran- As we have seen, “GNU/Linux” is a system largely teed by a software distribution license (and not based on UNIX architecture, the model for most only by some nonspecific form of tolerance). operating systems (including Microsoft Windows), ü GNU is an acronym for “GNU’s Not UNIX,” especially regarding its modularity. a subtle way to affirm being a UNIX system even What was not usual was the combination formed if unrelated to the heritage of legacy UNIX. It is to create a complete software system from various pronounced somewhat like the word “new”. autonomous origins: the Linux (or other!) kernel, ü UNIX was chosen as a model because it was GNU and other tools, graphics management (X11), well thought out, it was simple and modular, desktop environments (Gnome, KDE), network several of its components were already free, and servers, applications, and others. The strong standard- it was well known to a broad community of ization of programming interfaces in the UNIX world programmers. eliminated most concern about how the ensemble would function. Shortly thereafter, Richard Stallman created the Free Software Foundation to promote and support this project and free software in general. In 1991, the GNU system was complete, except for one noteworthy part: its heart, its “kernel.” (This is the part of a system that manages the hardware and distributes resources among applications.) The GNU system was also very popular as a working and developing environment on proprietary UNIX systems. A Finnish student, Linus Torvalds, devel- oped—at first as a hobby—a functional kernel with the contributions of several hundred developers who communicated over the Internet. The combination of this kernel developed with GNU tools, and of the application environment of the GNU Architecture of a GNU/Linux system project, gave rise to the GNU system planned by (and most UNIX systems) Stallman. What everyone now calls “Linux” should more fairly be called “GNU/Linux.” What remained to be done was a thorough integra- At the same time, over the next fifteen years, the tion making it possible to deploy the system within a development of the Internet would not only provide reasonable timeframe and provide the tools necessary this system with new, important free software to manage updates, administration and security over the (such as Web servers, e-mail, communication, etc.), long term. This is the burden of all operating systems, but also the infrastructure that allowed its users which are also often comprised of a large number of and developers to continue their work. In fact, it third-party components. The major difference here is was no accident that the success of free software that it was possible to have several contributors accompanied the popularization of the Internet involved as integrators. These are the distribution in the university spheres, and then among publishers. companies, governments and individuals. ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 4
  • 6. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper Fragmentation and the resulting incompatibilities that might have been a concern never occurred, What hardware is supported? because the distributors worked using software To access a given piece of hardware, an operating from combined development efforts, (almost) system must have drivers that are able to communicate always published all their specific tools, and their with it. In the case of Microsoft Windows, these drivers common interest was maximum interoperability. are often written by the hardware manufacturer, or Some of these publishers were commercial by Microsoft (who has information provided by the companies; others were not. manufacturer), or through a collaboration between them. For free operating systems, and Linux in A commercial company that offers a completely, particular, there are some different scenarios: free system is not required to provide images of its installation media, or even the binary code for the • The manufacturer may publish the source code for a driver for Linux under a license permitting its software it is distributing, as a free download. Strict inclusion into all distributions without any problems. compliance with the licenses only requires that • The manufacturer may publish or provide the the company provide the source code for the free specifications of its hardware, upon request, thus software provided to customers, and that it must not allowing external developers to write a driver claim to limit said customers’ rights. All significant under a free license. distributions, even commercial distributions, take • The manufacturer may provide a binary driver, this even further by publicly offering a download without its source code (it is therefore not free, of the source code for all their software and by even if it is available for download at no charge). licensing their specific tools into free software. • The manufacturer may provide nothing at all Before we present an overview of these distributions, and may refuse to reveal the specifications of we are going to take a closer look at the basis of its hardware. a GNU/Linux system: the Linux kernel. What is The first two situations, which are by far the most referred to as the user space consists of a large common, result in the hardware being supported by number of software applications that provide the kernel without annoyance to the user. However, network services (e.g., Web, e-mail, remote access, sometimes a lag occurs between the release of the etc.), as well as the working environment (both in hardware on the market and the release of a production console mode and in graphic mode) for a developer driver. or a user. These topics will be addressed in the The latter two scenarios are problematic. A non-free chapters below. driver, even when offered at no charge, will certainly make the hardware function, but often on only a 2.2 The Linux Kernel: Characteristics subset of the architectures supported by Linux (Intel and Future Development 32-bit certainly, AMD 64-bit often, and others almost An operating system’s kernel is its base. First, it never). Even in this case, the user must accept the accesses the hardware (disks, network interfaces, presence in the most critical part of the system (the peripherals) on behalf of the applications and kernel) of a “black box” that few developers have been utilities. Second, it distributes a certain number of able to examine and improve, and which can only be resources (memory, CPU’s execution time) among updated by a single entity. the tasks, and among users. This special position In fact, it is notable that these drivers are often of a implies that it manages the first steps of system less-than-average quality and present real stability startup, as well as data access control and security. problems. Moreover, no third-party company can It is therefore an essential component, even though provide in-depth support with this type of unknown it is generally small in size compared to all the variable in the system. This concerns only a small software installed. percentage of hardware, even if it does include the 3D management of a few high-end consumer graph- The Linux kernel is the unique result of the work ics cards. The last scenario (no information) generally of several thousand programmers over a period leads to a complete lack of any driver. This can be of about fifteen years. It is in its sixth generation the case for relatively low-end hardware, such as RTC (currently 2.6) since Version 1.0. software modems and WiFi USB controllers. ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 5
  • 7. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper The philosophy of its designers (above all, Linus A similar strategy is “paravirtualization,” which Torvalds) combines necessity with pragmatism. requires the modification of virtual machines hosted On one hand, the kernel must contain everything on systems’ kernels (an operation that is obviously that structurally cannot be put elsewhere (drivers, |easy when the systems are free). The solution offered memory management, multitasking), as well as by Xen, based on a resource monitor above which certain functions that could be implanted in the several Linux systems can operate, is already being user space (network protocols, firewall, file systems), deployed in industrial settings. One last possibility is most often for performance reasons. In the end, a to extend the Linux kernel so that it has environ- compromise is struck between the meticulousness ments partitioned to several groups of applications necessary to ensure a stable, maintainable system (“containers”). New developments spring up all and efficiency. the time! From the very earliest versions, the characteristics One last field worth mentioning is real time, which of the Linux kernel have been those featured in is often critical in test or measurement information modern operating systems: technology, where Linux can already be used in its ü Multiple platform (e.g., Intel 32- and 64-bit, traditional versions. However, when time constraints PowerPC, SPARC, ARM, etc.) are very tight or very strict, it may be necessary to ü Preemptive multitasking with dynamic priorities modify the system to take them into account at the lowest level. An initial idea, consisting of running the ü Static priorities (soft real time) Linux kernel itself as a specific task of a real-time ü Virtual memory management, including hard kernel (RTLinux, RTAI, Xenomai), has resulted in disk pagination active developments for several years and has attracted ü Support for many native file systems (e.g., ext3, the interest of the industrial sector. Another approach XFS, JFS and others) or foreign file systems makes it possible to include real-time characteristics (e.g., FAT, NTFS, HFS, etc.) more easily in a traditional kernel, which also benefits ü TCP/IP, routing, IPSec, firewall, and quality of more traditional uses of Linux (high server availability, service (QoS) management acquisition, and multimedia transmission). ü “Plug-and-play” support, peripheral hot plugging (USB, Firewire, PCI, etc.) 2.3 GNU/Linux Distributions Besides the characteristics that made the Linux When installing a GNU/Linux system, the user or Kernel successful and are very similar to what other system administrator interfaces with a distribution, or systems offer (UNIX or others), the Linux kernel has finished product, available on a CD-ROM or a DVD, seen many innovations, many offering improved which includes the Linux kernel, the GNU environ- performance and flexibility. Most of these were the ment, and much more. The quality of a distribution result of the availability of its source code, enabling depends not only on the quality of the software many academic and industrial research teams to use included, but also on: it as a basis. ü A judicious selection of software programs offered and their versions One very active field is virtualization, the objective of which is to make systems function as autonomously ü Intensive quality testing as possible on a single physical machine. This is how ü The flexibility of the installation program several instances of different operating systems (Linux, ü The simplicity and efficacy of the administration Microsoft Windows, etc.) can run simultaneously. One and configuration tools very well-known product that is not free is VMware, ü The software maintenance tools: installation which, in its server version, is based on a mini Linux of supplementary software, updates, etc. system. Similar free software does exist: QEmu and ü The possibility of applying critical patches Virtual Box. Very recently, KVM (Kernel Virtual without risk Machine) infrastructure was introduced into the kernel ü Procedures for reporting problems to take advantage of the extensions of the new Intel and AMD processors in this field. ü Relevant, updated documentation ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 6
  • 8. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper Not all of these points are of equal importance. This One of the most interesting characteristics of most depends on whether you are a system administrator, distributions is the presence of sophisticated a developer familiar with Linux or UNIX, or a work- software installation and update management station user. In one decade, we have seen distributions tools. Experience has shown that GNU/Linux and software evolve and improve to meet the needs of distributors have gone further than most proprietary the first group, as well as those of the last group. systems to streamline the day-to-day and long-term management of installed software. Among the most common distributions in the industry are Red Hat, Debian and SuSE. Others that Whether with Red Hat/SuSE/Mandriva (RPM are or were variations of the first two are also very [Red Hat Package Manager] system) and especially common, such as Mandriva and Ubuntu. Without as- with Debian and its derivatives, each file of the sessing their quality, less common distributions are of- system and each application is installed through ten specifically intended for members of a specialized what is called a package, which includes a lot of audience or for specific uses (such as system repair or information on the software (versions, dependencies, for installation on low-end machines), including Gen- files, etc.), making it possible to validate and auto- too, Kubuntu, Xubuntu, and Slackware, among others. matically resolve any problem involving interactions Red Hat offers its distribution exclusively through between components (presence of libraries/DLL graduated service contracts (from the workstation to and their versions, conflicts, version changes, etc.). the high-availability server), which does not prevent In practice, if a given software program must be quasi-clones, like CentOS from appearing (since all installed, and if it is available in the form of a package the software comprising it is free). Fedora, a distribu- on your distribution site (Debian offers more than tion developed in cooperation with a large community, fifteen thousand packages), all you have to do is type is available for download and is used as a test bench a single command or click on a single button to install for Red Hat. it. If other software must be installed or updated to The situation is similar with SuSE, developed and do this, it will be installed or updated automatically. distributed by Novell, which also offers the This is also true, to a large extent, for entire system OpenSuSE distribution for download. updates. As for Debian, it is the result of work performed by volunteer developers working through a non- commercial organization. It has an excellent reputation among professionals. Debian has become the basis for most new Linux distributions, and word has spread outside of the traditional Linux world of networks and systems, such as Knoppix or Ubuntu. ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 7
  • 9. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper Automatic Software Installation with the Synaptic Tool Available for Debian and Ubuntu Other Free Systems Embedded Computing The GNU-Linux combination is not the only free We talk about embedded computing as a system. Arising from the historic UNIX of UC computer system that is often designed for Berkeley, there are also three very reputable UNIX a precise use. This is a situation that is just systems in the networking world (TCP/IP was as common for multimedia equipment as created originally on BSD): it is for a WiFi access point, an industrial • FreeBSD, which is intended for the same process control system, or even a telephone general uses as GNU/Linux or a PDA. • NetBSD, which emphasizes portability on Free systems have numerous advantages in several architectures this context: • OpenBSD, which emphasizes security • Easy to adapt to new architecture All the popular applications of Linux are available (if it has not already been done) on these systems, both on the server end and for • No royalties to pay to a third-party the workstation. Many tools that are considered to publisher be key on GNU/Linux, like network utilities or the • Readily available development SSH secure remote access server, come from BSD, environment and applications and Open BSD in particular. • Ability to modify them to give them Another UNIX system that used to be proprietary, a low memory imprint Solaris by SUN Microsystems, has become free. • Real-time capabilities Solaris 10 can thus be downloaded or obtained upon request for PC or SPARC architecture, and its source In fact, GNU/Linux (and BSD) operate on code is available. A plan known as Nexenta is in many kinds of network, multimedia, tele- the works, to combine the OpenSolaris kernel and communications, and industrial process the GNU environment in the form of a variant of control equipment. the Ubuntu distribution. Perhaps soon, alongside GNU/Linux, there will also be GNU/Solaris? ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook
  • 10. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper 3. Development Environments also for developing effective processing applications for data of various origins and formats, graphics tools, Web 3.1 GCC applications, and more. At first, developers of free software tried to create Among the most popular are Perl, which is unbeatable environments that would enable the creation of new for textual data processing, and Python, which is ideal software: systems—as we have seen—and before for learning programming, has a very disciplined those, development tools. structure, and is adapted both to major projects and The C programming language and its descendants to small tools. The Ruby and PHP languages must also were the initial focus of developers, since most be mentioned. operating systems (beginning with UNIX and Linux) All of these have libraries that enable them to and their utilities are written in C. The C compiler interface easily with UNIX and Windows systems, of the GNU project, known as the GNU C Compiler, networks, databases, directories, the Internet, and quickly became the GNU Compiler Collection, since more. It is possible, using these languages, to quickly it was not long before it also handled additional develop complex applications that function just as languages, such as C++, Objective C, ADA, etc., and well on GNU/Linux, UNIX, Mac OS X and Microsoft now also include the more recent Java. Windows. GCC is essential for developing system applications PHP Hypertext Processor stands out from this group. or other applications on GNU/Linux or BSD, on Originally designed for small Web applications, it is other UNIX systems, and even on Microsoft now in its fifth generation, is adapted for much Windows. It is one of the compilers that handles larger-scale projects, and is also used to run forums the most target architectures (many more than Intel for associations, company intranets, and even the and Intel-compatible processors) and different Yahoo! portal. languages. It is easily portable and is well supported by its developers and by manufacturers for producing 3.3 Java and .NET optimized code for the most recent variations of Java, designed by SUN Microsystems, and .NET, processors, such as 32- or 64-bit Intel or AMD designed by Microsoft, are highly integrated, very rich processors. development infrastructures, based on virtual machines GCC comes with a debugger (gdb), which is running above the operating system. They offer capable of interfacing with integrated development complete project management environments. environments (such as Kdevelop and Anjuta) and several performance analysis tools to identify the The long-awaited headline event of 2007 was the critical parts of a program. The sophisticated XCode complete release as free software by SUN of the development environment (not free), provided by source code of its Java virtual machine. The Java Apple with Mac OS X, is based on GCC. world was familiar with free software for a long time, through thousands of free libraries and applications, 3.2 Scripting Languages and free development environments such as Eclipse by IBM. Until recently, though, the heart of Java, its Beyond the traditional UNIX scripting languages top-notch virtual machine, was still not free; it was (Bourne Shell, C Shell, KornShell) for which free only usable at no charge. SUN’s entire Java develop- implementations exist which administrators of Linux, ment and deployment environment is now free. UNIX, and even Windows (with the free software cygwin or Microsoft SFU) systems use every day, The effects of this change will likely be minor at first. more evolved languages are becoming very popular At least Java will be much more easily integrated on all of these platforms. They are invaluable for into GNU/Linux and BSD distributions. Eventually, system and network administration, of course, but we can expect to see better Java support in GCC, a ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 9
  • 11. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper convergence of various competing free virtual machines, 4. Free Software in a Network improved support for embedded computing in Java, and better performance in general. 4.1 Infrastructure TCP/IP was developed and became widespread .NET, besides being a (not free) product of Microsoft, because its communication protocols were public, is the specification of an architecture, a set of their design was the result of general collaboration, standardized programming interfaces, and a family and the software that implemented it was published of languages, including C#, which is close to the under free licenses. This is why we saw all systems, Java philosophy. free or not free, adopt it, and the Internet, as well as The Mono project implements this standardized intranets, become widespread all over the planet. architecture and strives for complete compatibility Software that runs a TCP/IP network is completely with the reference version from Microsoft. Today, integrated into the free GNU/Linux and BSD Mono is compliant with .NET 2.0 specifications, operating systems. It is a place where, for the past except for a few partially implemented elements, decade, free software has had no trouble such as Windows.Forms (planned for the end of establishing itself as a reliable, inexpensive 2007). Work on the transition to Version 3.0 of .NET and effective solution. is already underway. A compiler that is completely compatible with Visual Basic.NET was recently Linux and BSD have advanced features in terms of announced. access control and security: ü Routing, filtering, and network traffic monitoring: firewall, fault analysis and reporting ü Security gateways: IPSec and other virtual private network protocols As for applications on which the proper functioning of even a heterogeneous network relies, we can list free software programs that are often considered to be the best in their respective categories: ü The domain name server BIND ü The DHCP server from the ISC ü Several LDAP directory servers, among them OpenLDAP ü NFS Version 3 or 4 for file sharing between UNIX systems ü CUPS for printing services A .NET application running with Mono These software programs make it easy to deploy a on GNU/Linux homogenous network of UNIX or Linux systems. Microsoft Windows systems use different protocols. The Samba software suite speaks these protocols, with performance levels that are sometimes superior to those reached by Windows. It is thus possible for a Linux system to be: ü NetBIOS authentication server or client ü NetBIOS domain controller ü Active Directory authentication client ü File sharing server or client ü Printing service server or client ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 10
  • 12. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper In short, Samba can do everything Windows can Naturally, it implements all the functionalities do in a network in a transparent manner. It is still necessary to provide Web services both on the missing one important functionality: the ability to Internet and in intranets, including: replace an Active Directory domain controller. This is ü Virtual hosting of numerous Web sites on already possible on an experimental basis with the a single server Samba development version, which should be officially validated as stable in 2007. ü Running CGI programs ü Embedded scripting languages such as PHP, Perl, Python, etc. ü Server authentication and data encryption (SSL) ü User authentication (flat files, DBM bases, LDAP) ü Proxy and URL rewriting A heterogenous network with GNU/Linux and Microsoft Windows 4.2 Web Services According to statistics from Netcraft, Apache is Apache Architecture the most widely used Web server on the Internet (nearly 60%). It is the result of the development Web applications, among others, often rely on a of one of the first Web servers, NCSA HTTP Server. relational database with which they communicate This explains where the name “Apache” comes using the SQL language. The most widespread from: Over ten years ago, it was a simple set of database server, particularly for the Web, is MySQL. patches on top of a NSCA server, transforming it Designed to improve raw performance at the into a “patchy server”, which eventually became expense of certain functionalities, MySQL is starting the “Apache Web Server.” to position itself as the best alternative to proprietary Since then, the Apache Foundation has been RDBMS (Relational Database Management System) established that directs the development of this by offering advanced functionalities such as stored strategic software for all Internet users, as well as procedures or clustering. for other projects, such as the Tomcat Java Another free RDBMS, PostgreSQL, aims to application server. At the heart of Web infra- satisfy the most demanding users and developers structure, Apache continues to evolve. It is by offering these functionalities since its first versions now in its third generation (2.2 after 1.3 and (it is in its eighth generation) while covering most of 2.0) and is still compatible with multiple platforms the SQL 92 standard. (UNIX, Linux and Windows). ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 11
  • 13. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper 4.3 Other Internet Services 5. The Workstation A multitude of free server software programs 5.1 Graphical Environments covers all Internet protocols. They are often, as for the Web, the top products in terms of compliance The software architecture of the graphical interface for with standards, performance, security and reliability. all current UNIX systems, whether free or not, is similar. The display and the input devices (keyboard, mouse, E-mail, for example, was created with the free tablet, etc.) are managed by a display server (known as software sendmail, which remains a common an “X11 server”) on which are displayed a number of component in many UNIX systems. The relative clients that are the components of the graphical desk- complexity of its configuration made mail servers top as well as the applications themselves. that were more easily administrated, such as Exim and Postfix, very popular. This makes it possible to directly display graphical applications running on various machines (possibly All of these servers use smart filters against from different systems) on a single desktop. Thus, unsolicited e-mail, like SpamAssassin, or against a workstation (applications and display on the same viruses (which mainly pertain to systems that are machine) can be installed just as easily as a thin client not free but that it is good to detect downstream) giving access to applications running on applications such as Clamav. servers where most, if not all, software is installed. It To conclude, the following are a few of the top free is also easy to display the desktop of a Linux or BSD products for some services, among many others: system on a Windows machine, since the most wide- ü Proftpd and vsftpd for FTP file transfer spread free implementation of X11 (X.org) has been ü Jabber for instant messaging ported to Microsft Windows (Xming or cygwin). ü VNC for multiplatform GUI remote access What will determine the look and feel of a graphical desktop will be a set of applications such as the ü SQUID as an HTTP and FTP proxy window manager (which draws the borders and man- (cache, filtering and authentication) ages their movement), the file manager, and various panels (also known as the “taskbars”). The most popular desktop environments are Gnome (GNU Object Model Environment) and KDE (Kool Desktop Environment). All GNU/Linux distributions offer both. Most of them, however, have chosen Gnome as the default environment. In fact, nothing prevents you from having applications from both environments cohabitating on a single desktop, due to the presence of the X11 server. The developers of both projects also work together to ensure that their software is compatible. The level of ergonomics reached by these two environments is comparable to those of top proprietary systems in the field (Apple Mac OS X and Microsoft Windows). Over the past few years, new ideas have been conceived in the world of graphical interfaces that take advantage of the power of recent hardware. In this field, free systems are not lagging behind. On the contrary: ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 12
  • 14. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper ü Novell and Red Hat proposed two parallel technolo- composition manager, such as Compiz or Beryl, offer gies to improve ergonomics with various effects: the following, among other effects: XGL and AIGLX. These two technologies are com- ü A virtual desktop system that is distributed patible; they differ mainly in their communication over the surfaces of a cube; with graphics drivers. ü A mechanism for quickly scaling windows ü Various research teams, including the one working so that they can all be seen at the same time on the Metisse project at INRIA [French National (similar to the exposé feature on Mac OS X); Institute for Research in Computer Science and ü Transparency management. Control], used Linux and X11 to imagine new ways Everything functions without any problems on to organize the applications’ “widgets.” machines that are not cutting edge, with low-end Mandriva integrated Metisse into its 2007 version. graphics cards and low-powered processors. XGL and AIGLX technologies are quickly becoming The rapid development around these technolo- stable enough to be offered as the default on certain gies, and the general enthusiasm that they incite, distributions such as SuSE or Ubuntu. XGL and AIGLX, lead us to believe that we have not seen in cooperation with a particular window manager or everything yet... A 3D vision of desktops and windows on AIGLX ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 13
  • 15. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper 5.2 Office Software OpenOffice.Org is certainly the most well-known specifications of major calls for proposals in the free office suite, which functions just as well on industry. Proprietary office suites may no longer Windows, Mac OS X, UNIX or Linux. In its Version 2, be able to afford to leave it out. it is largely comparable to Microsoft Office, exchanges ü MS Office 2003 uses OpenXML, a data format documents rather well with Microsoft Office, and is based on XML, as its default which Microsoft even more advanced in certain other aspects, such as wants to standardize. the default use of an open, standardized data format based on XML. Among developments we should expect in Although there remain some partial incompatibilities OpenOffice, in addition to the further improvement with respect to Microsoft Office data formats, things of interoperability with proprietary formats, is the are developing in the right direction: integration of a multilingual grammar check. Currently, only the spell check is multilingual. ü Microsoft and Novell are working together to improve the interoperability of the two suites OpenOffice is not the only free office suite. KDE and (they still have to clarify their positions regarding Gnome have been working for a long time and are a few patents). now offering stable products which, although less ü The Open Document format of OpenOffice is an complete than OpenOffice, are lighter: KOffice for ISO standard and is starting to be required in the KDE and the pair Abiword+Gnumeric for Gnome. OpenOffice.Org and Abiword on a Gnome desktop ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 14
  • 16. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper 5.3 The Internet and Communication 5.4 Multimedia If a free software program can be said to have made Let us begin by debunking a myth, which is certainly fantastic progress, it is the Mozilla Firefox Web a relic from a bygone era: It is possible, without any browser. In just two years, it has become the browser problem, to save your CDs in MP3 format (or even of approximately 20% of users, and is even more better, Ogg Vorbis) and listen to them, synchronize popular in continental Europe. These percentages your portable player, watch a DVD and DivX, and reflect mostly Windows users. For Linux users, even design your own using your vacation videos, the number is certainly closer to 80%. The broad on GNU/Linux. success of Firefox, regardless of the system used, is There are many software programs that can be used easy to explain: for this, and some of them are just as well known on ü Ease of browsing with tabs proprietary systems. We will list just a few: ü High level of security ü gthumb and The GIMP for managing photos ü Compliance with the WWW Consortium’s and images (equivalent of Adobe Photoshop) (W3C) HTML standards ü XMMS, Audacious or RhythmBox for managing ü Many extremely useful extensions and listening to music (advertisement and flash blocker, privacy ü GRIP or Sound Juicer for saving CD audio protection, etc.) ü MPlayer, VLC, Gstreamer or Xine for The future of the Internet seems to be headed toward watching films applications with rich interfaces (AJAX). Firefox has ü Kino and Avidemux for importing, manipulating a strong advantage in this respect with its XUL infra- and creating your own films structure (pronounced “zool”), which makes it easier to build Web pages with developed graphical elements ü Ekiga for using telephony and video conferencing (WYSIWYG tables and fields, among others). over the Internet As for video games, we cannot compare Linux to the In application suites from the Mozilla series, we most well-known platforms, even if Linux could be must also mention the e-mail client Thunderbird, installed on XBox or PlayStation; however: which also runs on multiple platforms and is a serious competitor of its proprietary alternatives. This appeals ü Free games of all types exist, as does free to the general public, like Firefox, and for similar educational software reasons. ü A few major game titles for “PC” are available Another e-mail client worth taking a look at is for Linux (such as Quake and Doom) Evolution. Now developed mainly under the direction ü The more seasoned gamer may be happy to of Novell, it allows Linux and UNIX users, in run free versions of Quake, the excellent addition to reading and writing e-mail, to manage (and free) flight simulator Flight Gear, and a daily planner and address book, both individually most of the major game titles for “PC” through and collaborating within a group. the (non-)emulator Wine. In the field of group work, multiple-platform However, music and movie lovers may be disappointed solutions exist, but the main pitfall remains compat- at first when they install a distribution of GNU/Linux. ibility with Microsoft Exchange or with Microsoft It is likely that they won’t immediately be able to hear Outlook. OpenExchange and OpenGroupware server MP3s, or read DVDs or other kinds of video. Strangely software, as well as special connectors for client tools, enough, this type of “out-of-the-box” Linux system may eventually make it possible to achieve better has no problem playing the less popular, high-quality interoperability and, therefore, smoother transitions. Ogg and Theora audio and video formats. ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 15
  • 17. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper What is the difference? Well, it is purely legal… 6. Resources and does not directly concern the inhabitants of all countries. Many multimedia formats are Linux and Open Source News Sites protected by software patents, a notion that is Linux Weekly News: www.lwn.net/articles foreign to people in Europe, but that prevents Slashdot: www.slashdot.org GNU/Linux distributors from offering us the libraries that make it possible to read them on their installation medium. On the other hand, Free Software Directories and Repositories it is completely legal to add these libraries Freshmeat: www.freshmeat.net later, just as easily as any other software, over SourceForge: www.sourceforge.net the Internet. Savannah GNU software repository: savannah.gnu.org What is even more disturbing is that some formats are protected by encryption against copying (digital rights management or DRM), Free Software Fundation which has the perverse effect of making it www.fsf.org impossible for software for which the source www.fsfeurope.org code is public, to read them. In the most extreme versions, these processes tend to make Embedded Systems and Real-Time Computing it impossible to read anything as soon as non- locked software or hardware is present. As for Linux Devices: www.linuxdevices.com DVDs, protections have been bypassed for a long time by teenagers, but installing a library Perspectives on Free and Open Source Software that allows it is not legal everywhere (it is in http://mitpress.mit.edu/catalog/item/default. Europe), so again it must be installed over asp?ttype=2tid=11216 the Internet. The time it takes to download these few files Open Sources: Voices from the provides a good opportunity to think about the Open Source Revolution implications of these systems (which, after multimedia, are starting to be used for office Dircted by Chris DiBona applications) designed to make it difficult, or http://www.oreilly.com/catalog/opensources/ book/toc.html even impossible, to enjoy one’s own data and to give an external organization more power over computer systems than their owners have. GNU/Linux Distribution Sites For the same uses, for each of these inconvenient www.redhat.com formats, there is always a documented, open, www.debian.org non-patented format that is managed by free software. www.ubuntu.com www.opensuse.org www.mandriva.com www.gnusolaris.org (Nexenta) www.openbsd.org www.freebsd.org www.netbsd.org ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 16
  • 18. 1-800-843-8733 • www.learningtree.ca LEARNING TREE INTERNATIONAL White Paper About Learning Tree International About the Author Learning Tree International is a leading worldwide Jean-Pierre Messager provider of vendor-independent training to managers Independent Consultant on and IT professionals in business and government Open SourceTechnology organizations. Since 1974, over 1,700,000 course jpm@xiasma.net participants from over 13,000 organizations worldwide A former mathematics and computer science have enhanced their skills and extended their knowledge teacher and researcher, and then an engineer under the guidance of expert instructors with real- for an open source software service company, world experience. Learning Tree develops, markets and Jean-Pierre Messager is an independent delivers a broad, proprietary library of instructor-led consulting engineer on free information courses focused on the latest information technologies, technology (network, security and computing) management practices and key business skills. and is a Learning Tree course author and Learning Tree International annually trains over instructor on the topics of UNIX, Linux and 87,000 professionals in its Education Centers around Free Software, as well as Web Development. the world. Learning Tree also provides training in a number of additional cities and on site at customer locations in 26 countries. For more information About the Editor about Learning Tree products and services, call 1-800-THE-TREE (1-800-843-8733), or visit our Frank L. Schmidt, Jr Web site at www.learningtree.ca schmidtf@att.net Frank Schmidt has worked as a system administrator in UNIX for over 20 years, and in Linux for over 10 years. He is an independent computer consultant who has worked for Atlanta Los Angeles Boston Chicago Learning Tree International as an instructor, course author, and technical editor. Washington, DC New York City Toronto London Paris Ottawa Stockholm Tokyo ©2007 Learning Tree International. All rights reserved. Open Source Software: An Overview and Outlook 17 WP Open Source 0706Final CN