DRAFT AS AT 21 JULY 2003

 

Glossary, Definitions and Explanations relating to EURIM Open Source Paper, June 2003

 

Term

Definition

Examples

Application level relays

 

[Need definition]

Binary Code

The string of 0s and 1s that make up the instructions that a computer can understand.  Computers work in Binary – powers of 2, whereas normally we work in Decimal – powers of 10.  Hence 234 in binary is 2 x 22 + 3 x 21 + 4 x 20 = 8 + 6 + 4 = 18 whereas in decimal this number is 2 x 102 + 3 x 101 + 4 x 100 =  200 + 30 + 4. Binary code suits electronic equipment because of the on-off / charged-uncharged / positive-negative associations.

See  http://www.webopedia.com/TERM/b/binary.html

 

BSD

BSD stands for ``Berkeley Software Distribution''. It is the name of distributions of source code from the University of California, Berkeley, which were originally extensions to AT&T's Research UNIX operating system. Several open source operating system projects are based on a release of this source code known as 4.4BSD-Lite. In addition, they comprise a number of packages from other Open Source projects, including notably the GNU project.

Source: http://www.lemis.com/bsdpaper.html#what

[definition needs clarifying – we are talking about BSD licence in the paper]

Commercial Software

For the purposes of this EURIM paper, we differentiate between
'proprietary' and 'commercial' software. NB - these two terms are not necessarily related, even as opposites. They describe different states.

We see 'proprietary' software as where the ownership of the intellectual capital in the software is vested in an individual or company as their property. They may well make this property openly available for use free of charge by others, while retaining their ownership. Owners of proprietary software may keep the technical detail of the software code private to themselves and only license its use to customers, or they may choose another relationship with users - exposing the source code to some while keeping it secret from others and with a range of payment options - while still retaining the intellectual property.

We see commercial as relating to software - whether based on proprietary code or on open source code - which forms the basis of a commercial transaction.
Thus 'commercial' could apply to the terms of use of software developed using LINUX, depending on the product licence terms. More often it will apply to proprietary software made available on normal business terms.

An example of proprietary but non-commercial software is JAVA language, which has been made openly available to software developers worldwide at no charge, while remaining the property of Sun Microsystems (TM).

Compiler

A program that translates Source code into Object code which can then be translated into Machine code.  Source code is the basic language in which the instructions are written by the programme.  Machine code is the language that computers can understand in order to execute the instructions and object code is a kind of intermediary language.  The compiler collects and reorganises the instructions in the source code to produce object code.  Sometimes computers can read object code because it is close enough to the machine code that they understand.  Other times the object code needs to be converted to executable machine code by using programmes called assemblers, binders, linkers and loaders.

Compilers are specific to certain computer types and programming languages.  A particular compiler, therefore translates a certain kind of programming language into code that is readable on certain kinds of machines.  This is a bit like a translator that can translate German into Russian as opposed to one that can translate German into French or French into English, except that there can be an intermediate language involved too.

 

Source: http://www.webopedia.com

 

For more information see: http://www.webopedia.com/TERM/C/compiler.html

 

 

Copyleft

Copyleft is a general method for making a program free software and requiring all modified and extended versions of the program to be free software as well. Copylefting ensures that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it.

See http://www.fsf.org/copyleft/copyleft.html

 

Source:  FSF/ GNU

 

Developer Tools

 

[need definition]

ERP

Short for enterprise resource planning, a business management system that integrates all facets of the business, including planning, manufacturing, sales, and marketing. As the ERP methodology has become more popular, software applications have emerged to help business managers implement ERP in business activities such as inventory control, order tracking, customer service, finance and human resources.

Source: http://www.webopedia.com

See: http://www.webopedia.com/TERM/E/ERP.html

 

 

Firewall

A system designed to prevent unauthorized access to or from a private network. Firewalls can be implemented in both hardware and software, or a combination of both. Firewalls are frequently used to prevent unauthorized Internet users from accessing private networks connected to the Internet, especially intranets. All messages entering or leaving the intranet pass through the firewall, which examines each message and blocks those that do not meet the specified security criteria.

 

Source:  http://www.webopedia.com

See also: http://www.webopedia.com/TERM/f/firewall.html

 

 

Forking

Forking happens when software develops down divergent paths, or when offshoots of the software develop  The result may be independent products that are not interoperable.  This happened to UNIX where different proprietary versions developed.

 

Free Software

Free Software is software, where the user has freedom to run, copy, distribute, study, change and improve the software.

It is free software if, “as a user:-

