Project & Team
This page describes the Gammapy project organisation and the main roles and responsibilities in the Gammapy team.
This structure was put in place in January 2018 based on our experience developing Gammapy since 2013, as well more generally with science tool software development in the H.E.S.S. and CTA collaborations. We also took inspiration from the way the Astropy and Sunpy projects are organised, since they are in a similar situation as Gammapy: a distributed development team and a variety of people and projects using and depending on them.
We expect this structure to evolve over the coming years, adapting to the size and composition of the Gammapy development team, and the requirements and needs of scientists and projects using Gammapy. If you would like to become part of the Gammapy team, please get in contact. Help is always welcome!
The following sections describe the major roles and responsibilities in the Gammapy team:
The Gammapy coordination committee (CC) is the board that is responsible to promote, coordinate and steer Gammapy developments. It also serves as main contact point for the Gammapy project.
Gammapy is developed and used by people and projects from several institutes and countries, with different needs, priorities and schedules. Members of the CC are representatives for the major stakeholders, i.e. groups that have contributed significantly to Gammapy development, as well as projects like H.E.S.S. and CTA that are using Gammapy. In addition, the Gammapy project manager and lead developer are part of the Gammapy CC.
- Ensure that scientists and projects that are using Gammapy have reliable, good and long-term support
- Promote the use of Gammapy by new projects, especially as science tool for CTA
- Support and grow the Gammapy team (help find manpower and funding)
Make decisions on the scope, content and development priorities for the Gammapy package.
In many cases this will be done via Proposal for improvement of Gammapy (PIG) documents.
- Support and coordinate the use of Gammapy for scientific or technical studies and papers
- The CC is the official contact point for the Gammapy project.
- Appoint the Gammapy project manager (technical lead) and lead developer (non-technical lead)
CC members should join the Gammapy CC mailing list and calls for important discussions
(day-to-day management is left to the project manager and technical lead).
Current CC members (alphabetical order):
- Bruno Khelifi (APC, France)
- Christoph Deil (MPIK, Germany)
- Régis Terrier (APC, France)
- Roberta Zanin (MPIK, Germany)
The project manager is the non-technical executive lead for the Gammapy project.
The project manager is appointed by the Gammapy coordination committee, and works closely with the Gammapy coordination committee, core developers and users.
- Organise and drive all non-technical aspects of the project on a day-to-day basis. Keep the overview of ongoing activities, schedules and action items and follow up to make sure all important things get done.
- Serve as Gammapy coordination committee secretary (schedule and moderate calls; give status reports; write minutes)
- Organise all Gammapy calls and face-to-face meetings (for users and / or developers) via gammapy-meetings
- Keep an overview and help coordinate all activities that have some involvement of Gammapy, such as e.g. papers, presentations or posters about or using Gammapy at gamma-ray astronomy meetings or conferences, or tutorials at schools / workshops on gamma-ray astronomy data analysis.
- Maintain Gammapy communication channels (mailing lists, slack, github, ...) as well as the content at http://gammapy.org/
The current project manager is Roberta Zanin, the deputy project manager is Bruno Khelifi.
The role of project manager is very time-intensive. The project manager and deputy should aim to distribute tasks to other contributors in the Gammapy team, and split the remaining work.
The lead developer is the technical executive lead for the Gammapy project.
The lead developer is appointed by the Gammapy coordination committee, and works closely with the Gammapy coordination committee, project manager, core developers and community contributors.
- Organise and drive all technical aspects of the project on a day-to-day basis. Keep the overview of ongoing activities, schedules and action items and follow up to make sure all important things get done.
- Serve on the Gammapy coordination committee, as the link between CC and the development team.
- Ensure that Proposal for improvement of Gammapy (PIG) documents are properly reviewed and eventually decisions made by the CC.
- Manage the Gammapy developer / maintainer / contributor team. Distribute tasks and assign responsibilities to other Gammapy core developers.
- Ensure that anyone interested in contributing to Gammapy development has good resources (documentation, communication, mentoring) to get started. Specifically: maintain the Gammapy developer documentation that describes all aspects of Gammapy development (code, testing, documentation, processes).
- Ensure Gammapy infrastructure is well set up and maintained (issue tracker and pull requests on Github, continuous integration tests, documentation builds, releases and distribution).
- Schedule Gammapy releases and define which fixes and features go in which release, taking the needs of people and projects using Gammapy as well as available manpower for developments into account. Either execute releases directly or assign a release manager.
The current lead developer is Christoph Deil, the deputy lead developer is tbd.
The role of lead developer is very time-intensive. The lead developer and deputy should aim to distribute tasks to other core developers and contributors in the Gammapy team, and split the remaining work.
The Gammapy core developers regularly contribute to Gammapy, either by writing code, tests or documentation themselves, or by doing review, maintenance, refactoring or cleanup for parts of the Gammapy code.
We will define roles and responsibilites for Gammapy core development team and describe them here in February 2017.
Anyone is welcome to contribute to Gammapy! Start by using Gammapy. Then if you notice a missing feature or issue, please report it (see contact page), and if you're interested in contributing, we can team you up with a mentor from the Gammapy team to do it.
The following people have contributed commits to the Gammapy repository (first name alphabetical order):
- Arjun Voruganti (@vorugantia), MPIK, Germany
- Arpit Gogia (@arpitgogia), Delhi Technological University, India
- Axel Donath (@adonath), MPIK, Germany
- Brigitta Sipocz (@bsipocz), Cambridge, UK
- Bruno Khelifi (@bkhelifi), APC, France
- Christoph Deil (@cdeil), MPIK, Germany
- Cosimo Nigro (@cosimoNigro), DESY Zeuthen, Germany
- Dirk Lennarz (@dlennarz), Michigan University, US
- Domenico Tiziani (@dltiziani), Erlangen University, Germany
- Ellis Owen (@ellisowen), UCL, US
- Fabio Acero (@facero), SAP/CEA, France
- Helen Poon (@helen-poon), MPIK, Germany
- Ignasi Reichardt (@ignasi-reichardt), APC, France
- Johannes King (@joleroi), MPIK, Germany
- Jonathan Harris (@JonathanDHarris), JON, UK
- José Enrique Ruiz (@Bultako), IAA, Spain
- Julien Lefaucheur (@jjlk), SAP/CEA, France
- Lars Mohrmann (@lmohrmann), Erlangen University, Germany
- Léa Jouvin (@JouvinLea), IFAE, Spain
- Luigi Tibaldo (@tibaldo), IRAP, France
- Manuel Paz Arribas (@mapazarr), Humboldt University, Germany
- Matthew Wood (@woodmd), SLAC, US
- Matthias Wegen (@wegenmat), DESY Zeuthen, Germany
- Nachiketa Chakraborty (@cnachi), MPIK, Germany
- Olga Vorokh (@OlgaVorokh),, Belarus
- Peter Deiml (@pdeiml), Erlangen Univ, Germany
- Régis Terrier (@registerrier), APC, France
- Roberta Zanin (@robertazanin), MPIK, Germany
- Rolf Bühler (@rbuehler), DESY Zeuthen, Germany
- Rubén López-Coto (@rlopezcoto), Padova Univ, Italy
- Stefan Klepser (@klepser), DESY Zeuthen, Germany
- Thomas Armstrong (@thomasarmstrong), Manchester University, UK
- Thomas Vuillaume (@vuillaut), LAPP, France
- Victor Zabalza (@zblz), Leads Univ, UK
- Zé Vinícius (@mirca), NASA, US
There is no useful automatic way to measure how much someone contributed. The most common measure used is commits to the code repository. This is visible for Gammapy on GitHub and Open Hub. However, please note that the number of commits isn't a useful measure. There are people that have spent several days to find and fix an important bug, or implement a big and complex feature and make one commit. If someone makes a good bug report or does code review or mentoring or organisational work for Gammapy it doesn't show up in the commit stats at all.
Please know that any contribution to the Gammapy project is valued!