# Software

Main Course Launch Page - Data Size and Speeds
Exit Supplmental Material
Supplemental Course Navigation
| << Previous - Computer networks | Next - Information technology >> |
This is a lesson in the course Introduction to Computers, which is a part of The School of Computer Science

## What is software?

Software enables computer hardware to perform specific tasks. Software, commonly known as programs or applications, consists of all the electronic instructions that tell the hardware how to perform a task. The program you're using right now to view Wikiversity is a type of program called a browser. A browser contains all the instructions that tell your computer how to display a web site. Software is capable of performing many different specific tasks, as opposed to hardware which only perform mechanical tasks that they are designed for. There are three major types of software that most computer users are aware of:
* Operating System software:
    Helps run computer hardware and computer system. Computer software includes the operating system, device drivers, diagnostic tools and more; the stuff that makes your computer useable by most people.The most commonly used operating systems software are: Windows Mac OS X GNU/Linux
* Application software:
    Allows users to accomplish one or more tasks; browsing the internet or writing a text document, for example: Word processor Graphics software
* Programming software tools:
    Software that assists a programmer in writing more computer software. Computer programs are often large and complex which makes them hard to design, create and maintain. In addition computer hardware can only execute computer instructions encoded as 1's and 0's (binary). Programming software tools makes it easier to create programs and maintain them. One of the most important tools is a compiler that takes a computer program written in a high level language, such as C, Java or Haskell, and translates to binary instructions for the computer hardware.

### Other Types of Software

* Embedded Software
    Software that runs on small computers inside other machines, for instance washing machines, cars or medical equipment. These type of programs usually have access to fewer resources (memory, networking, processor power, disk storage etc) and do not have a user interface. However as computer hardware and networking technology becomes cheaper, and smaller, embedded computers are becoming connected together more and more. This is popularly referred to as the "Internet of Things"
* Server Software:
    Server programs run on larger centrally located machines. For instance a bank might have millions of customer records stored in a server database. A client machine (for instance a program running on a desktop computer) might send a search request for a specific customer account. The server will perform the search and return any data found. Server programs can be created to perform a variety of functions that require the processing of large amounts of information or performing a large number of computational processes.
* Software for Wikiversity participants
* There are several types of software that you can use to make the most of your participation at Wikiversity.
* Operating Systems
* The most commonly used operating systems are:
* Windows
* Mac OS X
* Linux
* Internet Browsers
* Three of the most used internet browsers are:
* Internet Explorer
* Firefox
* Google Chrome
* Other popular ones include Opera and Safari. For a more expansive list, see List of web browsers on Wikipedia.
* Email Clients
* Popular email clients include:
* Outlook Express / Windows Mail / Windows Live Mail
* Mozilla Thunderbird
* See Comparison of e-mail clients for other popular ones. Also, Webmail is a very popular way to send and receive emails.
* Webfeed Aggregators
* Mozilla Thunderbird - Email, Webfeed aggregator, and more
* Google News
* See also: RSS, news aggregator, and a comparison of feed aggregators.
* Multimedia Players
* VLC
* Window Media Player
* Multimedia Recorders
* VLC
* Image Editors
* GIMP
* Inkscape
* Photoshop
* Internet Relay Chat (IRC)
* Popular IRC clients include:
* ChatZilla
* mIRC
* XChat
* For a more comprehensive list see Comparison of Internet Relay Chat clients on Wikipedia.
* More info on IRC on Wikipedia internet relay chat page.
* Voice Chat
* Skype is a popular Voice over Internet Protocol application.
* Software Licenses
* A software license (or software licence in commonwealth usage) is a legal instrument (usually by way of contract law) governing the usage and/or redistribution of software. All software is copyright protected, except material in the public domain. Contractual confidentiality is another way of protecting software. A typical software license grants an end-user permission to use one or more copies of software in ways where such a use would otherwise potentially constitute copyright infringement of the software owner's exclusive rights under copyright law.
* Some software comes with the license when purchased off the shelf or an OEM license when bundled with hardware. Software can also be in the form of freeware or shareware. Software licenses can generally be fit into the following categories: proprietary licenses and free and open source licenses, which include free software licenses and other open source licenses. The features that distinguishes them are significant in terms of the effect they have on the end-user's rights.
* A free open source license makes software free for inspection of its code, modification, and distribution. Some free licenses, such as the GNU General Public License (GPL), allow the product and/or derivative to be commercially sold.