Contributing to Rspamd

Rspamd is an open-source software distributed under the terms of permissive Apache license. To contribute to rspamd you might want to go to the GitHub project page, study the current issues and suggest solutions.

Ideas list

Here is a short summary of these ideas.

Rspamd documentation improvements

Many rspamd modules are undocumented. We would appreciate any help in documenting them in markdown format for this site.

Rspamd Lua API improvements

The original Lua bindings are too complicated at the moment. The idea is to unify its arguments by using indexed tables and to use FFI bindings for calling of C code.

Additional statistics backends

Currently, we support plain memory-mapped files only for storing statistics tokens. However, we’d like to support other backends, such as redis, sqlite or other storages.

Flexible event reactors support

So far, rspamd works with libevent only, however, supporting of other event reactors, such as libev, libuv or picoevent would be interesting.

Interaction with GeoIP

For some checks, it is good to check geographical location of the sender. Rspamd now supports radix tries and it is possible to write geoip plugin completely in lua therefore.

Better debugging support

Currently, rspamd allows to turn on and turn off debugging logs globally. Ideally, we would like to have a fine-grained set of modules to enable or disable debugging. Moreover, many places in rspamd code lack debugging support, which is a problem when dealing with bugs.

New rules

The never-ending task of writing new rules is here. Spam fighting is a continuous process, so we need help from mail administrators who want to contribute their useful rules.

Rewriting lua plugins and rules in a more structured and functional style

With introducing of lua-functional we want to improve the style and safety of the existing lua plugins.