Skip to content

Commit 6220402

Browse files
committed
Add: graphics - need alt tags and captions
1 parent 08ba0ef commit 6220402

File tree

5 files changed

+78
-27
lines changed

5 files changed

+78
-27
lines changed

_posts/2024-06-20-pyconus-pyopensci-sprints.md

Lines changed: 78 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,26 @@ In previous posts, I talked about:
2323
* My [personal experiences with the Python packaging ecosystem and building consensus
2424
within the scientific Python community](python-packaging-friends-dont-let-friends-package-alone.html).
2525

26-
Here, I want to discuss our sprint at PyCon US this year. Specifically, I want to
27-
explore the varied motivations and barriers associated with contributions to Open Source,
28-
and how pyOpenSci is addressing them.
29-
26+
Here, I will share with you what we have learned at pyOpenSci through holding
27+
beginner-friendly sprints over the past 2 years.
28+
Specifically, I want to
29+
explore the varied motivations and barriers associated with contributions to
30+
Open Source, and how pyOpenSci is addressing them.
3031

32+
<div class="notice--success" markdown="1">
33+
## TL;DR
3134

3235
* I believe that we can get more people involved in Open Source if it's done the right
3336
way. But despite the word "open" in the name, Open Source is not necessarily open to
3437
all people.
3538
* By setting up infrastructure such as project boards and tagging issues as beginner-
3639
friendly, you are on your way towards a beginner-friendly sprint.
37-
* Be prepared to support people who are newer to Git and GitHub. Create opportunities
38-
for beginners to contribute to documentation, as their beginner lens is critical to
40+
* Be prepared to support people who are newer to Git and GitHub.
41+
* Create opportunities for beginners to contribute to documentation. The beginner lense
42+
reviewing your docs is critical to
3943
ensuring the documentation is usable! Documentation contributions can also be
40-
implemented completely on GitHub without needing to use the command line!
41-
{: .notice--success }
44+
implemented completely on GitHub without needing to use the command line.
45+
</div>
4246

4347
## pyOpenSci's PyCon US 2024 Sprint
4448

@@ -50,7 +54,8 @@ pull requests where volunteers helped fix issues on our website, in our tutorial
5054
in our packaging and peer review guidebooks. Many long-standing issues and bugs were
5155
fixed thanks to this wonderful Python community.
5256

53-
And I'm still working on closing up issues and pull requests now—weeks after the sprint
57+
We had so much activity that I'm still working on closing up issues and pull
58+
requests now—weeks after the sprint
5459
ended!
5560

5661
After such a tremendous experience this year, I wanted to share with you the things
@@ -64,10 +69,28 @@ project. For professional development sprints, this might mean a team working
6469
together on releasing a new feature. For open source, sprints can mean volunteers
6570
helping maintainers work on various parts of a project.
6671

