FOSS A General Introduction/Annex I: Glossary

< FOSS A General Introduction


Applications are software written to supply functionality to the user. Functionality can range from end-user functions such as word processing and email reading, to server functions like databases and web servers.


An error in software that causes the program to malfunction, fail or not meet specifications. Modern bugs are usually introduced by programmer error and almost all major applications have some bugs in the system.


File Transfer Protocol – the protocol used to transfer files, both text and data. The standard dates back to the early years of the Internet and is still one of the more commonly used methods for transferring data between computer systems.


HyperText Markup Language – the language in which all web pages on the World Wide Web are encoded. HTML contains both data and instructions on how to format the data properly in a web browser. It also contains instructions on accessing related data.
HyperText Transfer Protocol – a protocol for controlling the transfer of data between different machines. HTTP is the most commonly used transfer method between web servers and web browsers, although it has been used to transfer other types of data and traffic. It has support for encryption and compression.


Local Area Network – a data network of computers, typically covering a small geographic region, such as an office building or house. A LAN may be connected to the Internet or be a separate, distinct network that communicates only within itself. Common uses for LANs include sharing printing resources and data between computers.


Operating System
The Operating System (OS) is the collection of software that controls the hardware (disk drives, displays, keyboard, mouse, etc.) and software applications on a computer. The OS manages and allocates the physical resources (CPU processing time, hard disk space, inputs from the keyboard, etc.) among the different applications that run within it. The OS supplies minimal user functionality. User functionality is typically supplied by applications, while the OS serves as an intermediary between hardware and application. Examples of an OS are Microsoft Windows, GNU/Linux, Sun Microsystem’s Solaris and Mac OS X.


Proprietary Software
Typically refers to software produced by commercial companies and licensed to users under very restrictive licenses. Any software released under licenses other than the FSF and/or OSI approved licenses are considered proprietary software for the purpose of this primer. Most proprietary software typically cannot be redistributed by the user; nor is access provided to the source code, though there are exceptions. Public domain software is not considered proprietary software.
Public Domain Software
Software that is not owned by anyone and is available to all, with no restrictions.


Source code represents the human readable instructions that form the heart of any program, be they operating systems such as Linux or Microsoft Windows, or accounting, database and graphical applications such as Oracle, MS SQL Server and Photoshop. Although it is not easily readable to lay people, software engineers can easily understand, correct and modify programs using the original source code. For example, a portion of code may look like this [1]
Float distance (p0, p1)
struct point p0, p1;
    float xdist = p1.x - p0.x;
    float ydist = p1.y - p0.y;
    return sqrt (xdist * xdist + ydist * ydist);

Once software engineers are finished with source code, it is converted to machine-readable code that looks like this:

1314258944      -232267772      -231844864      1634862
1411907592      -231844736      2159150         1420296208
-234880989      -234879837      -234879966      -232295424
1644167167      -3214848        1090581031      1962942495
572518958       -803143692      1314803317

Few engineers are able to understand, much less modify, a program once it has been converted to a machine-readable format. Because of this, most proprietary software is distributed in machine-readable form only and the source code is a jealously guarded secret.


Transmission Control Protocol over Internet Protocol – the protocol that underlies most of the Internet today, as well as most Ethernet LANs. TCP/IP was developed by the US agency DARPA. It supplies a reliable communication protocol at a very low level. Most Internet protocols (HTTP, FTP, telnet) are built on top of the TCP/IP protocol.
Thin Client
A thin-client infrastructure is one where most of the computational and data storage tasks are done on powerful server systems. The end-user system sitting on desktops are low-powered, displaying only the data returned by the servers. Standard desktop systems today running Microsoft Windows are fat-client systems, where most of the processing and data storage work is done by the desktop system and only a limited amount of work is done by the server.
Various advantages can be gained from using a thin-client infrastructure, mostly centering around lower maintenance and hardware costs. Because all data is stored on the server, including the applications, it is easier for administrators to manage and update the systems. A single change on the main server will immediately be reflected on all user systems. Likewise, the minimal data storage and processing requirements result in cheap desktop systems that do not need to be updated as regularly as today's fat-client desktops.


  1. Stallman, Richard M., “Why Software Should Be Free” [home page online]; available from ; Internet; accessed on November 9, 2003.: