The delineation between system software such asoperating systems and application software is not exact, however, and is occasionally the object of controversy.[6] For example, one of the key questions in theUnited States v. Microsoft Corp.antitrust trial was whether Microsoft'sInternet Explorerweb browser was part of itsWindows operating system or a separate piece of application software. As another example, theGNU/Linux naming controversy is, in part, due to disagreement about the relationship between theLinux kernel and the operating systems built over thiskernel. In some types ofembedded systems, the application software and the operating system software may be indistinguishable from the user, as in the case of software used to control aVCR,DVD player, ormicrowave oven. The above definitions may exclude some applications that may exist on some computers in large organizations. For an alternative definition of an app: seeApplication Portfolio Management.
Sometimes a new and popular application arises that only runs on oneplatform that results in increasing the desirability of that platform. This is called akiller application orkiller app, coined in the late 1980s.[7][8] For example,VisiCalc was the first modernspreadsheet software for the Apple II and helped sell the then-newpersonal computers into offices. For theBlackBerry, it was itsemail software.
Some applications are available for multiple platforms while others only work on one and are thus called, for example, ageography applicationforMicrosoft Windows, or anAndroid application foreducation, or aLinux game.
There are many different and alternative ways to classify application software.
From the legal point of view, application software is mainly classified with ablack-box approach, about the rights of itsend-users orsubscribers (with eventual intermediate and tiered subscription levels).
Software applications are also classified with respect to the programming language in which the source code is written or executed, and concerning their purpose and outputs.
Proprietary software is placed under the exclusive copyright, and asoftware license grants limited usage rights. Theopen-closed principle states that software may be "open only for extension, but not for modification". Such applications can only getadd-ons from third parties.
Public-domain software is a type of FOSS which is royalty-free and - openly or reservedly- can be run, distributed, modified, reversed, republished, or created in derivative works without anycopyright attribution and thereforerevocation. It can even be sold, but without transferring the public domain property to other single subjects. Public-domain SW can be released under a (un)licensing legal statement, which enforces those terms and conditions for an indefinite duration (for a lifetime, or forever).
Since the development and near-universal adoption of theweb, an important distinction that has emerged, has been betweenweb applications — written withHTML,JavaScript and other web-native technologies and typically requiring one to be online and running aweb browser — and the more traditional native applications written in whatever languages are available for one's particulartype of computer. There has been a contentious debate in the computing community regarding web applications replacing native applications for many purposes, especially on mobile devices such assmartphones andtablets. Web apps have indeed greatly increased in popularity for some uses, but the advantages of applications make them unlikely to disappear soon, if ever. Furthermore, the two can be complementary, and even integrated.[9][10][11]
Application software can also be seen as being eitherhorizontal orvertical.[12][13] Horizontal applications are more popular and widespread, because they are general purpose, for example word processors or databases. Vertical applications areniche products, designed for a particular type of industry or business, or department within an organization. Integrated suites of software will try to handle every specific aspect possible of, for example, manufacturing or banking worker, accounting, or customer service.
Anapplication suite consists of multiple applications bundled together. They usually have related functions, features, and user interfaces, and may be able to interact with each other, e.g. open each other's files.Business applications often come in suites, e.g.Microsoft Office,LibreOffice andiWork, which bundle together a word processor, a spreadsheet, etc.; but suites exist for other purposes, e.g. graphics or music.
Enterprise infrastructure software provides common capabilities needed to support enterprisesoftware systems. (Examples include databases, email servers, and systems for managing networks and security.)
Information worker software lets users create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples includetime management,resource management, analytical, collaborative and documentation tools. Word processors,spreadsheets, email and blog clients, personal information systems, and individual media editors may aid in multiple information worker tasks.
Content access software is used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consumedigital entertainment and published digital content. (Examples includemedia players,web browsers, and help browsers.)
Educational software is related to content access software, but has the content or features adapted for use by educators or students. For example, it may deliver evaluations (tests), track progress through material, or include collaborative capabilities.
Simulation software simulates physical or abstract systems for either research, training, or entertainment purposes.
Media development software generates print and electronic media for others to consume, most often in a commercial or educational setting. This includesgraphic-art software, desktop publishing software, multimedia development software, HTML editors, digital-animation editors, digital audio and video composition, and many others.[15]
Entertainment Software can refer to video games, screen savers, programs to display motion pictures or play recorded music, and other forms of entertainment which can be experienced through the use of a computing device.
The operating system itself can be considered application software when performing simple calculating, measuring, rendering, and word processing tasks not used to control hardware via acommand-line interface orgraphical user interface. This does not include application software bundled within operating systems such as asoftware calculator ortext editor.