🎉 Hey there, thanks a lot for contributing to Photostat. It really means a lot for us 😊 🎉
Being an open source project, the best thing about Photostat is the community - you! There are many ways to contribute, from submitting bug reports and feature requests to writing code or desing discussions.
All members of our community are expected to follow our Code of Conduct. Please make sure you are welcoming and friendly in all of our spaces.
The following is a set of guidelines for contributing to Photostat. Following these guidelines makes it really easy to both get started with contributing and also reviewing and implementing contributions.
These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
- Getting started
- Reporting bugs and issues
- Feature requests
- Your first contribution
- Pull requests
- Code review process
-
Photostat is written in Vala language and uses the Gimp Toolkit (GTK)
-
To start learning how to program in Vala, check out the official tutorial
-
To follow up on general questions about development in GTK, head over to Gnome Wiki
-
Photostat's main source repository is at Github.
-
Installing
You can install Photostat by compiling it from the source
-
Install required dependencies:
libgtk-3-dev
libgranite-dev
libhandy-1-dev >= 0.90.0
meson
valac
- if you are on elementary OS 5 you will need elementary-stylesheet
For non elementary distros you will need to install elementary-icons and elementary-stylesheet
-
Building:
meson build --prefix=/usr cd build ninja && sudo ninja install
-
If you find a security vulnerability, do NOT open an issue. Email [email protected] instead.
In order to determine whether you are dealing with a security issue, ask yourself these two questions:
- Can I access something that's not mine, or something I shouldn't have access to?
- Can I disable something for other people? If the answer to either of those two questions are "yes", then you're probably dealing with a security issue. Note that even if you answer "no" to both questions, you may still be dealing with a security issue, so if you're unsure, just email us at [email protected].
If you think you have found a bug in Photostat, first make sure that you are testing against the latest version of Photostat (latest commit on master
branch) - your issue may already have been fixed. If not, search our issues list on GitHub in case a similar issue has already been opened.
If the issue has not been reported before, simply create a new issue via the Issues section
It is very helpful if you can prepare a reproduction of the bug. In other words, provide all the steps as well as a GIF demonstrating the bug. It makes it easier to find the problem and to fix it.
Please adhere to the issue template and make sure you have provided as much information as possible. This helps the maintainers in resolving these issues considerably.
Please be careful of publishing sensitive information you don't want other people to see, or images whose copyright does not allow redistribution; the bug tracker is a public resource and attachments are visible to everyone.
If you find yourself wishing for a feature that doesn't exist in Photostat, you are probably not alone. There are bound to be others out there with similar needs. Many of the features that Photostat has today have been added because our users saw the need.
To request a feature, open an issue on our issues list.
Photostat is maintained by a small team of individuals, who aim to provide good support as much as possible.
Unsure where to begin contributing to Photostat? You can start by looking through the help-wanted issues:
- Help wanted issues - issues which the team has marked for some help.
Working on your first Pull Request? You can learn how from this link.
At this point, you're ready to make your changes! Don't hesitate to ask for help.
At Photostat, we follow the elementary Code Style. If you can, please try to respect the recommended code style.
If you want to start working on a new feature, please consider opening issue before submitting a PR as we might have already started work on that particular feature or your implementation of that feature might not meet the design vision and goal of the app.
For something that is bigger than a one or two line fix:
- Create your own fork of the code
- Create a branch
- Commit your changes in the new branch
- If you like the change and think the project could use it:
- Be sure you have followed the code style for the project.
- Open a pull request with a good description (including issue number)
The core team looks at Pull Requests on a regular basis and they are dealt with on case by case basis and roadmap in mind.