License
The Firefly III license
Firefly III, the Firefly III Data Importer and any and all associated tools developed by me are licensed to you under the GNU Affero General Public License v3. It's abbreviated as "AGPLv3".
The AGPLv3 license is a "copyleft" license. It grands you all kinds of freedom in relation to (copies of) Firefly III, with the requirement that the same rights be preserved in derivative works.
You are never allowed to remove the license from Firefly III's code.
Firefly III copyright
Firefly III is mostly copyrighted by me. PR's and other contributions are copyrighted to their respective owners. The open source license does not change the copyright. The code is not without copyright. It is licensed to you to use under the GNU Affero General Public License v3.
You are never allowed to remove the copyright notice from Firefly III's code.
Firefly III name and logo
There is a dedicated page that discusses the name and logo of Firefly III.
What can I do under the AGPLv3?
The AGPLv3 allows you to do anything with the code you want, IF and only IF you release your changes under the AGPLv3 as well. This also applies to running a modified version of Firefly III on your webserver: you must make the source code available to the users.
The full details of what you can do are in the AGPLv3 license. The license is leading, no matter what this page tells you.
Questions
I often get asked the same questions, so here are the answers.
Can I run a commercial (hosted) version of Firefly III?
That is OK. Any changes you make to Firefly III need to be made open source under the AGPLv3. That means hosting a repository somewhere with the source code of your hosted version.
Can I pay you to do the development of custom feature X for me?
Yes. However, the code will be released under the AGPLv3 as well. And if I like the feature I will definitely port it back to Firefly III. Having said that, I currently do not have the time to do more development than I already do, paid or not. So if you ask me, the answer is probably "no".
Can I pay somebody else to do custom development on Firefly III?
Yes. Anybody can fork and change Firefly III. If you want a specific feature, but you're not a developer, you can pay somebody to build it for you. But the code must also be released publicly under the AGPLv3. That means hosting a repository somewhere with the source code of "Firefly III + my cool changes".
Can I white-label Firefly III and sell it as "My Awesome Finance App"?
That is OK. Any changes you make to Firefly III need to be made open source under the AGPLv3. That means hosting a repository somewhere with the source code of "My Awesome Finance App".
Can I change Firefly III so it can be used by commercial businesses, and sell it?
That is OK. Any changes you make to Firefly III need to be made open source under the AGPLv3. That means hosting a repository somewhere with the code of "Firefly III + business expansions".
Can I build something "inspired by" Firefly III?
That is OK. Any changes you make to Firefly III need to be made open source under the AGPLv3. That means hosting a repository somewhere with the code.
A special exception here: if you don't actually use or change Firefly III code, you are not required to open source your code. That means that your new app does not need to be AGPLv3. Keep in mind there are rules regarding the name and logo of Firefly III.
Can I build an (mobile) app that connects to Firefly III?
That is OK. Any changes you make to Firefly III need to be made open source under the AGPLv3. That means hosting a repository somewhere with the code.
A special exception here: if you don't actually use or change Firefly III code, you are not required to open source your code. That means that your new app does not need to be AGPLv3. Keep in mind there are rules regarding the name and logo of Firefly III.
Can I provide (paid) Firefly III support to people who ask me for it?
That is OK. You don't need to pay me.
I run Firefly III for my friends. Do I need to provide them source code?
That is OK. If you run an unchanged version of Firefly III, you do not need to provide the source code: it is already available at GitHub. Any changes you make to Firefly III need to be made open source under the AGPLv3.
I have another question
Feel free to contact me. On the whole, the answer is probably simple: any changes you make to Firefly III need to be made open source under the AGPLv3.