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
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 "... 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.
See Internet programming languages.
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.
Reference:
- Quotes based on Rainer TG-2 unless otherwise noted
Additional Resources: