FOSS Government Policy/Glossary

Free Software
The word “free” in Free Software refers to the users’ freedom to run, copy, distribute, study, change and improve the software. It does not refer to the price of the software. More precisely, a program is Free Software if users have the following four freedoms:
  1. The freedom to run the program for any purpose
  2. The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help your neighbour.
  4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this.
The definition of Free Software and a more detail explanation is available at
GNU is a recursive acronym for “GNU’s Not Unix” and the name of a project started in 1984 by Richard Stallman to develop a complete UNIX-like operating system that is available as Free Software. This is called the GNU operating system.
The GNU General Public License (GNU GPL) was originally used as the license for “Free Software” distributed by the Free Software Foundation (FSF). Under the GPL, users may run, copy and modify the software, and distribute the modified software. However, users are not allowed to add their own restrictions and the modified software must be released under the same licensing terms. The GPL also requires that the source code be made available to anyone who possesses the program binary.
In the context of software, localization is the process of adapting, translating and customizing a product for a specific market. This means the modification of the interface so that it becomes meaningful and comprehensible to the local user of the product. Localization needs to address linguistic, content, cultural and technical issues.
National Security Agency (NSA) is the United States of America’s cryptologic organization. It coordinates, directs, and performs highly specialized activities to protect US information systems and produce foreign intelligence information. A high technology organization, NSA is on the frontiers of communications and data processing. It is also one of the most important centres of foreign language analysis and research within the United States government.
Information adapted from NSA website at:
Open Source Software
Open Source Software does not only mean access to the source code. To qualify as Open Source Software, a software must have distribution terms that comply with the following conditions:
  1. Free redistribution.
  2. Availability of source code.
  3. Possibility of derived works.
  4. Integrity of the author's source code.
  5. No discrimination against persons or groups.
  6. No discrimination against fields of endeavour.
  7. Distribution of license.
  8. License must not be specific to a product.
  9. License must not restrict other software.
  10. License must be technology-neutral.
For further explanation of the definition of Open Source please refer to:
Operating System
An Operating System (OS) is a collection of software that controls the hardware 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 on it. Examples of an OS are Microsoft Windows, GNU/Linux, Solaris and Mac OS X. Most modern OS bundle additional applications (word processors, media players, web browsers) that are not traditionally defined as part of an Operating System.
Reverse Engineer
To reverse engineer a product is to take apart a functioning product to understand how it works. This is often used as part of a process to create a separate product that functions in a similar fashion. Reverse engineering for compatibility purposes is protected by law in many countries.
Source Code
Software source code is the set of programming instructions written by the programmer using a particular computer language. Most computer languages are easily read and understood by a competent programmer. In order for the computer to understand and run the software, the source code must be compiled or “translate” into machine code (also referred to as binary code, executable code or object code). To modify software, the source code must be available, as the machine code is not human-readable.
Total Cost of Ownership (TOC) includes all the costs involved in a technology or business solution. In addition to the initial investment cost, TCO includes training, maintenance, support, replacement costs, and the like. In the case of software, the TCO should include the initial cost of the software; upgradation cost; and maintenance, support and training costs.