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.
freckles source code is publicly available, and dual-licensed under the Parity Public License (a strong copy-left license that disallows use in combination with non-open-source software), as well as a private license for those who want to support the development, and/or use it in a proprietary environment. Check below for details.
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 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.
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. I'd advise to only purchase a license if you are happy enough with freckles current state, or if you want to support its development.
The freckles source code is available either way, so everyone 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! You could even sell your changes (to other private license owners).
Do I need a private license?
I would appreciate if you would buy a private license for freckles if it provides value to you, and you for anything other than non-commercial open-source activities. Up to you of course, but just because you don't have to buy a license does not mean it would not be beneficial for the both of us if you did :-)
I'll not describe every use-case where you need or don't need a license, just some generic ones. I'd hope you'll be able to figure out things from there.
- I use freckles to install and maintain an open-source database like PostgreSQL or MariaDB.
- No, you don't need a private license.
- I use freckles to install the Oracle database.
- Yes, you need a private license.
- I use freckles to create a Docker image that contains only open source code.
- No, no license necessary.
- I use freckles to create a Docker image that contains mainly open source software, but also my own non-open source web-app.
- Yes, you need a private license.
- I want to use freckles to install open-source software, but I don't want to publish the frecklets I create.
- Private license then.
- I want to use freckles to install the community edition of a product that has a open Community and a commercial Pro version (for example Seafile - which is a great Open-Source self-hosted file sync solution by the way).
- Nope, no license.
- I want to use freckles to install the non-open Pro edition of such a product.
- Yes, license.
- I want to use freckles to install Wordpress.
- No license unless there are any parts or plugins involved that are not GPL/openly licensed. Make sure you host your project code (not data/images) publicly if you use freckles.
- I have a development/CI pipeline that builds my open source project, and freckles is part of the CI setup.
- No license necessary.
- At our company we want to use freckles as part of the CI setup for our proprietary product or in-house code, that gets kicked off by git commits.
- Everyone committing to that git repository needs a private freckles license. Ping me for options on company licenses!
- I want to create a service where users can create and provision VMs or containers using freckles as the backend.
- Every user who kicks of a freckles run directly or indirectly needs a private license. Talk to me about a custom license!
- I want to create an open-source product on top of freckles.
- That's perfectly fine. You need to include the freckles license when distributing your product, and make sure your users are aware that they need a license for freckles if any non-open-source software is involved in the course of using your software.
- I want to create a non-open-source product on top of freckles.
- You can do that, and sell it in any way you want, as long as you make sure your users are aware that every person using your product also needs to purchase a private license for freckles. It'd be easier to talk to me though, and talk about a custom license.
- How often/when do I have to publish my open-source code when using freckles with it?
- Once a week is fine, you don't have to push every commit you make.