Showing posts with label GSoC2019. Show all posts
Showing posts with label GSoC2019. Show all posts

Saturday, November 2, 2019

Universities as mentoring organizations

A fraction of the session participants.
(Photo by akram9)
We had several exciting unconference sessions and talks at the Google Summer of Code Mentor Summit 2019. I proposed and coordinated the unconference session titled "Universities as mentoring organizations," the Sunday 20th of October 9:00 - 10:00 a.m., at the room "Studio-2" of Mariott Munich. We had around 25 active participants from multiple organizations, representing several universities from countries including the USA, Russia, Germany, and Brazil. We also had mentors from umbrella organizations such as CBioPortal, which are based mainly on universities and research labs. Later on the same day, I coordinated a session on "The great proposals" at "Studio-3" from 2:30 - 3:30 p.m.
 
The session notes are recorded in the GSoC notes. Find all the sessions with their notes linked here. In this post, I elaborate on the session "Universities as mentoring organizations" again for a wider audience. These notes are from the thoughts of the mentors from the communities involved in the discussion, and they will reflect the communities involved. Discussions are grouped under topics, rather than by the person who discussed it in detail.


Administrative Challenges from the Universities
The discussions started interactively with self-introductions from the participating mentors and their mentoring organizations. Tiago and Frederico represented their mentoring organization, which is a university in Brazil. They noted the challenges in convincing the university administration to join the GSoC and then accepting payments from Google. Their organization was the first Brazilian university to become a GSoC mentoring organization. The university administration was expecting documents from Google in Brazilian Portuguese to consider them official. The universities expected the supporting documents could come from one of Google's Brazil offices rather than from Mountain View to make the language requirement met. This expectation created some translation requirements, and these cause some additional burden on the GSoC organization administrators. We hope that such issues would be sorted out from the universities, potentially with some help from Google, so that there would be more participation from International (i.e., non-English-speaking) universities as mentoring organizations.

GSoC Students Help Ph.D. Research
There were several observations on how GSoC students help with the implementation of research ideas. Several Ph.D. implementation works remain closed due to implementations with significant technical debt. Support from GSoC helps make the code more readable and reusable, and thus support open science and open-source contributions from the research universities. Hence GSoC students help with the host universities' research open-source. Stephanie from UC Santa Cruz stressed how GSoC helped their Ph.D. and postdoc researchers. She mentioned how the undergrad GSoC students worked with their researchers, and this was a mutually benefitting task. No one felt mentoring as a burden. Instead, they saw it as a way to build their communities. She highlighted that promoting GSoC across the departments would be easy by stressing how the GSoC students help with implementation over the summer, paid by Google. There were observations on developing projects that are helpful to Ph.D. research work. For instance, there are projects that need to get done, but the mentor (Ph.D. student) doesn’t want to do it themselves. GSoC students can be more motivated to do such implementation work, even with little scientific or research impact.

Motivating students into GSoC
Philipp and Karlheinz represented the University of Munich. They highlighted that their Ph.D. students work as GSoC mentors. However, they also stressed that it is hard to motivate students from their university to join GSoC as students due to summer holidays overlapping with the GSoC timeframe. Students do go off on a well-deserved vacation rather than taking a summer internship. Furthermore, there were observations that there are several university open source projects that are not connected to or well-received by general open-source software communities. GSoC is indeed bridging this gap, making the code quality better. I (Pradeeban from EmoryBMI - Emory University, Department of Biomedical Informatics) mentioned how we motivate our students to join GSoC while discouraging them from joining our university/department as their mentoring organization. This is mainly because we want them to build new collaborations. Collaborations inside the university or department do not require a GSoC.

GSoC in professional life
The impact of GSoC is long-lasting. Some of us found our postdoc advisors and employers through GSoC. So GSoC works as a recruiting platform for mentors as well. Furthermore, it fosters international collaborations between universities. We had research papers as outcomes of the GSoC. Nikita from a Russian university stressed the importance of GSoC and similar programs in the students' careers. Sebastian Diaz from Harvard highlighted the misalignment of university projects and open source.  While challenging, programs such as GSoC help fill this gap. Tobias highlights that their target students mostly include Ph.D. students, as they are more suited to work on the proposed projects, involving significant research component. GSoC also helps them get more funding for full-time developers, as it is considered a full-time job for the students.

