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.