2.1 Types of software

Open source software

Code, written by programmers in a high or low level programming language, which is converted into a list of instructions for the computer to provide various functions and actions.

Advantages
Developed by volunteer programmers so the application is free to use
Source code can be altered

Disadvantages
May not have as many features
May not have a lot of security patches

Example Python

Closed source software

Creators have copyright over the software (code is not provided to the user). When purchasing this kind of software, you are purchasing a right to use it but you don't own it.

Example
Skype and google earth

Advantage
More features vs open source
Regular security updates

Disadvantage
Price can be substantial
Can still contain errors

Off the shelf

Can buy it from a shop or instantly download it (already made).

Example
Microsoft

Advantage
cheap vs bespoke
A lot of user support

Disadvantage
May not have every feature you want
Takes time to learn.

Bespoke

Software which is written specifically for a company.

Advantage
Has exact features required
It will work with existing hardware

Disadvantage
Takes a long time to develop
Extremely expensive

shareware

Software distributed on a trial basis (e.g 30 days)

Advantage
Can try before you buy

Disadvantages
Useless after trial period
Trial could have limited features

Freeware

Software which can be downloaded for free

Advantage Free

Disadvantage
Can't change code without authors permission
Restrictions on upgrades

Embedded software

Software designed to control a device/machine. E.g motion detection systems found in traffic lights.

Advantage
Specially designed for the device/ machine
Use less resources (e.g memory)

Disadvantage
Difficult to upgrade
Troubleshooting difficult