As there so many applications and since their attributes vary so dramatically, there are many different ways to classify them.
By legal aspects Proprietary software is protected under an exclusive copyright, and a
software license grants limited usage rights. Such applications may allow
add-ons from third parties.
Free and open-source software (FOSS) can be run, distributed, sold, and extended for any purpose. FOSS software released under a
free license may be
perpetual and also
royalty-free. Perhaps, the
owner, the
holder or third-party
enforcer of any right (
copyright,
trademark,
patent, or
ius in re aliena) are entitled to add exceptions, limitations, time decays or expiring dates to the license terms of use.
Public-domain software is a type of FOSS that is royalty-free and can be run, distributed, modified, reversed, republished, or created in derivative works without any
copyright attribution and therefore
revocation. It can even be sold, but without transferring the public domain property to other single subjects. Public-domain software can be released under a (un)licensing legal statement, which enforces those terms and conditions for an indefinite duration (for a lifetime, or forever).
By platform An application can be categorized by the host
platform on which it runs. Notable platforms include
operating system (native),
web browser,
cloud computing and
mobile. For example a
web application runs in a
web browser whereas a more traditional, native application runs in the environment of a computer's operating system. There has been a contentious debate regarding web applications replacing native applications for many purposes, especially on mobile devices such as
smartphones and
tablets. 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.
Horizontal vs. vertical Application software can be seen as either
horizontal or
vertical. Horizontal applications are more popular and widespread, because they are general purpose, for example word processors or databases. Vertical applications are
niche 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.
By purpose There are many types of application software: ;
Enterprise: Addresses the needs of an entire organization's processes and data flows, across several departments, often in a large distributed environment. Examples include
enterprise resource planning systems,
customer relationship management (CRM) systems,
data replication engines, and
supply chain management software. Departmental Software is a sub-type of enterprise software with a focus on smaller organizations or groups within a large organization. (Examples include travel
expense management and IT Helpdesk.) ; Enterprise infrastructure: Provides common capabilities needed to support enterprise
software systems. (Examples include databases, email servers, and systems for managing networks and security.) ;
Application platform as a service (aPaaS): A
cloud computing service that offers development and deployment environments for application services. ;
Knowledge worker: Lets users create and manage information, often for and individual media editors may aid in multiple information worker tasks. ; Content access: 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 consume
digital entertainment and published digital content. (Examples include
media players,
web browsers, and help browsers.) ;
Educational: 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: Simulates physical or abstract systems for either research, training, or entertainment purposes. ; Media development: Generates print and electronic media for others to consume, most often in a commercial or educational setting. This includes
graphic-art software, desktop publishing software, multimedia development software, HTML editors, digital-animation editors, digital audio and video composition, and many others. ; Engineering: Used in developing hardware and software products. This includes
computer-aided design (CAD),
computer-aided engineering (CAE), computer language editing and compiling tools,
integrated development environments, and application programmer interfaces. ; Entertainment: Refers 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. ==Taxonomy==