1.2.2 - Applications, utilities and source licensing
Choosing software begins with the job it must do, rather than a familiar product name. You will distinguish applications from utilities, justify useful features for particular users, and weigh open and closed source from both the user's and the creator's perspective.
Match an application to the work
An application helps a user perform a task, such as writing a report, editing a photograph or managing customer records. Its suitability depends on what the user needs to produce and how they will work with the data.
A word processor provides paragraph styles, spelling checks and document layout for a written report. A spreadsheet stores values in cells and recalculates formulae, making it useful for changing a budget and immediately seeing its consequences. A database manages structured records and relationships, supporting queries such as finding every overdue loan for one borrower. A web browser retrieves and presents web content. Image-editing software changes photographs; a vector-graphics application works with shapes that can be resized without losing sharp edges. Desktop publishing software gives precise control over linked text frames, columns and page layout for a magazine.
Consider a theatre that needs ticket records and a publicity poster. A database can relate customers, performances and bookings, then retrieve a customer's bookings without copying their address into every ticket record. Desktop publishing is suitable for arranging poster text and graphics for print. Recommending a spreadsheet simply because it can hold text misses the poster's layout requirement. Recommending a database for the poster misses the same point.
A useful justification has a chain: required task → relevant feature → benefit in this situation. “Use a spreadsheet because it is good” supplies no mechanism. “Use a spreadsheet because changing attendance estimates recalculates expected revenue through formulae” does.
Choose between general and specialised software
General-purpose software supports a range of tasks, such as a spreadsheet. Special-purpose software is designed for a narrower job, such as a restaurant table-booking system. Bespoke software is commissioned for a particular customer's requirements. These distinctions overlap: special-purpose software can be an off-the-shelf package used by many restaurants, while a bespoke booking system can serve one unusual venue.
Start by checking required features, compatibility with existing files and hardware, accessibility, training, support, cost and security. A low purchase price is not the whole cost: training, subscription fees, conversion of old records and maintenance may matter more. A package with every advertised feature may still be unsuitable if staff cannot use it or it cannot import the existing data accurately.
For example, a small café with standard table sizes may choose an established booking package. It can be deployed quickly and its support covers common restaurant tasks. A venue whose movable walls change the seating plan for each event may need a bespoke system that checks those changing layouts. That fit costs development time, testing and continuing maintenance. Customisation of an existing package is a third possibility if its supported configuration can meet the requirement.
Utilities maintain and protect the system
Utility software
A utility performs a maintenance, management or protection task for the computer system.
It supports the environment in which applications work, rather than directly producing the user's main report or design. Some utilities are supplied with an operating system and others are installed separately; packaging does not determine their purpose.
Backup software copies data so it can be restored after deletion or device failure. Compression software represents files in fewer bits, helping storage or transfer; a backup kept only on the same failing drive still lacks protection from that drive's failure. Security utilities can scan for malware or check suspicious activity, though detection is not a guarantee against every attack. File-management utilities organise, copy, move and delete files. Cleanup utilities remove selected temporary or unnecessary files to release space, so the user must avoid deleting needed data.
Defragmentation rearranges a file's scattered blocks into more contiguous positions on a magnetic hard disk. The read/write head then needs fewer movements to read the file, which can reduce access time. It does not add capacity, recover deleted files or repair a faulty mechanism. Solid-state drives have no moving read/write head, so this mechanical justification does not apply; operating systems use appropriate SSD maintenance instead. A device driver is system software that translates the operating system's requests into commands for a particular device, allowing applications to use that device through the operating system.
Source licensing changes control and responsibility
Source code is the human-readable program text. Open-source software is distributed under a licence permitting users to inspect, modify and redistribute source under its conditions. Merely showing source without granting those rights is not sufficient. Closed-source software normally keeps source under the creator's control and gives users limited rights to use the supplied software. Open source does not remove copyright: its licence grants permissions subject to conditions.
Source rights and product quality
Open source grants rights under a licence; it does not promise zero price, free support or absence of bugs. Closed source does not promise good support. Judge the product and its support agreement as well as its source model.
Some licences require particular notices or sharing of source for distributed derivatives; obligations depend on the actual licence.
For a user with skilled developers, open source can permit inspection for security problems, adaptation to a specialist workflow and continuing maintenance if the original supplier stops. However, finding and fixing a problem still requires expertise, and responsibility for a modified version may fall on that user. A closed-source package may offer a clearly contracted support service and a tested integrated product, but users usually cannot alter its internal code and may depend on the supplier for fixes or compatibility updates.
For a creator, open source can attract contributions, testing and adoption, while income may come from hosting, training or support. Publishing the implementation also lets others reuse it under the licence, potentially competing with the creator. Closed source can help the creator retain control of the implementation and earn licence revenue, but the creator must fund maintenance and cannot assume a community will repair defects. Open publication can expose vulnerabilities to defenders and attackers; it does not automatically make software secure or insecure.
A research team with in-house programmers might justify open source because it must adapt and audit a simulation over many years. A small shop without technical staff might prioritise a reliable support contract, whether the product is open or closed source. Source availability and support arrangements answer different needs.