# Outline of software

The following outline is provided as an overview of and topical guide to software:
Software – collection of computer programs and related data that provides the information for the functioning of a computer. It is held in various forms of memory of the computer. It comprises procedures, algorithms, and documentation concerned with the operation of a data processing system. The term was coined to contrast to the term hardware, meaning physical devices. In contrast to hardware, software "cannot be touched". Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.

## Types

* Application software – end-user applications of computers such as word processors or video games, and ERP software for groups of users.
** Business software
** Computer-aided design
** Databases
** Decision-making software
** Educational software
** Emotion-sensitive software
** Image editing
** Industrial automation
** Mathematical software
** Medical software
** Molecular modeling software
** Quantum chemistry and solid state physics software
** Simulation software
** Spreadsheets
** Telecommunications (i.e., the Internet and everything that flows on it)
** Video editing software
** Video games
** Word processors
* Middleware controls and co-ordinates distributed systems.
* Programming languages – define the syntax and semantics of computer programs. For example, many mature banking applications were written in the language COBOL, invented in 1959. Newer applications are often written in more modern languages.
* System software – provides the basic functions for computer usage and helps run the computer hardware and system. It includes a combination of the following:
** Device driver
** Operating system
** Package management system
** Server
** Utility
** Window system
* Teachware – any special breed of software or other means of product dedicated to education purposes in software engineering and beyond in general education.
* Testware – any software for testing hardware or software.
* Firmware – low-level software often stored on electrically programmable memory devices. Firmware is given its name because it is treated like hardware and run ("executed") by other software programs. Firmware often is not accessible for change by other entities but the developers' enterprises.
* Shrinkware is the older name given to consumer-purchased software, because it was often sold in retail stores in a shrink wrapped box.
* Device drivers – control parts of computers such as disk drives, printers, CD drives, or computer monitors.
* Programming tools – assist in writing computer programs, and software using various programming languages in a more convenient way. The tools include:
** Compilers
** Debuggers
** Interpreters
** Linkers
** Text editors
** Profilers
** Integrated development environments (IDE) – single application for managing all of these functions.

## Products
### By publisher

* List of Adobe software
* List of Microsoft software

### By platform

* List of Macintosh software
* List of old Macintosh software
* List of Linux audio software
* List of Linux games

### By type

* List of software categories
* List of 2D animation software
* List of 3D animation software
* List of 3D computer graphics software
* List of 3D modeling software
* List of ad hoc routing protocols
* List of antivirus software
* List of application servers
* List of archive formats
* List of audio conversion software
* List of audio programming languages
* List of augmented browsing software
* List of automation protocols
* List of backup software
* List of biomedical cybernetics software
* List of Bluetooth protocols
* List of BPEL engines
* List of BPMN 2.0 engines
* List of CBIR engines
* List of codecs
* List of chemical process simulators
* List of chess software
* List of cluster management software
* List of collaborative software
* List of compilers
* List of computer-aided design software
* List of computer algebra systems
* List of computer-assisted organic synthesis software
* List of computer simulation software
* List of computer worms
* List of concept- and mind-mapping software
* List of content management systems
* List of custom Android distributions
* List of data-erasing software
* List of data recovery software
* List of desktop publishing software
* List of discrete event simulation software
* List of disk partitioning software
* List of educational software
* List of ERP software packages
* List of file copying software
* List of file-sharing programs for Linux and BSD
* List of file systems
* List of finite element software packages
* List of free and open-source software packages
* List of free and open-source web applications
* List of free electronics circuit simulators
* List of free software project directories
* List of free television software
* List of freeware first-person shooters
* List of freeware health software
* List of game engines
* List of graph databases
* List of graphing software
* List of guitar tablature software
* List of GUI builders
* List of instruction set simulators
* List of HDL simulators
* List of historical Gnutella clients
* List of text editors
* List of HTML editors
* List of HTTP header fields
* List of information graphics software
* List of interactive geometry software
* List of IP protocol numbers
* List of Linux distributions
* List of online video platforms
* List of open-source bioinformatics software
* List of open-source codecs
* List of open-source health software
* List of open-source routing platforms
* List of open-source software for mathematics
* List of open-source video games
* List of operating systems
* List of P2P protocols
* List of personal information managers
* List of platform-independent GUI libraries
* List of podcast clients
* List of printing protocols
* List of protein-ligand docking software
* List of protein structure prediction software
* List of manual image annotation tools
* List of mobile app distribution platforms
* List of Mobile Device Management software
* List of molecular graphics systems
* List of music software
* Lists of network protocols
* List of network protocols (OSI model)
* List of network protocol stacks
* List of numerical analysis software
* List of numerical libraries
* List of optical disc authoring software
* List of optimization software
* List of outliners
* List of password managers
* List of PDF software
* List of PHP editors
* List of pop-up blocking software
* List of program transformation systems
* List of proof assistants
* List of quantum chemistry and solid state physics software
* List of rich web application frameworks
* List of router and firewall distributions
* List of router firmware projects
* List of routing protocols
* List of scorewriters
* List of search engines
* List of search engine software
* List of server-side JavaScript implementations
* List of SIP software
* List of software development philosophies
* List of software for Monte Carlo molecular modeling
* List of software for nanostructures modeling
* List of software for nuclear engineering
* List of spreadsheet software
* List of statistical packages
* List of streaming media systems
* List of TCP and UDP port numbers
* List of terminal emulators
* List of theorem provers
* List of tools for static code analysis
* List of Unified Modeling Language tools
* List of UPnP AV media servers and clients
* List of Usenet newsreaders
* List of version-control software
* List of video editing software
* List of video game middleware
* List of visual novel engines
* List of web analytics software
* List of web browsers
* List of web browsers for Unix and Unix-like operating systems
* List of web service frameworks
* List of web service protocols
* List of web service specifications
* List of widget toolkits
* List of wiki software

