Making a compensation request

From Bisq Wiki
Jump to navigation Jump to search

Once you've done some work on the Bisq project, you may want to make a compensation request for BSQ.

Preliminary considerations

Conventions

Compensation requests are generally made for work done in the current DAO cycle—work delivered after the last proposal phase and before the end of the current one—but you can make a request for work done any time in the past as long as you have records of it.

Keep in mind that compensation requests will need to garner a simple majority approval in DAO voting, and before that, team leads will do an initial review of your request. For this to go well, you won't want your compensation request to be the first interaction you have with other Bisq contributors.

Ideally, you will have already had conversations with team leads and other contributors to:

  • make them aware of what you want to do
  • get others' feedback on your plans
  • get an idea of how valuable your contribution is to the project(so your compensation request is reasonable to you and to stakeholders)
    • don't hesitate to suggest a ballpark cost before getting started, if one is not already suggested by other contributors; this helps avoid surprises and hurt feelings at compensation request time

It would be even better to have public threads (issues, pull requests, other discussion threads) tracking your work, progress, and outcomes to help stakeholders put your compensation request into perspective. This is somewhat intuitive for development-related tasks, but non-development contributors should strongly consider making issues in the appropriate repositories or forums too.

For more guidance on how you can get started contributing to Bisq, check out the contributor checklist.

Warn
Please try not to nickel-and-dime in your compensation request. Charging top dollar for fly-by-night code reviews and minor text corrections are usually seen as red flags, and will probably not be received very well by reviewers and voters.

Eligible work

Compensation requests can only be made for delivered work: work that has been available to users at the time compensation for it is being requested (see a more elaborate explanation of this notion here). Work that’s planned or in-progress is not eligible for compensation.

Generally, work merged to the master branch of a repository can be considered delivered (if applicable).

Reporting bugs and/or opening issues generally does not qualify as delivered work since, strictly speaking, opening an issue does not usually deliver anything. With that said, there are occasional exceptions to this, so as suggested above, please keep other contributors informed about what you're up to in order to minimize misunderstandings.

Create your compensation request

Making a compensation request requires 2 steps:

  1. opening an issue on GitHub
  2. submitting the compensation request to the Bisq DAO

Issuance and voting takes place on Bisq, but metadata (e.g. compensation request details) is stored on GitHub to decrease the data storage burden on the Bisq and Bitcoin networks.

If you wish to request compensation for the current cycle, please make a compensation request issue no later than one week prior to the end of the current cycle's proposal phase. This allows time for team leads to do an initial review and offer feedback. Reminders about this deadline are sent in the [area on GitHub] and [Keybase] in the #compensation channel.

1. Open a new issue

Opening a new compensation request issue on GitHub.

The issue should go in the bisq-network/compensation repository, and it should be titled in the following format:

For Cycle N, where N is the number of the current cycle

You must stick to this convention in order for the compensation request parsing bot to properly parse your request.

Note
Compensation requests are assumed to be ready for review as soon as they're created. If you would prefer to delay review of your request, preface your issue's title with [WIP] so that people (and bots) know to ignore it. Then, when your request is ready for review, just remove [WIP] from the issue title.

2. List your work in the issue

Compensation requests must be made in a very particular format in order for them to be valid. This is because a bot is used to parse requests to automatically aggregate work done for reporting and budgeting.

The placeholder text of the issue you just opened tells you everything you need to know.

  • In the "Summary" section, fill out all the numbers in brackets (required)
  • In the "Contributions Delivered" section, list your contributions as rows in the table (required)
  • In the "Contributions in Progress" section, list contributions you're expecting to deliver in future cycles

Tips on making a convincing request

The onus is on you to convince Bisq stakeholders what you did, how much it’s worth, and why it’s valuable. Voters will be evaluating what you put in this GitHub issue to determine whether or not you should be issued the BSQ you're asking for.

In order to make your case as strong as possible, make sure to:

  • Include as many links to issues, pull requests, and other "evidence" for any work you want to be compensated for
  • Comments that help explain what the work is, why it is valuable, etc.
  • Links to role reports, if you hold any roles in the Bisq network

