FSL - Functional Source License
⏱️"<br>/>
FSL
What?
The Functional Source License (FSL) is a<br>Fair Source<br>license that converts to Apache 2.0 or MIT after two years. It is<br>designed for SaaS companies that value both user freedom and<br>developer sustainability. FSL provides everything a developer needs<br>to use and learn from your software without<br>harmful free-riding.
FSL-1.1-ALv2<br>(raw)
FSL-1.1-MIT<br>(raw)
FSL is part of the<br>Fair Source initiative. Go check it<br>out.
FAQ
Why?
Many SaaS companies wish to make the source code for their core<br>products available under<br>permissive<br>terms without the risk of<br>harmful free-riding. A standard license for this purpose makes life easier for both<br>producers and consumers of such software.
What is harmful free-riding?
Harmful free-riding is the sort of free-riding that leads to<br>the free-rider problem: “In the social sciences, the free-rider problem is a type of<br>market failure that occurs when those who benefit from resources,<br>public goods and common pool resources do not pay for them or<br>under-pay. Examples of such goods are public roads or public<br>libraries or services or other goods of a communal nature. Free<br>riders are a problem for common pool resources because they may<br>overuse it by not paying for the good (either directly through<br>fees or tolls or indirectly through taxes). Consequently, the<br>common pool resource may be under-produced, overused, or degraded.<br>Additionally, it has been shown that despite evidence that people<br>tend to be cooperative by nature (a prosocial behaviour), the<br>presence of free-riders causes cooperation to deteriorate,<br>perpetuating the free-rider problem.”
Why not Open Source?
Open Source does not<br>protect against harmful free-riding.
What about AGPLv3 though?
AGPLv3<br>is not permissive enough. As a highly viral copyleft license, it<br>exposes users to serious risk of having to divulge their<br>proprietary source code. FSL does not introduce this risk, so FSL<br>software can be adopted at organizations where AGPL is outside of<br>policy.
Why not open core?
Open core<br>is not permissive enough. It restricts based on feature set, such<br>that some product features are never open. Moreover, the<br>percentage of features that are restricted is highly variable from<br>product to product. With FSL, all product features are available<br>now for almost all uses, and are soon fully permissive.
Why not [some other alternative]?
There have been many somewhat similar attempts over the decades to<br>balance user freedom and developer sustainability. None has truly<br>caught on in the industry, and their original sponsors have either<br>stopped promoting or outright abandoned them.
FSL's immediate predecessor is the<br>Business Source License<br>(BSL or BUSL). BSL's time-based approach is great, but the<br>Additional Use Grant is a serious flaw, because it creates<br>too much variability. Each BSL implementation is essentially a new license. Also,<br>four years is too long. FSL is an evolved BSL that (we hope) has a<br>better chance of catching on.
What can I do with FSL software?
You can do anything with FSL software except undermine its<br>producer. You can run it for almost all purposes, study it, modify<br>it, and distribute your changes, including proposing improvements<br>back to the producer. After two years it becomes permissive Open<br>Source software under Apache 2.0 or MIT.
Why only Apache 2.0 and MIT?
Looking at popular licenses according to<br>OSI<br>and GitHub: copyleft is<br>not our jam, and BSD/ISC don't offer anything over MIT. That<br>leaves Apache 2.0 (with its patent grant) and MIT.
Okay, but I can use FSL with a different change license, right?
No. If you do this, you'll have to call it something other than<br>FSL. Can you try to use the<br>Business Source License,<br>though? It's similar to FSL but allows for any change license.
How exactly does the two years work?
The two year timeframe applies to each software version that is<br>made available. Methods of making software available include<br>pushing a Git commit, publishing a package to a repository, or<br>mailing out a CD in a tin. For example, one could clone a repo,<br>run<br>git checkout `git rev-list -n 1 --before="2 years ago"<br>master`, and—if LICENSE.md is FSL—use that version under<br>MIT or Apache 2.0.
What's with the name?<br>Meh, it's functional. ¯\_(ツ)_/¯
What's the backstory?
Read the announcement.
How do I adopt FSL for my product?
Glad you asked!<br>Check out our guide on GitHub.