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 a programmer 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 editors
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 blacklists
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 embroidery software
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 Internet Relay Chat clients
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 neurofeedback software
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 photo gallery software
Comparison of photogrammetry software
Comparison of photo stitching 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

See also 
 Outline of information technology
 Outline of computers
 Outline of computing
 Outline of computer programming
Outline of free software
 List of computer term etymologies

 Bachelor of Science in Information Technology
 Custom software
 Functional specification
 Product marketing
 Service-oriented modeling Framework
 Bus factor
 Capability Maturity Model
 Software publisher
 User experience

References

External links

Outline
Software
Software