Skip to content

Latest commit

 

History

History
86 lines (46 loc) · 2.96 KB

File metadata and controls

86 lines (46 loc) · 2.96 KB

Software

Software refers to one or more programs which "enable the hardware to process data".

Software provides the logic, or set of instructions, by which computers operate.

Programmers write software in one or more languages which the computer understands.

Programmers often organize computer instructions into a collection of one or more text files, and save the files according to a specified directory structure. File types and directory structures may differ depending on the type of program, and sometimes on programmer preferences.

my-program/
 + README.txt
 + LICENSE.txt
 + my_script.py

Types

Systems Software

A computer Operating System (OS) "... supervises overall operations of the computer, allocates CPU time and main memory to programs, and provides an interface between the user and the hardware".

Application Software

Application software "... directs a computer system to perform specific processing activities and provides functionality for users".

Contrasted against the general purpose OS, application software often plays a more specific purpose with narrower scope.

Considerations

Programming Languages

See Internet programming languages.

Licensing

Proprietary software has "... restrictions on its use, copy, and modification".

Whereas Open source software (OSS) is generally made available to developers for no cost under "a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose" (St Laurent).

Programmers can obtain open source software directly from the distributor's website, or from a centralized community like GitHub.

Even though a programmer may obtain freely open source software, some usage and/or attribution restrictions may still apply. Consult the license of each respective software program for usage and attribution policies.

When developing your own software, choose a license which best reflects your intent.

Version Control

Project Management


Reference:

Additional Resources: