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
    • Academic Free 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 Software License

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.
Updated Sun Sept. 10 2023, 10:43 by cameron.