Skip to content
Jenna M Swarthout Goddard edited this page Mar 29, 2024 · 52 revisions

Frequently Asked Questions for Google Summer of Code with MDAnalysis.


Please read

We grouped questions and answers in broad categories:

  1. Contact
  2. Choosing projects
  3. Preparation
  4. Proposal
  5. Mentoring
  6. Acceptance

If you have questions that are not answered here contact us on the GitHub Discussions - under the "Google Summer of Code" category - and ask. We are happy to answer your questions.


Contact

How do I contact MDAnalysis?

All communication regarding GSoC is carried out publicly on GitHub Discussions under the "Google Summer of Code" category

Note Please do not email other developers/mentors privately, we prefer that communication be done publicly.

We also have a discord: MDAnalysis server with a dedicated #gsoc channel: sign up with https://discord.gg/fXTSfDJyxE

This discord is there to supplement, but not replace, GitHub Discussions. We would ask that formal discussions (especially regarding project ideas) happen on GitHub Discussions where possible. This helps us better keep records of what was discussed with each applicant. The discord is suitable for less formal discussions, however we ask that it not be used for private communication with the developers.

How do we interact with each other?

We require (as stated in our Code of Conduct) respectful and professional behavior between all community members.

We address each other by first names or any chosen handle (so no need to use any honorifics or titles such as Madam/Sir/Dr/Professor).

Do you want to see my work and learn more about me?

Yes, please!

  • Tell us a bit more about your background, e.g., have you worked on other open source projects, have you used Python/C/C++, have you used pull requests with reviews on GitHub, do you have experience with writing tests, have you participated in GSoC before ...
  • What interests you in working in the area of computational physics/chemistry/materials?
  • Tell us about your scientific experience (e.g., if you have used molecular dynamics simulations or MDAnalysis or other related software).

Choosing projects

Projects are listed in the Project Ideas List together with approximate estimates of effort.

Can I do multiple projects?

We do not recommend doing multiple projects from the list. They are all designed to be tractable in the 90h, 175h or 350h time frame of GSoC but doing more than one will unlikely be feasible. We would rather have you do quality work than quantity. If you think you will get ahead of schedule, include some optional/stretch objectives in your proposal.

Do I have to pick a project from the list?

No, you don't have to pick from the list. We are open to your own project proposal.

We suggest that you discuss your idea with us so that we can give you more insight into where your idea would fit into the broader requirements of the MDAnalysis project. You can also start with our project ideas and modify. In any case, we're happy to refine your idea together with you.

Preparation

What should I do for a successful proposal?

  1. Agree to be bound by our Code of Conduct

    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

  2. Become familiar with MDAnalysis: What is it used for, how is it used.

    Are you familiar with computer simulations of atoms and molecules? If not, learn a little bit about "molecular dynamics simulations". You can also watch our MDAnalysis trailer and introductory videos.

    Work through the MDAnalysis Quick Start Guide and get a feel for how MDAnalysis is used.

    We understand that making you use our software is a sizable initial ask but on the other hand, MDAnalysis is relatively complicated software that is used in research by many people. We are happy to help answer questions as you go along.

  3. Submit a pre-proposal ( submission link here ) before March 15, 2024: introduce yourself, tell us about your experience and interests and show us that you have a solid understanding of your proposed project.

    MDAnalysis developers will review your proposal and then either invite you to continue with your application and work on an issue to get involved in the code development or tell you that we will not consider your application. Please note that this decision is final, and applicants should only submit one pre-proposal. We strive to inform you of a decision, via the email you provide with your pre-proposal, within a week of your submission.

    We are happy to work with you on refining your project ideas, based on your experience. Ask relevant questions on the discussion forum. For more information, see also Will I be selected based on my proposal alone?).

  4. Have a pull request merged (only if you are invited to based on your pre-proposal)

    GSoC contributors with MDAnalysis will need to demonstrate that they have been seriously engaged with the MDAnalysis project by merging a pull request prior to submitting their full application. You must have at least one commit in the development branch of MDAnalysis in order to be eligible. Learn more under How do I find out how to contribute code?.

How do I find out how to contribute code?

Read Contributing to MDAnalysis. Then find something to work on:

  • Check our issue tracker and find something to work on (e.g., good-first-issue issues if you're new to using git/GitHub or from issues marked "GSoC starter" if you're up for a challenge). We ask that applicants only complete one "GSoC starter" labelled issue so that there are enough left for other applicants. You are welcome to address as many other issues in our issue tracker as you'd like, but note that we really value seeing growth in contributors, e.g., someone who starts with an easier issue and then solves a single harder problem.

  • Alternatively, if there's code you want to contribute or if you find a problem and you want to fix it just go ahead: open an issue and follow up with a pull request that references the issue.

