Skip to content

Google Season of Docs 2024: Project Proposal

Ralf Gommers edited this page Apr 29, 2024 · 4 revisions

Contributor Journey Comics - NumPy

IMPORTANT: the writer for this project has been selected - we are not looking for new proposals/applications from writers.

About your organization

NumPy is a very widely used Python library in pretty much every field of science and engineering. Over 32,000 packages on GitHub depend on NumPy, and 6 million users visit our website every month. It is the universal standard for working with numerical data in Python and is at the core of the scientific Python and PyData ecosystems. It provides ndarray, a homogeneous n-dimensional array object with methods to efficiently operate on it. Its user base spans from beginner coders to experienced researchers doing state-of-the-art scientific and industrial R&D. The NumPy API is used extensively in Pandas, SciPy, Matplotlib, scikit-learn, scikit-image, and most other data science and scientific Python packages. The API and concepts are also replicated in deep learning frameworks (e.g., Tensorflow, PyTorch) and in array computing libraries for other programming languages.

About your project

Your project’s problem

It can be difficult for contributors to know that there are many different ways to contribute to NumPy. Especially for first-time contributors, there is uncertainty about how to become a regular contributor, a reviewer, or a maintainer. Additionally, contributors may not be aware of non-code contributions like documentation fixes, triaging issues, and reviewing pull requests, among others. The NumPy community would like to make clear these various options. These conversations have been recorded and discussed in community calls but not disseminated widely, especially not to potential contributors who are not attending community meetings. This project aims to document these various pathways to being a contributor. By reducing this initial friction and exciting the reader in their future journey of open-source, this project aims to increase the number and diversity of contributions in NumPy. Long-term contributors gained through this effort would also improve the project's sustainability.

With the support of the Google Season of Docs 2023, the “How to Contribute to NumPy” comics were created and well received, both within the NumPy community and beyond. As seen in the GSoD-NumPy 2023 case study, a hundred physical copies of the comics were handed out at a talk at PyData NYC 2023 by the technical writer, Mars. At a high school in NYC, another hundred copies were photocopied and shared, inspiring humanities students to approach their computer science class with zeal. Across the sea in Belgium, at FOSDEM 2024, a dozen copies were eagerly scooped up. However, the project has a large scope, spanning from brainstorming with the NumPy community, gathering feedback, writing a script, writing blog posts and illustrating over 18 comic pages. Thus, the project was released partially by the end of GSoD 2023, with 12/18 pages at a talk at PyData NYC 2023. We are hoping to continue the “How To Contribute to NumPy” comics. The technical writer who created the comic last year is interested in continuing the project this year as well.

Your project’s scope

  • This project would produce a comprehensive series of informative digital illustrations on the NumPy documentation website.
  • These illustrations would serve a purpose similar to a corporate job level diagram. However, rather than mapping a hierarchical career, these illustrations would map an open-ended journey in open-source.
  • This project would complete the “How To Contribute to NumPy” comics
  • These comics would produce a comprehensive series of informative digital illustrations on the NumPy documentation website.
  • These illustrations would serve a purpose similar to a corporate job level diagram. However, rather than mapping a hierarchical career, these illustrations would map an open-ended journey in open-source.

Measuring your project’s success

  • Increase in first-time attendees to the NumPy community meetings
  • Increase in first-time contributors becoming repeating contributors
  • Increase in the number of responses to issues by non-maintainers
  • Increase in the number of reviews made by non-maintainers
  • Increase in the number of people given repository rights

Skills the technical writer would need

Must have:

  • Mapping undocumented processes
  • Communicating with community members
  • Creating visual metaphors for technical concepts
  • Familiarity with Github
  • Illustration skills

Nice to have:

  • Understanding of how NumPy works under the hood

Timeline

We expect that the technical writer will spend 6 months on the project, between May and November 2024, working 5 hours per week on average. During these hours, the technical writer will:

  • Attend NumPy community meetings
  • Make drafts; revise and edit them according to discussions with community members
  • Publish and spread awareness of the project

Project budget

Budget item Amount Running Total
Technical writer 3800.00 3800.00
TOTAL 3800.00

Additional information

We want the technical writer, Mars (@MarsBarLee) to work on this project.

  • She is active in the NumPy community and Open Source Design community.
  • She has written and illustrated comics about open-source contributions.
  • She has also run virtual and in-person sprints.
  • A sample of her work can be viewed here.

NumPy has participated in Google Season of Docs in 2019, 2020, 2021, and 2023. You can read the successful project reports here:

The mentor for this project, Mukulika Pahari (@Mukulikaa), is a member of the NumPy Documentation Team, with experience mentoring and creating documentation, as well as around the tooling and infrastructure involved in creating the documentation for NumPy. Mukulika was the technical writer for the Google Season of Docs 2021 project.

Current documentation:

Please visit https://numpy.org/contribute for contact information. You can also write directly to numpy-scipy-gsod@googlegroups.com with specific questions.