Best Students Join the Universities
Aadi, a high school student from India, observed how the best students like to work with the universities that function as GSoC mentoring organizations, as this helps them with their future graduate studies and research. The observation is that the mentors from such organizations are professors and experienced researchers from the universities. This is also a mutually beneficial relationship - universities as mentoring organizations get to have the best students. Indeed, a win-win. I joined OMII-UK as a student in 2010 and Emory BMI in 2014 and 2015 (2016 onward as a mentor and then joined 2018 as an employee, and 2019 a postdoc). My interest for OMII-UK was driven by the fact that the EPCC research team from Edinburgh University was part of OMII-UK, where I worked with them on their OGSA-DAI platform for GSoC 2010.

Why not enough open-source from universities?
Arav Singhal, a student from Rice University, stressed he prefers more open-source development in his university. We agreed that a large number of research teams keep their source closed until their paper is published. Even after that, when the code is made public, most of the time, the code is not reusable, as it is usually developed as a prototype with little attention to code readability and engineering best practices. GSoC helps fix this by building up coding skill sets in the students.

Small open source presence in a country
Deniz is from Turkey. He was a GCI student in ScoReLab (an open-source community originated from the University of Colombo, Sri Lanka). He highlighted how Turkey has a small open-source presence. The lack of local open-source communities makes motivating students to join GSoC harder. The challenge starts with introducing open-source and then GSoC, among the potential students. It is essential to create larger local open source communities to build a diverse expanding FOSS contribution.

Universities/Entities collaborating as a single mentoring organization
Werner highlighted the collaboration between multiple universities as a mentoring organization. He observes that sometimes, organizations do not make it explicit enough that the organization is a research department or a collaboration of such entities. Ino from cBioPortal highlighted how hospitals and research institutes collaborate under cBioPortal for the GSoC. He also noted the positive outcomes, including peer-reviewed publications. Mentioning GSoC in CV - both as a student and a mentor - is rewarding. There were suggestions on including open source software development in university curriculums.


Starting a new GSoC organization
Akram, a researcher from the University of Tennessee (Dept. of Bioinformatics), helped his department apply and get selected as a mentoring organization as a new (i.e., first-time) GSoC organization when he moved to the current university as a postdoc from another university. He observes that the GSoC has indeed resulted in peer-reviewed journal publications. He stressed the importance of open source for university. There seems to be a common observation that receiving funding from Google (or any similar company) becomes harder due to the university regulations. We discussed how to start as a mentoring organization. We need to have precise project ideas. Of course, having established open source projects would be a big plus. However, there are also concerns about having mentors and retaining them. How to grow our mentoring community beyond the walls of the department/university? GSoC students-turning-mentors can be a solution. We also need to be clear on the bioinformatics side on what can be open source, as we deal with sensitive health data.

Recruiting Mentors
One challenge to address is how to leverage more departments/mentors from the university. Some of us view it as building the community. This requires a significant effort from the organization administrator, to convince the fellow faculty, postdocs, researchers, and staff to be GSoC mentors. Sometimes, it is faster just to do the development ourselves, rather than mentoring a student to do it. However, such mentoring can be a rewarding experience for early career researchers. We all agreed that GSoC was a productive use of our time and not overhead. We also need a "mentor pool." Projects should have back-up mentors and an active co-mentors. This helps with avoiding mentor burn-out, ensuring successful completion of GSoC.

GSoC as a funding mechanism
Some view GSoC projects as a way to fund implementation activities that other funding entities won’t financially support. For instance, development is often seen as not novel. Therefore, complete implementation and maintenance efforts do not receive sufficient funding from the funding agents. However, such maintenance and incremental developments are crucial for the usability of the project. GSoC helps improve the usability and maintenance of the code.


Did we miss anything? Also, did I fail to include any crucial aspects discussed in the session? Please share your thoughts on this topic as comments.

Saturday, October 26, 2019

Google Summer of Code Mentor Summit 2019

The mentor summit in full swing
This is the first time the Google Summer of Code (GSoC) mentor summit came outside of the CA/USA, and the first time to Europe. The mentor summit was in Munich this year, and I am back to the summit after 8 years. Last time I represented AbiWord in 2011 in GooglePlex (the GoogleHQ in MountainView, CA, USA). This time, the Department of Biomedical Informatics, Emory University as both the primary organization administrator as well as a mentor. We traveled from Atlanta to Munich for the mentor summit. I am a happy participant of GSoC for 10 years, under various capacities - student, mentor, and organization administrator. I have been with AbiWord, OMII-UK, Emory BMI between 2009 - 2019.

