Contributor checklist

From Bisq Wiki
Revision as of 03:24, 24 August 2021 by M52go (talk | contribs) (→‎Basics)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

If you're interested in contributing to Bisq, ​welcome! This contributor checklist will get you plugged in and productive as quickly as possible.

Bisq is free and open source software, but contributing is not just about writing code. A contributor is any individual who works to improve and add value to the Bisq network and its users.

This can mean anything from fixing typos in documentation, to providing support, to testing out new growth strategies, to implementing new Bisq features and everything in between. All such contributions are eligible for compensation from the Bisq DAO.

Basics

Suggestions below are in no particular order. Disregard developer-oriented items if you're not looking to contribute code.

  1. Join the Keybase team. In the Keybase software, go to Teams > Join a team then join the one called "Bisq".
  2. Introduce yourself in the #introductions channel. Say a bit about your skills and interests. This will help others point you in the right direction.
  3. Explore the other channels on Keybase, and join the ones that are of interest to you. For a start, consider joining #proposals, #dev, #growth, and #dev-onboarding (if you’re a developer).
  4. Watch the following repositories on GitHub: core software, discussions, proposals, growth, roles and compensation.
  5. Read the developer docs to set up a Bisq development environment.
  6. Read How to Write a Git Commit Message and follow its 7 rules when contributing to Bisq projects.
  7. Get set up to Sign your Git Commits with GPG. Any commits to any Bisq repository must be signed.

Learn how we work

  1. Read about Bisq’s project management process.
  2. Familiarize yourself with C4: The Collective Code Construction Contract. It’s a simple set of collaboration rules based on GitHub’s fork+pull request model, and a foundational part of how we work together.
  3. For more context on C4 and the principles behind it, read author Pieter Hintjens' short book, Social Architecture.
  4. To understand the fundamentals of Bisq's mission and motivations, read the introductory wiki articles on Bisq and the Bisq DAO.
  5. To understand Bisq’s commitment to radical transparency and radical honesty, read Part III of Ray Dalio’s Principles.
  6. To get inspired about what building software in a non-hierarchical organization can be like (and what it requires of everyone involved), read the Valve Employee Handbook.

Get connected

  1. Browse and subscribe to the Bisq YouTube channel to catch up on meetings we hold, tutorials we publish, technical sessions, and more.
  2. Follow @bisq_network on Twitter, or on any of the other channels listed on the bottom of the website: forum, Telegram, Matrix, Mastodon, etc.
  3. Subscribe to the bisq-contrib mailing list for low-frequency, high-priority contributor communications.

If you decide to proceed and start contributing, you'll want to join Bisq's GitHub organization so you can be assigned to issues:

  1. Request an invite to the @bisq-network GitHub organization on Keybase. An admin will get you set up. Doing this makes it possible to add you to the @bisq-network/contributors team and to assign you to GitHub issues.
  2. After accepting your GitHub invitation, consider changing your membership visibility from private to public. This helps others know at a glance roughly how many contributors are involved with Bisq.

Do valuable work and get compensated

After browsing GitHub repositories and Keybase discussions, you will start to develop a sense for what's happening, what's needed, and where you can help:

  1. Find a problem somewhere in Bisq-land that (a) needs fixing and (b) is a match for your skills and interests. Browse critical bugs, open bounties, follow chats on Keybase and the forums, and ask around about what other contributors think needs fixing.
  2. Get assigned to an issue or have your initiative acknowledged in some other way. While you don’t strictly need anybody’s permission to do anything for Bisq, you’ll want to make sure there's buy-in from other contributors so your work is received well. Otherwise, there are no guarantees that your work will be merged, reviewed, or eligible for compensation.
  3. 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).
  4. 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.
  5. Incorporate review feedback you get until your fix gets merged or is otherwise accepted.
  6. Repeat steps 1–5.
  7. Submit a compensation request toward the end of the cycle.
Note
As you'll see from browsing the various repositories on GitHub, changes to Bisq are almost always discussed publicly. This helps maintain Bisq's commitment to transparency, invites feedback to improve the quality of contributions, and it helps keep compensation honest. Always try to make sure your work is documented somewhere so others can follow its progress and offer feedback.

Ultimately, please remember that all Bisq contributors participate on a voluntary basis, and the more energy and quality you bring to the table, the more existing contributors will be encouraged to pay you attention.

Regarding development, keep in mind that reviewing other contributors' work can be highly valuable as well (both to the project, and also to yourself as a way to learn how Bisq works). Quality code reviews are eligible for compensation just like any other contribution.