·         You have the freedom to run the program, for any purpose.

·         You have the freedom to modify the program to suit your needs. (To make this freedom effective in practice, you must have access to the source code, since making changes in a program without having the source code is exceedingly difficult.)

·         You have the freedom to redistribute copies, either gratis or for a fee.

  • You have the freedom to distribute modified versions of the program, so that the community can benefit from your improvements.

The "free" refers to freedom, not to price so there is no contradiction between selling copies and free software.”

Source: http://www.fsf.org/gnu/thegnuproject.html

 

The concept of Free Software is an ideology, around the idea that software should not be owned by anyone.  Although zero cost is implied, the “Free” should be interpreted in the same way as “Free Speech” rather than “Free Beer”. 

See http://www.fsf.org/philosophy/free-sw.html

 

 

Free Software Federation

The FSF is the principal organisational sponsor of the GNU project with a mission to preserve, protect and promote the freedom to use, study, copy, modify and redistribute computer software and to defend the rights of free software users.

See: http://www.gnu.org/

 

GPL

General Public Licence, usually referred to as GNU GPL.  This is a copyleft licence and is designed to ensure that the source code for the software stays in the public domain. The GPL requires that any changes to the original work also take on the same licence terms. This means that anyone distributing OSS, making modifications or improvements to OSS or using OSS to create derivative products must make the source code of such derivatives publicly available.  Some view this as a restrictive licence because it restricts the opportunity to benefit commercially from developing the software. Others would say the opposite, because it ensures unrestricted access to the source code.

 

Hacker

Here the word Hacker is used to describe a member of the software developer community, its original meaning, and NOT someone trying to hack illegally into systems.

Richard Stallman, founder of the Free Software Federation and architect of GNU, is a hacker

Interoperability

The ability of systems or software to  “talk to” other systems, either directly, because they are compatible, or via an interface or portal.  Interoperability eliminates repeated data entry (with consequent risk of error) because information held in one system can be accessed via another system.  Interoperability relies on data management standards (ownership, security, quality, sourcing) and interface standards (format, protocols and process). 

 

Source: EURIM Briefing 36:  Interoperability – Joined Up Government Needs Joined Up Systems

http://www.eurim.org/briefings/BR36_final.htm

 

See also e-GIF definitions.

The Police National Computer (PNC) is now linked to a Motor insurance and

Driver databases so that police can check insurance and licence records of cars directly via the PNC. 

Local Authority One-Stop-Shops are an example of limited interoperability where information from different systems is available through a portal or screen, but the information is not combined and is held separately.

Interpreter

A programme that translates programming language from the original code in which it is written to an intermediate code and then executes it, so there is no need for machine code.

 

See: http://www.webopedia.com/TERM/i/interpreter.html

 

 

IPR

Intellectual Property Rights – the system for protecting ownership of a creation that does not exist in tangible form.  Such rights are protected through patents, copyright, trademarks, etc.

Source: Oxford English Reference Dictionary

 

Kernel

The central module of an operating system. It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications. Typically, the kernel is responsible for memory management, process and task management, and disk management.

Source: http://www.webopedia.com

 

For more detail see: http://www.webopedia.com/TERM/k/kernel.html

 

 

Meta Data

Data about data – see eGIF definition.  The Dublin core (set of meta data) is being given ISO standard.  Meta Data enables interworking.

e-GMF (government meta data framework).  www.govtalk.gov.uk

PNC relies on agreements between the metadata between the different systems.

Open (as in open source software or open standards)

The word "open" is here meant in the sense of fulfilling the following requirements:

·        the costs for the use of the standard are low and are not an obstacle to access to it;

·        the standard has been published;

·        the standard is adopted on the basis of an open decision-making procedure (consensus or majority decision etc);

·        the intellectual property rights to the standard are vested in a not-for-profit organisation, which operates a completely free access policy;

·         there are no constraints on the re-use of the standard.

 

Source: Dutch Programme for Open Standards and Open Source Software in Government (OS/SOS)

 

Open Source Initiative

The Open Source Initiative is a non-profit making organisation dedicated to managing and promoting the Open Source Definition, specifically through OSI certified software.  See

http://www.opensource.ac.uk/mirrors/www.opensource.org/

 

Open Source Software

Open Source Software (OSS ) is software whose source code is openly published, is often (but not always) developed by voluntary efforts and is usually (but not always) available at no charge under a licence defined by the Open Source Initiative (OSI) which prevents it from being redistributed under a more restrictive licence. 

