Open source

From Higher Computing Science
Jump to: navigation, search

Key points

  • Open source software is software that has its source code available to the public. This approach allows anyone to contribute to a project by finding bugs or adding new features, and has been a successful model of developing two of the most-used pieces of software, GNU+Linux (an operating system) and Apache (a web server).

Information

Open-source software (OSS) is computer software with its source code made available with a license in which the copyright holder provides the rights to use, study, change, and distribute the software to anyone and for any purpose.

A license on the software sets out the agreements for use. Open Source licenses vary in their terms, but generally seek to give users the four freedoms:

  • Freedom 0: The freedom to run the program for any use, without restrictions
  • Freedom 1: The freedom to study and modify the program so it suits your needs (Access to the source code is required for this)
  • Freedom 2: The freedom to redistribute copies of the original program to others
  • Freedom 3: The freedom to redistribute modified copies of the program to others

A significant proportion of the software used to power the World Wide Web and Internet is based on open source software.

  • Apache web server is used by up to 50% of all web hosts.
  • The Operating System used on web servers are mainly non-Windows, open source Linux variants.
  • More than 10% of users use the open source web browser Firefox.
  • The Google Chrome browser is based on the Chromium open source project

Copyleft vs Permissive Licenses

Open source software can be licensed under a copyleft or a permissive license

A license that is copyleft requires that any changes or additions to the original software must also be released under the same copyleft license

A license that is permissive allows for non-open source changes or additions to be incorporated into the open source program, provided that the original open-source code remains under the same license.

Reasons for releasing a project as open source

A software author will find it difficult to make money from a freely released program, and no longer has control over the source code, which can be reused by anyone.

Videos

Richard Stallman of the Free Software Foundation (FSF) explains why Free Software (similar to open source) is important

Further information

Test yourself

Teaching resources