Can I claim an issue to work on?

No.

If you want to work on an issue then submit a PR that references the issue. We will prioritize work over intent, i.e., we will typically only review the first PR that addresses a issue and ignore any other PRs that have been submitted after the first one; we will (and other applicants should) ignore issue comments along the lines of "I will work on this".

This means that you don't need to announce that you will work on an issue. Please ask questions if you need to know details to get started but ultimately, showing your work counts.

Closing stale PRs

If a PR has been submitted and no progress has been made after four days, we may close the PR as stale.

Similarly, if we post questions or comments in the PR comments and do not get a response in four days, we may consider the PR to be abandoned and close it.

Can I work on multiple issues at the same time?

No.

We strongly discourage opening multiple PRs in parallel. For a start, we want to see issues closed and you will impress us much more if you can solve problems quickly instead of spreading your effort thin. If you're a fast worker, solve a few issues in quick succession and you'll soon be highly valued by the whole developer team!

Secondly, because of the "first PR = only reviewed PR" rule above we do not want applicants "squatting" or "reserving" issues by having multiple PRs open. See above for when we may close a PR as stale.

Should I start a PR for a project that I am writing my proposal for?

No.

We are NOT looking for contributors to open PRs on any GSoC projects before having been accepted. As a matter of policy and fairness, we will not look at any PRs directly targeted at GSoC projects. We'd like applicants to write a good proposal first. We want to see that GSoC Contributors understand the problem and that they can plan ahead (amongst other things). Overall, we will follow our evaluation criteria. This policy applies to all potential GSoC Contributors equally.

Do I need to have knowledge of molecular simulations?

Most of the time yes, but this depends on the project. Check the project requirements. In your project proposal you should demonstrate that you have the required skills.

If you propose your own project: A developer without knowledge of molecular simulation can do a GSoC project with us. We recommend you research your project proposal thoroughly and demonstrate to us that you are able and willing to learn.

("Demonstrating" in the proposal and in interactions with us means "showing evidence in the form of research and work", not just stating that you are willing to learn.)

Our experience shows that the most successful GSoC Contributors are the ones who want to use the tools that they are writing.

See also Am I experienced enough?.

Proposal

GSoC applicants will have to submit a proposal (your written application that you submit through the GSoC website) for their planned work through Google. MDAnalysis mentors will evaluate proposals.

Will I be selected based on my proposal alone?

No.

If you don't submit a pre-proposal before March 15, 2024 and actively engage with us prior to submitting a full application, we will just reject your proposal, no matter how good it sounds. We need to know that we can communicate and work together.

What needs to be in a proposal?

See our How to write a great application for our detailed requirements and familiarize yourself with our evaluation criteria.

See also Google's GSoC Guide: Writing a proposal.

Remember, we are happy to work with you to make your proposal great and a good fit for MDAnalysis!

How long is a proposal?

We would expect a proposal to be at least a few pages of a structured document (at least 1,000 – 1,500 words, more is ok) that outlines what problems you are addressing and how you are going to solve them, with examples that gives us some idea what you will actually do. Detail is good as it allows us to make more informed decisions and shows us that you can familiarize with a new topic efficiently.

Include a time line that demonstrates feasibility.

Include references (citations to scientific papers, links to web pages and repositories).

A proposal needs to be more than a few bullet points. It needs to clearly convey your ideas and your approach so that we can easily evaluate it.

What do you meany by "demonstrating" in the proposal?

We look for evidence that you have certain skills or knowledge. For instance, to demonstrate that you know a programming language well, point to public code on e.g., GitHub and summarize your contributions to a software project. For demonstrating familiarity with, e.g., modeling software, reference academic publications that you are an author on or other public works (blog posts, ...) — we want to be able to look at your products, not just hear your words. For demonstrating knowledge of, e.g., physics or chemistry, summarize your relevant education and write a few sentences that show us that you understand how your knowledge relates to the problem at hand (e.g., using the proper terminology, referencing the appropriate literature, etc.).

Can I contact you about the proposal before I submit it?

Yes, definitely, you should contact us!

You are encouraged to share draft proposals with us so that we can help you refine the proposal. The idea is that it is best for you and us if the proposal is crystal clear about what you are going to do. Vague proposals are of no use to anyone. Lots of detail and technical discussions are good in a proposal! Show us that you understand the problem and you have an idea how to solve it during GSoC.

Our ideas list is a starting point. We look forward to hear more from you and how you think you can improve MDAnalysis. We are happy to work with you to formulate the key ideas of your proposal.

How should I contact you for feedback on my proposal?

