-
Notifications
You must be signed in to change notification settings - Fork 657
GSoC FAQ
Frequently Asked Questions for Google Summer of Code with MDAnalysis.
Please read
- GSoC 2024 with MDAnalysis blog post
- our general GSoC page
- our Project ideas page
- Google's GSoC home page
- Google's GSoC FAQ
We grouped questions and answers in broad categories:
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.
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.
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).
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).
Projects are listed in the Project Ideas List together with approximate estimates of effort.
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.
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.
-
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
-
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.
-
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?).
-
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?.
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.
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.
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.
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.
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.
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?.
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.
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.
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!
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.
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.).
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.
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.
We are interested in GSoC Contributors that demonstrate to us commitment and convince us that they can be successful with their proposed project.
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.
Ultimately, your proposal has to convince us of the following:
- 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?
- 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.
- 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)
Yes, absolutely. You need to include
- original source of the code (url, repository, …)
- 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.
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.
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.
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.
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.