Philosophy - History - Technology

Preface

Open source stands as collective term for software whose source code is freely accessible. This is not self-evident! Though it is possible for everyone to view a Windows command.com with any editor, only unreadable signs are visible - machine code. This machine code not only is indecipherable for human beings, it practically cannot be decrypted back to source code (readable for humans).

In general, that is the way it should be! A software developing company that designs a high-quality, useful program, has an interest in earning money with this program. So the company has rightful concerns to prevent people from reading and copying the source code of the software.

So what are the advantages of open source? Why should one use open source software? Is open source software even reliable? Where can one get support and help when encountering problems in using open source software?

Let's start with recounting the sometimes rather heated-up discussions in the media....

Why Open Source?

Freedom is just another word for nothing left to lose, sang Janis Joplin. This may be a reason why we don't refer to open source as free or cost-free software. The creation of a name for a phenomenon nearly as old as the computer industry is not a marketing gag in case of open source. Rather it is an attempt to establish a concept which frees developers and advocates of free software of the necessity to permanently differentiate between cost-free software and free software as well as between the various licenses of free software.

License terms exist for commercial software as well as for free software, nearly as many different ones as there are programs. The term open source was created to find a collective name for those licenses which incorporate freedom in the sense of science.

The term software can be used for nearly everything that can be run on a computer. The completed program, only executable on an architecture (binary) as well as the program text (source) written by the software engineer and readable by humans.

Free was replaced by "open" to make sure that the term wouldn't be associated with "free of cost" but with "open for everything".

The Roots of Free Software

The onsets of free software are closely connected with the beginnings of computer industry. During a legal action concerning anti-trust law between the American Department of Justice and AT&T, which lasted from 1949 to 1956, AT&T was committed to confining its business to telecommunications and to license its patents to its competitors for a nominal fee. At this time computer business consisted mainly of selling and maintaining hardware. Software was a by-product, as most users developed their own software. Only with the emergence of timesharing systems software development started to be what it is today. Through development of hard disc drives and magnet tapes it was for the first time possible to store programs directly on the computers, to modify and re-use them. This new form of computer-usage encouraged intensive cooperation between users and active exchange of programs.

1969 Ken Thompson and Dennis Ritchie developed the first version of UNIX in the AT&T Bell Telephone Laboratories. AT&T, being restrained from commercial exploitation, licensed UNIX for a nominal fee to universities and for gigantic sums to commercial users, in order to exclude a possible breach of the court settlement of 1956 from the outset. Added were extremely beneficial basic conditions: no support, no bug fixes, delivery only against pre-payment.

This led to an intensive developing activity in university environments. Exchange of programs was possible without problems as nearly all universities possessed a UNIX license. Owing to the complete lack of support Usenet expanded to a fast and powerful support network in-between universities. The University of Berkeley, California acted as coordinator. They developed their own branch of UNIX, namely the Berkeley Software Distribution (BSD) and distributed it to other universities. The first BSD version was published by Bill Joy, the later-to-be founder of Sun Microsystems, in 1978. The same year saw the birth of the internet, then called Arpanet, based on UNIX systems.

The year 1982 sees the birth of commercial UNIX. IBM, HP and DEC publish UNIX versions under new names for their own hardware. Bill Joy leaves the University of Berkeley and founds Sun Microsystems. The first operating system for the new workstations is based on BSD 4.2. AT&T announces official support for UNIX and publishes the first commercial version.

After another cartel lawsuit AT&T parted from the 26 companies of the Bell group in 1984 and could from now on act as competitor in the computer market. Thus the era of liberal UNIX licensing, access to source codes as well as exchange of programs and enhancements found an end. The license fees for UNIX were raised drastically.

Philosophy and Pragmatics of Open Source

In the wake of these changes Richard Stallman founded the GNU project (GNU is not UNIX) with the objective to create a free UNIX. As coordination point and to gain income through shipment of the software and documentation being produced within the GNU project the Free Software Foundation was founded in 1984.

