Google Season of Docs 2019
General information
This page is the central point of information for Software Heritage participation into the Google Season of Docs program.
Google Summer of Code is a program where Google pays technical writers stipends to work on free software projects such as Software Heritage. Each writer works with mentors from the community to complete a documentation project.
I want to participate as a technical writer
Great!, we are very glad for your interest in contributing to Software Heritage and we are looking forward to work together.
Prerequisites
The following prerequisites apply to Software Heritage GSoD projects:
- Sphinx is our documentation system of choice, you should be familiar with it to apply. In particular, we generally use reStructuredText markup and (for API references) Python docstrings with the Napoleon style
- Git is our version control system of choice, you should be familiar with it to apply
- additional prerequisites depend on the project you will work on; check project descriptions for details
Before you apply
Here are the steps you should follow before applying, to make sure you have a general idea of the current state of Software Heritage technical documentation:
- Learn about our project via our main website and the actual source code archive
- Check out the index of our resources for developers
- In particular make sure to have a look at:
- our public wiki
- our documentation index
- Technical setup:
- Create an account on our development forge
- Familiarize yourself with our code review workflow
- Make a simple change to the documentation of any one of our software components and submit it as a diff for code review, following the above workflow. Feel free to submit any patch you think it might be useful.
What to include in your application
Make sure that your application includes the following information:
- Describe the specific project you want to work on. What do you want to achieve? Why is it important? Why is it useful for Software Heritage? The project might be one of the project ideas that we have prepared below, or something else entirely that you want to contribute to Software Heritage. Your pet peeve, surprise us!
- Detail your work plan: a brief description of how you plan to go about your project, including a list of deliverables and a timeline of when do you expect them to be available.
- Include a reference to the diff you submitted before applying (see the "Before you apply" section above).
Ideas list
Below you can find a list of project ideas that are good options for a reasonably sized GSoD project. They are just suggestion though, don't feel obliged to pick one of them if there is nothing that fits your taste and abilities. Feel free to propose something else that you are excited about and that contributes to improve the Software Heritage documentation: we will be happy to consider it!
Reorganize developer documentation as tutorials/how-to/discussions/references
Our developer documentation is not particularly structured, making it hard to use it properly. We would like to reorganize it following the tutorials/how-to/discussions/references taxonomy, or something equally sensible.
This project will require discussing the intended use cases of this page, conceptually structure the future version of it, implement it, and (re)write suitable language to introduce the various parts.
Write a high-level technical overview of the project, data model, and data flow
TODO
Elicit and document consistent writing conventions for Python docstrings
TODO
Revamp new (code) contributor tutorial
TODO
Restructure wiki landing page as main community entry point
Our public wiki landing page is, well, a mess. It has grown inorganically by accumulating links to pages used more as working drafts than reasonably structured documents. We would like to restructure it to cater for various use cases (users, developers, curators, scientists, etc.) in the attempt of making it the primary entry point into Software Heritage for all community members.
This project will require discussing the various uses cases, design a suitable page layout, implement it in the wiki, write the introductory parts for each path into the wiki. A related task, if time permits, will be to reorganize the wiki category taxonomy and document when/how to use the available categories in the future.
Working on this project will require familiarity with Mediawiki and its markup.
Contact
GSoD applicants are encouraged to get in touch with the Software Heritage community using the standard development communication channels, i.e.:
- the #swh-devel IRC channel on Freenode
- the swh-devel mailing list
See our development information page for more details.
Timeline
See the official Google Summer of Code timeline.