# numfocus/gsoc: how the NumFOCUS GSoC umbrella actually works

> The numfocus/gsoc repository holds the documentation NumFOCUS uses to run its Google Summer of Code programme, including the contributor guide, the mentor guide and the list of scientific Python projects confirmed under the umbrella. It is worth reading before you apply, because it explains that you apply to an individual project, not to NumFOCUS, and it sets out the rules for citing AI tools.

**numfocus/gsoc** — NumFOCUS Google Summer of Code Materials

- Repository: https://github.com/numfocus/gsoc
- Website: http://numfocus.org/programs/gsoc.html
- Stars: 654 · Forks: 459
- Language: TeX
- License: not declared
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/numfocus-gsoc

## A documentation repository, not a code base

The most important thing to understand about numfocus/gsoc is that it is not software. The repository description calls it NumFOCUS Google Summer of Code Materials, and its own text explains that it stores information about NumFOCUS' application for Google Summer of Code in the current and previous years.

The primary language is listed as TeX, which reflects the LaTeX proposal templates and documents that have accumulated in the repository over a decade of programme cycles. There are no releases, no package manifest and no build you can run.

What there is, is a directory per year from 2015 through 2026, an organization/ directory holding the umbrella paperwork, a templates/ directory, an img/ directory for logos, and the working documents that matter most to an applicant: CONTRIBUTING.md for contributors, CONTRIBUTING-contributors.md, CONTRIBUTING-mentors.md for organisations that want to join the umbrella, and a PULL_REQUEST_TEMPLATE.

Google Summer of Code itself is, in the words of the repository, an annual open source internship program sponsored by Google. This repository holds the NumFOCUS-specific version of that: which scientific projects participate, how mentors are organised, and what a student is expected to do before applying. General programme information, including the application timeline and key phases, lives on the GSoC website instead, and NumFOCUS points people there rather than duplicating it.

## The umbrella model means you apply to a project, not to NumFOCUS

NumFOCUS participates as an umbrella organisation, and the documentation is explicit about the consequence. Because of that arrangement, you need to identify a specific project to apply to under the NumFOCUS umbrella, and the projects are listed in the repository.

This is the single most misread part of the process, and it changes what a good application looks like. There is no central NumFOCUS project that you pitch a generic idea to. There is a set of independent scientific software projects, each with its own maintainers, its own roadmap and its own ideas list, and you pick one and make a proposal to it.

The list of organisations confirmed under the umbrella is given in the repository, alphabetically, and each entry carries a short description, a link to the project website, a link to its ideas page, a link showing how to contact them, and a link to a beginners guide.

The projects listed include AiiDA, a Python framework for managing computational science workflows that records the provenance of simulation pipelines so results can be reproduced, and ArviZ, a project for exploratory analysis of Bayesian models with both a Python and a Julia interface, built to work with probabilistic programming languages such as PyStan, PyMC, Turing, Soss, emcee and Pyro. Also listed are CVXPY, an open source Python-embedded modelling language for convex optimisation problems, the Data Retriever ecosystem, which standardises freely available data sources into forms ready for analysis, and Gammapy, a community-developed Python package for gamma-ray astronomy built on NumPy, SciPy and Astropy.

That list is where the real content is. A proposal aimed at one of these projects reads very differently from a generic proposal.

## Start by fixing issues, not by sending introductory email

The contributor guidance is unusually blunt about how to begin, and it is the piece most applicants skip.

The repository states that GSoC is hands-on, and instructs applicants that rather than sending introductory emails, they should begin by triaging or solving issues to get to know the team. The reasoning is straightforward and worth taking seriously: the maintainers of these projects are volunteers whose time is the scarce resource, and a contributor who has already triaged a triage label or fixed a small bug has demonstrated the same things a proposal promises.

The document also points out that project-specific questions should go to the project directly, and that every project has a Code of Conduct and a contributing guide which should be read before opening an issue about getting started with GSoC. That is a warning as much as an instruction. Opening a GSoC question in a project's tracker without reading its contributing guide is the fastest way to be ignored.

General questions have two routes: the issue tracker in this repository, or the address gsoc@numfocus.org. There is also a mailing list hosted on Google Groups at the numfocus.org forum for the gsoc list.

For organisations rather than students, the door is different. If you want to participate as a sub organisation of NumFOCUS, the repository directs you to a separate guide, CONTRIBUTING-mentors.md.

## AI tools must be cited, and each project decides

The AI Guidelines section is short and it is the part most likely to affect how you write a proposal today.

At the organisation level, contributors must clearly cite any AI tools used. The wording is that AI use is generally acceptable, but determined by each sub organisation or project, and the instruction is to verify the project's AI acceptance and guidelines before using AI. There is also a link to Google's own guidance for GSoC contributors using AI tooling in GSoC 2026.