67-
As the Executive Director and Founder of pyOpenSci, I created most of this
68-
infrastructure to support our mission. While I cherish times when I can work on
69-
technical things, it’s hard to keep up. So, I really appreciate when community
70-
members help us tick off open issues, big and small.
72+
### What do people sprint on for pyOpenSci?
73+
pyOpenSci is a non profit organization that is devoted to building diverse and
74+
inclusive community that supports making science more open and collaborative.
75+
Among other things that we do, we run [open peer review of scientific Python software](/about-peer-review/index.html).
76+
77+
Running an open peer review process for software is a challenge and as we grow,
78+
it requires infrastructure to support tracking the process. We also create
79+
community driven beginner-friendly
80+
[Python packaging resources](https://www.pyopensci.org/python-package-guide/) and
81+
[tutorials](https://www.pyopensci.org/python-package-guide/tutorials/intro.html).
82+
High quality learning resources also require maintenance and review.
83+
As such we always need a mixture of packaging experts and those newer to packaging
84+
to catch errors and points of confusion.
85+
86+
As the Executive Director and Founder of pyOpenSci, I created most of our
87+
pyOpenSci GitHub infrastructure to support our mission. While I cherish times
88+
when I can work on technical things, it’s hard to keep up.
89+
Mission, vision and community work will always come first.
90+
91+
I really appreciate when community members help us tick off open issues,
92+
big and small. These contributions propel the pyOpenSci mission of making science
93+
more open and collaborative forward.
7194

7295

7396
## Barriers to contribute to open source
@@ -100,6 +123,13 @@ Or, maybe you're like me—an Executive Director of a community organization. Co
100123
development aren't in my job description, but to teach these topics, I need to keep my
101124
skills fresh. And, I love to code. That's where Open Source comes into my life!
102125

126+
127+
128+
<figure>
129+
<img src="{{ site.baseurl }}/images/blog/2024/june/pyos-sprint-blog-learning.png" alt="Image that says have you ever felt confused about python packaging. Below is the pyopensci flower logo. And the graphic shows a bunch of different cartoon like hands being raised." style="width: 80%;" />
130+
<figcaption> Every time I ask this question, a majority of people in the room raise their hand.</figcaption>
131+
</figure>
132+
103133
### Challenges vs opportunities
104134

105135
So how do we align the challenges that contributors face with the potential opportunities?
@@ -113,15 +143,17 @@ from contributing, and this requires:
113143
* time and care in designing the sprint and
114144
* time spent with new comers during the sprint.
115145

116-
It's also important to note that this time required, is also a privilege for many maintainers who are already
117-
volunteering their time to maintain a project!
146+
It's also important to note that this time required, is also a privilege for
147+
many if not most maintainers who are already volunteering their time to maintain
148+
a project! As such we can't expect all open source packages to be able to
149+
support beginner contributions in a comprehensive way.
118150

119151
However, if you do have the bandwidth to hold a sprint, there
120152
is a lot to be learned from understanding learner motivations and types.
121153

122154
## Contributing vs learning
123155

124-
The educator inside of me can't help but align my experience in Open Source with my
156+
The educator inside of me can't help but align my experience in Open Source with
125157
learner motivations. For me personally, contributing to Open Source met two of my goals
126158
and interests:
127159

@@ -132,12 +164,15 @@ and interests:
132164
pressures of a specific deadline in most cases).
133165

134166

135-
136167
### The power of project-based learning
137168

138-
[Project-based learning](https://www.wpi.edu/project-based-learning/why-pbl) is founded on the idea that meaningful, applied projects are
169+
[Project-based learning](https://www.wpi.edu/project-based-learning/why-pbl) is
170+
founded on the idea that meaningful, applied projects are
139171
the best way to teach a topic. This works especially well in the data science space and
140-
is particularly effective with underrepresented groups.
172+
has been found to be particularly effective with underrepresented groups. In
173+
fact I implemented and collected data on this in a [previous project](https://www.leahwasser.com/training-diverse-communities-earth-data-science-corps)
174+
that I designed and ran when I was in academia.
175+
141176

142177
The idea behind project-based learning is that students select a topic they are
143178
personally interested in. If they are learning data science, they can find data to
@@ -146,25 +181,26 @@ learners), applied learning resonates because it involves a topic they care abou
146181
are motivated to pursue. Skills are learned in the process of achieving a meaningful
147182
outcome.
148183

149-
It's similar to how you can immediately engage a diverse audience in GIS with Google
184+
It's similar to how you can immediately engage a diverse audience in GIS (spatial data) with Google
150185
Earth by asking them to zoom into the area where they live (place-based learning).
151186

152-
As a volunteer maintainer of Stravalib, I am motivated to work on it because I learn in
153-
a very applied way.
187+
As a volunteer maintainer of Stravalib, I am motivated to work on stravalib
188+
because I learn in a very applied way.
154189

155190
Sure, a sprint does not have the powerful outcome of a student understanding the
156191
impacts of climate change on their local tribal lands. But the concept is the same:
157192

158193
> The learning motivation comes from a meaningful outcome that a student wants or cares
159194
about.
160195

161-
In leading a sprint, asking that question of "what are your goals for today" will help you as a sprint leader to direct their efforts towards a successful path.
196+
In leading a sprint, asking that question of "what are your goals for today"
197+
will help you as a sprint leader to direct their efforts towards a successful path.
162198

163199
### The power of student-directed learning
164200

165-
Every person has different learning preferences. For many years, we taught people the
166-
same way: in a classroom, using the same books and approaches. However, alternatives
167-
allow learners to adapt their environment to their needs.
201+
Every person has different learning preferences. For many years, educators
202+
taught people the same way: in a classroom, using the same books and approaches.
203+
However, alternatives to this model allow learners to adapt their environment to their personal and learning goal needs.
168204
[Student-directed learning](https://scholar.google.com/scholar?q=student-directed+learning&hl=en&as_sdt=0&as_vis=1&oi=scholart)
169205
is based on the idea that people learn differently and have different needs. By creating
170206
a hybrid learning environment where students decide how to learn, you empower them.
@@ -186,7 +222,7 @@ interface.
186222
## The Anatomy of a pyOpenSci Sprint
187223

188224
Based on our understanding of the learning motivations and challenges that new
189-
contributors might face, pyOpenSci has developed a workflow that we've found to
225+
contributors might face, pyOpenSci has developed a workflow that I've found to
190226
be successful in empowering new contributors to make their first contributions.
191227

192228
### Create opportunities for first-time contributors
@@ -211,6 +247,11 @@ maintainer and the contributor.
211247

212248
### Write useful constructive issues
213249

250+
<figure>
251+
<img src="{{ site.baseurl }}/images/blog/2024/june/pyopensci-issue-specific.png" alt="Image that says have you ever felt confused about python packaging. Below is the pyopensci flower logo. And the graphic shows a bunch of different cartoon like hands being raised." style="width: 80%;" />
252+
<figcaption> Every time I ask this question, a majority of people in the room raise their hand.</figcaption>
253+
</figure>
254+
214255
A good sprint begins with useful, labeled issues. The information in the body of
215256
an issue is critical. Be sure to include the specific details of the issue
216257
to be addressed with the lens of someone who is new to your project.
@@ -221,6 +262,11 @@ questions to answer during the sprint event.
221262

222263
### Label issues as help-wanted and/or sprintable
223264

265+
<figure>
266+
<img src="{{ site.baseurl }}/images/blog/2024/june/pyopensci-sprint-label-issues.png" alt="Image that says have you ever felt confused about python packaging. Below is the pyopensci flower logo. And the graphic shows a bunch of different cartoon like hands being raised." style="width: 80%;" />
267+
<figcaption> Every time I ask this question, a majority of people in the room raise their hand.</figcaption>
268+
</figure>
269+
224270
You never know when a contributor might be looking for a data science project to
225271
work on. It's always helpful totag issues that could be completed or started
226272
during a sprint as `sprintable` and `help-wanted` if you think someone outside
@@ -231,6 +277,11 @@ with contributors through her work on the
231277

232278
### Collect issues in a single place - the help-wanted board
233279

280+
<figure>
281+
<img src="{{ site.baseurl }}/images/blog/2024/june/pyopensci-sprint-project-board.png" alt="Image that says have you ever felt confused about python packaging. Below is the pyopensci flower logo. And the graphic shows a bunch of different cartoon like hands being raised." style="width: 80%;" />
282+
<figcaption> Every time I ask this question, a majority of people in the room raise their hand.</figcaption>
283+
</figure>
284+
234285
Curate a `help-wanted` board that contains all the issues that could be completed
235286
by an outside community member in one place.
236287

78.2 KB
Loading
63.1 KB
Loading
71.6 KB
Loading
50.7 KB
Loading

0 commit comments

Comments
 (0)