WIP: Contributor Journey Comics

To give feedback, use Github Suggestions or Github comments (some examples below).
- Check out https://deploy-preview-600--numpy-org.netlify.app/contribute/ to see the live page!
- Then, go to 'Files changed' to comment on what could be different
Continuing the discussion from the NumPy Documentation meeting, this PR exists to
- invite non-designers into the design process
- by bringing images onto Github, a popular platform for open source work and discussion
The advantages of this method is:
- lessen barriers of entry to non-designers
- e.g instead of linking out to a Figma file and requiring developers to make a Figma account
- work on asynchronously
- have version control
- to centralize discussion of this topic across NumPy community calls
What could be bettered or being discussed is:
- the workload imbalance, where the designer must do some additional work to translate their work and processes
- where this comic could live in numpy.org/the internet. This is currently placed in contributing.md
- how this comic could be expanded and shared to other projects, once we figure out this process specifically for NumPy
- awkward formatting! The image, image description and script are one long line, as they are one Markdown table row. This long line makes it harder to parse and give feedback to.
The inspiration for this
- discussion of contributor → maintainer, from the NumPy community call on August 31, 2022. (meeting notes with details)
- existing design tools for collaboration, such as Figma
Who I am inviting to this review
- NumPy contributors and anyone who has opinions on sustaining NumPy
- Designers, especially from Open Source Design
How I am inviting people
- Mars will go to various community calls (NumPy, NumPy Docs, Open Source Design) for live, verbal feedback
- Call attendees are invited to write their comment here
- Mars will also post consolidated meeting notes and discussion points from these meetings
Deploy Preview for numpy-org ready!
| Name | Link |
|---|---|
| Latest commit | 2b1f37a2a4d7781c3dba861b743c6470a9fe74d8 |
| Latest deploy log | https://app.netlify.com/sites/numpy-org/deploys/6322125011163800099a47b3 |
| Deploy Preview | https://deploy-preview-600--numpy-org.netlify.app/contribute |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site settings.
This is really cool, thanks @MarsBarLee!
where this comic could live in numpy.org/the internet. This is currently placed in contributing.md
https://numpy.org/contribute/ indeed seems like the natural place for this, as a single high-level view on what is possible. In case you plan to have other comics which go into more detail, then it'd be a harder question to answer.
Feedback and Suggestion from NumPy Community Call on Sept 14 (link to archived notes) Audience: mostly maintainers of various Scientific Python open source projects
- Zoom out to bigger map with non-code contribution journey
- Could be a separate map, to not over-complicate the current map
- Concerns of this depiction of hierarchy
- Instead of going up like a mountain, maybe a flat plane like a forest? With different paths in the forest
- Inspiration blog post: Imposter Syndrome in Data Science
- Expanding spheres of knowledge and influence
- Continue fire metaphor but rather than put torch to central fire, every person carries own torch and bringing together with other people makes a brighter fire, sphere
- Horizontal collaboration
- What if people have different mental models and want to be represented differently?
- The model we have in reality vs the model we want to move to
- Maybe show both models? To compare
- Making invisible process visible with images
- In conversation, we might have our own assumptions
- By putting in image in front and asking for feedback, conversation can become more specific
- Get more feedback across projects
- Contributor's Handbook?
- SPEC?
Feedback and Suggestion from NumPy Newcomers Design Jam on Sept 22
Audience: Newcomers, volunteer contributors and one maintainer. Different audience from NumPy Community Call on Sept 14: not mostly maintainers.
-
How much math is enough math to contribute to NumPy?
- Math in Engineering course in University =/= Math in NumPy
- Low level vs high level math
- Contributing with what you already know
- Since contributing in free time, limited bandwidth, would like to jump to contributing instead of learning more advanced math... Is this possible? Is there a middle ground?
- Mars point at the journey map "Unlocks Merge Track" and asked "Do you feel like you are here on this map? Do you feel ready to merge?"
- Response and Discussion: Maybe. Each project has different needs and process for merging. Can only learn those needs by being part of community
- NumPy is an mature project: Effects of project's age on starting contributions
- "I feel scared to mess up, cannot live up to several generations of standards"
- "I feel that there is more space to make mistakes in newer projects"
- "I think the "big wins" already taken years ago"
- Difficult to find a achievable "mission" small enough for newcomers
- Sprint tagged issues as a mission
- Flagged optional features for newcomers to "opt in"?
- If we acknowledge these fixed properties of NumPy (mature project): Would it be better for a newcomer to open source to start with a downstream project?
- More important for someone to contribute to open source in general rather than get blocked specifically trying to contribute to NumPy
- Is there a way to "make NumPy young" for contributors?
- Sandbox mode? A separate branch with less pressures?
- Difficult to implement with release cycles. What is the relation to main branch?
- Sandbox mode? A separate branch with less pressures?
- One volunteer contributors starting point: GSOD
- A structured start with clearly defined goals
- Had mentors/Point of Contacts for any question
- Quicker introduction to NumPy community
- Similar to discussion of maintainer bandwidth: How do we let people know we are open for code-reviews/pair programming while also protecting maintainer bandwidth?
- How can we take the positive properties of GSOD to NumPy contributor experience, those who don't start with GSOD?
- Maybe Meekail/@Micky774 "Zones of" is similar, breaking down NumPy into smaller, more digestible blocks?
- Make clearer that non-code contributions can be a great place to start
- Taking meeting notes
- Inessa and Melissa recently added the line to NumPy community call hack.mds, (on Sept 14) “Notes taken by…” in community meeting notes to credit the work of notetakers –> add “co-authored by” in PRs to numpy/archive.
- Mars highlighted note-taking and NumPy video transcription in recent keynote
- Taking meeting notes
- Bringing in/hiring people with prior relevant experience instead of "starting from bottom"?
- Similar to ongoing conversation to role of money and sustaining open source projects
- Students can't become maintainers, but many newcomers are students. However, it takes a long time/commitment to become a maintainer. Who is keeping their eye on role of "NumPy maintainer" for that long?
- Bring in people with relevant experience
- "people from StackExchange with high points in answering X project questions"
Thanks @rgommers! I’ve received feedback from two NumPy community calls about this. I’ll keep to https://numpy.org/contribute/, as there’s interest in expanding this to a single high-level view, as you mentioned, to include non-code contributions and be less hierarchal.