Contributor checklist

From Bisq Wiki
Revision as of 15:33, 22 September 2020 by Bayer (talk | contribs) (→‎Get connected)
Jump to navigation Jump to search

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

How to contribute

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 answering questions on the Bisq Forum, to implementing new Bisq features and everything in-between. All such contributions are eligible for compensation under the Bisq DAO. See more details below and in the Compensation doc.

Getting started

  1. Join our Keybase team.
  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, we recommend joining #proposals, #growth, #roles, #compensation, #dev and #dev-onboarding (if you’re a developer).
  4. Watch the proposals, roles and compensation repositories to get notified of threaded GitHub issue discussions that happen there.
  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.

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. Introduce yourself to Bisq and the Bisq DAO with the Phase Zero doc. It’s a bit outdated now, as the DAO has been launched, but it’s the best overview of Bisq’s background and underlying concepts.
  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. Subscribe to the Bisq YouTube channel to get notified about every meeting we hold, tutorial we publish, live session we broadcast, and more.
  2. Follow @bisq_network on Twitter.
  3. Catch up on past Bisq Tech Session YouTube live streams.
  4. Subscribe to the bisq-contrib mailing list for low-frequency, high-priority contributor communications.

Get assigned to an issue or role

Discuss with others, and after it is agreed that someone will assign something to you, do the following:

  1. Request an invite to the @bisq-network organization. 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, please change 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

Ok. You’re all set up and ready to work. Here’s what to do next.

  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, 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.
  2. 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).
  3. 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.
  4. Incorporate review feedback you get until your fix gets merged or is otherwise accepted.
  5. Repeat steps 1–4.
  6. Submit a compensation request at the end of the month, link to your finished work and request the amount of BSQ you believe that work to be worth to Bisq, the Bisq Network and its users.
Note
More on finding work to do

It is not required to work on an existing bounty issue to contribute to Bisq, and no one is here to tell you what to do. Contributors who have their own ideas are free to work in their own forks on whatever they wish, however they wish, and without any permission from Bisq stakeholders.

With that said, it’s a good idea to consult with stakeholders via Keybase, GitHub, the mailing list, or other communication channels before setting out on any serious contribution effort. Do this in order to ensure your contribution is:

  1. Something that the relevant maintainer(s) would be likely to merge;
  2. Something that stakeholders would likely vote to approve as a compensation request;
  3. Subjected to as much feedback as possible while still an idea and thus cheap to change or abort.

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. And remember: reviews are eligible for compensation just like any other contribution.