As the mentor summit was in Munich, Google had organized it longer than usual. Usually, the mentor summits were just 2 days. This time, it was 3 days. The first day was a free day for social activity: a visit to Nymphenburg Palace, followed by a scavenger hunt. The remaining 2 days were the actual mentor summit. The format did not change at all, after almost a decade. It was unconference, where we propose our own topics in a post-it note among the available 8+ slots per session. Then folks join a session that they are interested in (or propose a session of their own). This time I coordinated 2 sessions. The first one was on "Universities as mentoring organizations" and the other one was on "The great proposals". The first one had active participation from around 25 mentors, with most of them representing a university or an umbrella organization formed by universities. The second one was a session I coordinated as the last session of GSoC, mostly because the only other session was "Fail your students," and I did not want to end the mentor summit on a negative note.

I enjoyed coordinating the 2 sessions as well as attending some exciting sessions in all the slots. Of course, I missed several sessions that I would like to participate as I can be physically present in only one session in any given timeslot. I met several mentors from multiple mentoring organizations. We also had a few free days in Europe since the mentor summit was just 3 days, and we were in Europe for a week. We used those days to explore Germany, Austria, and the Baltic nations. Quite a packed trip, indeed.

It was a rewarding experience to attend the mentor summit and proactively contribute to the summit. I made connections with many of the mentor summit participants. Please keep in touch, if you are one of those who attended the mentor summit. :)

Sunday, March 10, 2019

[GSoC] What if the project idea that I am working on doesn't get into the final list?

I have received this question in the past and recently. I decided to post my answer as a blog post for future references.

A student asks, "There are like 11 project ideas for your organization. Based on my observation, I see that you have received only 4 - 6 final projects accepted, despite having 10+ project ideas. Now I work hard for a project idea, and what if you guys decide not to select the project idea because that idea is not important to your organization? Will my hard work go wasted? So is this pure luck?"

I decided to leave a detailed answer as the primary organization administrator for GSoC/Emory BMI.

tl;dr: Work on your project idea and be the best. Avoid worrying about the selection process.

The long answer: One thing I can assure is, most GSoC organizations select students. Not project ideas. As much as I know, GSoC organizations (including us) don't list project ideas that are not the priority to them. That means, all the ideas have near-equal priority (of course, there will be minor variations among the project priorities).

In the worst case, I have experienced in the past once when 2 of the best students apply to the same project, the mentors tried to encourage the 2nd best student to apply for another project in the same organization. Every organization is different, and every mentor is different. So don't quote me on this with another organization.

Wearing my ex-GSoC student hat, my advice to current potential students is, try to be the best among the organization's potential applicants. Remember you also can apply for up to 3 projects if you are worried a lot. I have been a GSoC student 4 times successfully (now you can be a student only twice. But those days, no such limitation).  2 out of 4 times, I applied to more than one project. During my first GSoC as a student (2009), I applied for 2 projects in the same organization. The mentors choose one project  that was the most relevant for them among the 2, I applied. In 2014, I applied to 3 different organizations and 2 chose my proposal (and of course in that case, mentors try to contact you to find your first option, or sometimes agree upon themselves which organization should accept you. You can of course work on only one GSoC project at a year. No exception).

Now, my only worry as an organization administrator that Google may not give the maximum number of slots we (open source organizations) want. Google has a limited budget and a number of students in mind. It is around 1000 students. Therefore, many organizations do not get the number of students they want. Of course, we always can ask for one additional slot than they offered. But still, there is no guarantee. I ***guess*** we will get 4 - 5 slots this year. But that is just a guess. But I strongly believe, we will get at least 2 slots. Definitely not possible to get 11 slots. That means, some of our ideas won't have students working on them as a result. But that is life. ;)

To answer your comments on the discussions in Quora on GSoC: Take them with a grain of salt. Many of them i) are subjective, ii) plainly wrong despite their high up-votes iii) often come from someone who has never been a student or a mentor, iv) based on limited experience, or v) outdated as GSoC has changed its rules during the past 15 years.

Now, stop worrying and focus on working on the project ideas. Optimism and hard work go a long way! Make sure to do your research and show your talents to the mentor. We can only choose one student for a project idea, and naturally, that goes to the best candidate.

