.. raw:: html .. _development: =========== Development =========== Welcome to the developer documentation of Converse. Read the documentation linked to below, if you want to add new features or create your own customized version of Converse. Converse has a plugin architecture (see `pluggable.js `_) which lets you add new features or modify existing functionality without having to touch the core files (in the `src/ `_ directory). This is the recommended way to customize or add new functionality to Converse. Plugins are especially useful if you want to add proprietary modifications, since the Mozilla Public License version 2 doesn't require you to open source your plugins. Be aware that this doesn't apply when you intend to use libsignal for OMEMO encryption because libsignal's license is GPLv3. Refer to the section on `plugin development `_ for more info on how to write plugins. Converse is a community project and largely volunteer driven. We're grateful for your contributions, so please don't hesitate to make a `Github pull request `_ to fix a bug or to add new functionality. .. toctree:: :maxdepth: 2 dependencies style_guide plugin_development api/index testing events other_frameworks builds