UNPKG

4.14 kBMarkdownView Raw
1# Expense Policy
2
3Fastify collaborators accept donations through the [Open Collective](https://opencollective.com/fastify/)
4platform and [GitHub Sponsors](https://github.com/sponsors/fastify)
5to enhance the project and support the community.
6
7This Collective is run by and for the benefit of the independent contributors to
8the Fastify open source software project.
9This Collective is not endorsed or administered by OpenJS Foundation, Inc.
10(the “OpenJS Foundation”). The OpenJS Foundation does not receive or have
11control over any funds contributed. The OpenJS Foundation does not direct or
12otherwise supervise the actions of any contributor to the Fastify project,
13and all donations made will be expended for the private benefit of or otherwise
14to reimburse individuals that do not have an employer/employee, contractor, or
15other agency relationship with the OpenJS Foundation.
16The Fastify marks used herein are used under license from the OpenJS Foundation
17for the benefit of the open source software community.
18
19The admins of the Fastify Collective are the [lead maintainers](./GOVERNANCE.md)
20of the project.
21
22This document outlines the process for requesting reimbursement or an invoice
23for expenses.
24
25## Reimbursement
26
27Reimbursement is applicable for expenses already paid, such as:
28
29- Stickers
30- Gadgets
31- Hosting
32
33**Before making any purchases**, initiate a [new discussion](https://github.com/orgs/fastify/discussions)
34in the `fastify` organization with the following information:
35
36- What is needed
37- Why it is needed
38- Cost
39- Deadline
40
41Once the discussion is approved by a lead maintainer and with no unresolved objections,
42the purchase can proceed, and an expense can be submitted to the [Open Collective][submit].
43This process takes a minimum of 3 business days from the request to allow time for
44discussion approval.
45
46The discussion helps prevent misunderstandings and ensures the expense is not rejected.
47As a project under the OpenJS Foundation, Fastify benefits from the Foundation's
48resources, including servers, domains, and [travel funds](https://github.com/openjs-foundation/community-fund/tree/main/programs/travel-fund).
49
50Always seek approval first.
51
52## Invoice
53
54Invoices are for services provided to the Fastify project, such as PR reviews,
55documentation, etc.
56A VAT number is not required to submit an invoice.
57Refer to the [Open Collective documentation][openc_docs] for details.
58
59### Adding a bounty to an issue
60
61Issues become eligible for a bounty when the core team adds the `bounty` label,
62with the amount determined by the core team based on `estimated hours * rate`
63(suggested $50 per hour).
64
65> Example: If the estimated time to fix the issue is 2 hours,
66> the bounty will be $100.
67
68To add a bounty:
69
70- Apply the `bounty` label to the issue
71- Comment on the issue with the bounty amount
72- Edit the first comment of the issue using this template:
73
74```
75## 💰 Bounty
76
77This issue has a bounty of [$AMOUNT](LINK TO THE BOUNTY COMMENT).
78_Read more about [the bounty program](./EXPENSE_POLICY.md)_
79```
80
81For discussions on bounties or determining amounts, open a [new discussion](https://github.com/orgs/fastify/discussions/new?category=bounty).
82
83### Outstanding contributions
84
85The lead team can decide to add a bounty to an issue or PR not labeled as `bounty`
86if the contribution is outstanding.
87
88### Claiming a bounty
89
90To claim a bounty:
91
92- Submit a PR that fixes the issue
93- If multiple submissions exist, a core member will choose the best solution
94- Once merged, the PR author can claim the bounty by:
95 - Submitting an expense to the [Open Collective][submit] with the PR link
96 - Adding a comment on the PR with a link to their Open Collective expense to
97 ensure the claimant is the issue resolver
98- The expense will be validated by a lead maintainer and then the payment will be
99 processed by Open Collective
100
101If the Open Collective budget is insufficient, the expense will be rejected.
102Unclaimed bounties are available for other issues.
103
104[submit]: https://opencollective.com/fastify/expenses/new
105[openc_docs]: https://docs.oscollective.org/how-it-works/basics/invoice-and-reimbursement-examples