GRASS GIS offers a limited number of student grants for projects related to GRASS GIS. These can include actual coding, bug fixing, or documentation and the creation of educational resources.
Why to apply
- receive mentorship by experienced open-source developers;
- gain programming skills;
- be able to add open-source development into your portfolio;
- get stipend.
To apply for a grant, a student must:
- be eighteen (18) years of age or older upon application;
- be enrolled into a post-secondary academic program, as of the beginning of the grant;
- for the duration of the grant, be eligible to work in the country in which they reside;
- and not be a GRASS GIS Project Steering Committee (PSC) member.
In addition, the student has to:
- demonstrate necessary skills and ability to contribute to GRASS GIS through a GitHub pull request (PR).
One person can be awarded one grant at a time, but can apply more than once at different times.
- The maximum per grant is 1000 USD. Proposals can be for lower amounts.
- The time to complete the grant should be maximum 3 months, but shorter projects are possible. This depends on the money requested and applicant's availability.
- Start date is flexible.
- For the 2023 deadline, GRASS GIS will offer a total of 4000 USD for stipends.
Before you apply
- Express your interest in applying through the current GRASS community channels (email@example.com mailing list, GitHub Discussions, or Gitter).
- Identify a topic matching your interest and skills.
- Look for ways to contribute to GRASS that are related to the selected topic (improve documentation, tests, fix bugs, etc.).
- Submit a PR.
How to apply
- write their proposals as Google Documents (or similar collaborative online document creation platform) and
- send an email to firstname.lastname@example.org to notify of their application (with the link to the document).
The email should contain:
- proof of eligibility
- confirm you are 18 year of age or above and that you can work in the country in which you reside for the duration of the grant
- proof of student status (e.g., scanned PDF)
- link to a GRASS GIS PR or PRs (work in progress is okay at this point)
The proposal document should contain:
- applicant's name
- description of the proposed work
- timeline with activities and deliverables
- budget proposal
For timely proposals, applicants will receive feedback from the grants committee and mentors. Changes can be made to the proposal until the deadline.
For the current call, applications will be accepted until October 30, 2023.
Project proposals are evaluated by the GRASS GIS Project Steering Committee within two weeks after the deadline and a notification will be sent to successful applicants.
Stipend are paid in two amounts (unless stated otherwise for the specific grant):
- 50% at the beginning of the work phase
- 50% after reception and approval of the final report by the PSC
The final report should be also written in the GRASS GIS wiki under the proposal up to two weeks after the final date planned originally. When finished, the student sends an email to grass-psc mailing list to announce the end of the work and share the link to the final report. The final report should include:
- A description of the state of affairs before the work
- A description of the work done
The GRASS GIS community provides a list of topics highly relevant to the community. Applicants may suggest their own topics.
List of open topics:
- Convert manuals from HTML to markdown, including update of related manual building tools
- convert manual files, e.g. with pandoc
- update man building tools accordingly
- Improve documentation and tests for a set of tools
- includes revising text, add missing/update examples with pictures, notebook how to generate the pictures, add tests (pytest)
- requirements: Python
- $100-200 per tool (proposal should include the total amount requested and budget justification)
- list of suggested tools: r.sim.water, r.reclass, r.resample, r.resamp.filter, r.mask, r.mode, v.surf.idw, v.surf.rst, r.fillnulls, r.surf.*, …
- r.rescale - reimplement as a wrapper to r.recode (see https://github.com/OSGeo/grass/issues/1986), add tests, examples and documentation
- must include tests and documentation
- requirements: Python
- Parallelize a tool with OpenMP
- possible candidates: r.horizon, r.mapcalc, r.proj, v.surf.idw
- must include tests and benchmarks
- requirements: C, OpenMP experience
- $1000 (one tool)
- Implement History manager in GRASS GUI
- display history of executed commands and re-execute them
- requirements: Python
- Improve d.vect.chart
- fix legend (see https://github.com/OSGeo/grass/issues/3100), update documentation, add tests
- must include documentation, examples, and basic tests
- requirements: basic C and Python
- Add JSON output to different tools in C
- r.report, r.mapsets, r.what, r.univar, r.info, v.info, r3.info
- must include tests and basic documentation
- requirements: C
- $500 for one tool (proposal should include the total amount requested and budget justification)
See selected topics from past years: Space-Time Dataset Visualization and Improved Interactive Maps for grass.jupyter, Redesigning a map display status bar combo box into a new settings dialog
The student stipends are sourced from the financial support the GRASS project receives from sponsors on Open Collective and the OSGeo Foundation. Time of mentors is covered by individual mentors or their employers.
In-kind contributions of personnel time:
- North Carolina State University, Center for Geospatial Analytics
- Department of Geomatics, Faculty of Civil Engineering, Czech Technical University in Prague
Personal time: Vaclav Petras, Anna Petrasova, Helena Mitasova, Stephan Blumentrath, Martin Landa