Computer Literacy · Foundations

Software

Want it in plain words first? Jump to Eli explains — the same idea, no jargon.
On this page 9 sections
  1. In 30 seconds
  2. Why this matters
  3. The college version
  4. Eli explains
  5. Worked example
  6. Key takeaway
  7. Quick check
  8. Study tools
  9. Sources & references

In 30 seconds

is the coded set of instructions that tells a computer's what to do. It has no physical form of its own — it is the programs and data the machine runs, as opposed to the chips and circuits it runs on. Software splits into two broad families: , which runs the machine itself (operating systems, drivers, utilities), and , which helps you do tasks like writing, browsing, or editing photos. sits in between, built into a device.

Why this matters

Almost everything you do on a computer or phone is software working on your behalf, so knowing what software is — and how it differs from the hardware it runs on — helps you install it safely, understand what you agree to when you accept a license, and choose between proprietary and open-source options. When something goes wrong, recognizing whether the trouble is hardware or software points you toward the right fix. As more of daily life runs on apps and cloud services, telling system software from applications, and understanding that you usually license software rather than own it outright, is basic footing for later topics like operating systems, installation, and security.

The college version

What software is (and what it is not)

Software is the coded set of instructions, together with the data those instructions work on, that tells a computer's hardware what to do. A common technical definition frames it as computer programs and their associated data — the part of a computer system that can be written and changed, as opposed to the fixed physical machine. That contrast is the anchor for the whole topic: hardware is the tangible equipment you can touch — the processor, memory chips, drive, screen, and keyboard — while software is intangible. It is patterns of instructions stored as data. The same laptop can run a spreadsheet one minute and a video call the next without any physical change, because different software is directing the same hardware. When people say a computer 'does' something, it is almost always software doing the work and the hardware carrying out the instructions. This is also why the same problem can have very different causes: a laptop that will not start might have a failed drive (hardware) or a corrupted (software), and telling the two apart is the first step toward fixing it.

System software vs. application software

Software is usually sorted into two broad families by what it is for. System software runs the machine itself and creates the environment other programs need. Its centerpiece is the operating system, which manages the hardware — processor time, memory, storage, and connected devices — and provides shared services that applications rely on. (Operating systems get their own lesson; here they are named as the key example of system software.) System software also includes device drivers, small programs that let the operating system communicate with specific hardware such as a printer or graphics card, and utility programs that maintain the system, such as backup, disk-cleanup, and compression tools. Application software, by contrast, is what you use to get a specific job done: a word processor, a spreadsheet, a web browser, a photo or video editor, a game, or a messaging app. Applications run on top of the system software rather than managing the hardware directly — when a browser needs to save a file or use the network, it asks the operating system to do it. A useful test: if the program exists to run the computer, it is system software; if it exists to help you accomplish a task, it is an application.

From source code to a running program

Software is written by people, usually as : text in a programming language that humans can read and edit. A processor, however, does not execute that text directly — it executes , the low-level numeric instructions built into the hardware's design. Something has to translate between the two. A compiler translates source code ahead of time into a ready-to-run program (an executable) that the machine can then run directly; an interpreter instead translates and runs the code step by step while the program is running. Either way, the human-readable instructions end up as instructions the processor can carry out. This is why you can often use a program without ever seeing its source code: what you install and launch is the runnable result, not the original text. It also explains a key difference later in this lesson — whether or not you can obtain and change that original source code is exactly what separates open-source software from closed, proprietary software.

Owning vs. licensing: proprietary, open-source, and free software

When you 'get' a piece of software, you usually do not own the software itself the way you own a chair. Instead you receive a license: permission to use the software under stated terms, spelled out in an end-user license agreement. The copyright in the program stays with its author or publisher. Proprietary software is the closed model: the source code is normally kept secret, and the license restricts what you may do — often to installing and using it, without the right to copy, modify, or redistribute it. Open-source and free software take the opposite approach. The Open Source Initiative's definition requires that such software allow free redistribution (you may even sell it as part of a collection), that it come with its source code, and that it permit modifications and derived works. The Free Software Foundation frames the same territory as four freedoms: to run the program for any purpose, to study and change it, to share copies, and to share improved versions — the second and fourth of which require access to the source code. Two cautions follow. 'Open source' does not mean 'free of charge': it refers to the availability of the source and the rights granted, not the price. And 'open' does not mean 'no rules': open-source licenses still impose conditions, and some (called copyleft) require that changes be shared back under the same terms. Understanding which model a program uses tells you what you are actually allowed to do with it.

Firmware: the middle case

Not all software fits cleanly on the 'easily changed' side of the hardware/software line. Firmware is software stored in a device's non-volatile memory — memory that keeps its contents when the power is off, such as ROM or flash chips — and it provides the low-level control that makes a piece of hardware work at all. It is what tells a router, a game controller, a smart thermostat, or a computer's motherboard how to start up and operate before any operating system loads. Firmware is genuinely software: it is programmed instructions, and manufacturers can update it. But it behaves partly like hardware, because it is built into the device, changes rarely, and is often required just for the device to function. That is why it is best understood as a middle case: coded instructions, like all software, but bound tightly to a specific piece of hardware.

Eli, the EliExplains learning guide

Eli explains

The same idea, in plain words

Explain it like I’m 10