Once the application window opens, start an application. Create an application draft in the application site as a PDF. Inside the PDF, include a link to Google Doc with your draft and write a sentence such as "Draft of my GSOC proposal at (insert URL here). Please comment." Then ask us to give you feedback (via discussion forum or discord).

We will be able to see the draft. In your Google Doc, enable the comment feature. (Don't include edit permissions, only you should be able to edit the doc.)

Before the submission deadline, ensure that a final PDF is uploaded in the Google Summer of Code submission system.

What are your evaluation criteria?

We are interested in GSoC Contributors that demonstrate to us commitment and convince us that they can be successful with their proposed project.

Interactions

We take into account how you interacted with us before you submitted the proposal as part of discussions on the discussion forum.

In addition to what is written under How do we interact with each other?, we value engaged discussions that focus on essential details and are carried out in a timely and efficient fashion.

We like GSoC Contributors to demonstrate that they can learn and take advice on board, that they can teach themselves, and make use of help such as existing documentation, training materials, or publications.

We see supporting each other as a fundamental aspect of the MDAnalysis community and appreciate it when GSoC Contributors help users and each other.

Proposal

Ultimately, your proposal has to convince us of the following:

  1. You propose work that will substantially improve the user's experience with MDAnalysis (i.e., it will have impact). Explain what the new functionality will do for users of MDAnalysis? Is it something that’s been missing, e.g., are there issues that request it or discussions in our forums?
  2. The work is feasible (i.e., you have the experience to successfully complete your project in the time frame of GSoC). Include a time line that breaks down your project into manageable work packages. Make clear which parts of the project depend on each other.
  3. Your project makes good use of the provided resources provided by GSoC and MDAnalysis. (For instance, we consider if it is appropriate for the time frame that you get a stipend for and if there's a good match between project, your background and mentors’ expertise)

I want to use existing code – should I mention this in the proposal?

Yes, absolutely. You need to include

  1. original source of the code (url, repository, …)
  2. the license under which the code can be used

Check that the license is compatible with GNU LGPL v2.1 (or higher) ( you may reference our License Compatibility Matrix ) and state it in the proposal.

Please discuss any potential licensing considerations with us in advance — licensing is tricky business and it is very important to get it right, which can require the expert opinion of a lawyer. If your assessment of license compatibility is incorrect, we will have to ignore your proposal because we will determine that it cannot be executed.

Am I allowed to use AI chatbot (e.g., ChatGPT, Bard) generated content (e.g., text, code, etc.) in my proposal?

You must disclose any use of AI chatbot generated content in your proposal. Your proposal will ultimately be judged on its merit, and it will not count against you if you use chatbot generated content. However, we will be using a tool to detect AI generated text and code, so it is important to us that you are upfront about whether and how AI generated content was used to develop your proposal. As the GSoC program involves evaluations of your work, it is important that at the core, your proposal accurately reflects your original ideas and experiences to ensure your proposed work is feasible.

Mentoring

What do I have to do as a mentor for MDAnalysis?

As a mentor you will regularly interact with your GSoC mentee contributor, review their code, discuss problems and solutions, and monitor their progress. Ultimately you will be responsible for evaluating the contributors' overall work at the pass/fall level, as required by GSoC. You will also be involved in reviewing GSoC Contributor applications and choosing which contributors to mentor.

It should be noted that this requires a non-insignificant time commitment, somewhere on the order of 3 hours per week depending on the project.

Can I mentor a project?

As per recent years, MDAnalysis is welcoming both new mentors and experienced ones to take part. If you have experience with MDAnalysis (e.g. merged PRs, discussions on the lists, issue trackers, discord, and reviewed PRs), then we want you! There's no guarantee we can accommodate all mentors, because this also depends on the projects/students that are chosen. But the more potential mentors we have, the more GSoC contributors we can potentially take on!

We recognize that being a new mentor can be a daunting task with many new responsibilities. To alleviate this, we run a "mentor mentoring program" where we pair new mentors with no prior GSoC experience with at least one experienced mentor. In this way, the new mentor always has someone to ask if necessary and can benefit from the experiences from those that have taken part in the program before.

Acceptance

Can you tell me if I got accepted?

We can only tell you after Google has officially announced all accepted GSoC contributors. Google has the final word and they can change allocations to projects until the last minute.

What should I do when I get my acceptance notice from Google?

First, celebrate! Congratulations!

  • Secondly, get in touch with us (GitHub Discussions or discord). We want to schedule a meeting between you and your mentor team as soon as possible.
  • Read our GSoC Onboarding Guide.

In the first meeting we develop a plan for your community bonding period so that you can get started right away when the coding period begins.

Clone this wiki locally