Skip to content

Commit 89b4e96

Browse files
kattnifreakboy3742
andauthored
Adding initial content for Sprint Guide (#609)
Adds a guide we can use to streamline onboarding sprint contributors. Co-authored-by: Russell Keith-Magee <[email protected]>
1 parent 360da8a commit 89b4e96

File tree

7 files changed

+238
-0
lines changed

7 files changed

+238
-0
lines changed

content/b/sprint/contents.lr

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
_model: redirect
2+
---
3+
new_path: /contributing/sprint-guide/

content/b/sprints/contents.lr

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
_model: redirect
2+
---
3+
new_path: /contributing/sprint-guide/

content/bee/sprint/contents.lr

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
_model: redirect
2+
---
3+
new_path: /contributing/sprint-guide/

content/bee/sprints/contents.lr

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
_model: redirect
2+
---
3+
new_path: /contributing/sprint-guide/

content/contributing/contents.lr

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,12 @@ contributions are important - not just the ones that come as a pull request on G
105105
* `Development Process </contributing/process/>`__
106106
* `Translations </contributing/translations/>`__
107107
* `Challenge Coins </contributing/challenge-coins/>`__
108+
109+
Sprints
110+
-------
111+
112+
Are you joining the BeeWare project at a **sprint**? A sprint is an unstructured
113+
gathering where we work on BeeWare and related projects, and introduce new
114+
contributors to the contribution process. If this is your first time sprinting,
115+
BeeWare has a `guide for getting started with BeeWare sprints
116+
</contributing/sprint-guide/>`__.
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
_model: page
2+
---
3+
title: Sprint Guide
4+
---
5+
hide_from_index: yes
6+
---
7+
body:
8+
9+
Welcome to the BeeWare Sprints!
10+
===============================
11+
12+
Welcome! We're so excited you've decided to join us! If you haven't already
13+
introduced yourself to one of the Bee Team, please do so. Once you've done that,
14+
head back here to get started.
15+
16+
What is a sprint?
17+
------------------
18+
19+
A sprint is an unstructured opportunity to spend a few hours or days working
20+
collaboratively on an Open Source project. They're often tied to a conference; a
21+
sprint after a conference provides an opportunity to turn the energy, enthusiasm
22+
and interest that a conference has generated into improvements in the software
23+
we use on a daily basis.
24+
25+
Sprints are also an opportunity to introduce people to the process of
26+
contributing to the project. Our hope is that you'll have so much fun
27+
contributing during the sprint that you'll go home and keep contributing!
28+
29+
`It doesn't matter how much experience you've got
30+
</contributing/first-time/imposter-syndrome/>`__. At past sprints, we've merged
31+
contributions from people at all levels of experience - high-school students,
32+
recent bootcamp graduates, people who don't consider themselves programmers, and
33+
seasoned developers. No matter your experience level - we can find a way for you
34+
to contribute.
35+
36+
Code isn't the only way you can contribute, either. A project like BeeWare is
37+
much more than just the code - we need people to write, proof-read and translate
38+
documentation; we need people to improve the design of web pages; even the
39+
process of going through bugs that were reported years ago and determining that
40+
they've been fixed along the way is a valuable contribution.
41+
42+
The Initial Questions
43+
----------------------
44+
45+
To get you started, we're going to ask a few questions so we can gauge your
46+
interests and experience. This will help us find the best way for you to
47+
contribute. Work through the questions, take notes, and then find a member of
48+
the Bee Team and share your answers. If you don't understand the question being
49+
asked - don't worry about that! Let us know what you do know, and we'll work
50+
together to figure it out from there.
51+
52+
1. **Have you used BeeWare before?**
53+
54+
If you haven't, start by working through the `BeeWare Tutorial
55+
<https://docs.beeware.org/en/latest/>`_. It will give you an introduction
56+
for what the BeeWare project is, and how the pieces of the project fit
57+
together. If you hit any problems doing the tutorial, take notes - because
58+
ensuring nobody else has the same problem is a great topic for a first
59+
contribution!
60+
61+
Once you've finished the tutorial up to at least step 4, move on to the next
62+
question.
63+
64+
2. **What computing equipment do you have with you?**
65+
66+
The equipment you have with you puts practical limits on what you can
67+
contribute to. For example, if you have a Windows laptop, you're not going to
68+
be able to work on anything to do with iOS. Does your laptop run Windows,
69+
macOS, Linux, or something else? Is your phone an iOS or Android device? Have
70+
your devices been provided by your employer, or are they your own personal
71+
devices?
72+
73+
3. **How much experience do you have writing Python code?**
74+
75+
Are you new to programming? A Python veteran? A coding veteran who has
76+
only just started learning Python? A fresh graduate of a bootcamp program?
77+
We want to find a problem that is a good match for your level experience.
78+
79+
4. **Are you familiar with Github contribution processes?**
80+
81+
Do you use GitHub (or a similar code-sharing site) for hosting your own code
82+
or contributing to others' projects? Do you
83+
know what CI (continuous integration) is? Have you contributed to a project that has
84+
pre-commit hooks? If I asked you to "rebase your PR against main", would you
85+
know what to do?
86+
87+
5. **Have you contributed to an Open Source project before?**
88+
89+
Have you attended a sprint in the past? Have you ever submitted a PR (pull
90+
request) to an Open Source project? Are you familiar with how to use Github
91+
to create a pull request?
92+
93+
6. **Do you have any other special skills that might be useful?**
94+
95+
Are you familiar with a GUI API (such as Winforms, Cocoa, or GTK)? Do you
96+
have deep knowledge of the internals of a particular operating system? Are
97+
you an expert in a programming language other than Python? If you don't have
98+
any special skills, that's not a problem - but if we've got a Windows Guru on
99+
our hands, we want to make sure those skills are being put to good use.
100+
101+
7. **Why did you join us and what are you interested in?**
102+
103+
"You sounded like a friendly project" is a perfectly fine answer. However, if
104+
there's more to why you joined us today, let us know. Are you interested in
105+
mobile or desktop development? Packaging? Websites? Console apps? If you
106+
don't have a specific interest - what seems most interesting based on what
107+
you've seen about BeeWare so far?
108+
109+
Now, find a member of the Bee Team to share your answers. They might ask some
110+
follow up questions; but then they'll point you in the direction of a area where
111+
you should be able to make a contribution.
112+
113+
Find Your Issue
114+
----------------
115+
116+
If you've spoken to a member of the Bee Team, they have probably pointed you at
117+
a part of the BeeWare project where you can contribute; they might have even
118+
suggested a specific issue to work on. If they haven't given you as specific
119+
issue, they've probably pointed you at the "Good First Issues" for that project.
120+
What does that mean?
121+
122+
GitHub provides a list of issues that allows BeeWare (and other projects) to
123+
keep track of all the problems that have been reported - that includes explicit
124+
bugs, unexpected behavior that *might* be a bug, requests for new features, requests
125+
for more documentation - anything that might be a way that BeeWare could be
126+
improved. As new issues are reported, the Bee Team will flag some of them as
127+
issues that are well suited to a first time contributor - issues that don't
128+
demand an *immediate* fix, but are well defined or easy to reproduce, and
129+
probably have a good lead on the underlying cause. These issues are tagged "good
130+
first issue" to make them easier to find.
131+
132+
To filter a GitHub issue list by the "good first issue" label, follow these steps:
133+
134+
1. Click on the "Labels" button above the list of issues to activate the drop-down menu.
135+
2. Type the word "good" into the search box at the top of the drop-down menu.
136+
3. Click on "good first issue" in the filtered list.
137+
138+
.. figure:: ./github-good-first-issue-filter.png
139+
:width: 100%
140+
:alt: The GitHub issue label filter drop-down menu activated with a search for the word "good" to filter down to "good first issue".
141+
142+
*Filtering GitHub issues by the "good first issue" label.*
143+
144+
Once you've found an issue that looks interesting, read through any comments on
145+
the post, and post a comment in the discussion saying that you're looking into
146+
the issue (e.g., "Looking into this at the PyCon US 2025 sprints"). BeeWare
147+
doesn't explicitly "assign" issues - we accept contributions from anyone.
148+
However, in a sprint situation, we need to make sure that we don't end up with
149+
two people working on the same issue - leaving a comment is a light-weight way
150+
to coordinate between contributors.
151+
152+
If you still can't find anything you'd like to do, find a Bee Team member and
153+
they'll help you narrow down to a specific issue.
154+
155+
Set up a development environment
156+
---------------------------------
157+
158+
Once you've found an issue, you'll need to set up your development environment
159+
so you can work on a fix. Each BeeWare project has it's own contribution guide:
160+
161+
* `Briefcase <https://briefcase.readthedocs.io/en/latest/how-to/contribute/index.html>`__
162+
* `Toga <https://toga.readthedocs.io/en/latest/how-to/contribute/index.html>`__
163+
* `Rubicon ObjC <https://rubicon-objc.readthedocs.io/en/latest/how-to/contribute/index.html>`__
164+
165+
If the project isn't on this list, check the project README for details on how
166+
to get set up. If any of the instructions don't make sense (or you can't find
167+
those instructions), find a member of the Bee Team, and they'll get you unstuck.
168+
And - if you think you can improve the instructions so other people won't hit the
169+
same problem, improving the contribution guide is a valuable contribution!
170+
171+
Now you can start working on your issue!
172+
173+
What happens after I submit my PR?
174+
----------------------------------
175+
176+
Once you've submitted your pull request, and the pull request is passing all the
177+
automated checks, you're ready for a review. Let one of the core team know that
178+
you've got a PR ready for review, and they'll take a look.
179+
180+
If this is your first PR, it's quite likely the review will find some problems.
181+
That might be an edge case you didn't consider, or a code convention that you
182+
haven't followed. Don't be discouraged! Nobody - not even the core team - gets
183+
PRs 100% correct on the first try.
184+
185+
Once the PR passes review, your reviewer will merge the PR - and you're done!
186+
Congratulations - you've contributed to BeeWare! If this is your very first
187+
BeeWare contribution, you've also earned your `BeeWare Challenge Coin
188+
</contributing/challenge-coins>`__ - find a member of the core team, and they
189+
will give you a coin!
190+
191+
Help! I'm stuck!
192+
-----------------
193+
194+
If you get stuck at any point along the way, find a member of the Bee Team.
195+
Don't be afraid to ask *any* question. If you're stuck, we want to get you
196+
unstuck. If you're confused, it's because the topic is complicated, and we
197+
haven't explained it well enough. We're eager to help - and we want to make sure
198+
you have a successful sprint.
199+
200+
---
201+
gutter:
202+
203+
The Bee Team is always available to answer questions. If you're in doubt... ask!
204+
Don't be afraid to ask *any* question. If you're stuck, we want to get you
205+
unstuck. If you're confused, it's because the topic is complicated, and we
206+
haven't explained it well enough. We're eager to help - and we want to make sure
207+
you have a successful sprint.
208+
209+
**This guide is new!** PyCon US 2025 is the first time we've used it. We want
210+
your feedback! What worked for you? What didn't? What can we do better? Please
211+
let us know. And remember: fixing a problem with this Sprint Guide counts as a
212+
contribution to BeeWare!
213+
214+
---
215+
summary: How to sprint with the BeeWare team
216+
---
217+
sort_key:
104 KB
Loading

0 commit comments

Comments
 (0)