OGC Guidance on implementing OSS defines it as ”Software where the source code (the language in which the program is written) is freely distributed with the right to modify the code, and on the condition that redistribution is not restricted, and indeed is obtainable for no more than the reasonable cost of reproduction” See http://www.ogc.gov.uk/embedded_object.asp?docid=2498

OGC also note: In contrast, vendors of closed, proprietary, software provide only executable binary code, and not the human readable source from which that code is derived.  Proprietary software vendors usually also place very specific limits on redistribution of the software”

 

Source: OGC, OeE. See also OSI website definition: http://www.opensource.org/docs/definition.php

Linux is an open source operating system.

Apache is open source.

Operating System

The underlying technology that enables software applications to run on the computer hardware – the interface between them.  The operating system is the most important program on a computer and enables the computer to run other programs.  It also performs basic tasks like recognising input from the keyboard, sending output to the screen, and keeping files and programs separate.

 

Source: http://www.webopedia.com

 

For more detail see

http://www.webopedia.com/TERM/O/operating_system.html

Microsoft Windows is an operating system.

Permissive Licence

This tends to describe a licence that allows commercial benefit to be gained from derivatives or modifications to OSS whilst ensuring that the original source code remains open.

 

Proxy Servers

These are servers that act as interfaces between users and other servers, such as web servers.  They intercept requests before they reach the server and answer them if they can, if not they send the request on to the server.  In this way they act as a memory cache, a bit like the temporary internet files on a PC, but much bigger, and this speeds up access to information.  They can also act as filters to prevent users accessing certain kinds of website.

 

Restrictive Licence

Some use the term restrictive licence to describe a licence like the GPL which restricts the way in which the software can be used commercially because further work on the software to develop it, make modifications or derivatives cannot be protected by IPR.  However, others take the opposite view, and would describe proprietary licences as restrictive because they limit the ways in which software can be used, and access to the source code is restricted.

 

Scripting Language

A language for writing code.  Java Script and VB Script are both examples of scripting languages.

[What is the difference between a scripting language and a programming language?]

 

Server

A server is really a computer that provides some kind of service for other computers on a network.  There are different kinds of server – print servers are computers that manage printers, file servers are computers that manage lots of files.  Because other computers (and often whole networks) rely on them, servers are usually high specification, and may also have built in contingency setups, for example back up power sources should there be a power failure.

 

Source code

Source Code is the original instructions for a programme, and is the only format that is written in a language that can be understood by humans. In order for it to be read by machines, source code has to be translated into Executable code, or sets of instructions that a machine can carry out. Machine code is an executable code. Usually, the code that is supplied with software is in a machine language format which means that they will automatically give instructions that the computer hardware understands and can execute, but cannot be read or modified.  Source code is readable and can therefore be modified.

 

Source:  http://www.webopedia.com

 

See  http://www.webopedia.com/TERM/s/source_code.html

 

See www.iunknown.com/Files/Test.pdf for an example of some source code.

UNIX

Pronounced yoo-niks, this is an operating system first developed at Bell Labs in the early 1970s. UNIX was designed to be a small, flexible system used exclusively by programmers and as a result it has traditionally been user-unfriendly.

UNIX was one of the first operating systems to be written in a high-level programming language, namely C, which made it very portable because it could be installed on virtually any computer for which a C compiler existed.  This natural portability combined with its low price made it a popular choice among universities. (It was inexpensive because antitrust regulations prohibited Bell Labs from marketing it as a full-scale product.)

Bell Labs distributed the operating system in its source language form, so anyone who obtained a copy could modify and customize it for his own purposes. By the end of the 1970s, dozens of different versions of UNIX were running at various sites.

 

Source:  http://www.webopedia.com

 

See: http://www.webopedia.com/TERM/U/UNIX.html

 

 

Web Servers

A computer that delivers web pages.  Any computer can become a web server by installing server software and connecting it to the internet.  There are many web server software applications such as Apache, Microsoft or Netscape. When you search for a website using a browser it requests it from the web server which then finds and serves up the home (index) page unless a more specific page is requested. 

 

Source:  http://www.webopedia.com

www.btinternet.co.uk is the name of the web server on which this webpage is held. 

 

 

 

NOTES

Radical implications of Free Software.  The concept of “free software” was seen by some to have radical implications as part of a larger “free” or anti-capitalist movement.  It was also felt that people in business would underestimate free software simply because it was free, on the mistaken assumption that anything that was a giveaway couldn’t be any good.  Hence the term “open source” was developed to play down these associations whilst reinforcing the concept of access to the source code. It also reflect better the reality that the software was not necessarily free of cost.