A computer is a machine that can follow instructions very fast, but it cannot decide what to do on its own. Software is those instructions. The hardware is the physical machine — the parts you could hold in your hand. The software is the set of directions that tells those parts what to do, step by step. Some software exists just to run the machine and keep it working, like the operating system that starts your computer up. Other software is there to help you do something specific, like write a report, watch a video, or play a game. People write software as readable instructions, and the computer turns those into the tiny commands its chips actually understand.

Picture it like this

Software is like the sheet music, and the hardware is like the piano. The piano can make any note, but it just sits there until someone gives it music to play. Change the sheet music and the same piano plays a completely different song — just as the same computer can do totally different things depending on which software it runs.

Where the picture stops working

The analogy breaks down because a piano needs a human player, while a computer runs its software automatically once it is loaded — no live performer required. It also hides the fact that some software (the operating system) exists mainly to run the instrument itself, a job that has no clean match in the music example.

Worked example

Imagine your laptop will not connect to a new wireless printer. Walk through the software layers instead of guessing. First, the hardware: the printer and the laptop's wireless chip are physical and appear to be powered on, so this may not be a hardware fault. Next, system software: the laptop needs the correct device driver — a small piece of system software — so the operating system knows how to talk to that printer model; if it is missing or outdated, printing fails even though nothing is physically broken. You install the driver, and the operating system now lists the printer. Finally, application software: you open a document in your word processor (an application) and choose Print; the application does not control the hardware itself — it hands the job to the operating system, which uses the driver to send the pages. Seeing the problem as three layers — hardware, system software, application — turns a mysterious failure into a short checklist.

Key takeaway

Software is the changeable set of coded instructions that direct physical hardware. It comes as system software that runs the machine and application software that does your tasks, is usually licensed rather than owned, and ranges from open-source code you can inspect and modify to proprietary code you cannot — with firmware as the built-in middle case.

Quick check

3 questions here, of 5 in this lesson’s practice set. Answers stay hidden until you check.

Question 1 of 3foundational

Which of the following best defines software?

Choose an answer, then check it.
Question 2 of 3intermediate

Which of the following is an example of system software rather than application software?

Choose an answer, then check it.
Question 3 of 3intermediate

What is the role of a compiler or an interpreter?

Choose an answer, then check it.
Practice all 5

Keep learning

Ready to build on this? Continue to the next lesson.

Practice this lesson
Study tools & related lessonsYou’ll learn to · Common mistakes · Easily confused · Key vocabulary · Related

You’ll learn to

  • Define software and distinguish it from hardware.
  • Distinguish system software from application software and give examples of each.
  • Explain at a high level how human-readable source code becomes a running program on hardware.
  • Compare proprietary with open-source and free software, and explain what a software license grants.
  • Explain why firmware is a middle case between hardware and software.

Common mistakes

  • Treating everything you see on screen as 'the computer' and not separating software from hardware.

    The hardware is the physical machine; the software is the changeable set of instructions running on it. The same hardware runs many different programs.

  • Assuming you own software you paid for, like a physical object.

    In most cases you buy a license — permission to use the software under stated terms — while the copyright stays with the publisher.

  • Thinking 'open source' means free of charge and free of rules.

    Open source refers to the source code being available and modifiable under a license; such software can be sold, and its license still sets conditions you must follow.

  • Confusing an application with the operating system.

    Applications run on top of the operating system and ask it for services; the operating system is the system software that manages the hardware underneath them.

  • Calling firmware 'hardware' because it is built into a device.

    Firmware is programmed instructions — genuinely software — stored in non-volatile memory; it is a middle case, tightly bound to hardware but still updatable code.

Easily confused

System software vs. Application software

System software runs the machine and supports other programs (operating system, drivers, utilities); application software helps a user accomplish a specific task and runs on top of the system software.

Proprietary software vs. Open-source software

Proprietary software keeps its source code closed and restricts copying and modification; open-source software makes the source available and permits modification and redistribution under its license.

Ordinary software vs. Firmware

Ordinary software is loaded and changed readily and runs on top of the operating system; firmware is stored in a device's non-volatile memory, controls the hardware at a low level, and changes rarely.

Key vocabulary

Software
The coded instructions and associated data that direct a computer's hardware; it has no physical form of its own.
Hardware
The physical, tangible parts of a computer system, such as the processor, memory chips, drive, and screen.
System software
Software whose job is to run the machine and support other programs, including the operating system, device drivers, and utilities.
Application software
Programs people use to accomplish specific tasks, such as writing documents, browsing the web, or editing images.
Operating system
The central system software that manages the hardware and provides the environment and services in which applications run.
Device driver
A small program that lets the operating system communicate with a specific piece of hardware, such as a printer or graphics card.
Source code
The human-readable text, written in a programming language, that people use to create and edit software.
Machine code
The low-level numeric instructions a processor can execute directly, into which source code is translated.
Software license
The terms granting a user permission to use software; usually a right to use rather than ownership of the software itself.
Firmware
Software stored in a device's non-volatile memory that provides low-level control of that device's hardware.

Sources & references

  1. Software — Glossary, NIST Computer Security Resource Center — National Institute of Standards and Technology (NIST)
  2. Firmware — Glossary — NIST Computer Security Resource Center (CSRC)
  3. The Open Source Definition — Open Source Initiative
  4. What is Free Software? (The Free Software Definition) — Free Software Foundation / GNU Project
  5. Categories of Software and Their Purposes (Concepts in Computing) — Workforce LibreTexts (Prince George's Community College)

EliExplains lessons are original prose written from the open, credible references above. See Copyright & Licensing.

Researched 2026-08-19

Educational content only. It is not medical, legal or professional advice. Found an error? Tell us.