# Community and contribution

frei0r is maintained in public. Use the channel that matches the conversation.

<div class="resource-grid">
  <div class="resource-card"><h3><a href="https://t.me/frei0r">Telegram discussion</a></h3><p>Talk with developers and users about effects, integrations and contribution ideas.</p></div>
  <div class="resource-card"><h3><a href="https://github.com/dyne/frei0r">GitHub repository</a></h3><p>Read source, follow changes, inspect releases and fork the project.</p></div>
  <div class="resource-card"><h3><a href="https://github.com/dyne/frei0r/issues">Issue tracker</a></h3><p>Report reproducible defects and missing documentation.</p></div>
  <div class="resource-card"><h3><a href="https://github.com/dyne/frei0r/pulls">Pull requests</a></h3><p>Submit plugin, build, test and documentation changes.</p></div>
</div>

## Discuss an idea

Use [t.me/frei0r](https://t.me/frei0r) for exploratory questions, plugin ideas,
host-integration design and help narrowing down a problem.

GitHub also provides
[repository discussions](https://github.com/dyne/frei0r/discussions) when a
topic benefits from a durable threaded record.

## Report a problem

Open a [GitHub issue](https://github.com/dyne/frei0r/issues) and include:

- Operating system and architecture
- frei0r release or commit
- Host application and version
- Plugin name and parameters
- Exact reproduction steps
- Relevant console output or crash report

Security-sensitive reports should follow any private reporting method configured
in the GitHub repository rather than being posted publicly.

## Contribute code or documentation

1. Build and test the current branch.
2. Keep each change focused and preserve the small API's compatibility.
3. Add or update tests for changed behavior.
4. Check plugin metadata and unusual frame/parameter boundaries.
5. Open a [pull request](https://github.com/dyne/frei0r/pulls).

New effect authors should begin with the [plugin development guide](/develop-plugin).
Website contributors should use the source map in `docs/content-sources.md` to
avoid restoring obsolete information.

## Releases and project activity

- [Releases](https://github.com/dyne/frei0r/releases)
- [Commit history](https://github.com/dyne/frei0r/commits/master/)
- [Contributors](https://github.com/dyne/frei0r/graphs/contributors)
- [`AUTHORS.md`](https://github.com/dyne/frei0r/blob/master/AUTHORS.md)
- [`ChangeLog`](https://github.com/dyne/frei0r/blob/master/ChangeLog)

## License

frei0r is free software. The repository's `COPYING` file contains the GNU
General Public License, and individual source files identify their applicable
GPL or compatible terms. Preserve copyright and license notices when reusing
code.

- [Read `COPYING`](https://github.com/dyne/frei0r/blob/master/COPYING)
- [Read the preservation story](https://news.dyne.org/frei0r-the-free-and-open-source-video-effect-preservation-project/)

## Legacy discussion archive

The project previously used a public mailing list. Its
[searchable archive](https://lists.dyne.org/lurker/list/frei0r.en.html) remains
useful for historical research, but new discussion should use Telegram or
GitHub.
