An IPSE from Hewlett-Packard.

soft boot

<operating system>

A boot which resets only part of the system.

For example, "If you're running the mess-dos emulator, control-alt-insert will cause a soft boot of the emulator, while leaving the rest of the system running".

Contrast hard boot.

[Jargon File]

Last updated: 1995-11-27


/soft'kop-ee/ (by analogy with "hardcopy") A machine-readable ("machinable") form of corresponding hardcopy.

[Jargon File]

Last updated: 1994-11-04



A software engineering company strong in the UK and Germany.


soft link

symbolic link


The integration of modem controller and data pump algorithms into a single RAM-based DSP hardware architecture. These integrated algorithms are stored on the computer's hard disk, from which they are downloaded into the DSP board's random-access memory (RAM). This downloading, or "booting" process of the PC-installed software algorithms occurs as part of the computer's power-up initialisation process in less than 100 milliseconds, making it transparent to the user.

[Digicom Modem FAQ version 2.03].

SoftVelocity Inc.


The distributors of the Clarion family of application development systems.

SoftVelocity, Inc..

Last updated: 2003-10-15



(Or "computer program", "program", "code") The instructions executed by a computer, as opposed to the physical device on which they run (the "hardware").

The term was coined by the eminent statistician, John Tukey.

Programs stored on non-volatile storage built from integrated circuits (e.g. ROM or PROM) are usually called firmware.

Software can be split into two main types - system software and application software or application programs. System software is any software required to support the production or execution of application programs but which is not specific to any particular application. Examples of system software would include the operating system, compilers, editors and sorting programs.

Examples of application programs would include an accounts package or a CAD program. Other broad classes of application software include real-time software, business software, scientific and engineering software, embedded software, personal computer software and artificial intelligence software.

Software includes both source code written by humans and executable machine code produced by assemblers or compilers. It does not usually include the data processed by programs unless this is in a format such as multimedia which depends on the use of computers for its presentation. This distinction becomes unclear in cases such as spread sheets which can contain both instructions (formulae and macros) and data. There are also various intermediate compiled or semi-compiled, forms of software such as library files and byte-code.

Some claim that documentation (both paper and electronic) is also software. Others go further and define software to be programs plus documentation though this does not correspond with common usage.

The noun "program" describes a single, complete and more-or-less self-contained list of instructions, often stored in a single file, whereas "code" and "software" are uncountable nouns describing some number of instructions which may constitute one or more programs or part thereof. Most programs, however, rely heavily on various kinds of operating system software for their execution. The nounds "code" and "software" both refer to the same thing but "code" tends to suggest an interest in the implementation details whereas "software" is more of a user's term.

Last updated: 2002-07-21

Software AG


A German software engineering company that started with the ADABAS database. Natural is their 4GL development environment, EntireX is their DCOM for Unix and IBM. BOLERO, is an object-oriented development environment and application server specially made for Electronic Business applications.

Mailing-list: <[email protected]>.

Last updated: 1999-03-06

software audit


A regular investigation of the software installed on all computers in an organisation to ensure that it is authorised or licensed.

Software audits minimise the risk of prosecution for software theft, minimise the risk of viruses through uncontrolled software copying, and ensure technical support is available to all users.

The Business Software Alliance Guide To Software Management.

Last updated: 1996-05-19

Software BackPlane

<programming, tool>

A CASE framework from Atherton.

Last updated: 1996-05-19

software bloat

<jargon, abuse>

The result of adding new features to a program or system to the point where the benefit of the new features is outweighed by the extra resources consumed (RAM, disk space or performance) and complexity of use. Software bloat is an instance of Parkinson's Law: resource requirements expand to consume the resources available. Causes of software bloat include second-system effect and creeping featuritis. Commonly cited examples include Unix's "ls(1)" command, the X Window System, BSD, Missed'em-five, OS/2 and any Microsoft product.

[Jargon File]

Last updated: 1995-10-16

Software bus

A support environment for heterogeneous distributed processing, such as the ANSA Testbench.

software copyright


Copyright on a piece of software. Software raises interesting questions in relation to copyright, such as what constitutes a "performance" of a piece of software and which aspects of software are restricted.

Last updated: 2008-05-22

Software Description Database


Archie's database of names and short descriptions of many of the software packages, documents (like RFCs and educational material), and data files that are available via the Internet.

Last updated: 1995-11-12

Software Developers Kit

<jargon, product>

(SDK, or "Software Development Kit") Software provided by a software vendor to allow their products to be used with those of other software vendors.

Last updated: 1995-03-01

software development life cycle

software life cycle

software enabling


(Or "enabling") Modification of the design or implementation of software to allow internationalisation to take place.

In particular, enabling may refer to the modification of software to support double-byte character sets, hence "Unicode enabling" and "double-byte enabling".

Last updated: 1999-06-28

software engineering


(SE) A systematic approach to the analysis, design, implementation and maintenance of software. It often involves the use of CASE tools. There are various models of the software life-cycle, and many methodologies for the different phases.

Last updated: 1994-11-03

Software Engineering Environment

(SEE) A set of management and technical tools to support software development, usually integrated in a coherent framework; equivalent to an IPSE.

Last updated: 1994-11-03

software handshaking


The transmission of extra data on a channel in order to control the device sending data in the other direction on that channel. For an EIA-232 connection, this means sending Control-S and Control-Q characters to stop and start transmission.

Since software handshaking requires the transmission and processing of extra data it can be less efficient than hardware handshaking.

Last updated: 1996-10-16

software interrupt