Sunday, March 3, 2019

Google Summer of Code: The best of both worlds - II

Google Summer of Code (GSoC) is an exciting program dedicated to open source projects, funded by Google. I have been a student 4 times - 2009 with AbiWord, 2010 with OMII-UK, 2014 and 2015 with Emory BMI. I have been a mentor 4 times too - 2011, 2012, and 2013 with AbiWord and 2016 with Emory BMI. After a short break, now I am happy to be the primary organization administrator for Emory BMI - my first time as an organization administrator, my 9th year of involvement with GSoC. In this post, I plan to share a few suggestions to the potential students.

 While I have written several posts in the past on this topic, several things have changed recently. Most importantly, now the students can do a maximum of 2 GSoCs in their lifetime as a student. There was no such limit during those days, and some of us ended up with 4 or more years as GSoC students. This change means, if you have been a GSoC student twice before (for example, GSoC 2016 and GSoC 2018), you cannot be a student anymore. That means I can never be a GSoC student again. :P Second, previously there were only 2 evaluations. Now there are 3. 2016 and before, everyone received the same stipend. Now, it depends on the country of your university (most likely this is your resident country). Also, you can apply only up to 3 projects now. Previously this upper limit was higher (It was reduced from 20 to 5, and eventually became 5). The reduced limit aims to favor quality instead of quantity.

The beauty of open source projects come into play that it gives you a chance to work on something that you are interested in, in your way. But not many of us get time to dedicate to an open source project due to our other commitments and as we are busy with our regular work, study, and related activities. Now let's come to the topic.

Why GSoC?

GSoC is an annual program from Google for the university students of age 18 and more. Each student codes for her preferred open source organization for 3 months. Google coordinates and awards the successful students. Though open source organizations are run mostly by volunteer developers, Google pays the students. The exact money you will get depend on the location of your country, varying between 3000 $ - 6600$. For example, if you study in Portugal, the total you will get is 4200$. If you study in Sri Lanka, this will be 3000$. You will also receive a certificate, an awesome t-shirt, and some small gifts! Hence you can focus entirely on the program during the 3 months.

