# Contributing ## License This is currently licensed under a non-standard license, [FSL-1.1-MIT](https://fsl.software/). It is a mostly permissive non-compete license that converts to MIT after 2 years. The software is free to use and redistribute for every use except commercial until 2 years after release, at which time it becomes unencumbered with the MIT license. As an example, if this project releases a major version each year, then here's how that would work: 1. Release 1.0 happens. I as the license holder am the only entity able to sell access to Eidetica as a service. 2. 2 years later we get to Release 3.0. I am still the only entity able to sell access to Eidetica 3.0. However Eidetica 1.0, now that it's 2 years old, is now unencumbered under MIT and others may sell access to Eidetica 1.0, or software derived from it. Again, unless you are attempting to sell this software as a hosted service, the license is not intended to encumber you. It's purpose is so that I, the license holder, can exclusively sell up to date hosted versions of this software to fund development. If you wish to sell this software as a hosted service, please contact Patrick Jackson to arrange alternate terms. ### CLAs Even with the non-standard license, this repo does not require a CLA to contribute. [Githubs own terms of service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#6-contributions-under-repository-license) even explicitly clarify that you are agreeing that any contributions to this repo will fall under the same license: ```quote Whenever you add Content to a repository containing notice of a license, you license that Content under the same terms, and you agree that you have the right to license that Content under those terms. If you have a separate agreement to license that Content under different terms, such as a contributor license agreement, that agreement will supersede. Isn't this just how it works already? Yep. This is widely accepted as the norm in the open-source community; it's commonly referred to by the shorthand "inbound=outbound". We're just making it explicit. ```