topola/CONTRIBUTING.md

4.0 KiB

Contributing to Topola

Anyone can contribute to Topola, including you.

Contributions can be of any kind: documentation, organization, tutorials, blog posts, bug reports, issues, feature requests, feature implementations, pull requests, helping to manage issues, and so on. Many of these tasks do not require specialized programming knowledge, or any programming at all.

You may contribute to Topola under any identity you want. There is no requirement to use any legal or real name.

Chat

We invite you to join our Matrix chatroom or IRC channel to talk with us. We especially encourage you to do so if you are going make any large or complicated changes, as that often requires closer coordination. Both chatrooms are bridged, so it does not matter which one you join.

Reporting issues

If you believe that you have found a defect in Topola or its documentation, or would like to request a feature, please report that on our issue tracker.

Under normal operation, crashes and panics are always considered reportable bugs.

Translation

If you know any language other than English, you can help by translating Topola on Weblate.

Writing code

We welcome code from anyone regardless of skill or experience level. We are friendly to newcomers. We will help you with your contribution if there are any problems.

To build Topola, follow the build instructions from our Installation guide.

Contribution workflow

Topola accepts contributions as pull requests. For a step-by-step guide on how to use these, refer to Codeberg's documentation.

We prefer for the submitted code to be formatted with rustfmt. Follow the instructions in that link to install rustfmt and set up your editor to format code automatically.

Working on paid coding tasks

Topola's development is sponsored by NLnet. If there are any paid tasks available, they are tracked in issues labeled Paid. Each grant is tracked in a separate milestone. Anyone, including newcomers, can seek to work on paid tasks and will receive the allocated funds upon completion.

Before you start working on a paid task, remember to tell us that you are claiming it and make sure we agree, so that any potential collision with someone else's work is prevented.

Receiving money upon task completion

Once you have completed your task, we will contact you via email to add you as a party to the memorandum of understanding (MoU) we have signed with NLnet. This will require you to send your domicile address (your permanent home address) to NLnet via a specified email address. NLnet will not send your domicile address to anyone else, not even to Topola project members, so we will not see it.

You will also have to provide your legal name. You may optionally provide a pseudonym, which will make your legal name invisible for all Topola project members just like your domicile address.

After all necessary information is supplied, NLnet will amend the MoU to add you as a party. This may take a few weeks. Afterwards, you will receive a link to submit a request for payment (RfP). Once the RfP is submitted, it will be verified by the Topola project, after which you will receive the payment in up to three weeks. From then on, you will be able to re-use the same link to request further payments for completing other tasks funded from the same grant without having to amend the MoU again.

Note that it is your responsibility to comply with any local tax laws for any money you receive from NLnet. You may find some more information in NLnet's FAQ.