FSL
28 |What?
33 | 34 |35 | The Functional Source License (FSL) is a 36 | Fair Source 37 | license that converts to Apache 2.0 or MIT after two years. It is 38 | designed for SaaS companies that value both user freedom and 39 | developer sustainability. FSL provides everything a developer needs 40 | to use and learn from your software without 41 | harmful free-riding. 44 |
45 |51 | FSL-1.1-ALv2 55 | (raw) 56 |
57 |58 | FSL-1.1-MIT 62 | (raw) 63 |
64 |Who?
70 |71 | Here are products using FSL. Add yours 72 | on GitHub. 75 |
76 | 77 | 94 |FAQ
100 | 101 |-
102 |
- Why? 103 | 104 |
- 105 | Many SaaS companies wish to make the source code for their core 106 | products available under 107 | permissive 111 | terms without the risk of 112 | harmful free-riding. A standard license for this purpose makes life easier for both 115 | producers and consumers of such software. 116 | 117 | 118 |
- What is harmful free-riding? 119 | 120 |
- 121 | Harmful free-riding is the sort of free-riding that leads to 122 | the free-rider problem: “In the social sciences, the free-rider problem is a type of 125 | market failure that occurs when those who benefit from resources, 126 | public goods and common pool resources do not pay for them or 127 | under-pay. Examples of such goods are public roads or public 128 | libraries or services or other goods of a communal nature. Free 129 | riders are a problem for common pool resources because they may 130 | overuse it by not paying for the good (either directly through 131 | fees or tolls or indirectly through taxes). Consequently, the 132 | common pool resource may be under-produced, overused, or degraded. 133 | Additionally, it has been shown that despite evidence that people 134 | tend to be cooperative by nature (a prosocial behaviour), the 135 | presence of free-riders causes cooperation to deteriorate, 136 | perpetuating the free-rider problem.” 137 | 138 | 139 |
- Why not Open Source? 140 |
- 141 | Open Source does not 142 | protect against harmful free-riding. 143 | 144 | 145 |
- What about AGPLv3 though? 146 |
- 147 | AGPLv3 148 | is not permissive enough. As a highly viral copyleft license, it 149 | exposes users to serious risk of having to divulge their 150 | proprietary source code. FSL does not introduce this risk, so FSL 151 | software can be adopted at organizations where AGPL is outside of 152 | policy. 153 | 154 | 155 |
- Why not open core? 156 |
- 157 | Open core 160 | is not permissive enough. It restricts based on feature set, such 161 | that some product features are never open. Moreover, the 162 | percentage of features that are restricted is highly variable from 163 | product to product. With FSL, all product features are available 164 | now for almost all uses, and are soon fully permissive. 165 | 166 | 167 |
- Why not [some other alternative]? 168 | 169 |
-
170 | There have been many somewhat similar attempts over the decades to
171 | balance user freedom and developer sustainability. None has truly
172 | caught on in the industry, and their original sponsors have either
173 | stopped promoting or outright abandoned them.
174 |
175 |
176 | 177 | FSL's immediate predecessor is the 178 | Business Source License 179 | (BSL or BUSL). BSL's time-based approach is great, but the 180 | Additional Use Grant is a serious flaw, because it creates 181 | too much variability. Each BSL implementation is essentially a new license. Also, 185 | four years is too long. FSL is an evolved BSL that (we hope) has a 186 | better chance of catching on. 187 |
188 |
189 | - What can I do with FSL software? 190 | 191 |
- 192 | You can do anything with FSL software except undermine its 193 | producer. You can run it for almost all purposes, study it, modify 194 | it, and distribute your changes, including proposing improvements 195 | back to the producer. After two years it becomes permissive Open 196 | Source software under Apache 2.0 or MIT. 197 | 198 | 199 |
- Why only Apache 2.0 and MIT? 200 | 201 |
- 202 | Looking at popular licenses according to 203 | OSI 207 | and GitHub: copyleft is 208 | not our jam, and BSD/ISC don't offer anything over MIT. That 209 | leaves Apache 2.0 (with its patent grant) and MIT. 210 | 211 | 212 |
- 213 | Okay, but I can use FSL with a different change license, right? 214 | 215 | 216 |
- 217 | No. If you do this, you'll have to call it something other than 218 | FSL. Can you try to use the 219 | Business Source License, 220 | though? It's similar to FSL but allows for any change license. 221 | 222 | 223 |
- How exactly does the two years work? 224 | 225 |
-
226 | The two year timeframe applies to each software version that is
227 | made available. Methods of making software available include
228 | pushing a Git commit, publishing a package to a repository, or
229 | mailing out a CD in a tin. For example, one could clone a repo,
230 | run
231 |
git checkout `git rev-list -n 1 --before="2 years ago" 233 | master`
, and—ifLICENSE.md
is FSL—use that version under 235 | MIT or Apache 2.0. 236 |
237 |
238 | - What's with the name? 239 |
- Meh, it's functional. ¯\_(ツ)_/¯ 240 | 241 |
- What's the backstory? 242 |
- 243 | Read the announcement. 247 | 248 | 249 |
- How do I adopt FSL for my product? 250 |
- 251 | Glad you asked! 252 | Check out our guide on GitHub. 255 | 256 |