Skip to content
Snippets Groups Projects
Commit 1f5f2154 authored by Nico's avatar Nico
Browse files

Add readme, license, contribution guide, coc, translation info

parent 9bf1e035
Branches
Tags
No related merge requests found
## Contributing to Briar Desktop
Thank you for looking in this file!
When contributing to the development of Briar Desktop, please first discuss the change you wish to make via issue, email, or any other method with the maintainers before making a change.
If you have any questions regarding the use or development of Briar Desktop,
want to discuss design or simply hang out, please join us in [the Matrix network](https://matrix.to/#/#freenode_#briar:matrix.org)
or [Briar's Mattermost chat](https://chat.briarproject.org/).
Please note we have a [code of conduct](/code-of-conduct.md), please follow it in all your interactions with the project.
## Source repository
Briar Desktop's main source repository is at [code.briarproject.org/briar/briar-desktop](https://code.briarproject.org/briar/briar-desktop).
Development happens in the _main_ branch.
If you need to publish a branch, feel free to do it at any
publically-accessible Git hosting service, although code.briarproject.org
makes things easier for the maintainers.
# Issues, issues and more issues!
There are many ways you can contribute to Briar Desktop, and all of them involve creating issues
in [Briar Desktop's issue tracker](https://code.briarproject.org/briar/briar-desktop/issues). This is the entry point for your contribution.
To create an effective and high quality ticket, try to put the following information on your
ticket:
1. A detailed description of the issue or feature request
- For issues, please note your version and add the necessary steps to reproduce the issue.
- For feature requests, add a detailed description of your proposal.
2. A checklist of Development tasks
3. A checklist of Design tasks
4. A checklist of QA tasks
Don't mind if you have nothing to say about point 2), 3) or 4).
## Issue template
```
[Title of the issue or feature request]
Detailed description of the issue. Put as much information as you can, potentially
with images showing the issue or mockups of the proposed feature.
If it's an issue, add the version and steps to reproduce like this:
Steps to reproduce:
1. Open Briar Desktop
2. Do an Action
3. ...
Briar Desktop version: 0.2.0-beta1
## Design Tasks
* [ ] design tasks
## Development Tasks
* [ ] development tasks
## QA Tasks
* [ ] qa (quality assurance) tasks
```
## Merge Request Process
1. Ensure your code compiles.
2. If you're adding new API, it must be properly documented.
3. The commit message has to be formatted as follows:
```
<summary>
A paragraph explaining the problem and its context.
Another one explaining how you solved that.
Fixes <link to the bug ticket>
```
4. You may merge the merge request once you have the sign-off of the maintainers, or if you
do not have permission to do that, you may request the reviewer to merge it for you.
This diff is collapsed.
# Briar Desktop
[![pipeline status](https://code.briarproject.org/briar/briar-desktop/badges/main/pipeline.svg)](https://code.briarproject.org/briar/briar-desktop/commits/main)
[![coverage report](https://code.briarproject.org/briar/briar-desktop/badges/main/coverage.svg)](https://code.briarproject.org/briar/briar-desktop/commits/main)
A desktop program for [Briar](https://briar.app), bringing secure messaging to your desktop and mobile devices.
**Note that Briar Desktop is still in a very early prototype stage and not yet functional.**
For regular updates, check out the Briar tag on
[Nico Alt's blog](https://nico.dorfbrunnen.eu/tags/briar/)
([RSS feed](https://nico.dorfbrunnen.eu/tags/briar/index.xml))
and watch the
[milestones of this repo](https://code.briarproject.org/briar/briar-desktop/-/milestones).
## Installation
We plan to distribute Briar for Debian (and related distributions) as _.deb_ and
via [Flathub.org](https://flathub.org) as flatpak, but until now, there are
only semi-official installation methods available. You might want to use them now
for not having to wait, but please note that those installation methods will be deprecated
once Briar is available for Debian and on Flathub.org.
### Self-contained Java .jar
The simplest way is to download the nightly briar-desktop.jar and execute it from the command-line.
**Note that this installation method isn't yet available.**
```
wget https://media.dorfbrunnen.eu/briar/desktop/briar-desktop.jar
java -jar briar-desktop.jar
```
## Developers
### Intellij IDEA
The easiest and most convenient way to build Briar Desktop is by using
[Intellij IDEA](https://www.jetbrains.com/idea/).
## Translations
See [TRANSLATION.md](./TRANSLATION.md) for more information.
## Maintenance
From time to time, translations and Flatpak's dependencies should be
updated. The former can be done with
`tools/update-translations.sh`, the latter using
[flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools).
## Design Goals
* Intuitive UI, similar to Briar Android client
* Main platform is GNU/Linux, but also support (at least) Windows and macOS
* Analogously, main platform is x86, but also support (at least) arm
* Adaptive to different screen sizes (desktop and mobile devices)
* Has [phone constraints](https://developer.puri.sm/Librem5/Apps/Guides/Design/Constraints.html) in mind
## License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[GNU Affero General Public License](LICENSE.md) for more details.
_Note: Translation isn't set up yet, still the following text describes how translation will happen in future._
Translation of Briar Desktop is provided by the Localization Lab. To make
Briar Desktop available in your language, please visit
https://www.transifex.com/otf/briar/ and ask to join one of the LocLab’s
language teams. You’ll then be able to contribute on
https://www.transifex.com/otf/briar/briar-desktop-pot/.
The Localization Lab has some instructions and advice for
translators at https://wiki.localizationlab.org/index.php/Briar.
#### Updating translations in Briar Desktop
_This section is of interest only for developers of Briar Desktop_.
To update translations locally, first install `transifex-client`. You can then pull updates with `tx pull -a`.
Afterwards, you should execute `tools/update-translations.sh` to let gettext finish the update.
The Localization Lab has some instructions and advice for
developers, too, at https://www.localizationlab.org/roles-guidelines#developer.
This is how updating translations in Briar Desktop works:
* Transifex periodically fetches the source file from code.briarproject.org
* Translators submit their updates via Transifex
* We pull the updates from Transifex and commit them before each release
* Occasionally we make minor updates locally and push them to Transifex
Translations only happen on Transifex. You might want to make your changes through Transifex by joining the respective language teams.
To test Briar Desktop in your language, add the following entry to the
_finish-args_ list in _app.briar.desktop.json_ when building Briar Desktop with
flatpak-builder:
```
--env=LC_ALL=de_DE.utf8
```
# Briar Code of Conduct
Thank you for being a part of the Briar project. We value your participation and want everyone to have an enjoyable and fulfilling experience. Accordingly, all participants are expected to follow this Code of Conduct, and to show respect, understanding, and consideration to one another. Thank you for helping make this a welcoming, friendly community for everyone.
Please see [briarproject.org/code-of-conduct](https://briarproject.org/code-of-conduct).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment