4.5 KiB
Contributing
Contributions to Flare are always welcome. There are many different ways you can contribute, this document will show you most of these ways and what you should keep in mind.
We are interested in getting to know our contributors and are often around to discuss the state and the future of Flare, be it something minor, or larger visions. Feel free to join our Matrix channel and talk with us! This is also a good place to ask some questions or report smaller issues.
Note that the GNOME Code of Conduct applies to this project, therefore, be nice to each other.
Translation
This is probably the easiest way to contribute to Flare. Just head over to Weblate and start translating. If you are unfamiliar with Weblate, make sure to read their documentation on how to translate a project.
Open Issues
Issues are a good way to tell me problems you are having with the applications or things that you feel are missing or might be improved. There are a few things to keep in mind with issues.
- Use the correct template: This project defines a few different templates (e.g. "Feature Request", "Error") that you can use for different types of issues. Please only use the default template if you think no other template matches.
- Fill out all information in the template: For me to re-create your setup, it is important that you fill out all information that is asked for in the issue (e.g. your current version, or how you installed it).
- Fill out the logs if you think they are relevant: If the issue template asks for logs, and you think that might help, please consider adding them. But note that logs can contain sensitive information. Please look through the logs and censor things before pasting into the template (running the script here should censor your logs for you). If you don't feel comfortable censoring your own logs, you can also send me a Matrix direct message to
@schmiddi:matrix.orgif I ask for logs. - Check for duplicated issues: Try to use the search-feature if you can find similar issues like you are having. If there is already such an issue, consider giving it a thumbs-up or commenting more details on that issue, but don't create a new issue.
- Know how to write a good issue: Read e.g. https://wiredcraft.com/blog/how-we-write-our-github-issues/ (also applies pretty much got GitLab)
Write Code
If you feel comfortable enough writing code, you can also submit your changes directly via a merge request. You will need to know some Rust before contributing, and ideally also GTK.
If you want to implement any features Signal has, but Flare does not yet have, please check that presage supports that feature before working on it for Flare. Even features that may sound simple, like read receipts, may not be feasible due to upstream not allowing for them. When in doubt, please ask before getting started.
Here are a few pointers that might help write the code:
Review the development-documentation for information on how to compile the project, how the project is structured and other useful information.
Use of Generative AI
This project does not allow contributions generated by large languages models (LLMs) and chatbots. This ban includes, but is not limited to, tools like ChatGPT, Claude, Copilot, DeepSeek, and Devin AI. We are taking these steps as precaution due to the potential negative influence of AI generated content on quality, as well as likely copyright violations.
This ban of AI generated content applies to all parts of the projects, including, but not limited to, code, documentation, issues, and artworks. An exception applies for purely translating texts for issues and comments to English.
AI tools can be used to answer questions and find information. However, we encourage contributors to avoid them in favor of using existing documentation and asking in our Matrix room. Since AI generated information is frequently misleading or false, we cannot supply support on anything referencing AI output.
(This section was taken and modified from the glycin contributing guidelines.)