Skip to content

Page365

Types of Publicly Released Software

Once programmed, publicly released software may come in different forms (such as with or without the accompanying source code) and be released under a variety of licenses.

Open and Closed Source Software

Closed source software is software typically released in executable form: the source code is kept confidential. Examples include Oracle and Microsoft Windows 11. Open source software publishes source code publicly. Examples include Ubuntu Linux and the Apache Web server. Proprietary software is software that is subject to intellectual property protections such as patents or copyrights. “Closed source software” and “proprietary software” are sometimes used as synonyms, but that is not always true: some open source software is also proprietary.

Free Software, Shareware, and Crippleware

Free software is a controversial term that is defined differently by different groups. “Free” may mean it is free of charge to use (sometimes called “free as in beer”), or “free” may mean the user is free to use the software in any way they would like, including modifying it (sometimes called “free as in liberty”). The two types are called gratis and libre, respectively. The confusion derives from the fact that “free” carries multiple meanings in English. Software that is both gratis and libre is sometimes called free [2] (free squared).

Freeware is “free as in beer” (gratis) software, which is free of charge to use. Shareware is fully functional proprietary software that may be initially used free of charge. If the user continues to use the Shareware for a specific period of time specified by the license (such as 30 days), the Shareware license typically requires payment. Crippleware is partially functioning proprietary software, often with key features disabled. The user is typically required to make a payment to unlock the full functionality.

Software Licensing

Software may be released into the public domain, meaning it is (expressly) not copyrighted or licensed. This places no intellectual property constraints on the software’s users. Some free (libre) software falls into this category. Software licensing protects most software, both closed and open source.

Proprietary software is usually copyrighted (and possibly patented, see Chapter 2, Domain 1: Security and Risk Management, for more information on copyrights and patents); the users of the software must usually agree to the terms of the software licensing agreement before using the software. These agreements are often called EULAs (End-User License Agreements), which can be in paper or electronic form, and the latter are usually agreed to when the user clicks “I agree” while installing the software.

Open source software may be protected by a variety of licensing agreements, including the GNU Public License (GPL), BSD (Berkeley Software Distribution), and Apache (named after the Apache Software Foundation) licenses.

The most prevalent of open source licenses is the GPL, which focuses on free (libre) software, allowing users the freedom to use, change, and share software. The core of the GPL is the term “copyleft,” a play on copyright: copyleft seeks to ensure that free (libre) software remains free. A Quick Guide to GPLv3 (see http://www.gnu.org/licenses/quick-guide-gplv3.html) states: “Nobody should be restricted by the software they use. There are four freedoms that every user should have:

  • The freedom to use the software for any purpose,
  • The freedom to change the software to suit your needs,
  • The freedom to share the software with your friends and neighbors, and
  • The freedom to share the changes you make” [6].

The GPL copyleft requires modifications to GPL software to remain free: you cannot take GPL code, alter it, and make the altered code proprietary. Other free licenses, such as BSD, allow licensed code to become proprietary.