So you're interested in contributing to Wasabi - welcome!
Embrace the open-source crypto-anarchy!
No one is here to tell you what to do, and it is not required to work on an existing issue to contribute to Wasabi. Contributors are free to work on their own forked versions on whatever they want, however they wish and without any permission from anyone. With that being said, in order to maximize the usefulness/impact of your work, it's a good idea to consult with other Wasabikas via Slack, GitHub, or other communication channels before setting out on any serious contribution effort.
This checklist will get you plugged in and productive as quickly as possible.
A contributor is any individual who works to improve and add value to Wasabi and its users.
You can become a Wasabika!
Wasabi Wallet is free and open-source software, but contributing is not just about writing code. This means anything from fixing typos in documentation, answering questions of fellow Wasabikas, creating videos, podcasts and memes, implementing new Wasabi features and everything in-between. All such contributions are very welcomed and greatly appreciated.
- Join our Slack and especially check out our GitHub repository.
- Introduce yourself, say a bit about your skills and interests. This will help others point you in the right direction.
- Explore the communication channels and find out what the peers are tinkering on, learn about the project and who is contributing in what way. This will help you to find the interesting challenges you can work on.
- Wasabi Research Club is a weekly online call, focused mainly on Bitcoin privacy. Everyone is welcome to join the discussions. However, being familiar with the topic (if there is any) is recommended.
Discussions might be recorded and published on the Wasabi Wallet YouTube channel.
You can find the schedule, call link, past recordings and more at the Wasabi Research Club repository.
- Educate yourself about the software by reading through Using Wasabi.
- To understand how Wasabi CoinJoins work, read WabiSabi Framework.
- Familiarize yourself with C4: The Collective Code Construction Contract.
It’s a simple set of collaboration rules based on GitHub’s fork and pull request model, and a foundational part of how we work together.
Education and development are vitally important aspects of Bitcoin privacy and Wasabi Wallet specifically.
The more Wasabi users there are, the better their privacy, because anonymity loves company.
The better UX and privacy Wasabi provides, the more there will be users, because of network effect.
- Videos, podcasts, memes and articles are great ways of sharing information to your peers. You can create wallet tutorials, record insightful discussions, write articles or make memes about Wasabi and privacy.
- Organizing events and doing presentations about Wasabi Wallet and Bitcoin privacy. Connecting like-minded individuals, who want to take control of their own financial privacy and teaching them about the awesome tools that are available, can be life changing.
- Helping and teaching new users, once you are familiar with the software, is something that can't be underestimated. You can do this in any social media like Twitter, Telegram, Reddit etc or in your own neighborhood.
[zkSNACKs Ltd.](https://zksnacks.com/) is known for compensating educators who consistently help out new users or create good content.
The company is actively sponsoring Bitcoin events and organizing Contribution Games. In case you have been contributing already, feel free to let other Wasabikas know by sending us a link to your content in Slack.
- Find a problem somewhere in Wasabi-land that (a) needs fixing or improvement and (b) is a match for your skills and interests. Browse open issues and ask around about what other contributors think needs fixing. Because while you don’t need anybody’s permission and you can work on whatever you want, you’ll want to know up front whether anybody else is going to care about the work you do.
- Do work to fix that problem. Submit your fix for review with a pull request (for code and documentation changes) or with a GitHub issue (for everything else).
- Request that others review your work. The best way to do this is by writing good commit comments and pull request/issue descriptions that clearly explain the problem your work is intended to solve, why it’s important, and why you fixed it the way you did. Make it as easy as possible for others to review your work. Make it a pleasure for others to review your work.
- Incorporate review feedback you get until your fix gets merged or is otherwise accepted.
- Repeat steps 1–4.
Remember: every contributor is free to work on what they want, including maintainers who may or may not want to review and merge your pull request if they don't have any prior context for it, or reason to believe it's worth spending their time on.
Reviews are for everybody!
If you want to be really popular around here, don’t just submit your own work, but also spend time reviewing the work of others.