Written by Joe Wojciechowski, Australia.
The world of software is a vibrant ecosystem, teeming with diverse species of applications, each with its unique characteristics and behaviours. This guide serves as your field manual, helping you identify the different types of software, understand their distribution and licensing models, recognise the potential dangers lurking in the digital undergrowth, and grasp the impact of access controls and user status.
Free and Open:
- Open Source: The cornerstone of free software, built on principles of transparency, collaboration, and freedom. Examples: Linux, Firefox.
- Copyleft: Ensures that derivative works also remain open source, protecting the freedom of the software. (e.g., GPL)
- Public Domain: Software where the copyright has been relinquished, making it completely free for any use without restrictions.
- Freeware: Software offered at no cost, but with restrictions on modification and redistribution.
- True Freeware: Truly free software with no limitations, hidden costs, or pressure to upgrade but you don’t have access to the source code.
- Myware or Author: Software created by you.
- Free-Linkware: Free to use, but requires you to include a link back to the developer’s website or post a comment on a social media site or message connections that accept the link.
- Marketingware: This is where you have to sacrifice something other than money so you can be marketed to, typically your email, phone number, or address. Often this software is given away for free, but in the process of trying to download it you have to give up a piece of information about you and you can only download it if you give that information. So instead of getting a direct download link, you must open your email to download the program.
- Free Online Apps: Applications that are accessed and used entirely online, often with limited functionality compared to their desktop counterparts.
- Sample-Code or Snippits: Software that is intended to be a demonstration of something.
Free with a Catch:
- Freemium: A popular model offering a basic free version with an option to upgrade to a premium version for full functionality.
- Adware: Free software that displays advertisements, often intrusive and unwanted, to generate revenue.
- Piggybackware: Software that piggybacks on an installer trying to install themselves on your machine.
- Crippleware: Software that has been crippled in some way, it might be time-limited, use-limited, or frequency limited (e.g. use 2 times per day) but otherwise is the full version of the software.
- Stolen, Warez, Serialz, Crackz: Software that might be obtained from a third party knowingly or unknowingly. Gives access to the software for free or at a greatly reduced cost, or that may carry a payload.
- Abandonware: Software that is no longer being sold or supported by its original developer but still works. This can be a legal grey area, but it often provides access to software that is otherwise unavailable.
- Deadware: is software that just doesn’t work any more, you have the code but it refuses to run because of a missing server or is no longer supported even using an emulator.
- Bundleware: Software that is bundled with some piece of hardware that you bought like a phone or computer and is installed in such a way you can’t uninstall it.
- Bloatware: comes closest. Bloatware often refers to pre-installed software on new devices that serves little purpose to the user, taking up valuable space and potentially slowing down the system. However, it can also encompass software that has unintended side effects, such as conflicts with other applications, unexpected data collection, or hidden functionality that negatively impacts performance or privacy.
- Shovelware: This refers to software that is hastily assembled and poorly designed, often leading to bugs, instability, and unintended consequences.
- Crapware: A more informal and derogatory term for any unwanted or poorly functioning software.
- Potentially Unwanted Programs (PUPs): This category includes software that may not be inherently malicious but can exhibit behaviors that users find undesirable, such as browser hijacking, ad injection, or data collection.
Permissive Licenses:
- BSD Licenses: These licenses are very permissive, allowing for both open-source and closed-source derivative works. They generally require only that the original copyright notice and disclaimer be preserved. There are a few variations, including the 2-clause (Simplified BSD License), 3-clause (New BSD License), and the original 4-clause license.
- MIT License: Similar to the BSD licenses, the MIT License is very permissive and allows for wide reuse, even in proprietary software. It’s known for its simplicity and brevity.
- ISC License: Functionally equivalent to the MIT License but with slightly different wording.
Copyleft Licenses:
- GNU General Public License (GPL): This is a strong copyleft license that requires derivative works to also be licensed under the GPL. This ensures that any modifications or enhancements to the software remain open source and accessible to all. There are several versions of the GPL, with GPLv2 and GPLv3 being the most common.
- GNU Lesser General Public License (LGPL): A weaker copyleft license that allows the software to be linked with proprietary software without requiring the entire work to be licensed under the LGPL. This is often used for libraries.
- Mozilla Public License (MPL): A copyleft license that focuses on allowing the combination of open-source and proprietary code within the same program, as long as the open-source portions remain under the MPL.
Other Licenses:
- Apache License 2.0: A permissive license that includes provisions regarding patent grants and indemnities. It’s widely used in the Apache Software Foundation projects and beyond.
- Eclipse Public License (EPL): A copyleft license designed for collaborative software development, allowing for commercial use and distribution while requiring that modifications to the original code be made available.
Non-Commercial Licenses: These licenses explicitly prohibit the use of the software for commercial purposes, including reselling it. Some examples include:
- Creative Commons Non-Commercial licenses: While often used for creative works, they can also be applied to software.
- GNU Affero General Public License (AGPL): This license is designed to ensure that modifications to software used to provide network services are also made available as open source. It often has implications for commercial use.
Source-Available Licenses: These licenses make the source code available but may impose restrictions on how the software can be used, modified, or distributed. Some examples include:
- Common Development and Distribution License (CDDL): Used by Sun Microsystems (now Oracle) for some of their open-source projects.
- Eclipse Public License (EPL): Designed for collaborative software development, allowing for commercial use but with certain restrictions on distribution.
Custom Licenses: Developers can also create their own custom licenses that specify the terms of use, including restrictions on resale. These licenses may be tailored to the specific needs and goals of the software project.
Paid with Variations:
- Trialware: Offers a free trial period to test the software before purchasing.
- Demoware: A free version with limited features designed to showcase the software’s capabilities.
- Lieware: This is where you buy or use software and the developer decides to convert the license right to another version or simply drop your promised rights.
- Sitchware: This is where the software you’re using joins two pieces of software together like a pipe, on its own would be useless.
- Presentation-only: Free to use, but only for creating presentations or demonstrations.
- Paid-Linkware: Similar to free-linkware, you pay for the software and are still required to include a link.
- Rentware (Subscription-based): Pay a recurring fee to use the software, a common model for cloud-based services.
- SaaS (Software as a Service): A specific type of rentware where the software is hosted and accessed online, typically through a web browser. This eliminates the need for local installation and allows for easy scalability and updates. Examples include Google Workspace and Salesforce.
- Buyware (Traditional Purchase): The classic model of paying a one-time fee to own the software license.
- Perpetual License: Grants a perpetual license to use the software, but may not include future updates or support.
- Floating License: Allows a specific number of users to access the software concurrently, regardless of the machine they are using.
- Node-locked License: The software license is tied to a specific machine or device.
- Concurrent License: Limits the number of users who can access the software simultaneously.
- Rent-Linkware: A hybrid model where you pay a recurring fee to use the software and are required to include a link.
- Usage-based License: You pay based on how much you use the software, such as the number of transactions processed or the amount of data consumed.
- Feature-based License: Access to specific features is controlled by the license, allowing users to pay only for what they need.
- Site License: Grants permission to use the software on an unlimited number of computers within a specific location.
- Paid Online Apps: Applications that are accessed and used online, often with a subscription fee for full functionality or access to premium features.
Emerging and Alternative Models:
- Open Core: A hybrid model where the core of the software is open source, but additional features require a commercial license.
- Dual Licensing: Offers the software under both an open-source and a commercial license, giving users the choice.
- Donationware: Software offered for free, but with a request for donations to support the developer.
- Pay-what-you-want: Users choose how much they want to pay for the software, including nothing at all.
- Affiliateware: Free to use, but includes affiliate links or advertisements that generate revenue for the developer.
- Conditionware: Software that activates or unlocks functionality only when specific conditions are met, such as reaching a certain level in a game or achieving a specific goal.
- Timeware: Software with time-based limitations on functionality, such as limited-time trials or access to premium features.
- White-label Ware: Software that can be rebranded and resold by other companies as their own.
- Groupbuy: A purchase model where multiple individuals pool their resources to buy a software license at a discounted rate.
- Timeshareware: A model where users share access to a software license for specific time slots.
- Shared Accounts: Multiple users share a single software account, often violating the terms of service.
The New Frontier:
- Socialware: Software where you are the product. These platforms are often free to use, but they collect and monetize your data.
- Telemetryware: Software that collects and transmits data about your usage habits and system configuration, often for analytical or diagnostic purposes. While this can be beneficial for improving software, it can also raise privacy concerns.
Other Notable Software Types:
- Firmware: Permanent software embedded into the memory of hardware devices, providing the low-level control necessary for the device to operate. Think of the software that controls your router or the BIOS on your computer.
- Frontends or Wrappers: Software that provides a user interface to another piece of software, often hiding the complexity of the underlying system or providing a more user-friendly experience.
Access Control and Limited Functionality:
- Loginware: Software where your ability to use features or even access the software itself is controlled by your login status and permissions set by a company or administrator. This can range from restricting access to certain applications to limiting specific functionalities within an application.
- Kioskware: Software designed for interactive kiosks in public spaces, often with a limited set of functions and a customized user interface to guide users through specific tasks or information.
Licensing by User Status:
- Home Use License: Grants software used for personal, non-commercial purposes within a household.
- Business License: Permits software used for commercial purposes within an organization.
- Education License: Offers discounted or specialized software versions for students, educators, and educational institutions.
- Freelancer License: Tailored for individual freelancers or self-employed professionals, often with specific usage rights and limitations.
- Team License: This allows a group of users within an organization to access and use the software.
- Seat License: Grants software use to a specific individual, often tied to a named user account.
- Limited seats install License: Grant the user a limited number of installs per device.
- Family License: Grants a limited number of seats to family members.
- Gaming (gambling) License: Grants the user to allow users to sell gambling or use gaming machines to public or private groups.
- Export License: Grant the user the right to export or supply the software to another country. Exporting software may be illegal for certain types of licenses, especially if they have advanced algorithms.
- Non-transferable License or resellable License: Used with games and many pieces of software. Can prove a real headache when a company or person changes names or sells a piece of hardware that is locked.
Regional or platform licensing:
- Worldwide license: Software that you can use anywhere around the world, usually connected to the internet.
- Regional license: Software made to work only in one region of the world.
- Platform license: Software is only allowed to run on one operating system or hardware.
Licensing with Resale Rights:
- Private Label Rights (PLR): Grants the licensee the right to rebrand and resell the software as their own.
- Master Reseller Rights (MRR): Similar to PLR, but also grants the licensee the right to create and sell sub-licenses to others.
- Can Sell Personal Use Rights: Allows the licensee to sell the software with restrictions on commercial use.
- Can Sell Master Resale Rights: Permits the licensee to sell the software with the right for the buyer to also resell it.
Third-Party Software:
This encompasses a broad category of software components, applications, and resources created by developers other than the original manufacturer of the primary software or hardware. These can enhance functionality, provide customization, or offer specialized tools.
In terms of licenses, these are separately licensed so need to be considered on a case-by-case basis.
- Plugins: Extensions that add new features or functionality to existing software applications.
- Scripts: Small programs that automate tasks or add interactivity to websites or applications.
- Workshop Assets: User-generated content, such as mods, levels, or characters, created for games or other software platforms.
- Language Packs: Add-ons that provide translations for software interfaces and documentation.
Included Photography, Graphics, games:
- Brushes: Pre-made brush styles for digital painting and image editing software.
- Filters: Effects that can be applied to images to alter their appearance.
- LUTs (Lookup Tables): Predefined colour grading settings used in video and image editing.
- Models: 3D models used in animation, game development, and other visual applications.
- DLCs: DLCs are downloadable content, that can be paid or free.
- And many more: This category also includes textures, stock photos, icons, sound effects, and other creative assets.
Hardware:
- Drivers: Essential software that allows your operating system to communicate with and control hardware devices, such as printers, graphics cards, and sound cards.
Beware the Dangers:
- Spyware: Secretly monitors your activities and collects personal information without your consent.
- Malware: Malicious software designed to harm your computer or steal data. Includes viruses, worms, trojans, and ransomware.
- Minerware: Hidden cryptocurrency miners that utilize your computer’s resources without your knowledge.
- Botware: Takes control of your computer to perform actions without your consent, often as part of a botnet.
- Zombieware: Transforms your computer into a “zombie” controlled by a remote attacker, often used for malicious activities like DDoS attacks.
- Virusware: Self-replicating code that infects your computer and spreads to other systems.
- Annoyanceware: Interferes with legitimate software or disrupts your user experience with pop-ups, ads, or unwanted changes. Try to hide in the background.
- Spaceware: Consumes your hard disk space to store data for other users or systems, which may or may not be legitimate.
- Obsuscate: Software that has been encrypted or jumbled in some way that it can be impossible to read.
Laws and Policies:
- Laws, Regulation, Policies, Procedures, Authority: Even if you have the software you still may be able to use it because of local laws or company procedures. Something you should keep in mind when learning and using software.
Why is this important?
Understanding the diverse landscape of software distribution, licensing, access control, and potential threats is crucial for making informed decisions, protecting your digital security, and supporting a healthy software ecosystem. By being aware of the benefits and risks, you can navigate the software wilderness with confidence and choose tools that empower your digital life while safeguarding your privacy and security.
Leave a Reply