### Comparisons

* Cloud-computing comparison
* Comparison of 3D computer graphics software
* Comparison of accounting software
* Comparison of ADC software
* Comparison of agent-based modeling software
* Comparison of Android e-reader software
* Comparison of anti-plagiarism software
* Comparison of antivirus software
* Comparison of application virtualization software
* Comparison of archive formats
* Comparison of assemblers
* Comparison of audio coding formats
* Comparison of audio player software
* Comparison of audio synthesis environments
* Comparison of backporting tools
* Comparison of backup software
* Comparison of BitTorrent clients
* Comparison of BitTorrent tracker software
* Comparison of bootloaders
* Comparison of browser engines
* Comparison of business integration software
* Comparison of Business Process Model and Notation modeling tools
* Comparison of CAD, CAM and CAE file viewers
* Comparison of cluster software
* Comparison of computer-aided design software
* Comparison of computer-assisted translation tools
* Comparison of computer viruses
* Comparison of content-control software and providers
* Comparison of continuous integration software
* Comparison of CRM systems
* Comparison of data modeling tools
* Comparison of database tools
* Comparison of decision-making software
* Comparison of defragmentation software
* Comparison of desktop publishing software
* Comparison of development estimation software
* Comparison of DHCP server software
* Comparison of digital audio editors
* Comparison of Direct Connect software
* Comparison of disc authoring software
* Comparison of disk cloning software
* Comparison of disk encryption software
* Comparison of disc image software
* Comparison of distributed file systems
* Comparison of DNS server software
* Comparison of DOS operating systems
* Comparison of download managers
* Comparison of DVD ripper software
* Comparison of DVR software packages
* Comparison of Earthworks Estimation Software
* Comparison of e-book formats
* Comparison of e-book software
* Comparison of EDA software
* Comparison of eDonkey software
* Comparison of email clients
* Comparison of EM simulation software
* Comparison of feed aggregators
* Comparison of file archivers
* Comparison of file comparison tools
* Comparison of file managers
* Comparison of file-sharing applications
* Comparison of file synchronization software
* Comparison of file systems
* Comparison of file transfer protocols
* Comparison of firewalls
* Comparison of force field implementations
* Comparison of free off-line satellite navigation software
* Comparison of free software for audio
* Comparison of FTP client software
* Comparison of FTP server software packages
* Comparison of Gaussian process software
* Comparison of genealogy software
* Comparison of GPS software
* Comparison of graphics file formats
* Comparison of cross-platform instant messaging clients
* Comparison of geographic information systems software
* Comparison of Gnutella software
* Comparison of help desk issue tracking software
* Comparison of hex editors
* Comparison of HTML editors
* Comparison of instant messaging protocols
* Comparison of integrated development environments
* Comparison of iOS e-reader software
* Comparison of iPod file managers
* Comparison of issue tracking systems
* Comparison of Internet forum software
* Comparison of Internet Relay Chat clients
* Comparison of LAN messengers
* Comparison of lightweight web browsers
* Comparison of linear algebra libraries
* Comparison of Linux distributions
* Comparison of machine translation applications
* Comparison of mail servers
* Comparison of MIDI editors and sequencers
* Comparison of microblogging and similar services
* Comparison of mobile operating systems
* Comparison of multi-model databases
* Comparison of music education software
* Comparison of network diagram software
* Comparison of network monitoring systems
* Comparison of notable desktop sharing software
* Comparison of note-taking software
* Comparison of nuclear magnetic resonance software
* Comparison of nucleic acid simulation software
* Comparison of numerical-analysis software
* Comparison of object–relational mapping software
* Comparison of Office Open XML software
* Comparison of online backup services
* Comparison of OpenDocument software
* Comparison of open-source and closed-source software
* Comparison of open-source configuration management software
* Comparison of open-source operating systems
* Comparison of open-source wireless drivers
* Comparison of operating systems
* Comparison of operating system kernels
* Comparison of optimization software
* Comparison of packet analyzers
* Comparison of parser generators
* Comparison of photogrammetry software
* Comparison of platform virtualization software
* Comparison of power management software suites
* Comparison of project management software
* Comparison of raster graphics editors
* Comparison of raster-to-vector conversion software
* Comparison of real-time operating systems
* Comparison of reference management software
* Comparison of remote desktop software
* Comparison of regular expression engines
* Comparison of router software projects
* Comparison of satellite navigation software
* Comparison of screencasting software
* Comparison of scorewriters
* Comparison of scrum software
* Comparison of shopping cart software
* Comparison of social networking software
* Comparison of software and protocols for distributed social networking
* Comparison of software calculators
* Comparison of software for molecular mechanics modeling
* Comparison of source-code-hosting facilities
* Comparison of spreadsheet software
* Comparison of SSH clients
* Comparison of SSH servers
* Comparison of statistical packages
* Comparison of streaming media software
* Comparison of structured storage software
* Comparison of Subversion clients
* Comparison of survey software
* Comparison of system dynamics software
* Comparison of TeX editors
* Comparison of text editors
* Comparison of time-tracking software
* Comparison of TLS implementations
* Comparison of Usenet newsreaders
* Comparison of user features of messaging platforms
* Comparison of vector graphics editors
* Comparison of version-control software
* Comparison of video codecs
* Comparison of video container formats
* Comparison of video converters
* Comparison of video editing software
* Comparison of video player software
* Comparison of vinyl emulation software
* Comparison of virtual machines
* Comparison of VoIP software
* Comparison of web-based genealogy software
* Comparison of web browsers
* Comparison of webcam software
* Comparison of WebDAV software
* Comparison of web frameworks
** Comparison of JavaScript-based web frameworks (front-end)
** Comparison of server-side web frameworks (back-end)
* Comparison of web map services
* Comparison of web search engines
* Comparison of web server software
* Comparison of web template engines
* Comparison of widget engines
* Comparison of wiki software
* Comparison of word processors
* Comparison of X window managers
* Comparison of X Window System desktop environments
* Comparison of deep-learning software
* Comparison of YouTube downloaders
* Comparisons of media players