3 milestones. 
    • First Evaluation (paid ~July 1): 30%
    • Second Evaluation (paid ~July 29): 30%
    • Final Evaluation (paid ~September 5): 40%

      Some statistics of 2019
      • 206 Organizations
      • Expecting more than 2000 mentors and co-mentors.
      • Expecting more than 1000 successful students.

      The success rate is pretty high!
      Historically, 1 in 4 students gets accepted to GSoC. That means, for every 4 complete project proposals, 1 got selected. Once the student is selected, the chance of her completing the project successfully is much higher. In the past years, the success rate was around 85 - 90% for the students who are accepted. The high success rate is because the mentors and the organization are with the student to provide him assistance and guidance, whenever is needed.

      The passion for open source and the desire to be an outstanding student are considered to be the primary reasons for a student to participate in the Google Summer of Code. Not forgetting to mention, earning money for the summer.

      A computer with the Internet connection, knowledge and experience in the domain, and the motivation are the required to participate. Of course, you should be interested in contributing to the particular open source organization.

      Don't forget to check the timeline and adhere to it strictly.

      Before you begin..
      • Google Summer of Code is all about being Open Source.
        • Get your basics and motives right.
      • Netiquettes.
      • Sign up to the mailing lists (if any).
      • Join the relevant Slack/IRC channels (if any).

      Technologies
      • Version Control Systems
        • These days, it is mostly Git. But this depends on your organization.
      • Build Tools
        • Mostly Maven.
      • IDEs (Integrated Development Environments)
        • IntelliJ IDEA, Eclipse, Microsoft Visual Studio, ..
        • Of course, specific to the programming language
      • Issue Tracker
        • GitHub, Jira, Bugzilla, ..

      Communicating with the team..
      .. and the mentor, over the Internet..
      • Slack or Internet Relay Chat (IRC)
      • Mailing Lists
        • Dev, User, Commit lists, sub-groups, ..
      • Issue Tracker
      • Forums and wiki
      • Blogs
      • Only if the mentor proposes - Skype, Personal Mails, gtalk, conference calls, ..

      Network Etiquettes
      • Be Specific and clear.
      • Research (google.. ;) or Go through the previous Slack/mailing list messages) before asking.
      • Be helpful to others.
      • Be ethical; respect.
      • NO CAPS! (UNLESS YOU ARE SHOUTING!)
      • Don't take messages personally.
      • Dn't snd ur sms msgs to thrds or lsts.

      Proper Addressing..over the lists/irc/..
      • Address the devs and users properly.
        • First Name or Preferred calling name.
        • No excuse not knowing the mentors' names. Mentors' names are listed under the project descriptions.
        • NO Sir, Madam, bro, sis, pal..
          • Even if you know them, personally.
          • Especially, don't say "Dear Sir/Madam". Can be perceived as too pretentious, lazy, or impersonal.
        • No Mr., Dr., or Prof. either.
      • Be gender neutral.
        • “Folks” over “Guys and Girls”.
      • Not too personal.
        • “Hi” is preferred more than “Dear”.

      Mailing lists
      • Post only to the relevant list.
      • Check the mail archives first.
        • To avoid getting RTFW/RTFM responses.
      • No [URGENT]/[IMPORTANT] tags.
      • No unnecessary attachments.
      • No Cross Posting.
        • Stick to the proper mailing list only.
      • Don't hijack threads.
      • Don't post off-topic.

      IRC/Slack Etiquettes
      • Be a reader first when you enter a Slack channel. Check the previous discussions before asking a question. Most likely your question is already answered. I know, "No question is a bad question". But remember, you are being evaluated for GSoC slots (Even if we want to mentor all of you, we cannot. GSoC gives only a certain number of slots to each organization, and mentors have limited time too). You don't want to come across as someone who is lazy.
      • Refer to others using their irc/slack nick.
        • Whenever my irc nick is mentioned, I get a pop up message from my irc client such as pidgin.
        • Don't use @channel in your message at all. This will send a notification to everyone. You don't want to send a message "@Channel, I have submitted my proposal".
      • Don't expect immediate replies; wait.
      • Avoid these common mistakes.

      Find a mentoring organization..
      • More than 200!
      • Find the organization you like the most.

      Find THE right project..    
      Once you have found the right organization(s), that matches your interest and expertise, you have to go through the ideas list (e.g.: the project ideas of Emory BMI). You can apply up to 3 projects in total - either from the same organization or from 2 or 3 organizations.


      Get to know more about the projects
      • Talk to the mentor(s) Assigned by the organization for each project idea.
        • Use the recommended channels. 
        • Avoid the temptation to send private emails, LinkedIn messages, private Slack messages, etc. These are not going to help you. Use the appropriate public channels (unless advised by your mentor otherwise).
      • Mailing lists and archives.
      • Issue Tracker
        • Open issues or tickets
          • New features/enhancements (RFE)
          • Bugs (easy/difficult and normal/critical)

      What makes you special?
      • Experience
        • Being a great user doesn't mean that you can be a good developer.
        • Demonstrate your ability to perform the task with prototypes and bug fixes.
        • Possess the required skills.
          • If you have no clue about C, you will be unlikely (although I sound negative to say this) to get selected for a project that requires expertise in C. Better luck applying for a project that you know the development language and the tools.
      • Complete the prerequisites for the project and additional requirements related to the project proposal from the mentors.
        • The prerequisites such as a screenshot/video of a working deployment/demo/prototype, pull requests, or some prototype code are there for some reason. Don't ignore them if you want to be considered seriously.
      • Your interests and motivation
        • Pick something you enjoy doing.
        • Being a great developer doesn't mean that you can be a good contributor.
        • What makes you the right person?
      • Willingness to contribute to the community beyond the time frame of GSoC. 
        • Usually, Open Source organizations want committers and longtime volunteers - Not just students!
      Experience
      • Languages
        • Java, C++, C, ..
        • Not much time to learn a new language (?)
      • Prove It with pull requests to existing bugs or feature requests in the code base!
        • Submit well-tested and complete pull requests. Don't send half-baked pull requests that won't even compile or breaks a functionality. Remember, you are consuming the mentor's time who might be answering up to 100 of students (depending on the popularity of their project ideas). Also, for most of us mentors, GSoC is just a part-time activity or a hobby. It is not our full-time job (in contrast, the selected students are expected to consider GSoC as a full-time job during the 3 month coding period).
        • Assist other students!!!
        • Project expertise
          • Bug reports and fixes.
          • Go through the archives, wikis, and web sites.

      Opportunities..
      • A project that matches your previous work experience.
        • Choose the right project.
      • Timezone Difference 
        • Use it effectively - Most students prefer to work in nights too, as they may have lectures in the mornings.
      • Multiple Applications (3!) If you apply for multiple projects, make sure all of them are of high quality. Remember the equation of quality vs. quantity.
      • Communicate early and often.
      • Be heard, visible, responsive,  and quick!
        • Ask questions, and more importantly answer others' questions.

      Apply

      Register as a student for GSoC, as the first step of the application procedure. Make sure to follow the deadline and submit the application and the student proof such as a transcript or student ID indicating that you are currently an active student (as important as the GSoC proposal, as far as Google is concerned) on time. No execuses and no exceptions. If you miss the deadlines set by Google, your mentoring organization cannot help you, even if they want to. Share your draft proposal with mentors early on, and iterate over it with the mentors' feedback.

      Apply on Google's site, at the earliest possible, as you can edit it later, until the last minute. Check often for the mentors' comments and attend to them. Only the organization mentors can see your proposal unless you decide to make it public. Please don't wait until the last minute to submit the proposal and the other necessary documents. There will definitely be a powercut or an Internet outage right at the deadline. I have warned you. ;) Submit early and continue editing. That's the approach.

      How to impress the mentors/developers?
      • Stick to the organization's template.
      • Abstract.
      • Introduce yourself properly.
        • Focus on the relevant facts.
        • Why do you fit? Your skill sets.
        • List of the pull requests or patches (if any) you have submitted. Make sure to identify the working/accepted ones.
      • Project Goals
        • Proves you got them correct.
      • Deliverables
        • Code, documentation, test cases, binary releases, ..
      • Description - can also be given along with the timeline
        • Benefits to the organization and other projects  
      • Timeline
      • Links - References and additional details.

      After the submission..
      • Don't go invisible!
        • Evaluation is still going on.. ;)
      • You may be asked to provide additional information.
        • Pull requests, prototypes, demos, patches, ..
        • Screenshots.
        • A Skype Interview request from the mentors!!
      • Start coding on your project - if you have time and of course it will help in the selection process (It is going on once you have submitted).
      • Be motivated.

      Got Selected? Community Bonding Period!!!

      Don't panic. You have 3 more weeks, just to mingle with the developers and the code base. Mentors are there to help you! Keep touch with the developers and users. Learn the project by going through the code base and documentation such as coding styles and coding guidelines. This will help you understand the project idea more. Come up with a design and start with simple hacks.

      Coding

      Finally comes the coding - the easiest task of all. Commit often, if you are given committership. When committing or sending pull requests or patches, make sure to include meaningful Commit messages. Get feedback from the mentor(s) on your commits or patches frequently. Keep the community updated. Committing or sending patches daily would be a good approach.

      Plan for the 3 evaluations early, with the mentor. This will help you reach the target successfully. You might also need to revisit the project goals if required, during the milestones.



      Conclude/Continue

      Whatever coding or related job done on your project after the GSoC deadline will not be considered part of your summer of code, and will be considered a volunteer work on the project. Try to stick around your project community after the successful completion of your GSoC. You can aim to be a committer, long-term contributor, or even a mentor for GSoC next year.

      Monday, February 25, 2019

      Emory BMI and Google Summer of Code (GSoC) 2019

      Google has announced the list of accepted organizations for GSoC 2019. We (Emory BMI) have been selected once more as a mentoring organization, after our successful summers in 2016 and earlier. :) Our project ideas - https://github.com/sharmalab/Emory-BMI-GSoC-2019 Our ideas are on the topics of big data, data visualization, and machine learning, in the context of biomedical research.

      The stipend varies by the country of the student's university. For example, for Portuguese universities, it is 4200 $ in total (for a 3 month of coding - May 27, 2019 - August 19, 2019) for each successful student. Students can apply for projects from around 100 of mentoring organizations (including Emory BMI) that are accepted as a mentoring organization.

      Anyone can apply as long as they have never been a student in GSoC before (new regulations!) and currently a student of age 18 or more from a university/college.

      P.S: This will be my 9th year with GSoC and 5th time as a mentor. However, this is my first time as the primary organization administrator. :) I started my first GSoC as a student in 2009. It has been 10 years already.