Skip to content

Commit

Permalink
docs: add Bounty Program Rules
Browse files Browse the repository at this point in the history
  • Loading branch information
aeworxet committed Oct 1, 2023
1 parent b638794 commit 01cd821
Showing 1 changed file with 13 additions and 18 deletions.
31 changes: 13 additions & 18 deletions BOUNTY_PROGRAM.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
# AsyncAPI Bounty Program


Only individuals and sole proprietors in person (no legal entities or subcontractors) are eligible to participate in the Bounty Program.

If Bounty Program Participant submits invoice expenses for more than $600 USD per calendar year to a Collective at OpenCollective with a Fiscal Host in the US ([AsyncAPI](https://opencollective.com/asyncapi) fits this description), she or he will be asked to fill out an IRS tax information form, which will be either a `W-8BEN` or a `W-8BEN-E` depending on whether the Bounty Program Participant is an individual or a sole proprietor, supplying a local tax ID.


## Budget

The budget of the Bounty Program per calendar year is twenty thousand US dollars 00 cents (USD 20,000.00), which is five thousand US dollars 00 cents (USD 5,000.00) per calendar quarter (three calendar months).
Expand Down Expand Up @@ -37,9 +32,9 @@ To ensure ease of referencing, searching and automation, strictly defined format
2. In invoice claiming reward: invoice subject `Bounty [repo]#[issue]` (`Bounty cli#38`), tag `bounty`


## Submission
## Bounty Issue Submission

Bounty Issues are submitted containing the following five fields:
Up to two Bounty Issues per each calendar quarter round of the Bounty Program are submitted in comments of dedicated AsyncAPI GitHub Organization's Discussion by the AsyncAPI Maintainer of the repository where the candidate for the Bounty Issue is residing, containing the following five fields:

1. Number: `cli#361`

Expand All @@ -52,7 +47,7 @@ Bounty Issues are submitted containing the following five fields:
5. Type: `Coding` | `Docs` | `Design`


## Timeline
## Bounty Issue Timeline

Start date in Bounty Program is counted from Monday of the next week when assignment of the Bounty Issue on GitHub happened.

Expand All @@ -69,7 +64,7 @@ For Bounty Issues of Complexity Level `Advanced`:
If the Bounty Program Participant has not provided a weekly PR update, they are pinged as a reminder to do so.
In case the Bounty Program Participant still doesn't provide the PR update after three pings over three weeks, it is assumed that the task cannot be completed within the rest of the time, and the Bounty Program Participant has silently dropped the issue. Ban rules are applied to such Bounty Program Participant, and the Bounty Issue becomes free for assignment to another Bounty Program Participant with a reset timeline.

### Example Bounty Program Timeline
### Example Bounty Issue Timeline

| Complexity Level | Assignment date (by GitHub) | Start date (by BP rules) | End date (by BP rules) | Draft PR submission | Final PR submission | Final PR merge |
|------------------|-----------------------------|--------------------------|------------------------|---------------------|---------------------|----------------|
Expand All @@ -79,27 +74,27 @@ In case the Bounty Program Participant still doesn't provide the PR update after

## Extension of Bounty Issue's Timeline

In case of absence of the person in charge from the AsyncAPI side, all target dates of the Bounty Issue are increased by duration of absence of the person in charge from the AsyncAPI side + one week. '+ one week' is required because if the person in charge from the AsyncAPI side was absent for a month or two (for any reason), the Bounty Program Participant would then have to spend some time getting back to the insides of the issue and nearly unfamiliar at that time his own code.
In case of the online absence of the AsyncAPI Maintainer in Slack https://asyncapi.slack.com for a period of more than three working days in a raw, all target dates of the Bounty Issue Timeline are increased by one calendar week per each three working days in a raw of the online absence of the AsyncAPI Maintainer plus one calendar week. 'Plus one calendar week' period is required because after the AsyncAPI Maintainer has regained a confident online presence in Slack https://asyncapi.slack.com, the Bounty Program Participant would have to spend time getting back to the insides of the issue, and nearly unfamiliar at that time her or his own code.

In case of unpredicted force majeure circumstances which could not be foreseen and/or are beyond control of both contributor and maintainer, the Bounty Issue Timeline can be increased by a fixed or indefinite amount of time, with a fair explanation in Bounty Issue's or Pull Request's comments.
In case of unpredicted force majeure circumstances that could not be foreseen and/or are beyond the control of both the Bounty Program Participant and the AsyncAPI Maintainer, the Bounty Issue Timeline can be increased by either a fixed or indefinite amount of time, with a fair explanation in the Bounty Issue's or Pull Request's comments.

Communication on the necessity of the Bounty Issue Timeline extension should happen prior to any current milestone of the Bounty Issue's Timeline approaching, with a reflection of the start of such communication in the Bounty Issue's or Pull Request's comments, in case a communication platform other than GitHub is used.

## Constraints

AsyncAPI maintainers are allowed to work on Bounty Issues submitted by themselves.
## Additional conditions

Bounty Program Participant is allowed to choose up to two Bounty Issues of any Complexity Level for simultaneous delivery.
AsyncAPI Maintainers are allowed to work on Bounty Issues submitted by themselves.

Doc documenting functionality, which is being covered in the Bounty Issue, should be created, edited, or altered simultaneously with Bounty Issue's resolution, in every situation when it's applicable.
Bounty Program Participant is allowed to choose up to two Bounty Issues of any Complexity Level for simultaneous delivery.

Abuses of edge cases, like one second behind deadline and similar, are not tolerated.
In case the doc documenting functionality, which is being covered in the Bounty Issue, should be created, edited, or altered simultaneously with the Bounty Issue's resolution, such requirement should be explicitly stated in the Scope during Bounty Issue submission.


## Ban

Should any Bounty Program Participant drop or fail to complete the Bounty Issue assigned to them once, she or he will not be eligible to participate in the Bounty Program during current and next calendar quarter as a penalty.
Should any Bounty Program Participant drop or fail to complete one Bounty Issue assigned to them, she or he will not be eligible to participate in the Bounty Program during next calendar quarter as a penalty.

Dropping or failing to complete the Bounty Issue for the second time will result in permanent ban from participation in the Bounty Program.
Dropping or failing to complete two Bounty Issues will result in permanent ban from participation in the Bounty Program.


## Instruction on gaining a Ban
Expand Down

0 comments on commit 01cd821

Please sign in to comment.