## History

* History of software engineering
* History of free and open-source software
* History of software configuration management
* History of programming languages
** Timeline of programming languages
* History of operating systems
** History of Mac OS X
** History of Microsoft Windows
*** Timeline of Microsoft Windows
* History of the web browser
** Web browser history

## Development

Software development entails the establishment of a systems development life cycle of a software product. It encompasses a planned and structured process from the conception of the desired software to its final manifestation, which constitutes computer programming, the process of writing and maintaining the source code. Software development includes research, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.

### Software engineering

* Software engineering (outline) –

### Computer programming

* Computer programming (outline) –

## Distribution

Software distribution –
* Software licenses
** Beerware
** Free
** Free and open source software
** Freely redistributable software
** Open-source software
** Proprietary software
** Public domain software
* Revenue models
** Adware
** Donationware
** Freemium
** Freeware
** Commercial software
** Nagware
** Postcardware
** Shareware
* Delivery methods
** Digital distribution
*** List of mobile software distribution platforms
** On-premises software
** Pre-installed software
** Product bundling
** Software as a service
** Software plus services
* Scams
** Scareware
** Malware
* End of software life cycle
** Abandonware

## Industry

* Software industry

## Publications

* Free Software Magazine
* InfoWorld
* PC Magazine
* Software Magazine
* Wired (magazine)

## Influential people

* Bill Gates
* Steve Jobs
* Linus Torvalds
* Jonathan Sachs
* Wayne Ratliff