Skip to content

Commit 137ed96

Browse files
committed
Add a handbook about the crowdfund
1 parent 810411d commit 137ed96

7 files changed

Lines changed: 155 additions & 4 deletions

File tree

crowdfund/application.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: Application process
3+
sidebar_position: 2
4+
---
5+
6+
Ambassadors and locals organizers can request crowdfund support by emailing
7+
[operations@graphql.org][]. The email should contain:
8+
9+
- The purpose of the request.
10+
- An estimate of the amounts needed (for example travel and accommodation
11+
amounts) in US Dollars.
12+
- Their full legal name.
13+
- Their mailing address.
14+
- Their preferred email address.
15+
16+
If the request is approved, someone from the Linux Foundation will add you as a
17+
beneficiary to the crowdfund platform, and you will be invited to create an
18+
account on Expensify - you should do so promptly. You should also be informed
19+
which email addresses you should include in the `CC` when filing any reports -
20+
if you were not told this, please ask.
21+
22+
Once all costs are incurred and all receipts are available for a single request,
23+
a report should be created following the [filing process](/crowdfund/filing).
24+
25+
[operations@graphql.org]: mailto:operations@graphql.org

crowdfund/filing.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: Filing process
3+
sidebar_position: 3
4+
---
5+
6+
If you do not yet have access to expensify, please complete the
7+
[application process](/crowdfund/application) first.
8+
9+
## Terminology
10+
11+
### Report
12+
13+
**A "report" is a claim for refund.**
14+
15+
For a single event (e.g. a Local, a Conference, etc), exactly **ONE REPORT**
16+
should be filed. The report should be itemized - each individual expense should
17+
be entered as **separate receipts** within the **same report**.
18+
19+
> [!DANGER] Do NOT combine multiple receipts into a single PDF - keep them
20+
> separate.
21+
22+
### Receipts
23+
24+
**A "receipt" is a single scanned document from a vendor showing an amount paid
25+
related to a report.**
26+
27+
Each report may have more than one receipt.
28+
29+
The amounts in each receipt must match exactly the amount entered.
30+
31+
An expense cannot be claimed without a receipt.
32+
33+
## Creating a report
34+
35+
Log in to Expensify.
36+
37+
Create a basic report:
38+
39+
- **Department**: LFX
40+
41+
Then move on to adding expenses:
42+
43+
## Adding expenses
44+
45+
Each receipt should have its own expense entry (on the **same** report).
46+
47+
Here's some guidance on the inputs:
48+
49+
- **Currency**: match the currency of the receipt.
50+
- **Description**: The descriptions will be rendered publicly, but are
51+
truncated, thus please prefix them with the most important info, e.g.:
52+
- Report name: `(London) April 26 GraphQL Local`
53+
- Receipt name: `(London) Pizzas`
54+
- Receipt name: `(London) Drinks`
55+
- Receipt name: `(London) Stickers`
56+
- Report name: `(Ambassador) Amsterdam GraphQL Day`
57+
- Receipt name: `(Ambassador) Outbound travel`
58+
- Receipt name: `(Ambassador) 2 nights hotel stay`
59+
- Receipt name: `(Ambassador) Return travel`
60+
- Receipt name: `(Ambassador) Stickers`
61+
- **Project**: "graphql" (**NOT** "GraphiQL")
62+
- **Category**: whatever seems right to you. For flyers/stickers/swag use
63+
"Marketing". For GraphQL Locals if in doubt use "Meetups".
64+
65+
## Submitting your request
66+
67+
1. Go to Settings > Account > Wallet and make sure you have linked a bank
68+
account.
69+
2. Submit the report to LFX:
70+
- **CC**: be sure to include the list of email addresses you were given to CC
71+
during the application process, or request that list if you do not have it.
72+
- **Memo**: Same as description (e.g. "(Ambassador) Amsterdam GraphQL Day")
73+
74+
## Getting paid
75+
76+
Once a report is submitted, it will be validated by a member of the Linux
77+
Foundation team. Unless added to the CC explicitly, the GraphQL Foundation
78+
currently have no visibility into this process.
79+
80+
Allow 30 days for payment to clear, longer in certain territories. If after 35
81+
days still no updates, applicant should use the "support" feature (modal?)
82+
available from the report they have created through Expensify; this message will
83+
then route to an admin to figure out why it went wrong. The GraphQL Foundation
84+
can only offer limited help here, feel free to keep us in the loop but your
85+
support requests should go through expensify.

crowdfund/index.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: Crowdfund
3+
sidebar_position: 1
4+
---
5+
6+
The [GraphQL Crowdfund](https://fund.graphql.org/) can be found at
7+
https://fund.graphql.org
8+
9+
The crowdfund is shared across a number of GraphQL Foundation initiatives
10+
including the Ambassador and Locals programs, and is funded by the GraphQL
11+
Foundation and other supportive individuals and organizations from the GraphQL
12+
Community.
13+
14+
Since the crowdfund has a very limited budget, we ask that you're respectful of
15+
the limited resources, help us to leverage them wisely, and always ask your
16+
employer or other local companies for support before requesting from the shared
17+
pot.
18+
19+
To apply for funding, complete the
20+
[application process](/crowdfund/application).

docusaurus.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ const config: Config = {
7676
docs("wg"),
7777
docs("tsc"),
7878
docs("grants"),
79+
docs("crowdfund"),
7980
],
8081

8182
themeConfig: {

sidebars.crowdfund.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";
2+
3+
const sidebars: SidebarsConfig = {
4+
docs: [{ type: "autogenerated", dirName: "." }],
5+
};
6+
7+
export default sidebars;

src/pages/index.module.css

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,18 @@
3030
}
3131

3232
.overviewGrid {
33-
display: grid;
33+
display: flex;
3434
gap: 2rem;
35-
grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
35+
flex-wrap: wrap;
3636
margin-bottom: 2.5rem;
37-
align-items: start;
37+
align-items: stretch;
38+
justify-content: space-around;
3839
}
3940

4041
.handbookCard {
42+
flex: 1 0 22rem;
43+
max-width: 30rem;
4144
display: flex;
42-
height: 100%;
4345
flex-direction: column;
4446
border: 2px solid #e10098;
4547
border-radius: 15px;

src/pages/index.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,17 @@ export default function Home(): ReactNode {
124124
releases and coordinating between projects.
125125
</p>
126126
</Handbook>
127+
<Handbook
128+
title="Crowdfund"
129+
url="/crowdfund"
130+
linkText="Crowdfund Handbook"
131+
>
132+
<p>
133+
The GraphQL Foundation supports many of its initiatives
134+
through crowdfunding. Find out how to contribute to the fund,
135+
and how to claim from it.
136+
</p>
137+
</Handbook>
127138
</div>
128139
<div className={styles.programsCard}>
129140
<h3>💡 Community-maintained </h3>

0 commit comments

Comments
 (0)