How can I support your work?
If you enjoy using our software, you can sign up for an Individual Membership or Team Plan to help us release regular updates with additional features, fixes and enhancements.
We also welcome contributions of any kind, including adding or updating translations, testing changes, writing documentation, and submitting pull requests with new features or bug fixes.
A big thank you to all current and past sponsors, whose generous support has been and continues to be essential to the success of the project!
How do you support the free and open source software community?
Maintainers of non-commercial open source projects and others who frequently volunteer in the community are welcome to contact us with a link to their project or organization for free access to many of our paid products and services.
In addition, when we use software that is freely available and maintained by volunteers or individuals, it is our policy to support them to the best of our ability. For example, by signing up as a sponsor or purchasing a license, but also by submitting pull requests with improvements, spreading the word on social media, and sharing development resources.
Why are some features only available to members?
PhotoPrism is 100% self-funded and independent. Voluntary donations do not cover the cost of a team working full time to provide you with updates, documentation, and support. It is your decision whether you want to sign up to enjoy additional benefits.
Shouldn't free software be free of costs?
Think of “free software” as in “free speech,” not as in “free beer.” The Free Software Foundation sometimes calls it “libre software,” borrowing the French or Spanish word for “free” as in freedom, to show they do not mean the software is gratis.
Have you considered other funding options like venture capital?
Yes, we thought about other options many times. Based on feedback from our community, we then decided to fund development with voluntary donations as well as paid memberships that provide additional features and services. Keep in mind that by accepting venture capital, we would lose our independence, which could ultimately ruin our mission.
How can your software be open source if not all features are free?
The term Open Source was invented as a rebranding of the Free Software movement to emphasize the business potential of sharing source code. So it is not about user rights or offering free products to end users. Instead the focus is on technical aspects and marketing of the software to businesses. Today's usage, and meaning, is much broader though. For example, Open Source development can simply refer to releasing the code of a side project in order to learn, share with others, or get hired.
Free Software, on the other hand, respects the freedom of its users and the community. It is a question of liberty, not price. Since PhotoPrism is not a side project and we believe in Free Software, we use an officially recognized copyleft license, provide as much source code and documentation as possible, and emphasize the importance of funding Free Software. Like anyone else, we also reserve the right to develop some features internally and make that code available to our members first before we may release it. This is because once code is released under a public license, it cannot be taken back, for example if it is unfairly monetized by others. Also, we don't have unlimited capacity to maintain community projects, write documentation, and help users.
That being said, asking for your support (and offering something in return) is necessary to protect the project as a whole and make it sustainable. Becoming a PhotoPrism+ Member is one way to contribute and enjoy additional benefits, but anything that reduces the workload of the core team is much appreciated and will be honored to the best of our ability.
Why does your Docker image use the Plus License instead of the AGPL?
Our Plus License is used for both the extensions we provide to our members and the standard Docker images available on Docker Hub. This allows us to bundle the extensions with the compiled application, while the Community Edition remains freely available under the terms of the GNU Affero General Public License (AGPL).
If you don't plan to use any additional features, you can alternatively use the "ce" tag instead of "latest" to get a slightly smaller Docker image distributed under the AGPL. Note that system dependencies and other third-party components included in this image are still subject to additional terms and conditions.
What are the tasks and priorities in your daily work?
Our priorities are (1) providing bug fixes, security improvements, and support, (2) maintaining core functionality, e.g. ensuring compatibility and performance, providing documentation, (3) adding core functionality, e.g. file type support, search filters, config options, (4) working on other features such as multi-user, scalability, and hardware acceleration.
When will new features be released?
Our Project Roadmap shows what tasks are in progress and which features are likely to be implemented next. You are invited to give ideas you like a thumbs-up, so we know what's most popular.
Be aware that we have a zero-bug policy and do our best to help users when they need support or have other questions. This comes at a price, as we can't give exact release dates for new features. Our team receives many more requests than can be implemented, so we want to emphasize that we are in no way obligated to implement the features, enhancements, or other changes you request. We do, however, appreciate your feedback and carefully consider all requests.
Since sustained funding is key to quickly releasing new features, we encourage all users to support our mission by signing up as a member or purchasing a commercial license. Ultimately, that's what's best for the product and the community.
Why can't I buy and download a single version?
Unlike traditional offline apps such as Microsoft Office or single-player games, software exposed to the Internet must be updated regularly to stay secure and compatible with the latest standards. Keep in mind that providing this software also involves answering support questions and reviewing bug reports, which is ongoing work.
Can I get a discount if I don't need all the additional features?
We encourage all users to support our mission to protect their freedom and privacy, even if they don't use any paid features, since developing and maintaining the core functionality requires just as much work, if not more. Those features are always available because it is a matter of freedom, not cost. As a result, we unfortunately cannot give you a discount if you don't need all the features of our paid offerings or see less value in them than you are willing to afford.
Can you tell me what features will be released for free since I already have too many paid subscriptions?
Offering much of our functionality for free is a matter of freedom, not cost. However, we can't promise you additional free features because they have to be funded and implemented first. Whenever new features become available, you'll find them in our release notes.
Should you be unable to afford any of our products or services due to a personal hardship and need a discount, you are welcome to contact us.
What was the original project funding strategy and communication?
Our official funding page from early 2020 explains it this way (all versions can be found in our public docs repo):
This project is about freedom and privacy, but not necessarily about free beer. We believe that it would be a mistake to state that there will be no costs, because clearly we have huge expenses, your server hardware has a price tag, and then you might want some additional features that need to be developed.
It seems fair to say that users with basic needs will have no monthly costs. We are also much more productive and effective per dollar (or euro) than commercial projects, and learn a lot on top of that.
Nearly all established OSS companies make 90% of their revenue from enterprise customers, so home users and individual developers usually get everything for free. Of course, that doesn't work if you only have private users who refuse to share their data on top of that.
Specific solutions for funding development and maintenance could be to...
- sell a tested and supported version in the app store, while our contributors and other developers can continue to use Docker or build from source code
- offer a geodata, public events, and maps subscription, since OpenStreetMap doesn't want us to use their development API for production, which is perfectly fine
Isn't it bad practice to use a CLA as it helps to unfairly monetize the work of contributors?
Having worked with and developed on open source projects for decades, we understand the concerns. Here is a summary of what our Contributor License Agreement (CLA) does and why we believe it is important:
(1) You confirm that it is your work and not a copy of someone else's copyrighted work. This reduces the legal risk for us to merge the contributed code into our own codebase.
(2) You explicitly grant us the right to use the contributed code - and any patents attached to it - for the project in any way we want, i.e. not just for a specific purpose or under the current license, so that we could never change it again. This also ensures that you can't just give us the code and then charge us for the patents once we have merged it.
(3) In addition, the CLA confirms that your contribution is “as is” and that you have no obligations, such as providing support for our users or assuming liability if there are security issues and, for example, our users' private pictures become public as a result. You certainly do not want to be liable for that when you give something “for free”, i.e. without any conditions, see (2).
With regard to (3), note that we give a free membership to regular contributors and whatever else we can afford. So legally speaking, one could argue that you are being paid and therefore there might be liability, depending on the legal framework, which is why the CLA also defines which law applies.
Why don't you communicate your practices and policies more prominently?
We want to be as transparent as possible, but also need to spend a lot of time on product development. When specific questions come up in our community, we do our best to answer them as soon as possible and also add them to our FAQs for future reference.