GSoC Admin Guidelines

Areas of this page are still under construction as this is a guide passed down from previous GSoC administrators.


Purpose of this document

This document serves as a resource on how to administer Google Summer of Code for OpenMRS.

What is Google Summer of Code?

Google Summer of Code (GSoC) is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school.

Who are the GSoC Admins this year?

This year, we have a small team of four GSoC Admins who will be supporting students, mentors, squads, and the community between January and September 2022.

Herbert Yiga

Kakumirizi Daud 

Grace Potma

Jennifer Antilla

What is the role of a GSoC Admin?

The GSoC Admin is to handle tasks related to the success of OpenMRS projects for the calendar year while supporting students and mentors during the program's duration.

Overview of Tasks

We set up this activity plan to track our admin tasks. This plan tells you who is responsible for the tasks below (and more) - and when they're slated for action.

Getting Started (what you need to know up front)

  • Purpose of GSoC

  • Contacts and who to ask for help

    • GSoC Admin Team

    • Project Management calls

  • Timing of Admin Support (January thru September)

  • Expectations of GSoC Admin

    • Having multiple ways of communicating with mentors

    • Anticipating timeline and deadlines

  • Expectations of GSoC Mentors

  • Expectations of GSoC Students

  • Melange – what you need to know about it

  • How finances are handled

Getting the right privileges

  • Access to GSoC resources

    • The GSoC (Google Summer of Code) Google Drive folder

    • Wiki

    • JIRA

    • Telegram - there is a dedicated OpenMRS GSoC Admins channel

    • An @openmrs.org email address (if you don’t already have an assigned @openmrs.org email address associated with your OpenMRS ID, contact the help desk to get one).

On this page ....

Setting up the GSoC wiki page

See https://openmrs.atlassian.net/wiki/display/RES/Summer+of+Code for page template.

Page should be added at https://wiki.openmrs.org/display/RES/Summer+Of+Code+YYYY, as well as a shortened URL http://om.rs/socYYYY, where YYYY is the current year, e.g. 2018. You can ask the help desk or anyone in the infra team to make the short link for you. It should point to the short URL of the page (which is permanent, even if the page should later be renamed or moved within the wiki). Whenever referencing the GSoC page, try to use the short link (including in the application).

Proposed page headings:

  • Program Timeline

  • Proposed/Accepted Projects

    • Initially heading is listed as ‘Proposed Projects’, once the projects and mentors have been finalised, update to ‘Accepted Projects’

  • Expectations for Students

  • Expectations for Mentors

  • Expectations of Backup Mentors

  • Have Additional Questions?

  • Our Technology At-A-Glance

  • Application Requirements & Questions

Registering OpenMRS for GSoC

The GSoC admin(s) are responsible for ensuring the community is registered for GSoC and submits a strong application. There is no guarantee that OpenMRS will be accepted each year; however, a strong application and successfully mentoring students in GSoC certainly helps.

The GSoC folder on Google drive contains folders for prior years of GSoC. If there isn’t one already, make a folder for this year’s GSoC. This is the place to draft the application and keep any additional files pertinent to administration of GSoC (forms/spreadsheets used to track student progress, notes from mentors about students during the application process, etc.). Keeping this organized helps make it easier to improve our process each year.

Register OpenMRS for GSoC

Go to the GSoC web application and follow the instructions to get started as a mentoring organization. You will be registering both as an admin/mentor as well as registering OpenMRS for GSoC. The organization name is obviously OpenMRS. Otherwise, fill in your personal information (use your @openmrs.org email address). You’ll need to agree to terms both for yourself and then on behalf of OpenMRS. Once done, you should end up at an organization application dashboard. This application summary page should make it obvious that there are 3 steps to complete: (1) an application, (2) an organization profile, and (3) identifying at least 2 administrators. You should have at least two admins identified, so you can invite any other admins once registered. See the section below for details about preparing and submitting the application.


DEADLINE WARNING

Make sure the steps for the application are completed well before the deadline. Missing the deadline would mean missing a year of GSoC and that would be a very, very sad thing for OpenMRS.


Don’t forget that our strength is community. Recruit your fellow admin(s) to help ensure the application process goes smoothly and don’t hesitate to ask for help from community members and other leaders in the community.

Getting people thinking about potential projects and being a mentor

See here (2018) and here (2017) for example/template Talk posts to introduce GSoC, and identify potential projects & mentors.

