What is the Open Source model?
Open Source is a software development model based on publication of public codebases, so all users get unlimited access to the original source code used to create the application, framework or library.
This model promotes collaboration, transparency, and community involvement, because everybody can contribute to the codebase, report bugs and suggest new features.
What is a codebase?
A codebase is the collection of source code files that make up a software project. For a project to be Open Source, its codebase must be easily accessible by anyone.
Codebases generally include all libraries, frameworks, and tools used to build, test, and maintain the software, plus the necessary documentation like licenses, credits and user manuals.
How to publish open codebases?
Codebases used to be distributed via file servers, online news or mailing lists.
Most projects accept external contributions and modern developers use online social coding platforms which allow users to easily propose improvements and automated services to analyze the files before distribution, leading to faster and safer application releases.
The most popular social coding platform is , owned by Microsoft®.1
Within social coding platforms, developer commits are grouped into Push Requests and evaluated before being safely merged with the rest of the code.
What is the Open Source Initiative® (OSI)?
The Open Source Initiative® is a community-driven organization that has become a de facto standard for defining the Open Source model.
The OSI is not a formal, legally recognized authority but is widely trusted by organizations and developers.
What is the Open Source Definition (OSD)?
The OSI also maintains the Open Source Definition2, a set of criteria that defines what constitutes Open Source software and is often used to decide whether a software license qualifies as open-source.
If a software is open-source, you can view, modify, and distribute the source code freely.
What is source-available software?
Source-available software is a development model where source code is published without necessarily guaranteeing any additional rights to the user. For that reason, source-available codebases may contain proprietary components and depending on the specific case may not be considered open-source.
All software that makes its source code available - regardless of the licensing terms - can be called source-available, but when the publisher's effort goes beyond the mere publication of the codebase, it is more appropriate to use more specific definitions like Open Source, Shared Source or Free/Libre Software.
What is the Shared Source Initiative (SSI)?
The Shared Source Initiative is a set of business-oriented licenses created by Microsoft® in 2001. It allowed users to access and view the source code of certain products, while also imposing restrictions on modification and redistribution. It provides some of the benefits of open-source software while still maintaining control over intellectual property, ensuring a future profit and preventing unfair business competition.
Nowadays some of the licenses produced by the SSI are recognized as Open Source and others as Free Software.
What is Shared Source software?
Shared Source software is a type source-available software.
This model, stemmed from the SSI, is a middle ground between Free Software, Open Source software and proprietary software, allowing users to view and learn from the code, but not necessarily modify or distribute it freely.
Is all source-available software also Shared Source?
All Shared Source software is source-available, but the opposite is not always true: Shared Source software is a specific type of source-available software that originated from the SSI, while source-available software is a more general term that can refer to any software that makes its source code available, regardless of the licensing terms.