Skip to main content

Software categories


Software categories
Categorization approaches
Function
Computer software can be put into categories based on common function, type, or field of use. There are three broad classifications:
  • Application software is the general designation of computer programs for performing tasks. Application software may be general purpose (word processing, web browsers,...) or have a specific purpose (accounting, truck scheduling, ..) Application software contrast with system software.
  • System software is a generic term referring to the computer programs used to start and run computer systems including diverse application software and networks.
  • Computer programming tools, such as compilers and linker, are used to translate and combine computer program source code and libraries into executable RAMs (programs that will belong to one of the three said)
Copyright status
Free software
Open source software
Copylefted software
Non-copylefted free software
Shareware
Freeware

Software categories are groups of software. They allow software to be understood in terms of those categories instead of the particularities of each package. Different classification schemes consider different aspects of software.
The GNU Project categorizes software by copyright status: free software, open source software, public domain software, copylefted software, noncopylefted free software, lax permissive licensed software, GPL-covered software, the GNU operating system, GNU programs, GNU software, FSF-copyrighted GNU software, nonfree software, proprietary software, freeware, shareware, private software and commercial software.
Free software is software that comes with permission for anyone to use, copy and/or distribute, either verbatim or with modifications, either gratis or for a fee. In particular, this means that source code must be available. "If it's not source, it's not software." If a program is free, then it can potentially be included in a free operating system such as GNU, or free versions of the Linux system.
Free software in the sense of copyright license (and the GNU project) is a matter of freedom, not price. But proprietary software companies typically use the term "free software" to refer to price. Sometimes this means a binary copy can be obtained at no charge; sometimes this means a copy is bundled with a computer for sale at no additional charge.
Open source software is software that is available free of charge. It can be used and disseminated at any point, the source code is open and can be modified as required. The one condition with this type of software is that when changes are made users should make these changes known to others. One of the key characteristics of open source software is that it is the shared intellectual property of all developers and users. The Linux operating system is one of the best known examples of open source software.
Copylefted software is free software whose distribution terms ensure that all copies of all versions carry more or less the same distribution terms. This means, for instance, that copyleft licenses generally disallow others to add additional requirements to the software (though a limited set of safe added requirements can be allowed) and require making source code available. This shields the program, and its modified versions, from some of the common ways of making a program proprietary. Some copyleft licenses block other means of turning software proprietary.
Copyleft is a general concept. Copylefting an actual program requires a specific set of distribution terms. Different copyleft licenses are usually “incompatible” due to varying terms, which makes it illegal to merge the code using one license with the code using the other license. If two pieces of software use the same license, they are generally mergeable.
Noncopylefted free software comes from the author with permission to redistribute and modify and to add license restrictions.
If a program is free but not copylefted, then some copies or modified versions may not be free. A software company can compile the program, with or without modifications, and distribute the executable file as a proprietary software product. The X Window System illustrates this approach. The X Consortium releases X11 with distribution terms that make it noncopylefted free software. If you wish, you can get a copy which has those distribution terms and is free. However, nonfree versions are available and workstations and PC graphics boards for which nonfree versions are the only ones that work. The developers of X11 made X11 nonfree for a while; they were able to do this because others had contributed their code under the same noncopyleft license.
Shareware is software that comes with permission to redistribute copies, but says that anyone who continues to use a copy is required to pay a license fee. Shareware is not free software, or even semifree. For most shareware, source code is not available; thus, the program cannot be modified. Shareware does not come with permission to make a copy and install it without paying a license fee, including for nonprofit activity.
Like shareware, freeware is software available for download and distribution without any initial payment. Freeware never has an associated fee. Things like minor program updates and small games are commonly distributed as freeware. Though freeware is cost free, it is copyrighted, so other people can't market the software as their own.

Comments

Popular posts from this blog

Design and implementation

Design and implementation Industry and organizations design and implementation of software varies depending on the complexity of the software. For instance, the design and creation of Microsoft Word took much more time than designing and developing Microsoft Notepad because the latter has much more basic functionality. Software is usually designed and created (aka coded/written/programmed) in integrated development environments (IDE) like Eclipse, IntelliJ and Microsoft Visual Studio that can simplify the process and compile the software (if applicable). As noted in a different section, software is usually created on top of existing software and the application programming interface (API) that the underlying software provides like GTK+, JavaBeans or Swing. Libraries (APIs) can be categorized by their purpose. For instance, the Spring Framework is used for implementing enterprise app...

Software release life cycle

Software release life cycle History Stages of development Pre-alpha Beta Open and closed beta Early customers purchased a "pioneer edition" of the WordVision word processor for the IBM PC for $49.95. In 1984, Stephen Manes wrote that "in a brilliant marketing coup, Bruce and James Program Publishers managed to get people to  pay  for the privilege of testing the product." In September 2000 a  boxed version  of Apple's Mac OS X Public Beta operating system was released. Microsoft's release of  community technology preview s ( CTP s) for Windows Vista, between September 2005 and May 2006. Throughout 2009 to 2011, Minecraft was in public beta. On December 29, 2014, all owners of  Halo: The Master Chief Collection  for the Xbox One were able to download and play the Beta of  Halo 5: Guardians  for free through January 18, 2015. Users of the Beta were reminded via in...

Nature or domain of execution

Nature or domain of execution Desktop applications such as web browsers and Microsoft Office, as well as smartphone and tablet applications (called "apps"). (There is a push in some parts of the software industry to merge desktop applications with mobile apps, to some extent. Windows 8, and later Ubuntu Touch, tried to allow the same style of application user interface to be used on desktops, laptops and mobiles.) JavaScript scripts are pieces of software traditionally embedded in web pages that are run directly inside the web browser when a web page is loaded without the need for a web browser plugin. Software written in other programming languages can also be run within the web browser if the software is either translated into JavaScript, or if a web browser plugin that supports that language is installed; the most common example of the latter is ActionScript scripts, which are supported ...