Make sure to tag the post with gsocYYYY, where YYYY is the current year, e.g. gsoc2018.

TODO: Consider how to get the most of this post (i.e. to gain more traction):

  • What is the best time of day to post (considering varying timezones)?

  • Should the post be shared on chat or any other forums?

  • Who should be tagged in the post?

Submitting the OpenMRS application to GSoC

There are two parts to the application in the GSoC web app: (1) an organization application and (2) an organization profile. The GSoC web app allows you to complete both of these in parts – i.e., you can answer some of the questions, save your work, and return to answer more questions later. The GSoC web app will give you information about your progress and let you know when the application is complete.

Complete the organization application

Start by copying the application Google doc from last year to this year’s folder and renaming it for the current year. First compare the questions on the GSoC application web form to the sections in the Google Doc from last year. Sometimes Google will change or add a question, in which case you’ll want to update the Google Doc to match.

Rather than simply copying the same information from the prior year’s application, first read through each answer and make sure it reflects the current state of OpenMRS. Take a moment to make some small improvements to our answers. While just making the answer longer doesn’t make it better, there may be new information or accomplishments to include this year that didn’t exist in prior years. Help keep our application strong and fresh! Ask other admins to review the application before it’s due, so they have an opportunity to find typos or make suggestions.

If you make any changes to the application within the GSoC web application, please try to make the same changes to the Google Doc. While it might not seem critical this year, next year’s admins will be glad that they’re starting with the actual application content submitted rather than a rough draft.


Complete the organization profile

Most of the information in the organization profile should be straightforward.

  • Our website is https://openmrs.org

  • Our tagline is “Write code. Save lives.”

  • You can use the OMRS-cross.jpg file for our logo. If you find a better version of the logo to use, be sure to include a copy of the logo file in the Google Drive (for next year’s reference) and update this document accordingly.

  • Category is: Science and Medicine

  • Suggested technology tags (these may evolve as OpenMRS evolves): Java, JavaScript, REST, MySQL

  • Suggested topic tags: developing countries, open source, medical records

  • For the ideas list, provide a URL to this year’s GSoC page. Use the short link (om.rs/socXX) you created earlier for this year’s GSoC wiki page.

Recruiting Mentors

  • Getting the wiki page ready

  • What makes a strong GSoC project and what does not

Listing potential GSoC projects on the wiki

What to do when OpenMRS is accepted

  • Announcements on Talk

    • ‘OpenMRS selected as mentor organization’ - see here (2018) and here (2017) for previous years’ posts.

    • ‘Guidelines for interested students’ - see here (2018) for previous years’ posts.

  • Contact mentors to notify them of the next steps, and confirm email addresses for mentor invites, e.g.:


Hi All!


Now that OpenMRS has been selected as a mentor organization for GSoC 2018, there are a few ‘next steps’ to get through. I’ll be helping to administer OpenMRS’ participation in GSoC this year, and I’ve added you all to this thread as your names are currently listed as primary or backup mentors for one or more of the GSoC 2018 project ideas. (I’ll add new mentors to this thread as they are identified)


The student application period is from 12-27 March, but interested students can start discussing project ideas as of now. There’ll likely be increased activity on Talk, Telegram, and IRC as potential students start to familiarise themselves with OpenMRS, explore project ideas, and take on introductory tasks.


To make things easier during the student on-boarding process, can I suggest reviewing project wiki pages to make sure there are a well-defined set of objectives, and clear project scope.

Org Admins should now be sending potential mentors invitations to be a part of their organization. The mentor will need to click the link in the email they receive to accept the invitation and create their account.

I’ll be sending out invites shortly to join the OpenMRS organization on the GSoC site, so that you can start receiving email updates and access student applications etc. These will be sent to your @openmrs.org email accounts - I’m assuming email account names match your OpenMRS ID usernames. If your @openmrs.org email account name is different to your OpenMRS ID username, please let me know.

Any questions, concerns or corrections, please don’t hold back

Thanks


  • Send out email invitations to mentors

    • “Org Admins should now be sending potential mentors invitations to be a part of their organization. The mentor will need to click the link in the email they receive to accept the invitation and create their account. All mentors must be invited by an Org Admin.”

  • Getting projects into the GSoC application

  • Suggested labels (“my first interest”, “my secondary interest”) for GSoC app

  • Create secret document for mentors & admins to track feedback on potential students

Getting mentors and projects aligned

  • Backup mentor for each project

  • Read Google email carefully

