Source-available, viewable, shared, or read-only open-source software licenses are those that allow the code to be seen but is has restrictions on its modification, distribution and use so it makes it not eligible for FOSS.
As it allows to access the code but restricts its uses, modification or distribution, it is not considered free or open software. Because of this, I would not recommend to use the word “open” when describing this kind of software, as it may lead to confusion.
OSI warns about organizations making source-available software that pretends to be considred open source. OSI coins pejoratively this software as fauxpen software.
List of Source-available Software Licenses
Types of source-available software licenses:
- Time-limited proprietary
- Noncommercial
- Constrained source-available
The most popular source-available software licenses are BSL (time-limited), commons clause (noncommercial) and SSPL (constrained source-available).
Time-limited proprietary
Time-limited proprietary, time-based open-source or delayed open-source licenses are proprietary licenses that become open source after a specific amount of time.
The time-limited proprietary would become FOSS, but it the meanwhile it is considered source-available and proprietary software.
Time-limited proprietary licenses:
- Functional Source License (FSL)
- Business Source License (BSL)
The most popular is Business Source License (BSL).
Functional Source License (FSL)
Functional Source License (FSL) is a source-available license.
After 2 years, the license switches to Apache 2.0 or MIT.
Sentry switched from BSL to FSL in 2023.
This license is much less popular than BSL.
Business Source License (BSL)
Business Source License (BSL) is a source-available license.
It restricts its used to non-production environments or to production environments for companies under a specific amount of revenues.
After 3 years, the license switches to Apache 2.0.
The license was developed by MariaDB Corporation Ab for its proprietary product MariaDB MaxScale. Do not confuse this product with the main MariaDB product, that is FOSS under a GPLv3 license.
Terraform software developed by HashiCorp switched from Mozilla license to BSL license in 2023. CockroachDB and SurrealDB also uses GPLv3 license.
Noncommercial
Noncommercial software licenses restricts the use of the source code on commercial projects.
They are not considered FOSS, as it does not meet the “freedom to run the program as you wish, for any purpose” (freedom 0) and the Open Software Definition’s 6th criteria OSD6 “No Discrimination Against Fields of Endeavor“.
Nevertheless, noncommercial software can be freely modified and distributed, while there are restrictions on their use.
Noncommercial open-source licenses featured on this post:
- Aladdin Free Public License (AFPL)
- Commons Clause
As of 2023, the most common noncommercial license is Commons Clause.
Aladdin Free Public License (AFPL)
Aladdin Free Public License (AFPL) prevents from using the code on commercial projects, though it can be used on projects given for free.
It was designed for Ghostscript in 2000, thought this software no longer uses this license and has a AGPL instead.
AFPL is no longer a popular license, but it was one of the first source-viewable ones. Commons Clause is more popular instead to restrict the commercial use of software.
Commons Clause
Commons Clause restricts the possibility of selling software, on top of an existing open source license.
The resulting license does not meet the FOSS definition, as it limits the software use.
An example is MongoDB, that uses Apache v2.0 with a Commons Clause.
Constrained Source-available
Constrained source-available establishes restrictions on how to use, modify and distribute it.
Constrained source-available licenses:
- Server-Side Public License (SSPL)
- Oracle Binary Code License Agreement
- Elastic License
The most common is SSPL.
Server-Side Public License (SSPL)
Server-Side Public License (SSPL) is a source-available license.
It is based on AGPLv3, but modifies the provision for software that is conveyed over a network, and requires that anyone who offers the functionality of SSPL-licensed software to third-parties as a service must release the entirety of their source code, including all software, APIs, and other software that would be required for a user to run an instance of the service themselves, under the SSPL.
In contrast, the AGPL v3’s equivalent provision covers only the licensed work itself.
This means that using the SSPL does not only affect the source code, but other aspects of the system exploiting the source code. This is considered a limitation of use (enforcing some users to do something they would not otherwise), and disqualifies this license as FOSS.
Other FOSS licenses, such as GPL, have some provisions that establish that derivative works must keep the same license, affecting the whole project software license; this is perceived by some as “viral” because it spreads the GPL license to any code it touches. Nevertheless, when it only affects the source code aspects of software it is not considered a limitation on its use from the OSI and FSF point of view.
In the case of SSPL, requirements extend beyond source code distribution to encompass the provision of services, making it more expansive in its scope and potentially more contentious in certain contexts. This is the reasoning for not considering it FOSS.
MongoDB introduced the SSPL in 2018 to deal with cloud companies profiting from their code by offering self-hosted versions and services without compensating the creators or the FOSS community.
SSPL was presented to the OSI as a candidate to be Open Source, but its candidature was removed later. Despite this, the OSI Board of Directors published its opinion on the license on this external link.
The term “source-available”, though it is commonly applied to SSPL, does not seem to completely accurate in this case. SSPL actually allows to read, modify and redistribute the source code, what is more than a mere “source-available” license. However, the license applies such strong conditions on exploiting the software on certain conditions that could be considered “unacceptably usable and modifiable” and be simplified under the category “source-available”.
Oracle Binary Code License Agreement
Oracle Binary Code License Agreement allows users to view source code, but prohibits modification or redistribution of the code.
Examples of Oracle Binary Code License Agreement are some implementations of the Java Development Kit (JDK) (like Oracle JDK) or JavaFX.
Elastic License
Elastic License.
When companies such as Amazon Web Services (AWS) made big bucks by offering ElasticSearch as a service, Elastic pivoted in 2021. It abandoned the open source Apache 2.0 license for the non-open source SSPL and Elastic license.
You Might Also be interested in…
External References
- SSPL
- OSI Board of Directors; “The SSPL is not an Open Source License”; OSI, 2021-01-19
- Stack Exchange community; “Has FSF commented on SSPL?“; StackExchange
- Hacker News community, “I hope OSI and the FSF don’t approve their new “SSPL” license“, YCombinator
- FSL
- Richard Speed; “License to thrill BSL refuseniks? Sentry introduces Functional Source License“; The Register, 2023-11-20
- Steven J. Vaughan-Nichols; “Do we really need another non-open source available license?“; The Register, 2023-11-24