Not logged in. Login

Open Source Software

Many significant software systems have been developed under the open source model.

  • Linux operating system
  • Android operating system
  • BSD operating system
  • Apache web server, mySQL database
  • Boost C++ Libraries
  • GNU/Linux operating system utilities
  • Firefox web browser
  • LibreOffice

In the open source model, the source code of systems is made available for others to study, use, modify and redistribute.

Licensing

  • Software generally comes with some form of software license.
  • There are many different software licenses, both open source and commercial.
  • The Open Source Initiative is the organization that approves licenses according to the Open Source Definition.
  • The Free Software Foundation champions the GNU Public Licenses and much of the software that is distributed with GNU/Linux systems.
  • The FSF defines the four freedoms with free software:
    • The freedom to run the program as you wish, for any purpose (freedom 0).
    • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
    • The freedom to redistribute copies so you can help others (freedom 2).
    • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Academic Style Licenses

  • The academic style licenses let you use software for any purpose, subject to certain limitations.
  • In particular, academic style licenses let you create closed source modifications that you can use for commercial purposes.
    • BSD License
    • MIT License

Reciprocal or Copyleft Licences

  • The reciprocal licenses let you make and distribute modified versions of software only if you licence that software under the same open source terms.
    • GNU Public License 2
    • GNU Public License 3

Open Source Software Engineering

  • Open source software engineering is seen as a way to develop highly reliable shared software code bases.
  • If the software is open source, it can be argued that all bugs are shallow Linus's Law.
  • In practice, Linux and other core open source software systems have developed a reputation for quality and reliability.

Open Source Communities

  • Open source communities can develop around shared responsibility for a particular software system.
  • Often, the most successful communities have industrial participants who pay their developers to contribute to open source!
  • LLVM is an open-source compiler infrastructure project supported by many industrial organization.

Reliability and Security of Open Source Software

  • Reliability and security of open source software is not a guarantee.
    • Project dependent.
    • Depends on the nature of the open source community.
    • Depends on practices adopted by the open source community.
    • Has potential: software security and reliability students may join and contribute to community!
Updated Wed March 11 2026, 17:15 by cameron.