Stallman regarded as his natural right to share his programs with his friends and colleagues, particularly considering that distribution of software can be done with almost no effort and only marginal costs compared to "real" goods. Because of more and more restrictive licenses of commercial software distributors Stallman felt hampered in his usual software-handling.

With GPL, Stallman developed the term "copyleft", as a word play to "copyright" which was very inconvenient for him. Main issue of copyleft is to make sure, that software being subject to it stays free, i.e. everyone using and enhancing it has the same rights as the original author. This aim is secured by the GPL through the claim that every program containing even one line of code being subject to GPL, has also to be subject to GPL.

Exactly this feature makes the GPL rather unsuitable for development of commercial software, as it is incompatible with every other license containing more restrictions. The acceptance of free software was therefore restrained to private and university use for more than 10 years. The socialistic attitude and Stallman's ideological perseverance against efforts to make the GPL more compatible with commerce possibly has led to further rejection by large parts of the software industry.

When with the appearance of Linux the last missing element, the kernel, was available for the GNU system, for the first time in history of data processing a completely free operating system was available. Stallman's aim was reached.

But with the realization of this objective trouble was just about to begin. Linux soon reached a popularity and circulation as yet unknown for free software. Many users came along, who used Linux because of its stability and amenities, not because it was free.

With Linux free software also came to the fore of the commercial world. More and more commercial software was ported to Linux, the borders between free and non-free software became blurred.

Eric Raymond's analysis of the development method of the Linux-kernel-community illuminated the efficiency and profitability of open software development. Raymond's focal point is not the ideological background but the impressing development model, with which a bunch of programmers managed what Stallman and the FSF had tried in vain for years: the development of a stable and fast UNIX kernel, without resorting to extrinsic code.

No wonder that Raymond soon attracted the attention of the industry. Raymond was significantly involved in the definition of Netscape Public License and Apple Public License. The free software community was split into two factions.The pragmatic fraction, following the point of view that stable software, which can be adapted to individual needs of the users and distributed freely, is most important. On the other side stood the supporters of the pure doctrine of free software, who heatedly decried the shortcomings and limitations of the new licenses.

Of course the plethora of licenses brings new problems. Which status resumes software that contains code under different licenses - a program, that for example emerges from the consolidation of code from Apple's Mac OS X Server and Mozilla, the free Netscape? If the user interface of this fictional program further uses the Qt-library by Troll Tech, a third license is added. All three licenses cause different restrictions.

How and if users of free software can solve this problem, depends in the end on the willingness for cooperation of the licenser, the software industry. At the time there are heated discussions. One of Stallman's supporters wrote: The worst that can happen to free software is an abundant amount of nearly free software.

Important is the intention, with which the world of commercial software producers joins the open source developing model. Do they only want quick bug fixes and refinements, or can they manage to shift their orientation from short-term material advantages to long-term stable and high-quality software? Will they make use of the free software community's knowhow only for their own gain or will they contribute to the project?

The answer to these questions lies in the future and is highly dependent upon the awareness of users and developers of free software of this problem. Stallman's position would guide free software back to its niche. Under Raymond hostile take-over of free software by the industry is likely. As is often the case, no position can be agreed with unconditionally. As with free software the power lies with its users and developers, it will depend on the behavior of each one of them which route free software will take.

The Amenities of the Open Source Model

The main focus for licenses known under the name "open source" lies in the right to not only read the source code, but also to change it and make these changes together with the original or changed source code accessible to others.

Only this condition can produce the synergetic effects Eric S. Raymond describes as characteristic for the development of free software in his essay "The Cathedral and the Bazaar" (http://www.earthspace.net/~esr/writings/cathedral-bazaar/). 

The model described by Raymond is mainly based on making users co-developers of a program in integrating the proposed changes and corrections to the program. This idea as such is not new. New, however, is that users (which are, according to Raymond, not as stupid as commonly assumed) can do these corrections on the programs themselves and test them before returning them to the developer of the program. In contrast stands the traditional method to retrace the error descriptions of the users, to find the error, and again let the user test the corrected version. This short description makes it clear which of the two methods is more efficient.

The accelerated development process leads to a faster debugging and so to better and more stable programs. Such a process can only happen, if users have access to the source code of a program and are also permitted to change it.

Definition of Open Source

On the web site of the open source initiative the term open source is defined as follows (http://www.opensource.org/docs/definition_plain.html):

  • Free Re-distribution
    The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale. By constraining the license to require free redistribution, we eliminate the temptation to throw away many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect.
  • Source Code
    The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. We require access to un-obfuscated source code because you can't evolve programs without modifying them. Since our purpose is to make evolution easy, we require that modification be made easy.
  • Derived Works
    The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. The mere ability to read source isn't enough to support independent peer review and rapid evolutionary selection. For rapid evolution to happen, people need to be able to experiment with and redistribute modifications.
  • Integrity of the Author's Source Code
    The license may restrict source code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. Encouraging lots of improvement is a good thing, but users have a right to know who is responsible for the software they are using. Authors and maintainers have reciprocal right to know what they're being asked to support and protect their reputations. Accordingly, an open source license must guarantee that source be readily available, but may require that it be distributed as pristine base sources plus patches. In this way, "unofficial" changes can be made available but readily distinguished from the base source.
  • No Discrimination Against Persons or Groups
    The license must not discriminate against any person or group of persons. In order to get the maximum benefit from the process, the maximum diversity of persons and groups should be equally eligible to contribute to open sources. Therefore we forbid any open source license from locking anybody out of the process.
  • No Discriminations Against Fields of Endeavor
    The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.
  • Distribution of License
    The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. This clause is intended to forbid closing up software by indirect means such as requiring a non-disclosure agreement.
  • License Must Not be Specific to a Product
    The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. This clause forecloses yet another class of license traps.
  • License Must Not Restrict Other Software
    The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open source software. Distributors of open source software have the right to make their own choices about their own software.
    Examples for compliant licenses:
  • License Must be Technology-neutral
    No provision of the license may be predicated on any individual technology or style of interface. This provision is aimed specifically at licenses which require an explicit gesture of assent in order to establish a contract between licensor and licensee. Provisions mandating so-called "click-wrap" may conflict with important methods of software distribution such as FTP download, CD-ROM anthologies, and web mirroring; such provisions may also hinder code re-use. Conformant licenses must allow for the possibility that (a) redistribution of the software will take place over non-web channels that do not support click-wrapping of the download, and that (b) the covered code (or re-used portions of covered code) may run in a non-GUI environment that cannot support pop-up dialogues.

Various Open Source Licenses

Many programmers have in the past contributed to today's available pool of free software. Some not only programmed but also concerned themselves with societal and social consequences of their creations. As so often when a topic leaves scientifically provable borders, personal views and experiences gain importance. This phenomenon is evident too in the discussion about free software. The result are different licenses which all aim at providing programmers and users (the borders are oftentimes fleeting) with software with minimized restrictions and at the same time secure its continuation and development, or at least to make it easier. Out of varying views and opinions emerged various licenses.

  • Public Domain
    is no license in the sense of open source. In essence it means that the author surrenders any influence on his work.
  • BSD License
    is one of the oldest licenses and restricts programmers and users only insofar as the original authors have to be named. Main issue of the license is the exclusion of liability claims against the programmers. Source code under the BSD license can be used for own developments without those necessarily being free software. The BSD license originates at Berkeley University. BSD stands for Berkeley Software Distribution.
  • GNU General Public License (GPL)
    sort of has political goals, as besides the known exclusions of liability claims it also includes the demand, that all further developments and all programs containing GPL licensed code have to be published again under GPL. This characteristic led to the nickname "GNU Public Virus". Behind the license stands not only the benefit of free software but a political motivation in using copyright. From the point of view of GPL the copyright hinders the natural interaction with other computer users as some have privileges (those with a licensed software). Furthermore GPL forbids the addition of further restriction which are based in any form on GPL source code. This restriction makes GNU software, especially the libraries, unsuitable in commercial surroundings. GNU is a recursive acronym and stands for 'GNU is not UNIX'.
  • The GNU Library General Public License (LGPL)
    conforms essentially with GPL, with the exception, that programs which are only subject to a LGPL library are not viewed as derived work in the sense of GPL. This makes the use of LGPL protected libraries for developing commercial respectively not GPL licensed software possible. Changes in the library itself have to be subject to LGPL. Software being subject to LGPL offers better possibilities for connecting free developments with commercial ones.
  • QPL, NPL and Others
    are mostly derivates of the three aforementioned license agreements. They follow the spirit of GPL with the exception of offering the licensers other conditions then all other users.

Some popular open source projects:

avalaris utilizes all these projects for optimal gain of our customers and also offers support:

  • GNU

    The plan for the GNU operating system was publicly announced on September 27, 1983, on the net in the UNIX wizards and net.usoft newsgroups by Richard Stallman. Software development began on January 5, 1984, when Stallman quit his job at Massachusetts Institute of Technology so that they could not claim ownership or interfere with distributing GNU as free software. According to Stallman, the name was inspired by various plays on words, including the song 'The Gnu'. The goal was to bring a completely free software operating system into existence. Stallman wanted computer users to be free, as most were in the 1960s and 70s: free to study the source code of the software they use, free to share the software with other people, free to modify the behavior of the software, and free to publish their modified versions of the software. This philosophy was later published as the GNU manifesto in March 1985. Richard Stallman's experience with the Incompatible Timesharing System (ITS), an early operating system written in assembly language that became obsolete due to discontinuation of PDP-10, the computer architecture that ITS was written for, led to a decision that a portable system was necessary. It was thus decided that GNU would be mostly compatible with UNIX. At the time, UNIX was (and is) a popular proprietary operating system. The design of UNIX had proven to be solid, and it was modular, so it could be re-implemented piece by piece. Much of the needed software had to be written from scratch, but existing compatible free software components were used. Two examples were the TeX type-setting system, and the X Window System. Most of GNU has been written by volunteers; some in their spare time, some paid by companies, educational institutions, and other non-profit organizations. In October 1985, Stallman set up the Free Software Foundation (FSF). In the late 1980s and 1990s, the FSF hired software developers to write the software needed for GNU. As GNU gained prominence, interested businesses began contributing to development or selling GNU software and technical support. The most prominent and successful of these was Cygnus Solutions, now part of Red Hat. You can find information on GNU at http://www.fsf.org.

  • FreeBSD

    FreeBSD is is a UNIX-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4.4BSD operating systems. It runs on Intel x86 family (IA-32) IBM PC compatible computers, DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, ARM and NEC PC-9801 architectures along with Microsoft's Xbox. Support for the MIPS architectures is available in 8-CURRENT which has not been released yet. FreeBSD has been characterized as "the unknown giant among free operating systems." It is not a clone of UNIX, but works like UNIX, with UNIX compliant internals and system APIs. FreeBSD is generally regarded as reliable and robust. Several systems using FreeBSD are listed in Netcraft's list of the 50 web servers with the longest up-time. A long up-time also indicates that no crashes have occurred and no kernel updates have been deemed necessary, since installing a new kernel requires a reboot, resetting the up-time counter of the system. FreeBSD is developed as a complete operating system. The kernel, device drivers and all of the userland utilities, such as the shell, are held in the same source code revision tracking tree, whereas with Linux distributions, the kernel, userland utilities and applications are developed separately, then packaged together in various ways by others. FreeBSD's development began in 1993 with a quickly growing, unofficial patch-kit maintained by users of the 386BSD operating system. This patch-kit forked from 386BSD and grew into an operating system taken from U.C. Berkeley's 4.3BSD-Lite (Net/2) tape with many 386BSD components and code from the Free Software Foundation. The first official release was FreeBSD 1.0 in December 1993, coordinated by Jordan Hubbard, Nate Williams and Rod Grimes with a name thought up by David Greenman. Walnut Creek CDROM agreed to distribute FreeBSD on CD and gave the project a machine to work on along with a fast internet connection, which Hubbard later said helped stir FreeBSD's rapid growth. A "highly successful" FreeBSD 1.1 release followed in May 1994. However, there were legal concerns about the BSD Net/2 release source code used in 386BSD. After a lawsuit between UNIX copyright owner at the time UNIX System Laboratories and the University of California, Berkeley, the FreeBSD project re-engineered most of the system using the 4.4BSD-Lite release from Berkeley, which, owing to this lawsuit, had none of the AT&T source code earlier BSD versions had depended upon, making it an unbootable operating system. After much work, the outcome was released as FreeBSD 2.0 in January 1995. FreeBSD 2.0 featured a revamp of the original Carnegie Mellon University Mach virtual memory system, which was optimized for performance under high loads. This release also introduced the FreeBSD Ports system, which made downloading, building and installing third party software very easy. By 1996 FreeBSD had become popular among commercial and ISP users, powering extremely successful sites like Walnut Creek CD-ROM (a huge repository of software that broke several throughput records on the internet), Yahoo! and Hotmail. The last release along the 2-STABLE branch was 2.2.8 in November 1998. FreeBSD 3.0 brought many more changes, including the switch to the ELF binary format. Support for SMP systems and the 64 bit Alpha platform were also added. The 3-STABLE branch ended with 3.5.1 in June 2000. More information is to be found  at http://www.freebsd.org/handbook/handbook3.html#3 . The complete website: http://www.freebsd.org.

  • Linux

    Linux is an operating system for computers, comparable to Windows or Mac OS X. It was originally created starting in 1991 by Finnish programmer Linus Torvalds with the assistance of developers from around the globe. Linux resembles UNIX, an earlier operating system, but unlike UNIX, Linux is both free software and open source software - that is, you not only can download and run it on your computer, but also download all the source code the programmers created to build the operating system. You can then modify or extend the code to meet your needs. Linux runs on a wide variety of hardware platforms, from huge mainframes to desktop PCs to cell phones. It is licensed under the Free Software Foundation's GNU Project's GNU General Public License, version 2, which lets users modify and redistribute the software. You can think of Linux as having two parts -- a kernel, which is the basic interface between the hardware and other system software, and the functions that run on top of it, such as a graphical user interface (GUI) and application programs. No single company sells Linux. Because it's open source software, anyone can package Linux with some programs and utilities and distribute it. The different "flavors" of Linux are called distributions. Many Linux distributions are designed to be installed on your computer's hard drive, either as a sole operating system, or in a dual boot configuration with another OS, which lets you choose which operating system to run every time you start your computer. Others are designed to run as live CDs that boot from removable media - typically CDs, but there are also live DVD distributions, and even ones that boot from diskettes and USB storage media. Live distributions can be useful because they let you run a different operating system without affecting any of the contents of your hard drive.
    The commercial range is difficult to estimate, but many former users of UNIX now work with Linux. Many are of the opinion that Linux provides the only alternative to Microsoft's NT/2k/XP/Vista. More and more multi-user software producers port their software to Linux, such as Oracle, Informix, SAP R/3, Corel, Netscape and many more. Some hardware producers, like SUN and IBM, equip their machines with Linux on demand. SUN doesn't port their own Solaris-OS to their cheapest machines anymore. The companies Red Hat (http://www.redhat.com/) and Mandrake (http://www.mandrakelinux.com/) distribute various versions of Linux, in Germany S.u.S.E.-distribution (http://www.suse.de) are very popular. These distributions in part also contain commercial programs which are not free. The Debian Linux-distribution (http://www.debian.org) only consists of open source licensed programs. More information on Linux you can find at http://www.linux.org. Some interesting addition to Linux are available at http://www.linuxresources.com, weekly reviews and news from the Linux world at http://lwn.net/. Linus Torvalds doesn't work solely for Linux anymore. He works in semiconductor industry because he doesn't want to make his living on Linux.

  • DNS and BIND

    BIND (Berkeley Internet Name Domain) is the most commonly used DNS server on the internet, especially on UNIX-like systems, where it is a de facto standard. Supported by Internet Systems Consortium, BIND was originally created by four graduate students with CSRG at the University of California, Berkeley and first released with 4.3BSD. Paul Vixie started maintaining it in 1988 while working for DEC. A new version of BIND (BIND 9) was written from scratch in part to address the architectural difficulties with auditing the earlier BIND code bases, and also to support DNSSEC (DNS Security Extensions). Other important features of BIND 9 include: TSIG, DNS notify, nsupdate, IPv6, rndc flush (remote name daemon control), views, multiprocessor support, and an improved portability architecture. It is commonly used on Linux systems. rndc uses a shared secret to provide encryption for local and remote terminals during each session. More information: http://www.isc.org.

  • Sendmail

    A descendant of the original ARPANET delivermail program, sendmail supports many kinds of mail transfer and delivery including the overwhelmingly popular SMTP. The original version of sendmail was written by Eric Allman in the early 1980s at UC Berkeley, who had also written delivermail previously. Delivermail was shipped in 1979 with 4.0 and 4.1 BSD. Sendmail was shipped with BSD 4.1c in 1983 (the first BSD version to include TCP/IP). Sendmail remains the most popular MTA on the internet. Its popularity is due in part to its position as the standard MTA under most variants of the UNIX operating system. According to the latest D. J. Bernstein SMTP survey, as of November 2001 approximately 42% of the publicly reachable mail servers on the internet were running sendmail. More recent surveys have suggested a decline, with 29.4% of mail servers in August 2007 detected as running sendmail in a study performed by E-Soft, Inc. Sendmail is trailed by Microsoft Exchange Server, Exim, and Postfix, these four being the only mail servers with more than 10% of the installed base. Sendmail can be difficult to configure. Whereas nearly all popular UNIX based server software has human readable configuration files, sendmail's configuration is not considered readable for humans. Instead, the sendmail authors recommend that administrators learn and use macro language tools, particularly M4 to configure sendmail. Sendmail is unique amongst UNIX based MTAs in this requirement, and no MTA developed since sendmail requires or recommends the use of macro languages for configuration. Sendmail supports a variety of mail transfer protocols, including SMTP, ESMTP, DECnet's mail11, HylaFax, QuickPage and UUCP. Additionally, sendmail v8.12 as of September 2001 introduced support for milters - external mail filtering programs that can participate in each step of the SMTP conversation. The most complete information you can find at http://www.sendmail.org and for the commercial version at http://www.sendmail.com.

  • Apache

    The Apache HTTP Server, commonly referred to simply as Apache, is a web server known for having played a key role in the initial growth of the world wide web. Apache was the first viable alternative to the Netscape Communications Corporation's web server (currently known as Sun Java System Web Server) and has since evolved to rival other UNIX-based web servers in terms of functionality and performance. It is often said that the project's name was chosen for two reasons: out of respect for the Native American Indian tribe of Apache (Indé), well-known for their endurance and their skills in warfare, and due to the project's roots as a set of patches to the codebase of NCSA HTTPd 1.3 - making it "a patchy" server although the latter theory is a lucky coincidence. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. The application is available for a wide variety of operating systems, including UNIX, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows, OS/2, TPF, and eComStation. Released under the Apache license, Apache is characterized as free software and open source software. Since April 1996 Apache is the most popular HTTP server on the world wide web. However, since November 2005 it has experienced a steady decline of its market share, lost mostly to Microsoft Internet Information Services. As of June 2008 (2008-06) Apache served 49.12% of all websites. The first version of the Apache web server was created by Robert McCool, who was heavily involved with the National Center for Supercomputing Applications web server known simply as NCSA HTTPd. When Rob left NCSA in mid-1994, the development of httpd stalled, leaving a variety of patches for improvements circulating through emails. Rob McCool was not alone in his efforts. Several other developers helped form the original "Apache Group": Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters and Nicolas Pioch. Version 2 of the Apache server was a substantial re-write of much of the Apache 1.x code, with a strong focus on further modularization and the development of a portability layer, the Apache Portable Runtime. The Apache 2.x core has several major enhancements over Apache 1.x. These include UNIX threading, better support for non-UNIX platforms (such as Microsoft Windows), a new Apache API, and IPv6 support. The first alpha release of Apache 2 was in March 2000, with the first general availability release on 6 April 2002. Version 2.2 introduced a new authorization API that allows for more flexibility. It also features improved cache modules and proxy modules. More information you find at http://www.apache.org.

  • Samba

    Samba is a free software re-implementation of SMB/CIFS networking protocol, originally developed by Australian Andrew Tridgell. Samba is released under the GNU General Public License. The name Samba comes from SMB (Server Message Block), the name of the standard protocol used by the Microsoft Windows network file system. As of version 3 Samba provides file and print services for various Microsoft Windows clients and can integrate with a Windows Server domain, either as a Primary Domain Controller (PDC) or as a domain member. It can also be part of an Active Directory domain. Samba runs on most UNIX and UNIX-like systems, such as Linux, Solaris, and the BSD variants, including Apple's Mac OS X Server (which was added to the Mac OS X client in version 10.2). Samba is standard on nearly all distributions of Linux and is commonly included as a basic system service on other UNIX-based operating systems as well. Samba is an implementation of dozens of services and a dozen protocols, including NetBIOS over TCP/IP (NBT), SMB, CIFS (an enhanced version of SMB), DCE/RPC or more specifically, MSRPC, the Network Neighborhood suite of protocols, a WINS server also known as a NetBIOS Name Server (NBNS), the NT domain suite of protocols which includes NT domain logons, Secure Accounts Manager (SAM) database, Local Security Authority (LSA) service, NT-style printing service (SPOOLSS), NTLM and more recently Active Directory Logon which involves a modified version of Kerberos and a modified version of LDAP. All these services and protocols are frequently incorrectly referred to as just NetBIOS or SMB. Samba can see and share printers. Samba sets up network shares for chosen UNIX directories (including all contained subdirectories). These appear to Microsoft Windows users as normal Windows folders accessible via the network. UNIX users can either mount the shares directly as part of their file structure or, alternatively, can use a utility, smbclient (libsmb) installed with Samba, to read the shares with a similar interface to a standard command line FTP program. Each directory can have different access privileges overlaid on top of the normal UNIX file protections. For example: home directories would have read/write access for all known users, allowing each to access their own files. However they would still not have access to the files of others unless that permission would normally exist. Note that the netlogon share, typically distributed as a read only share from /etc/samba/netlogon, is the logon directory for user logon scripts. Configuration is achieved by editing a single file (typically installed as /etc/smb.conf or /etc/samba/smb.conf). Samba can also provide user logon scripts and group policy implementation through poledit. Statistics on usage of Samba: http://samba.anu.edu.au/pub/samba/survey/ssstats.html/. Information on Samba: http://samba.anu.edu.au/samba/.

  • Perl

    Perl was originally named "Pearl", after the parable of the pearl from the Gospel of Matthew. Larry Wall wanted to give the language a short name with positive connotations; he claims that he considered (and rejected) every three- and four-letter word in the dictionary. Wall discovered the existing PEARL programming language before Perl's official release and changed the spelling of the name. The name is occasionally given as "PERL" (for Practical Extraction and Report Language). Although the expansion has prevailed in many of today's manuals, including the official Perl man page, it is merely a backronym. The name does not officially stand for anything, so spelling it in all caps is incorrect. Proper capitalisation is considered a shibboleth in the Perl community. Several other expansions have been suggested, including Wall's own humorous Pathologically Eclectic Rubbish Lister. Indeed, Wall claims that the name was intended to inspire many different expansions. Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). Its major features include support for multiple programming paradigms (procedural, object-oriented, and functional styles), reference counting memory management (without a cycle-detecting garbage collector), built-in support for text processing, and a large collection of third-party modules. The most important Perl websites are http://www.perl.com and http:www.perl.org. Larry Wall has a personal website: http://www.wall.org.

  • Python

    Python is a general-purpose, high-level programming language. Its design philosophy emphasizes programmer productivity and code readability. Python's core syntax and semantics are minimalistic, while the standard library is large and comprehensive. Python supports multiple programming paradigms (primarily object oriented, imperative, and functional) and features a fully dynamic type system and automatic memory management; similar to Perl, Ruby, Scheme, and Tcl. Python was first released by Guido van Rossum in 1991. The language has an open, community-based development model managed by the non-profit Python Software Foundation. While various parts of the language have formal specifications and standards, the language as a whole is not formally specified. The de facto standard for the language is the CPython implementation. Python website: http://www.python.org.

  • Tcl/Tk

    Tcl (originally from "Tool Command Language", but nonetheless conventionally rendered as "Tcl" rather than "TCL"; pronounced as "tickle" or "tee-cee-ell") is a scripting language created by John Ousterhout. Originally "born out of frustration"—according to the author—with programmers devising their own (poor quality) languages intended to be embedded into applications, Tcl quickly gained wide acceptance on its own and is generally thought to be easy to learn, but powerful in competent hands. It is most commonly used for rapid prototyping, scripted applications, GUIs and testing. Tcl is used extensively on embedded systems platforms, both in its full form and in several other small-footprinted versions. Tcl is also used for CGI scripting and as the scripting language for eggdrop bots. The combination of Tcl and the Tk GUI toolkit is referred to as Tcl/Tk. More information: http://www.tclconsortium.org, there you can find the software and the standards. http://www.scriptics.com is the website of John Ousterhout's company. At http://www.NeoSoft.com/tcl you can find many shareware modules for Tcl.

  • The K Desktop System

    KDE (K Desktop Environment) is a free software project which aims to be a powerful system for an easy-to-use desktop environment. The goal of the project is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system. In this regard, the KDE project serves as an umbrella project for many standalone applications and smaller projects that are based on KDE technology. These include KOffice, KDevelop, Amarok, K3b and many others. The website of KDE for UNIX Workstations you can find at http://www.kde.org.

  • GNOME: GNU Network Object Model Environment

    GNOME (http://www.gnome.org) is a desktop environment—the graphical user interface which sits on top of a computer operating system—composed entirely from free software. It is an international project that includes creating software development frameworks, selecting application software for the desktop, and working on the programs which manage application launching, file handling, and window and task management. GNOME is part of the GNU Project and can be used with various UNIX-like operating systems, most notably GNU/Linux, and as part of Java Desktop System in Solaris.

  • GIMP: The GNU Image Manipulation Program

    The GNU Image Manipulation Program, or GIMP, is a raster graphics editor used to process digital graphics and photographs. Typical uses include creating graphics and logos, resizing and cropping photos, altering colors, combining multiple images, removing unwanted image features, and converting between different image formats. GIMP can also be used to create basic animated images in GIF format. It is often used as a free software replacement for Adobe Photoshop, the most widely used bitmap editor in the printing and graphics industries; however, it is not designed to be a Photoshop clone. The project was started in 1995 by Spencer Kimball and Peter Mattis and is now maintained by a group of volunteers under the auspices of the GNU Project. The latest version of GIMP, v. 2.4.6, was released on May 30, 2008. Available under the terms of the GNU General Public License, GIMP is free software. Information at http://gimp.org.

  • GnuPG

    GNU Privacy Guard (GnuPG or GPG) is a replacement for the PGP suite of cryptographic software. GnuPG is completely compliant with RFC 4880, which is the current IETF standards track specification of OpenPGP. Current versions of PGP (and Veridis' Filecrypt) are interoperable with GnuPG and other OpenPGP-compliant systems. Although some older versions of PGP are also interoperable, not all features of newer software are supported by the older software. GPG is a part of the Free Software Foundation's GNU software project, and has received major funding from the German government. Released under the terms of version 3 of the GNU General Public License, GPG is free software. Website: http://www.gnupg.org/.

  • AMANDA

    Advanced Maryland Automatic Network Disk Archiver is an open source computer archiving tool that is able to back up data residing on multiple computers on a network. We dedicate an own chapter to Amanda on the avalaris website. You can also find information at: http://www.amanda.org

top  Top