As mentioned above, this is a big reason that it’s important that everything you do for Bisq be as public, documented, and verifiable as possible, and that everything you do has positive consensus with multiple stakeholders so you know you’re not wasting your time.

Even then, not all stakeholders will be familiar with your work, so it’s important to be as thorough as you can when making a compensation request so there’s enough context for those unfamiliar with your work to make an informed vote.

Feel free to check out old compensation requests if you're unsure about anything.

Tips on valuing your work

Valuing work is a judgment call. There's no precise way to go about valuing your work, but here are some pointers:

  • work should be valued based on the value of the contribution you made, not on the raw time you spent on it
  • if you are unsure about the value of your contribution, consider what you would charge for your work if you did it as a freelancer

Ideally, especially if you're a new contributor, consider discussing compensation for particular tasks you're working on with another contributor who's been around longer to see if your expectations align with theirs. You can also browse older requests for examples of what people in the past were paid for similar work.

Submit your GitHub issue and address feedback

Upon submitting your compensation request issue (or removing [WIP] from the title), a bot will parse it to evaluate formatting. If it's not valid, the bot will add a parsed:invalid label to the issue and leave a comment with a reason. Please edit your issue until the bot adds a parsed:valid label.

Also shortly after you submit your issue, a human team lead will review it and offer feedback. Upon addressing feedback, the team lead will advise submitting your request to the Bisq DAO.

One exception: if your compensation proposal consists solely of pre-approved roles items for ops, you can skip awaiting feedback from team leads (see https://github.com/orgs/bisq-network/teams/ops/discussions/1 for reference).

Note
Team lead reviews are not final or binding. But their feedback serves as an important signal to voters, so a favorable indication from them is important.

Submit your request as a DAO proposal

Once a team lead has given you the go-ahead, it's time to submit your request to the DAO.

In Bisq, go to DAO > Governance > Make Proposal.

Submitting a compensation request to the DAO.
  1. Select "Compensation request" in the dropdown menu
  2. Specify your GitHub handle, exactly like it is on GitHub
  3. Replace the # with the number of your GitHub issue (for example, if your compensation request’s GitHub URL is https://github.com/bisq-network/compensation/issues/999, the URL in your DAO compensation request should be https://bisq.network/dao-compensation/999. Don’t copy the GitHub link directly—it won’t work!)
  4. Specify the amount of BSQ you're requesting
Note
Bisq may not use GitHub forever. But the Bitcoin blockchain is forever, and proposal URLs cannot be changed—the Bitcoin transaction corresponding to a Bisq DAO proposal includes a hash of the proposal’s data object, which includes the proposal URL. This is why Bisq proposals require a URL with a domain name that Bisq controls: if proposal data ever needs to be migrated, the links can remain the same.

When you’re ready, click Make proposal to confirm your proposal for voting in the current cycle. Proposal data cannot be edited, so make sure everything is correct.

Fees and other costs

A compensation request is a type of proposal, and proposals cost a fee to make in the Bisq DAO. Currently that fee is 2 BSQ. Since a compensation request is intended to issue new BSQ, you’ll also need to include a small amount of bitcoin to be colored into BSQ if your proposal is accepted—100 satoshis × [requested BSQ amount]. See more details in the User Reference.

Also remember that Bisq DAO proposals are Bitcoin transactions, so it costs mining fees and takes time for them to be confirmed. Consider watching mining fees to broadcast your proposal at a reasonable cost. Waiting until late in the proposal phase to submit may cause it to not be confirmed in time.

Note
If you need to make a change, you can delete the proposal and make a new one while the proposal phase is still active, but you’ll need to pay the proposal fee again. Once the proposal phase is over, proposals cannot be added or removed until the next proposal phase.

The BSQ and BTC is automatically added to your proposal transaction by Bisq, but the BTC needs to be in your Bisq BTC wallet at the time you submit your proposal. Keep in mind that you’ll also need some BSQ and BTC for the other phases (vote & vote reveal).

When you successfully submit your proposal in the DAO, it’ll propagate across the Bisq peer-to-peer network and be ready for stakeholders to vote on in the voting phase. If your request is approved, you will see the BSQ you requested in your wallet after the voting phase is over.