Like freckles itself, the business model around it is an experiment. If you are interested in the thought process behind it, please check out this blog post (which is not yet written -- soon though!).

freckles source code is publicly available, and dual-licensed under the Parity Public License (a strong copy-left license that prevents use in combination with non-open-source software), as well as a private license for those who want to use it in a proprietary environment. Check below for details.

Public license

The The Parity Public License is very short, so I'd recommend reading it to find out what you are allowed to do if using freckles with it.

But if you really don't wanna: Parity is a very strong copyleft license. It mandates that you use freckles only in combination with software that is at least as permissively licensed as freckles itself. In practice, this means you can use freckles for free in combination with almost any software that is released under any of the FSF or OSI approved free and open-source licenses (GPL, BSD, Apache, MIT, etc), as long as there is no non-free component involved.

If you want to run freckles with your own (or somebody else's) proprietary software, you'll have to purchase a private license.

Also, if you make changes to freckles, you need to publish those. Even if you only use those changes privately.

Private licenses

The private license allows you to run freckles in combination with all software, independent on how it is licensed. This license is not transferable, and does not allow sub-licensing. If that does not fit your needs, please get in touch and we'll explore options!

The private license is a perpetual license for the current major version of freckles (as well as all past ones). After release, a major version will, in all likely-hood, not receive any new features, only bug-fixes and security-updates, on a best-effort basis. No guarantees.

If you use freckles as part of a pipeline or service (that contains non-free parts), every user who kicks off the freckles directly or indirectly needs to purchase a license. For example, if freckles is part of a Continuous Integration setup that gets triggered by git commits, then every user who pushes to the relevant repo(s) needs a freckles private license. Or, if freckles is part of a hosted service that contains non-open parts, every user of that service that directly or indirectly starts a freckles run needs a private license. In the latter case, I'd recommend just getting in touch and talking about a custom license though.

The freckles source code is available either way, so everybody is allowed to improve and fix their purchased version of freckles without having to publish those changes. But, of course, publishing them is allowed (and appreciated) too!