Skip to content

Google Summer Of Code

Oliver Beckstein edited this page Feb 20, 2026 · 167 revisions
Google Summer of Code 2024

Hello, and welcome to MDAnalysis!

If you just found out about the MDAnalysis Python package from the GSoC website, you can have a look at the MDAnalysis 2021 Trailer [YouTube] to get an overview of the scope of the MDAnalysis package.


MDAnalysis is hosting Google Summer of Code 2026 Contributors. In short (more details below — please read the whole page if you are interested!):

  • The GSoC Contributor will be mentored by at least two experienced MDAnalysis developers and receive support from Google.
  • The GSoC Contributor will contribute code to the MDAnalysis Project or to one of the collaborating projects.

Start by reading the MDAnalysis GSoC blog post (if you haven't done so already) and then come back here and read the whole page. We also have a GSoC@MDAnalysis Frequently Asked Questions page that we are updating as we get more questions.

The application window opens on March 16, 2026 - 18:00 UTC and closes on March 31, 2026 - 18:00 UTC (see the timeline).

Eligibility

Eligibility requirements are described in the GSoC FAQ:

  • You must be at least 18 years of age when you register.
  • You must be eligible to work in the country you will reside in during the program.
  • You must be an open source beginner or a student.
  • You have not been accepted as a GSoC Student or Contributor in GSoC more than once.
  • You must reside in a country that is not currently embargoed by the United States. See Program Rules for more information.

Prerequisites

MDAnalysis is a Python library for the analysis of computer simulations of many-body systems at the molecular scale, spanning use cases from interactions of drugs with proteins to novel materials. For Google Summer of Code we are also collaborating with other organizations and software projects that use MDAnalysis. Our GSoC projects generally require a basic knowledge and hands-on experience in specific areas, so for our suggested projects, please check carefully the project descriptions to see the associated desirable skills. Broadly speaking, we found that applicants with experience in molecular dynamics simulations and the associated analyses, or equivalent experience in simulations and modeling of molecular systems (physics, biophysics, chemistry, or materials) are very successful.

Project Ideas

Look at the Project Ideas 2026 page.

If you have your own idea, talk to us on GitHub Discussions under the "Google Summer of Code" category.

Previous Years

Who are we?

The MDAnalysis development team is friendly, cooperative and informal. We consist of people from a wide range of backgrounds, including students, PhD-candidates, postdocs, professors and researchers actively using this software. We will take your work with respect and appreciate the time that you will spend on MDAnalysis since it will help us in both our own and our community's research projects.

The MDAnalysis community values diversity and is committed to providing a productive, harassment-free environment to every member. Our Code of Conduct explains the values that we as a community uphold. Every member (and every GSoC Contributor) agrees to follow the Code of Conduct.

Available mentors

The following developers have expressed interest in mentoring for GSoC this year:

The following developers will serve as organization administrators for GSoC this year:

(For Mentors: see the Mentoring GSoC resource.)

Am I experienced enough?

Individual projects have specific skill requirements so you should definitely check those first.

Generally speaking, if you already came into contact with molecular dynamics simulations or other computer simulations of many-body systems at the molecular scale and if writing code to solve interesting problems in physics, chemistry, biochemistry, and material sciences sounds exciting rather than scary, the answer is generally YES.

The MDAnalysis GSoC team is looking for creative and enthusiastic individuals, willing to learn a lot of new skills. Given the scope of MDAnalysis, some previous exposure to or experience with molecular dynamics simulations is highly beneficial. Therefore, we value domain knowledge or previous experience with molecular simulations highly, especially in combination with some Python programming experience.

If you are performing molecular simulations and are excited about coding, please do apply! We find that the most successful GSoC Contributors are the ones who want to use the tools that they are writing.

Our Expectations from GSoC Contributors

We expect you to be an engaged member of the MDAnalysis community. In particular, by being a GSoC Contributor for MDAnalysis you agree to obey and uphold our Code of Conduct.

Communication

  • Write a short report for us at least every 2 weeks (a short blog post every week is ideal!).
  • Commit early and commit often! Push to GitHub so that we can see and review your work.
  • Actively work on our project timeline and communicate with us during the community bonding period.
  • Communicate every working day with your mentor. Just say "Hello" if you like. It can be via email, Zoom, GitHub comments, etc.
  • If there is a reason why you can't work or can't contact us on a regular basis, please make us aware of this.
  • If you don't communicate with us regularly we will fail you.

Midterm and Final evaluations

  • Set a realistic goal for mid-term. If you fail to meet your own goal we are more likely to fail you in the evaluations.
  • If you are working on the MDAnalysis core repo directly, you must have some code merged into our develop branch at the end of the summer to pass the final evaluation.
  • The last point is a hard requirement. Make sure that your time plan includes it.

Onboarding

For details regarding expectations for participating with MDAnalysis through GSoC, see the Contributor and Mentor Onboarding Guide page.

Application Process

Getting started with your Application

Firstly, think about your choice of project carefully, you're going to be doing it for a couple of months, so it's important that you choose something you're going to enjoy. Once you've made your mind up:

  1. Make sure you've thought about the project and understand what it entails
  2. Don't be afraid to come up with original solutions to the problem
  3. Don't be afraid to give us lots of detail about how you would approach the project
  4. Think about the time you need to complete the work and show us your plan – is it going to be a small (90h), medium (175h) or large (350h) project?
  5. Complete preliminary requirements for your application early! The earlier you complete these requirements, the earlier you will be able to get feedback from us to improve your application.

Overall, your application should make us believe that you are capable of completing the project and delivering the functionality to our users. If you aren't sure about anything, get in touch with us, we're happy to advise you.

Application Requirements and Timeline

  1. Agree to be bound by our Code of Conduct (and WESTPA's Code of Conduct if you are applying for a WESTPA collaboration project [i.e., Project 5, Project 6]).
  2. Agree to be bound by the AI Policy of the project that you want to work with, namely
  3. Watch the MDAnalysis trailer; install the MDAnalysis package; and work through the Quick Start Guide to understand how MDAnalysis is being used.
  4. Engage with the MDAnalysis community through code/documentation contributions and discussions
  5. Submit a pre-proposal as soon as possible, but no later than March 9, 2026.
  6. Participate in a short 15-minute video interview with one or more developers/mentors. Selected applicants (based on your pre-proposal) will be invited to schedule the interview. The interview may be recorded.
  7. Submit a full application for the final stage of the selection process. Selected applicants from the interview stage will be invited to submit a application. Full application applications from applicants who were not invited will not be reviewed.

Interactions and Engagement with MDAnalysis

GSoC contributors with MDAnalysis should demonstrate that they have been seriously engaged with the MDAnalysis project (and/or with a relevant partner software project. Submitting a pull request is a great way to know you as a good candidate. As is relevant to the GSoC project idea you are interested in, you should submit your PR in one of the following repositories:

We have a list of easy bugs and suggested GSOC Starter issues to work on in our issue tracker on GitHub. If you want to dive deeper, we encourage you to tackle some of the other issues in our issue tracker or create a new one. We also appreciate contributions which add more tests or update/improve our documentation. Note that some of the GSoC 2026 Project Ideas include related issues that you might want to explore. Ultimately we want to know if you can work collaboratively (authentic communication, receptive to feedback, able to do distributed code development with git and GitHub), if you can write code and understand your own and other's code, if you are self-motivated, and if you can complete work.

To start developing for MDAnalysis have a look at our guide on contributing to MDAnalysis and write to us on the GSoC with MDAnalysis discussion forum if you have more questions about setting up a development environment or how to contribute.

Submitting a pre-proposal

We require GSoC applicants to submit a short pre-proposal so that we can evaluate your understanding of the proposed project. In this pre-proposal you tell us what project you’d like to work on, what you consider the major challenges, and how you plan to solve the problem. The pre-proposal will help you gather some of the key information you will also need to include in a full GSoC application.

Applicants may only submit one pre-proposal.

MDAnalysis developers will review your pre-proposal and then either invite you to a video interview or tell you that we will not consider your application. Please note that this decision is final. A rejection is not a judgment on you or your abilities but an assessment of how well you fit the specific requirements of MDAnalysis as a scientific software package — we much rather you spend your energies on contributing to another exciting GSoC project than being rejected later by MDAnalysis.

❗ Do not use generative AI to develop or write your pre-proposal. We need to hear your ideas and voice.
You are allowed to use AI tools for grammar and spell checking and for translation into English although we are more than happy to read your proposal in your own English words.

Submit your pre-proposal via the MDAnalysis GSOC pre-proposal submission form by March 9, 2026. You should prepare the following information for your pre-proposal:

  • Email address
  • GitHub handle
  • Real name (optional)
  • Certify that you did not use AI tools to develop or produce the pre-proposal.
  • Basic information on your background (e.g., education, relevant experience with MDAnalysis/WESTPA/Molecular Nodes and molecular dynamics or computational physics/chemistry/materials, other relevant skills)
  • Project title
  • Project size (90h, 175h, 350h)
  • Problem: Describe the problem to be solved. What is the background? What is the overarching question? You can also comment on why this is an interesting or difficult problem. Clearly define the overall goal of what you want to find out.
  • Approach: Describe how you are going to reach your goal (i.e., answer the overarching question). Which algorithms are you going to use? Are there any libraries or other packages you want to use? Do you need to research different solutions? Be as concrete as possible; you want to convince your audience that it is feasible to solve this problem and you have an idea how to tackle it.
  • Objectives: Use a numbered list to state 3–5 measurable non-trivial outcomes that you need to achieve in order to reach the overall goal. These are the milestones that you have to reach; they are possibly dependent on each other. For each objective it must be clear how to decide if you fulfilled it or not. Objectives are formulated in terms of actions and deliverables.
  • Interactions: Describe the interactions you had with maintainers from MDAnalysis (or WESTPA/Molecular Nodes if you plan on working on a collaborative project). Be specific and link to specific instances of interactions (e.g. Pull Requests) if possible. (500 words)

Video Interview

Applicants who are invited for a video interview will be contacted no earlier than 72 hours after they submit their pre-proposal. During the interview (15 minutes), you will discuss your pre-proposal with 1-2 developers. The video may be recorded for evaluation by other developers/mentors. During the interview, you will be required to share your (full) screen and respond live to questions. The interview may involve live programming and discussions of code sections of MDAnalysis that are relevant for your project. The interview will be conducted using Google Chats or an equivalent video conferencing software.

Within one week of your interview you will be informed if you are invited to submit the Full Application.

Full application

Your full application is submitted to Google via the GSoC site. In your proposal you select MDAnalysis as the organization.

We will only review applications that were invited after the interview.

❗ Do not use generative AI to develop or write your proposal. We need to hear your ideas and voice.
You are allowed to use AI tools for grammar and spell checking and for translation into English although we are more than happy to read your proposal in your own English words.

Your application should include answers to the following questions; in the following we write "MDAnalysis" but if you want to work with one of the partner projects then you should also emphasize experience and work relevant to that project.

General
  • Why are you interested in working with us?
  • What programming experience do you have?
  • What scientific experience do you have that would be relevant for your proposed project?
  • How does your proposed project relate to your research area or academic/professional goals and interests?
  • Have you used MDAnalysis (or a partner project) for your research already?
  • Do you have any exams during GSoC or have you planned a vacation during the summer?
Project specific
  • What problem does your proposed project address? What does it do that cannot be done yet with MDAnalysis, or how will it improve an aspect of the existing software?
  • What are the key ideas in your project?
  • How will you solve the problem outlined above — tell us the details.
  • Show us how your code will be used with some examples. Tell us what a user can expect to get from your code at the end of GSoC.
Interactions with us

Tell us how you've been working with MDAnalysis or a partner project. Include specifics such as issue numbers/PRs and developers (you can mention GitHub or discord handles) that you had conversations with. Describe how your contribution improved the project. What did you learn from the interactions?

Point out any interactions with us since you submitted your pre-proposal.

Timeline

We want to see that you are proposing a feasible project. Include a realistic timeline of work with the major milestones that you need to accomplish.

Dividing your project into manageable parts

We require that at the end of GSoC, all of our GSoC Contributors have at least one commit in our develop branch or in another relevant repository before the end of the summer . The best way to achieve this is to divide your project into small self contained subprojects and plan to merge at least one of them around midterm.

During your summer you'll encounter bugs in MDAnalysis or find code that can be refactored to help you implement your ideas. You can also immediately fix them in the develop branch and help us all out. This has several advantages. All your pull requests will only concentrate on specific features and are much better to review. And you'll also get direct feedback from other devs and user during the summer.

Since this is a hard requirement, we as mentors will have an eye on that, check if your application incorporates it and also warn you ahead of time during the summer if we see that you might not make it. Communicating with us on a regular basis is vital for that, though.

How to estimate time needed for development

To start developing for MDAnalysis have a look at our guide for developers and follow the workflow there. Write to us on GitHub Discussions under the "Google Summer of Code" category if you have more questions about setting up a development environment.

To get a feeling for the code and get some experience with our code, you can go and tackle some of our easy bugs. Look at the code that you want to change, check if it follows our coding guidelines. Do some research on the API's you want to use, plan what classes you will add and how their public API will look. Write down your algorithms in pseudo code. The better your research is and the better you plan ahead, the easier it will be to judge how long a given task will take. For your time estimates you should also consider that you can do less stuff during exams and try to be a bit conservative. If you have never done anything like GSoC before you will tend to underestimate the time to complete a task. We know that giving these estimates is not easy and that also professionals have problems with it. Having a good plan, knowing its weak and strong points will help a lot.

Project selection

Our ranking process is described in GSoC Proposal Review. We take into account the applicant, their interactions with us, and their proposal. We also have to take into account mentor availability.

We only review applicants who have been invited to submit an application and have submitted an application through GSOC by the official deadline.

We follow the GSoC process and submit a ranked list of suitable projects to Google. Google will then assign us slots. It can happen that Google assigns us fewer slots than projects.

Clone this wiki locally