# FOSS A General Introduction/Annex I: Glossary
## A
### Application

    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.

## B
### Bug

    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.

## F
### FTP

    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.

## H
### HTML

    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.

### HTTP

    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.

## L
### LAN

    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.

## O
### 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.

## P
### 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.

## S
### Sourcecode

    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
Once software engineers are finished with source code, it is converted to machine-readable code that looks like this:
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.

## T
### TCP/IP

    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.

## Footnotes

* ↑ Stallman, Richard M., “Why Software Should Be Free” [home page online]; available from http://www.gnu.org/philosophy/shouldbefree.html ; Internet; accessed on November 9, 2003.: