HOME  MIGRATING TO OSS  CASE STUDIES  ABOUT US  
HOME
CASE STUDIES
MIGRATION GUIDE
LINKS
GLOSSARY
 
Free and Open Source Glossary

Introduction to FOSS terminology

Free software
In contrast to proprietary software, free software can be altered, re-distributed or even re-sold, by anyone. The free software movement (www.fsf.org) is as much a political movement as it is a software movement. Advocates of free software believe all software - and information - has a right to be free. That is free as in freedom and not just free as in no-cost. Source code of free software applications is accessible to all. The only restriction on altering and re-distributing software under the free software banner is that the freedom to alter the code be passed along to all subsequent users.

Linux
Linux is an open source operating system very similar in structure and design to the Unix operating system. Linux was originally created by Linux Torvalds while a student in Helsinki but is today developed through the collaborative efforts of millions of developers around the world.

Open source
Open source software is similar in idea to "free software" but slightly less rigid than the free software movement. Users of open source software are (generally) able to view the source code, alter and re-distribute open source software. There is however less of an emphasis in the open source movement on the right of information and source code to be free and in some cases companies are able to develop proprietary products based on open source ones.

Proprietary software
Much of the software users are accustomed to is known as proprietary software. With proprietary software users are not allowed to see the source code. Nor are they able to modify the code for their own use or to distribute to others. In some cases certain customers are allowed to view the source code - sometimes for an additional fee - but even then they are not able to alter and re-distribute the software. Examples of proprietary software include Microsoft's Office suite.

Source code
The programming language underlying any application. The source code may be written in any one of a thousand possible computer languages including Java, C++, Pascal, Basic or even Unix. Typically in proprietary software the source code is compiled (converted into machine language) and distributed as binary software. End-users are not able to view the original program and are therefore unable to alter it. In the Open Source World the source code is available to all so that they can compile the application themselves or alter it any in any way they like.

Open source operating systems

Linux Kernel
The Linux Kernel on its own probably won't interest the beginner - it's the component of a whole Linux distribution that provides the basic servers used by programs running on the system. If you're new to Linux, rather use one of the distributions below (they've all got the Linux Kernel as part of the package)

Debian GNU/Linux
Debian has a sophisticated package management system, apt-get, which allows components to be updated easily. While other distributions have similar package management systems, Debian's is particularly robust. Secondly, Debian is a free distribution (in the broader sense of freedom, not just price), and its development maintains the same open spirit as other free software. That's the reason Debian insists on using the term GNU in the title, and not just Linux. The GNU project is in the main sponsored by the Free Software Foundation (FSF), and the Debian distribution has closer links to the FSF than the others. Debian is better used for servers than workstations, and can be trickier than other distributions for beginners to get to grips with. It's installer is notoriously unfriendly amongst Linux distributions.

Gentoo Linux
Gentoo is the most BSD-like of Linux distributions. It has a BSD-style ports system (Portage), and is particularly configurable, easy to maintain, meaning that it is easy to keep up-to-date, and it provides good performance. Gentoo is flexible, and a good choice for both workstations and servers. It is fairly tedious to install however, and not the best choice for beginners.

  • Knoppix Linux

    Knoppix is a Debian-based distribution that has sprung from nowhere to become one of the most popular distributions for enticing Windows users across to Linux. Its hardware detection is very good, and it runs directly from a CD, which has security and convenience benefits, making it a good choice for beginners, and it's very up-to-date.
  • Mandrake Linux

    One of the more popular distributions, easy for beginners, with graphical configuration and a large community. Particularly good for workstation use. However, the company is in financial difficulties.
  • Red hat Linux

    Red Hat Linux is the largest commercial distribution, and is particularly easy to use for beginners. It's commonly used in both servers and workstations. The free edition has a limited lifespan however, and multimedia support is seen to be poor.
  • Slackware Linux

    Slackware aim to be the most 'Unix-like' of all Linux distributions, adhering to the published standards, and being stable. While still relatively easy to use, Slackware can be trickier than other distributions for novice users, with limited hardware detection. It is more commonly used for servers than for desktops.
  • SUSE Linux

    SUSE are one of the bigger commercial distributors of Linux, providing extensive support and good documentation. It is commonly used for both servers and workstations. SUSE does contain proprietary components however, and a downloadable version is only available long after the commercial version has been made available.



    The BSD's


    The 3 BSD's run on the BSD licence, which unlike the GNU licence places no restrictions on commercial usage. Code can be reused in whole or in part, for any purpose. The BSD's are also complete operating systems (including the associated utilities), unlike Linux, which is strictly speaking just the kernel. This means the BSD's tend to have
    • FreeBSD

      The most popular of the BSD's, with the most features and best documentation. Often regarded as more secure and robust than the various flavours of Linux.
    • NetBSD

      The most portable of the BSD's, running on 53 (as of July, 2003)) hardware platforms, including such unconventional platoforms as the Acorn Archimedes and Sega Dreamcast.This robustness in portability makes it ideal for embedded systems and for old hardware. There are more ports and packages available for NetBSD than for OpenBSD, but less than for FreeBSD.
    • OpenBSD

      Generally seen as the most secure, OpenBSD is intentionally devoid of features to minimise potential security holes. It's also available for a large number of platforms (not as many as NetBSD though). OpenBSD is a good choice for security fanatics, not for beginners.

    Database Software

    • MySQL

      The most popular open-source DBMS. Version 3 is most commonly used for websites, but version 4 adds some of the features required by more demanding users, such as transactions and referential integrity. MySQL is well-documented, with books and online tutorials abounding. It is released under a GNU licence, but is also available under a commercial licence.
    • PostgreSQL

      An object-relational DBMS, containing more features than MySQL, but with a smaller user-base and less documentation available. It is released under a BSD-style licence

    Web servers

    • Apache

      Apache is the most popular web server, running on 62% of all web servers (as of May, 2003). The initial version was based on changes to the then popular NCSA httpd 1.3, hence 'a patchy server'. Apache 1.3 has been stable for a long time, ideal for Unix uses, while Apache 2.0 contains major modifications particularly for Windows users.

    Scripting Languages

    • Perl

      Perl was designed "to make easy tasks easy and difficult tasks possible", and borrows heavily from sed, awk, C and shell scripting. It has traditionally been used for text manipulation and reporting, thanks to its powerful regular expression functionality. Perl was the most common platform in the early days for building dynamic websites, and is still a popular choice with the mod-Perl Apache module, but has been somewhat superseded by PHP.
    • PHP

      Since the release of version 4, PHP has become the most common Open-source choice for dynamic websites, interacting easily with a large number of relational database systems. PHP is relatively easy to learn, and is released under a BSD-style licence
    • Python

      Python is a scripting language whose developers have chosen a sparer syntax than that used by Perl, resulting in more readable code. It has stricter type-checking than Perl or PHP, and a more developed object system.



  • Opensourceafrica.org is produced by Open Research and Tectonic