Two things follow. First, there is no blanket ban, so assuming you cannot use an assistant to help you think through an idea would be a self-imposed restriction. Second, there is no blanket permission either, because the decision sits with each project, and the projects in this umbrella are quite different in character. A scientific workflow framework that records provenance for reproducibility has a different exposure to AI-assisted code than, say, an exploratory analysis library.

The citation requirement is the part you cannot skip. A proposal that presents AI-assisted work without mentioning it risks being read as a misrepresentation, and the rule is stated at the organisation level precisely so that it is not ambiguous when a project's own guide is silent.

The sensible sequence is: read the specific project's guidelines first, then write, then cite what you used in the way they ask for.

## A decade of per-year archives and the templates that produce a proposal

The repository layout is essentially a filing system. Directories named for each year from 2015 to 2026 hold that cycle's records, which is how a reader can see what an accepted proposal looked like in a given year and which projects were involved at that time.

Two directories do the active work. The templates/ directory holds the documents a project or a contributor starts from, and organization/ holds the umbrella-level paperwork used to confirm projects for the cycle. The img/ directory holds the logos used in the confirmed organisation list, which is why each entry in that table carries a logo image.

The practical value for a prospective contributor is the historical record. Comparing the 2025 and 2026 directories shows which projects returned, which ones dropped out, and how the arrangement of ideas lists and contact points has changed from year to year. That is the closest thing to a data set on how this umbrella has actually functioned.

The PULL_REQUEST_TEMPLATE and the issue tracker are the parts that touch contributors directly. Changes to the documentation are made through pull requests, so if a project listing is out of date or a link is broken, that is the mechanism for correcting it.

Note the age of the archive. The 2015 and 2016 directories describe a programme structure that has since been revised, so they are useful as history and misleading as guidance. The current cycle's documents are what should govern an application.

## Who owns this repository and what state it is in

NumFOCUS is the NumFOCUS Foundation, a non-profit organisation whose stated mission is to support and promote world-class, innovative open source scientific software, and to promote and sustain a professional and ethical community. Its Code of Conduct is described as the effort to uphold those values, and it provides a guideline along with some of the tools and resources to do so.

The programme page for GSoC sits at numfocus.org/programs/gsoc.html, and the repository is the working documentation behind it.

On the state of the repository, the facts are limited and worth stating precisely. The licence is recorded as unknown, and there is no LICENSE file among the top level entries, which is unusual for a repository that anyone is invited to contribute to through pull requests. The repository is not archived, and the last push was on 2026-09-12. There are no GitHub releases, which is consistent with a documentation repository where each commit is the release.

The repository has a single default branch, master, and the per-year directories mean that history is organised by cycle rather than by a linear changelog.

The maintenance model is what it is: a small number of NumFOCUS administrators update the current cycle's listings, and the projects themselves update their own ideas pages. If a project listed under the umbrella has gone quiet, this repository is where you would find out, since the list of confirmed organisations is maintained here rather than in any one project's tracker.

## Conclusion

Treat numfocus/gsoc as the entry point to a NumFOCUS GSoC application rather than as a software dependency, and read it before you write a proposal, because the decisive detail is that applications are made to a specific project under the umbrella and each project sets its own acceptance criteria and AI policy. Skip it if you are looking for a codebase to contribute to, since this repository holds documentation and per-year application records with an unknown licence rather than code. Before you apply, pick the project from the confirmed list, read that project's own Code of Conduct and contributing guide, check its ideas list for 2026, and confirm with the project whether AI assistance is acceptable and how it must be cited.

## FAQ

### How do I apply to Google Summer of Code through NumFOCUS?

NumFOCUS participates as an umbrella organisation, so you must identify a specific project from the confirmed list and apply to that project rather than to NumFOCUS itself. Read CONTRIBUTING.md for the application route and check the project's own ideas list, since the repository points to each project separately.

### What should I do before I contact a NumFOCUS project about GSoC?

The documentation says GSoC is hands-on and that you should begin by triaging or solving issues to get to know the team, rather than sending introductory emails. It also says to read the project's Code of Conduct and contributing guide before opening an issue about getting started with GSoC.

### Can I use AI tools in a NumFOCUS GSoC project?

AI use is generally acceptable, but the decision is made by each sub organisation or project, so you must verify the project's acceptance and guidelines before using AI. At the organisation level, contributors must clearly cite any AI tools used, and Google's guidance for contributors using AI tooling in GSoC 2026 is linked from the repository.

### Which projects are confirmed under the NumFOCUS umbrella?

The repository lists them alphabetically with a description, website, ideas list, contact route and source code link. Among those named are AiiDA for computational science workflow management with provenance recording, ArviZ for exploratory analysis of Bayesian models, CVXPY for convex optimisation, the Data Retriever ecosystem and Gammapy for gamma-ray astronomy.

## Sources

- [Issues](https://github.com/numfocus/gsoc/issues)
- [numfocus/gsoc on GitHub](https://github.com/numfocus/gsoc)
- [Project website](http://numfocus.org/programs/gsoc.html)
- [README](https://github.com/numfocus/gsoc/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/numfocus-gsoc