Potential students

  • Answering initial questions

  • Expectations

  • Preparing intro tickets

  • Getting students connected to the community

Keys to successfully connecting students and mentors

Student Proposal Time

  • Post to Talk when student application period opens, e.g. see here and here.

  • What students should be doing

  • What mentors should be doing

  • What you should be doing

    • Review secret document to track feedback on students

    • Adding tips/comments about students for mentor as private message on proposals in GSoC app, especially for the most outstanding students

    • Trying to distribute students across projects and helping projects that may be getting less attention.

Getting the best students onto projects

  • Making sure mentors are reviewing applications

Getting mentors to review proposals

  • Agree on rules for minimum needed for acceptable proposal

  • Helping filter out incomplete or unacceptable proposals (to help mentors)

Student Selection Time

  • What to tell (and not to tell) students

  • What to tell mentors

    • Make sure every project has a mentor assigned to a student in GSoC app

  • Conflict resolution meeting

Announcing accepted students

Community Bonding Period


Starting GSoC

Student Blogs

Students are required to post (at least) one blog entry a week during the course of the GSoC program. To prepare students for this, ask students to set up their blog and add one post during the community bonding period:


Once all blogs have been shared, these should be added to the feeds on http://planet.openmrs.org. To do this, the blog URLs should be added to the openmrs-contrib-planet repository, where they will be auto-deployed to OSUOSL (hosting OpenMRS Planet). You should fork this repository, create a new branch, add the list of blog feeds to openmrs-planet.ini, and open a PR against the base repository to have this merged, e.g.:




Weekly Status Reports

Students are expected to submit a weekly status report and blog post (to be provided as a link in the status report). Encourage students to attend the daily standups on IRC (this is not a strict requirement as the timing of the standups won’t suit everyone, and in all likelihood only a handful of students will take this up).

Talk post:


Status Report (set up as a Google Form):


The form includes a checkbox for:

  • I'm worried/concerned about my project's progress. Please contact me.

Try to check this each week and follow up with students who have marked this field, and/or have rated their mentor’s efforts as low. This is important to ensure that issues are identified and handled early on, and applies to issues with students and mentors. GSoC uses a continuous assessment approach, with several evaluations through the course of the program. If students are not meeting expectations and making progress (be it for personal reasons, issues with mentor support or other reasons) this will be reflected in the evaluations. The results of the evaluations should not come as a surprise for students though - issues should be handled early on so that there is a chance to correct them and get back on track.

Tracking Progress

  • What your week should include

    • Updating the GSoC wiki page

    • Following up with students and mentors

Project Evaluations

There are three times during the coding phase of GSoC where mentors evaluate their student’s progress and students evaluate their mentors (after the first, second and third months of coding).

https://google.github.io/gsocguides/mentor/evaluations

https://google.github.io/gsocguides/student/evaluations


The evaluations require students and mentors to complete a set of survey questions on the GSoC site. Examples of the types of questions that are asked at each evaluation are available online:

https://developers.google.com/open-source/gsoc/help/evaluations

First Evaluation

In the week before the first evaluation, send a message to students and mentors to notify them early on that evaluations are due soon, and describe what each evaluation will consist of.

e.g. Talk post:


  • First Evaluations

  • Dealing with failing students

Second Evaluation

  • Preparing students for presentations

  • Announcing presentations

  • Dealing with failing students

Final Evaluation

  • Preparing students for final presentations

  • Announcing final presentations

Finishing up GSoC

  • Blogging

    • See here for an example of the GSoC 2017 post summarizing the GSoC experience for that year.

  • Updating this document and other GSoC resources

  • Preparing for the next year (asking for who wants to be admin next year)

Mentor Summit

  • How to decide who goes

After Action Review

  • What should change for next year

  • Preparing for next year’s GSoC

Troubleshooting

  • What to do with a trouble student

  • What to do with a trouble mentor

  • What to do when you’re in trouble

Questions?

Prerequisites to be a GSoC Admin?

How are GSoC projects chosen?

How much time does it take to be a GSoC Admin?

Am I in it alone?

No, the GSoC Admin can reach out to admins from previous years (see Contacts) for guidance. Also GSoC Admin(s) are encouraged to join OpenMRS Project Management (PM) calls to give updates on how they things are going and whether there are any blockages or issues they need help with.

Resources

Timelines and general information - https://summerofcode.withgoogle.com/