An interrupt caused by a specific machine language operation code (e.g. the Motorola 68000's TRAP, the IBM System/390's SVC or the ARM's SWI) rather than by a hardware event.

As with a hardware interrupt, this causes the processor to store the current state, store identifying information about the particular interrupt, and pass control to a first level interrupt handler.

A trap is similar except that it is caused by an unexpected software condition or error (e.g. divide by zero, undefined instruction) rather than a deliberate instruction.

Last updated: 1995-02-14

Software in the Public Interest, Inc.


(SPI) A non-profit corporation which helps organisations develop and distribute open hardware and open software. SPI's goals are:

* to create, form and establish an organization to formulate and provide software systems for use by the general public without charge;

* to teach and train individuals regarding the use and application of such systems;

* to hold classes, seminars and workshops concerning the proper use and application of computers and computer systems;

* to endeavor to monitor and improve the quality of currently existing publicly available software;

* to support, encourage and promote the creation and development of software available to the general public;

* to provide information and education regarding the proper use of the Internet;

* to organize, hold and conduct meetings, discussions and forums on contemporary issues concerning the use of computers and computer software;

* to foster, promote and increase access to software systems available to the general public;

* to solicit, collect and otherwise raise money and to expend such funds in furtherance of the goals and activities of the corporation;

* to aid, assist, cooperate, co-sponsor and otherwise engage in concerted action with private, educational and governmental organisations and associations on all issues and matters concerning the use of computers and computer software and;

* generally to endeavor to promote, foster and advance interest in computers and computer software by all available means and methods.

SPI currently supports Berlin, Debian, GNOME, LSB, Open Source.

SPI Home.

Last updated: 2002-04-14

software laser

An optical laser works by bouncing photons back and forth between two mirrors, one totally reflective and one partially reflective. If the lasing material (usually a crystal) has the right properties, photons scattering off the atoms in the crystal will excite cascades of more photons, all in lockstep. Eventually the beam will escape through the partially reflective mirror.

One kind of sorcerer's apprentice mode involving bounce messages can produce closely analogous results, with a cascade of messages escaping to flood nearby systems. By mid-1993 there had been at least two publicised incidents of this kind.

[Jargon File]

software law


Software may, under various circumstances and in various countries, be restricted by patent or copyright or both. Most commercial software is sold under some kind of software license.

A patent normally covers the design of something with a function such as a machine or process. Copyright restricts the right to make and distribute copies of something written or recorded, such as a song or a book of recipies. Software has both these aspects - it embodies functional design in the algorithms and data structures it uses and it could also be considered as a recording which can be copied and "performed" (run).

"Look and feel" lawsuits attempt to monopolize well-known command languages; some have succeeded. Copyrights on command languages enforce gratuitous incompatibility, close opportunities for competition, and stifle incremental improvements.

Software patents are even more dangerous; they make every design decision in the development of a program carry a risk of a lawsuit, with draconian pretrial seizure. It is difficult and expensive to find out whether the techniques you consider using are patented; it is impossible to find out whether they will be patented in the future.

The proper use of copyright is to prevent software piracy - unauthorised duplication of software. This is completely different from copying the idea behind the program in the same way that photocopying a book differs from writing another book on the same subject.

Usenet newsgroup:

["The Software Developer's and Marketer's Legal Companion", Gene K. Landy, 1993, AW, 0-201-62276-9].

Last updated: 1994-11-16

software life-cycle


The phases a software product goes through between when it is conceived and when it is no longer available for use. The software life-cycle typically includes the following: requirements analysis, design, construction, testing (validation), installation, operation, maintenance, and retirement.

The development process tends to run iteratively through these phases rather than linearly; several models (spiral, waterfall etc.) have been proposed to describe this process.

Other processes associated with a software product are: quality assurance, marketing, sales and support.

Last updated: 1996-12-27

Software Method

Software Methodology

Software Methodology


The study of how to navigate through each phase of the software process model (determining data, control, or uses hierarchies, partitioning functions, and allocating requirements) and how to represent phase products (structure charts, stimulus-response threads, and state transition diagrams).

Last updated: 1996-05-29

software metric


A measure of software quality which indicates the complexity, understandability, testability, description and intricacy of code.

Last updated: 1994-11-16

software patent


A patent intended to prevent others from using some programming technique.

There have been several infamous patents for software techniques which most experienced programmers would consider fundamental or trivial, such as the idea of using exclusive-or to plot a cursor on a bitmap display. The spread of software patents could stifle innovation and make programming much harder because programmers would have to worry about patents when designing or choosing algorithms.

There are over ten thousand software patents in the US, and several thousand more are issued each year. Each one may be owned by, or could be bought by, a grasping company whose lawyers carefully plan to attack people at their most vulnerable moments. Of course, they couch the threat as a "reasonable offer" to save you miserable years in court. "Divide and conquer" is the watchword: pursue one group at a time, while advising the rest of us to relax because we are in no danger today.

Compuserve developed the GIF format for graphical images many years ago, not knowing about Unisys's 1985 patent covering the LZW data compression algorithm used in GIF. GIF was subsequently adopted widely on the Internet. In 1994 Unisys threatened to sue Compuserve, forcing them to impose a sublicensing agreement for GIF on their users. Compuserve users can accept this agreement now, or face Unisys later on their own. The rest of us don't have a choice -- we get to face Unisys when they decide it's our turn. So much trouble from just one software patent.

Patents in the UK can't describe algorithms or mathematical methods.

See also LPF, software law.

patent search.

Last updated: 1995-01-06

software piracy


Making or distributing unauthorised copies of software, either for kudos or for profit. See software theft.

Last updated: 2010-02-03

software pirate

<software, legal>

Someone engaged in software piracy.

Last updated: 2010-02-03

Software Practice and Experience


(SPE) A journal about software.

[Publisher? UK?]

Last updated: 1997-12-12

Software Productivity Centre


(SPC) A non-profit organisation based in Vancouver, BC, Canada with the mandate to assist software developers to improve their software engineering process.

Last updated: 1998-10-13

Software Publishing Certificate


(SPC) A public key certification standard (PKCS) #7 signed data object containing X.509 certificates. SPCs are used for digital signatures as applicable to computer software.

Last updated: 2007-05-16

Software Publishing Corporation


(SPC) The company that produces Harvard Graphics.

Last updated: 1998-10-13

software reliability

See also formal methods, safety-critical system. Mailing list: [email protected]


software rot


The tendency of software that has not been used in a while to fail; such failure may be semi-humorously ascribed to bit rot. More commonly, "software rot" strikes when a program's assumptions become out of date. If the design was insufficiently robust, this may cause it to fail in mysterious ways.

For example, owing to shortsightedness in the design of some COBOL programs, many would have succumbed to software rot when their 2-digit year counters wrapped around at the beginning of the year 2000. A related incident made the news in 1990, when a gentleman born in 1889 applied for a driver's licence renewal in Raleigh, North Carolina. The system refused to issue the card, probably because with 2-digit years the ages 101 and 1 cannot be distinguished.

Historical note: Software rot in an even funnier sense than the mythical one was a real problem on early research computers (e.g. the R1; see grind crank). If a program that depended on a peculiar instruction hadn't been run in quite a while, the user might discover that the opcodes no longer did the same things they once did. ("Hey, so-and-so needs an instruction to do such-and-such. We can snarf this opcode, right? No one uses it.")

Another classic example of this sprang from the time an MIT hacker found a simple way to double the speed of the unconditional jump instruction on a PDP-6, so he patched the hardware. Unfortunately, this broke some fragile timing software in a music-playing program, throwing its output out of tune. This was fixed by adding a defensive initialisation routine to compare the speed of a timing loop with the real-time clock; in other words, it figured out how fast the PDP-6 was that day, and corrected appropriately.

[Jargon File]

Last updated: 2002-02-22

software theft


Unauthorised duplication and/or use of computer software. This usually means unauthorised copying, either by individuals for use by themselves or their friends or by companies who then sell the illegal copies to users. Many kinds of software protection have been invented to try to reduce software theft but, with sufficient effort, it is always possible to bypass or "crack" the protection, and software protection is often annoying for legitimate users.

Software theft in 1994 was estimated to have cost $15 billion in worldwide lost revenues to software publishers. It is an offence in the UK under the Copyright, Designs and Patents Act 1988, which states that "The owner of the copyright has the exclusive right to copy the work."

It is estimated that European software houses alone lose $6 billion per year through the unlawful copying and distribution of software, with much of this loss being through business users rather than "basement hackers". One Italian pirating operation employed over 100 staff and had a turnover of $10M.

It is illegal to: 1. Copy or distribute software or its documentation without the permission or licence of the copyright owner. 2. Run purchased software on two or more computers simultaneously unless the licence specifically allows it. 3. Knowingly or unknowingly allow, encourage or pressure employees to make or use illegal copies sources within the organisation. 4. Infringe laws against unauthorised software copying because someone compels or requests it. 5. Loan software in order that a copy be made of it.

When software is upgraded it is generally the case that the licence accompanying the new version revokes the old version. This means that it is illegal to run both the old and new versions as only the new version is licensed.

Both individuals and companies may be convicted of piracy offences. Officers of a company are also liable to conviction if the offences were carried out by the company with their consent. On conviction, the guilty party can face imprisonment for up to two years (five in USA), an unlimited fine or both as well as being sued for copyright infringement (with no limit) by the copyright owner.

Because copying software is easy, some think that it is less wrong than, say, stealing it from a shop. In fact, both deprive software producers of income.

Software theft should be reported to the Federation Against Software Theft (FAST).

See also Business Software Alliance, software audit, software law.

Last updated: 2003-06-17

Software through Pictures

<programming, tool>

(StP) A set of CASE tools distributed by Aonix.

Last updated: 1999-05-21

software tool


A program that aids in the development of other programs. It may assist the programmer in the design, code, compile, link, edit, or debug phases.

Last updated: 1996-05-28

Software Verification Research Centre


(SVRC) A Special Research Centre of the Australian Research Council. Its mission is to create improved methods and tools, of industrial significance for developing verified software. Two of the SVRC's core projects are the Cogito methodology and the Ergo proof tool.

Last updated: 1995-11-14

Software Writer's Language


(SWL) /swil/ An industrial strength dialect of Pascal that allowed multiple source code files, originally developed at Control Data Corporation (CDC) prior to 1973. Development continued at the Integrated Systems Laboratory. SWL was adopted by NCR as its corporate operating system and compiler implementation language (1978-1982+). The NCR SWL dialect was renamed NCRL (NCR Language) in 1981 and continued development [until ?].

Last updated: 2003-12-31


/soft-weir'i-lee/ In a way pertaining to software. "The system is softwarily unreliable." The adjective "softwary" is *not* used. See hardwarily.

[Jargon File]


(IBM) Hardware hackers' term for a software expert who is largely ignorant of the mysteries of hardware.

Last updated: 1995-01-11

Nearby terms:

SO-DIMMSod's LawSOESoftBenchsoft bootsoftcopySoftlabsoft link

Try this search on Wikipedia, OneLook, Google