From edc3a141df54f02396f8fd98f4383aff7f432f7b Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Tue, 1 Sep 2020 14:13:52 -0700 Subject: [PATCH 001/212] Upgrade dependencies. Upgrade ruby. --- Dockerfile | 2 +- Gemfile.lock | 187 +++++++++++++++++++++++++++------------------------ 2 files changed, 99 insertions(+), 90 deletions(-) diff --git a/Dockerfile b/Dockerfile index dbc56e68..47d1fda6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.5 +FROM ruby:2.7 MAINTAINER mrafayaleem@gmail.com RUN apt-get clean \ diff --git a/Gemfile.lock b/Gemfile.lock index 7b6c4039..e2624b93 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,11 +1,12 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.11.1) - i18n (~> 0.7) + activesupport (6.0.3.2) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) coffee-script (2.4.1) @@ -15,9 +16,9 @@ GEM colorator (1.1.0) commonmarker (0.17.13) ruby-enum (~> 0.5) - concurrent-ruby (1.1.5) - dnsruby (1.61.3) - addressable (~> 2.5) + concurrent-ruby (1.1.7) + dnsruby (1.61.4) + simpleidn (~> 0.1) em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) @@ -25,33 +26,32 @@ GEM ffi (>= 1.3.0) eventmachine (1.2.7) execjs (2.7.0) - faraday (0.16.2) + faraday (1.0.1) multipart-post (>= 1.2, < 3) - ffi (1.11.1) + ffi (1.13.1) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (200) - activesupport (= 4.2.11.1) + github-pages (207) github-pages-health-check (= 1.16.1) - jekyll (= 3.8.5) - jekyll-avatar (= 0.6.0) + jekyll (= 3.9.0) + jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.1.5) + jekyll-commonmark-ghpages (= 0.1.6) jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.11.0) + jekyll-feed (= 0.13.0) jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.12.1) - jekyll-mentions (= 1.4.1) - jekyll-optional-front-matter (= 0.3.0) + jekyll-github-metadata (= 2.13.0) + jekyll-mentions (= 1.5.1) + jekyll-optional-front-matter (= 0.3.2) jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.2.0) - jekyll-redirect-from (= 0.14.0) - jekyll-relative-links (= 0.6.0) - jekyll-remote-theme (= 0.4.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.15.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.1) jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.5.0) - jekyll-sitemap (= 1.2.0) - jekyll-swiss (= 0.4.0) + jekyll-seo-tag (= 2.6.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) jekyll-theme-architect (= 0.1.1) jekyll-theme-cayman (= 0.1.1) jekyll-theme-dinky (= 0.1.1) @@ -61,19 +61,19 @@ GEM jekyll-theme-midnight (= 0.1.1) jekyll-theme-minimal (= 0.1.1) jekyll-theme-modernist (= 0.1.1) - jekyll-theme-primer (= 0.5.3) + jekyll-theme-primer (= 0.5.4) jekyll-theme-slate (= 0.1.1) jekyll-theme-tactile (= 0.1.1) jekyll-theme-time-machine (= 0.1.1) - jekyll-titles-from-headings (= 0.5.1) - jemoji (= 0.10.2) - kramdown (= 1.17.0) - liquid (= 4.0.0) - listen (= 3.1.5) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.11.1) + kramdown (= 2.3.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.3) mercenary (~> 0.3) - minima (= 2.5.0) + minima (= 2.5.1) nokogiri (>= 1.10.4, < 2.0) - rouge (= 2.2.1) + rouge (= 3.19.0) terminal-table (~> 1.4) github-pages-health-check (1.16.1) addressable (~> 2.3) @@ -81,69 +81,69 @@ GEM octokit (~> 4.0) public_suffix (~> 3.0) typhoeus (~> 1.3) - html-pipeline (2.12.0) + html-pipeline (2.14.0) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jekyll (3.8.5) + jekyll (3.9.0) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) i18n (~> 0.7) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (>= 1.17, < 3) liquid (~> 4.0) mercenary (~> 0.3.3) pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) - jekyll-avatar (0.6.0) - jekyll (~> 3.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) jekyll-coffeescript (1.1.1) coffee-script (~> 2.2) coffee-script-source (~> 1.11.1) jekyll-commonmark (1.3.1) commonmarker (~> 0.14) jekyll (>= 3.7, < 5.0) - jekyll-commonmark-ghpages (0.1.5) + jekyll-commonmark-ghpages (0.1.6) commonmarker (~> 0.17.6) - jekyll-commonmark (~> 1) - rouge (~> 2) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) jekyll-default-layout (0.1.4) jekyll (~> 3.0) - jekyll-feed (0.11.0) - jekyll (~> 3.3) + jekyll-feed (0.13.0) + jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) - jekyll-github-metadata (2.12.1) - jekyll (~> 3.4) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.4.1) + jekyll-mentions (1.5.1) html-pipeline (~> 2.3) - jekyll (~> 3.0) - jekyll-optional-front-matter (0.3.0) - jekyll (~> 3.0) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) jekyll-paginate (1.1.0) - jekyll-readme-index (0.2.0) - jekyll (~> 3.0) - jekyll-redirect-from (0.14.0) - jekyll (~> 3.3) - jekyll-relative-links (0.6.0) - jekyll (~> 3.3) - jekyll-remote-theme (0.4.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.15.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.1) addressable (~> 2.0) - jekyll (~> 3.5) - rubyzip (>= 1.2.1, < 3.0) + jekyll (>= 3.5, < 5.0) + rubyzip (>= 1.3.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-seo-tag (2.5.0) - jekyll (~> 3.3) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-swiss (0.4.0) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) jekyll-theme-architect (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) @@ -171,8 +171,8 @@ GEM jekyll-theme-modernist (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.5.3) - jekyll (~> 3.5) + jekyll-theme-primer (0.5.4) + jekyll (> 3.5, < 5.0) jekyll-github-metadata (~> 2.9) jekyll-seo-tag (~> 2.0) jekyll-theme-slate (0.1.1) @@ -184,43 +184,46 @@ GEM jekyll-theme-time-machine (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.1) - jekyll (~> 3.3) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.2) + jemoji (0.11.1) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) - kramdown (1.17.0) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.2.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) mini_portile2 (2.4.0) - minima (2.5.0) - jekyll (~> 3.5) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.12.2) + minitest (5.14.2) multipart-post (2.1.1) - nokogiri (1.10.8) + nokogiri (1.10.10) mini_portile2 (~> 2.4.0) - octokit (4.14.0) + octokit (4.18.0) + faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (3.1.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) ffi (~> 1.0) - rouge (2.2.1) - ruby-enum (0.7.2) + rexml (3.2.4) + rouge (3.19.0) + ruby-enum (0.8.0) i18n - ruby_dep (1.5.0) - rubyzip (2.0.0) + rubyzip (2.3.0) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -230,14 +233,20 @@ GEM sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) + simpleidn (0.1.1) + unf (~> 0.1.4) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - typhoeus (1.3.1) + typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.5) + tzinfo (1.2.7) thread_safe (~> 0.1) - unicode-display_width (1.6.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + zeitwerk (2.4.0) PLATFORMS ruby @@ -246,4 +255,4 @@ DEPENDENCIES github-pages BUNDLED WITH - 1.17.3 + 2.1.4 From ebea6b11f311a73b1336c398895c6aac019c5593 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 19:59:40 -0700 Subject: [PATCH 002/212] Update 00-what_is_google_summer_of_code.md updated stats --- pages/student/00-what_is_google_summer_of_code.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pages/student/00-what_is_google_summer_of_code.md b/pages/student/00-what_is_google_summer_of_code.md index a2804897..0617831d 100644 --- a/pages/student/00-what_is_google_summer_of_code.md +++ b/pages/student/00-what_is_google_summer_of_code.md @@ -8,29 +8,29 @@ sidebar: student_sidebar You've heard other students talking about it, you've seen flyers and blog posts on it and now you want to know more! So here we go... -Google Summer of Code (GSoC) is a global program that matches students up with open source, free software and technology-related organizations to write code and get paid to do it! The organizations provide mentors who act as guides through the entire process, from learning about the community to contributing code. The idea is to get students involved in and familiar with the open source community and help them to put their summer break to good use. +Google Summer of Code (GSoC) is a global program that matches students with open source, free software and technology-related organizations to write code and become part of these communities while making some money along the way! The organizations provide mentors who act as guides through the entire process, from learning about the community to contributing code. The idea is to get students involved in and familiar with the open source community and help them to put their summer break to good use. -Accepted students gain exposure to real-world software development and employment opportunities in areas related to their academic pursuits. Participating organizations are able to identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! +Accepted students gain exposure to real-world software development and employment opportunities in areas related to their academic pursuits. Participating organizations are able to identify and bring in new developers to their communities who will hopefully stay involved long after their GSoC year ends. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! -This program has brought together thousands of students and mentors from over 118 countries worldwide. As of November 2019, 686 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. +This program has brought together thousands of students and mentors from over 130 countries worldwide. As of September 2020, 715 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. ## Goals of the Program The GSoC program has several goals: -* Get more open source code written and released for the benefit of all. * Inspire young developers to begin participating in open source development. * Help open source projects identify and bring in new developers. +* Get more open source code written and released for the benefit of all. * Provide students the opportunity to do work related to their academic pursuits during the summer: "flip bits, not burgers." -* Give students more exposure to real-world software development (for example, distributed development and version control, software licensing issues, and mailing list etiquette). +* Give students more exposure to real-world software development (for example, distributed development and version control, software licensing issues, testing, and communication best practices). ## A Brief History of Google Summer of Code -Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the 15th Google Summer of Code in 2019, over 16,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 15 years reported that the program helped them find new community members and active committers. +Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the 16th Google Summer of Code in 2020, over 17,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 16 years reported that the program helped them find new community members and active committers. -GSoC has grown immensely over the last 15 years and in the process helped students make the most of their summer by working on exciting open source projects. +GSoC has grown immensely over the last 16 years and in the process helped students make the most of their summer by working on exciting open source projects. You can take a look at the appendix if you're interested in a more extensive history of the program. From fb30fe3aa3bbedfec97b2fda8ba32688fd746427 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:07:10 -0700 Subject: [PATCH 003/212] Update 03-making_first_contact.md --- pages/student/03-making_first_contact.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/03-making_first_contact.md b/pages/student/03-making_first_contact.md index dbe00e3c..1a06b421 100644 --- a/pages/student/03-making_first_contact.md +++ b/pages/student/03-making_first_contact.md @@ -19,7 +19,7 @@ However, if you're more likely to hang back and watch people for a while, spend * Join both the development and user mailing lists and spend a few days just reading the conversations. * Read the mailing list archives. -* Join the project's discussion forums/chat channel (IRC, Discourse) and lurk for a bit. +* Join the project's discussion forums/chat channel (IRC, Discourse, Slack) and lurk for a bit. * Read all the available information on past GSoC projects. * Take a stab at going through the project documentation, at least to the point where you feel like you can ask questions that are not already extensively covered in the docs. @@ -33,6 +33,6 @@ At the end of your "listening and research" phase you'll understand how, where a * Be humble. Until you've engaged with the community, for at least a few months, assume that those people talking about things probably are privy to community nuances you might not yet see. * Don't be intimidated. Don't let a bad experience stop you from getting involved. Just relax and think about why you were snubbed and if there's anything that you should be careful about before participating in another conversation. -No matter what, don't wait until you apply to initiate contact! Engage with multiple communities once the participating organizations are chosen to get a feel for how different groups work. +No matter what, don't wait until the application period to initiate contact - really! Engage with multiple communities once the participating organizations are chosen to get a feel for how different groups work and find the one or two that fit your interests/personality. From 80c852d5730e543ef6bb01e649e9a1674598deb6 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:08:47 -0700 Subject: [PATCH 004/212] Update 04-choosing_an_organization.md --- pages/student/04-choosing_an_organization.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/04-choosing_an_organization.md b/pages/student/04-choosing_an_organization.md index 4521e21e..b1ecfc3d 100644 --- a/pages/student/04-choosing_an_organization.md +++ b/pages/student/04-choosing_an_organization.md @@ -26,8 +26,8 @@ The very first requirement for a successful GSoC experience is finding a project ## Who Are They? -After the GSoC program is announced each year, a list of accepted organizations is published on the GSoC website. Compile a list of organizations based on your answers above. The projects are also tagged with categories of programming language, platforms, topics and applications. Use the tags to filter organizations based on your skills and interests. +After the GSoC program is announced each year, a list of accepted organizations is published on the GSoC website (usually in February). Compile a list of organizations based on your answers above. The projects are also tagged with categories of programming language, platforms, topics and applications. Use the tags to filter organizations based on your skills and interests. -For each organization, take some time to learn more about what they do (i.e., Google them!). The organization's mission, it's size and range of applications may all influence your interest in working with them. Realize that through GSoC you will be joining an open source community. Ideally, you'll find an organization that you are enthusiastic to be a part of. +For each organization, take some time to learn more about what they do (i.e., Google them!). The organization's mission, it's size and range of applications may all influence your interest in working with them. Realize that through GSoC you will be joining an open source community. Ideally, you'll find an organization that you are enthusiastic to be a part of for many years to come! From 0de1bffb8c6bb97d1ac41d5a322444c613f1a51f Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:11:24 -0700 Subject: [PATCH 005/212] Update 05-finding_the_right_project.md --- pages/student/05-finding_the_right_project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/05-finding_the_right_project.md b/pages/student/05-finding_the_right_project.md index de6f3a05..038977e6 100644 --- a/pages/student/05-finding_the_right_project.md +++ b/pages/student/05-finding_the_right_project.md @@ -6,7 +6,7 @@ permalink: student/finding-the-right-project.html sidebar: student_sidebar --- -Each organization will have a project Ideas Page linked to from the official Google list of accepted organizations. Browse the list of project ideas for each of the organizations for which you are interested. The ideas should give you a clear sense of the range and depth of projects being targeted and the expectations in terms of prior experience and programming skills. In addition to the list of project ideas, many organizations encourage original ideas proposed by students. +Each organization will have a Project Ideas Page linked to from the official Google list of accepted organizations. Browse the list of project ideas for each of the organizations for which you are interested. The ideas should give you a clear sense of the range and depth of projects being targeted and the expectations in terms of prior experience and programming skills. In addition to the list of project ideas, many organizations encourage original ideas proposed by students. ## Shortlist From a1dc222410265a3e7522dfbc3feeb2a81e2b6f90 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:17:37 -0700 Subject: [PATCH 006/212] Update 06-writing_a_proposal.md --- pages/student/06-writing_a_proposal.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/06-writing_a_proposal.md b/pages/student/06-writing_a_proposal.md index cc89400d..ac0d15a6 100644 --- a/pages/student/06-writing_a_proposal.md +++ b/pages/student/06-writing_a_proposal.md @@ -28,7 +28,7 @@ There are certain elements of the proposal that should apply to every organizati **Name and Contact Information** -Putting your full name on the proposal is not enough. Provide full contact information, including email addresses, websites, IRC nick, postal address and telephone number. +Putting your full name on the proposal is not enough. Provide full contact information, including email addresses, websites, IRC nick, and telephone number. **Title** @@ -89,7 +89,7 @@ Try to make sure that someone in the organization would be competent to work wit **Projects that better belong with other Summer of Code organizations** -Open source organizations try hard to avoid stepping on each other's turf. Try to find your best customer. +Open source organizations try hard to avoid stepping on each other's turf. Try to find your best fit. **Projects that represent too large a scope** From b745bd1ca1233c0466f75de8dbc8e9b7d5083c7e Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:24:11 -0700 Subject: [PATCH 007/212] Update 10-open_source_culture.md --- pages/student/10-open_source_culture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/10-open_source_culture.md b/pages/student/10-open_source_culture.md index 5335f8e3..30f892e2 100644 --- a/pages/student/10-open_source_culture.md +++ b/pages/student/10-open_source_culture.md @@ -6,7 +6,7 @@ permalink: student/open-source-culture.html sidebar: student_sidebar --- -When you encounter an open source group for the first time, it may be a bewildering experience. Whether posting to a mailing list for the first time, blogging about the project you're taking on or hanging out on an IRC channel - the way people interact, and what they expect from each other is pretty different than in classroom or with friends and family. +When you encounter an open source group for the first time, it may be a bewildering experience. Whether posting to a mailing list for the first time, blogging about the project you're taking on or hanging out on a chat channel - the way people interact, and what they expect from each other is pretty different than in classroom or with friends and family. ## Openness and Sharing From 4747f4dc9dc4c60c9f874f535eafa7bc350a0954 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:27:33 -0700 Subject: [PATCH 008/212] Update 11-communication_best_practices.md --- pages/student/11-communication_best_practices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/11-communication_best_practices.md b/pages/student/11-communication_best_practices.md index 333f1ff3..4ecb282a 100644 --- a/pages/student/11-communication_best_practices.md +++ b/pages/student/11-communication_best_practices.md @@ -8,7 +8,7 @@ sidebar: student_sidebar One of the best things about GSoC is the group of individuals from diverse cultures and different open source organizations that participate each year. This also means that you cannot make any assumptions about communication. Specifically: -* Always read the [Program Rules](https://developers.google.com/open-source/gsoc/rules), [FAQ](https://developers.google.com/open-source/gsoc/faq) and this manual first! One of the best ways to destroy your reputation early is to repeatedly ask questions on IRC or the mailing list that are covered in a FAQ or other types of documentation. +* Always read the [Program Rules](https://developers.google.com/open-source/gsoc/rules), [FAQ](https://developers.google.com/open-source/gsoc/faq) and this guide first! One of the best ways to destroy your reputation early is to repeatedly ask questions on the chat channel or the mailing list that are covered in a FAQ or other types of documentation. * Don't expect instant answers. Remember you are working with volunteers. * Avoid humor when communicating with the entire GSoC community. It does not translate well to large groups and is likely to be misconstrued by someone. * Remember that other peoples' time is just as valuable as your own. @@ -39,7 +39,7 @@ Some specific guidelines that should apply across communities: ## Like a bullhorn -When you post to the GSoC student list you are essentially using a bullhorn to broadcast your words to 7,000 people across time zones and international boundaries. Use your bullhorn wisely, or it might be ripped from your hands by an unruly and angry mob, or by a responsible moderator. +When you post to the GSoC student list you are essentially using a bullhorn to broadcast your words to 8,500 people across time zones and international boundaries. Use your bullhorn wisely, or it might be ripped from your hands by an unruly and angry mob, or by a responsible moderator. ## How to Use IRC From db1bd4cdbd7e6bd89902fb95e73f73a026b8da64 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:29:37 -0700 Subject: [PATCH 009/212] Update 12-how_to_get_a_head_start.md --- pages/student/12-how_to_get_a_head_start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/12-how_to_get_a_head_start.md b/pages/student/12-how_to_get_a_head_start.md index a9c0eeba..c31cf6dd 100644 --- a/pages/student/12-how_to_get_a_head_start.md +++ b/pages/student/12-how_to_get_a_head_start.md @@ -45,7 +45,7 @@ GSoC is not only about working with your mentor. There's this amazing group of o **Student mailing list** -Google has a private mailing list for the GSoC students. Go ahead and introduce yourself on the student mailing list. Talk about your project ideas, get feedback on your proposal. The mailing list also has GSoC participants from earlier lists. Use the student mailing list as an additional resource. Your questions can be technical or non-technical. Of course, remember not to be a bullhorn and be mindful of the mailing list etiquette. +Google has a private mailing list for the GSoC students. The mailing list also has GSoC participants from earlier lists. Use the student mailing list as an additional resource. Your questions can be technical or non-technical. Of course, remember not to be a bullhorn and be mindful of the mailing list etiquette. **They're just like me!** From 4b79127a46eb5d1048ae12ad3bdf41ebc6aced26 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:40:03 -0700 Subject: [PATCH 010/212] Update 19-history_of_gsoc.md --- pages/student/19-history_of_gsoc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/19-history_of_gsoc.md b/pages/student/19-history_of_gsoc.md index f26395e4..e7b24478 100644 --- a/pages/student/19-history_of_gsoc.md +++ b/pages/student/19-history_of_gsoc.md @@ -14,7 +14,7 @@ The perfect answer came from encouraging students to participate in open source A cash stipend from Google allowed students to focus on their development work rather than getting a job unrelated to their academic pursuits. The final part of the puzzle was finding projects who were excited to find new contributors and to provide helpers to get these new folks up to speed both technically and socially. The first year 40 projects participated; 400 students began the experiment. -In 2019, the fifteenth Google Summer of Code wrapped up with more than 89% of the 1267 student participants in the program successfully completing their projects. Best of all, most of the organizations participating over the past fifteen years reported that the program helped them find new community members and active committers. +In 2020, the sixteenth Google Summer of Code wrapped up with more than 94% of the 1198 student participants in the program successfully completing the program. Best of all, most of the organizations participating over the past sixteen years reported that the program helped them find new community members and active committers. You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: From 1d2dc97c8bd84c82fe9cde662f40719f413a0969 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:45:36 -0700 Subject: [PATCH 011/212] Update 00-what_is_google_summer_of_code.md --- pages/mentor/00-what_is_google_summer_of_code.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pages/mentor/00-what_is_google_summer_of_code.md b/pages/mentor/00-what_is_google_summer_of_code.md index f3cc19ae..f3bf0920 100644 --- a/pages/mentor/00-what_is_google_summer_of_code.md +++ b/pages/mentor/00-what_is_google_summer_of_code.md @@ -10,7 +10,7 @@ Google Summer of Code (GSoC) is a program that matches mentoring organizations w GSoC pairs accepted student applicants with mentors from participating projects. Accepted students gain exposure to real-world software development and an opportunity for employment in areas related to their academic pursuits. In turn, participating organizations are able to identify and bring in new developers more easily. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. -This program has brought together thousands of students and mentors from over 118 countries worldwide. Over 680 open source projects, from areas as diverse as operating systems and community services, have participated as mentor organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. +This program has brought together thousands of students and mentors from over 130 countries worldwide. Over 715 open source projects, from areas as diverse as operating systems and community services, have participated as mentor organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. ## Goals of the Program @@ -26,7 +26,7 @@ The program has several goals: ## A Brief History of Google Summer of Code -Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the fifteenth Google Summer of Code in 2019, over 15,000 students have been accepted into the program. Best of all, most of the organizations participating have reported that the program helped them find new community members and active committers. +Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the fifteenth Google Summer of Code in 2020, over 17,000 students have been accepted into the program. Best of all, most of the organizations participating have reported that the program helped them find new community members and active committers. See the appendix for a more extensive history of the program. @@ -35,7 +35,7 @@ See the appendix for a more extensive history of the program. There are four roles in the Google Summer of Code program: -**Program Administrator**: Program administrators are employees of Google's Open Source Programs Office who run the program. These folks do a variety of tasks: select the participating open source projects each year, create and analyze the program evaluations, administer the program mailing lists, ensure that participants are paid, and send out the all-important program t-shirt. Program administrators do not select which student proposals are accepted into Google Summer of Code. +**Program Administrator**: Program administrators are employees of Google's Open Source Programs Office who run the program. These folks do a variety of tasks: select the participating open source projects each year, create and analyze the program evaluations, administer the program mailing lists, ensure that participants are paid. Program administrators do not select which student proposals are accepted into Google Summer of Code. More broadly, program administrators provide useful advice to both new and seasoned participants in a variety of areas, relying on their experience with the program and mentoring process. Not sure how to handle a disappearing student? Don't know which mailing list has the latest information on payments? Wondering how to best improve your organization's application for the program? Find a program administrator and ask away! @@ -54,7 +54,7 @@ Students submit project proposals to the various organizations participating in All of the program rules are enumerated in the GSoC Program Rules and Term documents each year. Provided all of the rules regarding eligibility for the program are followed, Google takes a fairly hands-off approach to GSoC. Each organization structures its participation in GSoC in whichever way makes the most sense for its technical and community needs. -**Organization Applications**: The GSoC program is announced each year on the [Google Open Source Blog](https://opensource.googleblog.com/) among other places, and this announcement provides application deadlines for projects. Each organization must apply to participate. Organizations usually have about 2 weeks to apply for the program. Google's program administrators then select which organizations will participate in that year's Google Summer of Code. +**Organization Applications**: The GSoC program is announced each year on the [Google Open Source Blog](https://opensource.googleblog.com/) among other places, and this announcement provides application deadlines for projects. Each organization must apply to participate. Organizations usually have about 3 weeks to apply for the program. Google's program administrators then select which organizations will participate in that year's Google Summer of Code. **Student Applications**: Students are encouraged to begin talking to the participating organizations as soon as the list of accepted organizations is published. Prior to the opening of applications, it is important to take some time to talk to potential student applicants. This helps them refine their ideas so that they will produce a better quality proposal. Each organization is asked to provide a proposal template, but the best student applications go far beyond the template and an organization's ideas list. Students are given about 2 weeks to complete their applications. @@ -70,6 +70,6 @@ Sometimes a student has proposals accepted by more than one organization. Google **Coding Ends**: At the final deadline for coding, students are welcome and encouraged to continue work on their projects, but only work done before this date can be evaluated. Google suggests that all work be complete about a week earlier to give the student time for last-minute improvements and corrections, as well as preparing their work for delivery. Students also need to submit mentor evaluations during this time and a link to their code. -It's a goal of Google Summer of Code that the student participants stick around long after the program has ended and continue contributing to their project communities. Great mentors continue working with their students to encourage them to do so. It's also customary during this time for organizations to publish a post-GSoC wrap up report. Mentors and students take a well-deserved break, but energetic organizations begin planning for the next GSoC during this time. +It's a primary goal of Google Summer of Code that the student participants stick around long after the program has ended and continue contributing to their project communities. Great mentors continue working with their students to encourage them to do so. It's also customary during this time for organizations to publish a post-GSoC wrap up report. Mentors and students take a well-deserved break, but energetic organizations begin planning for the next GSoC during this time. From 66b1b35b007dac1308a2a2a052e4516e67cae29a Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:47:11 -0700 Subject: [PATCH 012/212] Update 02-notes_for_first_year_organizations.md --- pages/mentor/02-notes_for_first_year_organizations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/02-notes_for_first_year_organizations.md b/pages/mentor/02-notes_for_first_year_organizations.md index 20bc9378..27eb29d1 100644 --- a/pages/mentor/02-notes_for_first_year_organizations.md +++ b/pages/mentor/02-notes_for_first_year_organizations.md @@ -26,7 +26,7 @@ Students, mentors, and slots: * Students are not experienced project members and will take longer to write code than the core team. Plan accordingly. -* Mentors should expect to spend about 4-5 hours a week for each student. Some weeks may be more, some weeks less. More time spent during the community bonding period and the first few weeks of the program have led to more successful and engaged students. +* Mentors should expect to spend about 2-3 hours a week for each student. Some weeks may be more, some weeks less. More time spent during the community bonding period and the first few weeks of the program have led to more successful and engaged students. * The mentor/student process is: From e31bd6cc3e130060d7b6688f8589fae514ab3d6c Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 20:57:37 -0700 Subject: [PATCH 013/212] Update 07-best_practices.md --- pages/mentor/07-best_practices.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/mentor/07-best_practices.md b/pages/mentor/07-best_practices.md index 53e1e772..c507bf94 100644 --- a/pages/mentor/07-best_practices.md +++ b/pages/mentor/07-best_practices.md @@ -10,13 +10,13 @@ Effective communication between mentor and student is absolutely vital to a succ **Share contact details**: Swap contact information with your student and org admin early on. If your contact information changes, be sure to tell people, and make sure your student does too. Be sure to keep the org admin informed about when you may be unavailable to your student, so that they are not caught unaware when your student contacts them. -You need to take care if you are planning a trip during the summer, especially if it is more than a few days, or near milestones in the GSoC timeline. If you coordinate with your student beforehand and give them sufficient work to chew on, it can go smoothly. What you don't want is for your student to be blocked on something while you are inaccessible and do nothing until you return. Make sure to give your student many different tasks to work on, so that she can work on something else if you are not available. This is a great time to utilize a secondary mentor to act as a backup in your absence. +You need to take care if you are planning a trip during the summer, especially if it is more than a few days, or near milestones in the GSoC timeline. If you coordinate with your student beforehand and give them sufficient work to chew on, it can go smoothly. What you don't want is for your student to be blocked on something while you are inaccessible and do nothing until you return. Make sure to give your student many different tasks to work on, so that she can work on something else if you are not available. This is a great time to utilize a secondary mentor to act as a backup in your absence. Be sure another mentor (or org admin) is available to complete the evaluation if you unavailable. **Choose communication channels**: Decide upfront how you are going to communicate with your student and what type of technology or medium you are going to use. Don't wait until mid-way through GSoC to figure out that one of you can't get your microphone working on your desktop for voice chat. It's good to make use of multiple means of communication, as different platforms can complement each other. Instant methods like IRC or IM or Slack channels are great for getting a quick answer or for interactive discussion, but require both parties to be available at once. Public communications are generally preferable to private ones. -Although many people prefer text-only communication, it is very helpful to talk on the phone or video-chat with your student at least once at the beginning of the program. Hearing a voice or seeing a face can help people feel more connected, creating a sense of mutual respect and responsibility. +Although some people prefer text-only communication, it is very helpful to talk on the phone or video-chat with your student at least once at the beginning of the program. Hearing a voice or seeing a face can help people feel more connected, creating a sense of mutual respect and responsibility. **Decide on the frequency of reports**: Discuss and decide the frequency and form of status reports upfront. Many organizations require students to deliver weekly status reports, some require daily reports. Make sure you clearly delineate in what format the reports should be delivered and what information needs to be included. Providing an outline or template can be helpful**.** @@ -34,7 +34,7 @@ Here are some ways to help your student understand that her question is valuable **Introduce your student to the community's communication style**: Many groups have developed codes of conduct, such as the [Fedora IRC Helpers Code of Conduct](http://fedoraproject.org/wiki/IRC_helpers_code_of_conduct), which help initiate new members and guide the interactions of existing members. You are encouraged to read the code of conduct and think about which issues and solutions might apply to your group. Please also check out [Google's Community guidelines](https://opensource.google/conduct/). -**Follow mailing list etiquette**: The GSoC mentors mailing list has more than 9000 subscribers. If you have a question for the Google team, mail gsoc-support@google.com instead of the list. Please take a moment to review list [etiquette](https://www.google.com/search?q=mailing+list+etiquette). +**Follow mailing list etiquette**: The GSoC mentors mailing list has more than 9500 subscribers. If you have a question for the Google team, mail gsoc-support@google.com instead of the list. Please take a moment to review list [etiquette](https://www.google.com/search?q=mailing+list+etiquette). **Address communication disconnects**: When working with people for the first time, a best practice is to assume that they do not mean any harm. If your student makes a comment via email that offends another member of the community, it's appropriate and constructive to speak up and address the issue. Assuming that the comment was the result of misunderstanding, rather a result of malice, allows you to ask questions and help your student adjust to your community's communication style. From 24ebcb450916c718451fb18f54c42eee390a95a8 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 21 Sep 2020 21:06:44 -0700 Subject: [PATCH 014/212] Update 15-special_circumstances.md --- pages/mentor/15-special_circumstances.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/15-special_circumstances.md b/pages/mentor/15-special_circumstances.md index e8f7b981..a53e807c 100644 --- a/pages/mentor/15-special_circumstances.md +++ b/pages/mentor/15-special_circumstances.md @@ -31,4 +31,4 @@ Evaluate the big picture. Students should only be passed for work they've already done, not work they might do. Failing a student who has a special circumstance isn't easy, but might be the right thing to do. -Note: Students must still complete their evaluation in order to be passed. +Note: Students must still complete their final evaluation in order to be passed. From 52948bbc460d4292a449984c02f98394b00a7a43 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 8 Oct 2020 11:18:57 -0700 Subject: [PATCH 015/212] Update 01-why_should_i_apply.md --- pages/student/01-why_should_i_apply.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pages/student/01-why_should_i_apply.md b/pages/student/01-why_should_i_apply.md index 8ada5360..e04aeeeb 100644 --- a/pages/student/01-why_should_i_apply.md +++ b/pages/student/01-why_should_i_apply.md @@ -14,11 +14,11 @@ GSoC is a place where you don't just get to apply your skills but also get to ac "GSoC is one of the best professional experience a student can have during his college years. I've participated twice already, but now I'm starting to regret I didn't do this every year! Awesome! Thank you Google! " -Evelina Vrabie, Sunlight Foundation, GSoc Student 2010 +Evelina Vrabie, Sunlight Foundation, GSoc Student "This is a big opportunity for all the students like us to use the things that we are learning in colleges in a practical manner. Thanks Google and all the mentoring organization for allocating your valuable time." -Kasun (Lakpriya) Hettige, Apache Software Foundation (ASF), GSoC Student 2010 +Kasun (Lakpriya) Hettige, Apache Software Foundation (ASF), GSoC Student **Sense of achievement** @@ -26,7 +26,7 @@ There is something very fulfilling about getting your first patch committed upst "I just want to say...it feels *awesome* when your first patch goes in. Really awesome. " -Mike Conley, Review Board, GSoC Student 2010 +Mike Conley, Review Board, GSoC Student **Hone your developer skills** @@ -34,7 +34,7 @@ Students who are already active developers can apply themselves to a specific pr "At this time one of the most memorable incident happened in my life, where my mentor proposed me as a committer, and my ambition to become an Apache committer finally became true. " -S. Suhothayan, ASF, GSoC Student 2010 +S. Suhothayan, ASF, GSoC Student **Getting involved and building your network** @@ -42,11 +42,11 @@ During the 12 weeks of writing good code, you interact and share ideas with some "Exciting and challenging. I met kind, knowledgeable and smart people all gathered in a single place, united, working for a single goal. " -José Luis Vergara Toloza, KDE, GSoC Student 2010 +José Luis Vergara Toloza, KDE, GSoC Student "Summer of Code is about much more than just code. The sheer fun of integrating with the open-source community and your mentoring organization can in fact outweigh the gratification of actual coding. " -Kamran Khan, Ubuntu, GSoC Student 2010 +Kamran Khan, Ubuntu, GSoC Student **Your spring-board to the open source world** @@ -54,7 +54,7 @@ GSoC is a great place to get you jump started and up to speed on the basics of t "GSoC 2010 was my first real foray into the Open Source World -- I had been teetering at just the edge of actual contribution for a few years, having tried out WordPress, etc. but had never actually ever submitted a patch, or released a project. " -Kunal Bhalla, WordPress, GSoC Student 2010 +Kunal Bhalla, WordPress, GSoC Student **For the love of code** From 1c2f3c9a2bf4a1d018c91713a2289cd084abf823 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Sun, 11 Oct 2020 19:42:01 -0700 Subject: [PATCH 016/212] Update 02-am_i_good_enough.md --- pages/student/02-am_i_good_enough.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/02-am_i_good_enough.md b/pages/student/02-am_i_good_enough.md index be5a71d8..d92672c5 100644 --- a/pages/student/02-am_i_good_enough.md +++ b/pages/student/02-am_i_good_enough.md @@ -10,7 +10,7 @@ Do you have *some* programming experience at the university level? Then, yes, yo "Although at first I was a little inexperienced in the world of mobile applications and a bit overwhelmed by the challenge, I can positively say that four months later I've gradually overcome all the obstacles. I had a great mentor, that's for sure!" -Evelina Vrabie, Romania, Android Project - GSoC 2010 +Evelina Vrabie, Romania, Android Project - GSoC student Every project has a different criteria for selecting students and subsequently different skill level requirements. If you meet the below list of general skills you are likely to find a GSoC project to which you can feel comfortable applying: From 263372a45c3ad25fb9558e8fe6c822e1dae6a013 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 12:30:57 -0700 Subject: [PATCH 017/212] Update 02-am_i_good_enough.md time commitment update --- pages/student/02-am_i_good_enough.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/02-am_i_good_enough.md b/pages/student/02-am_i_good_enough.md index d92672c5..a34117eb 100644 --- a/pages/student/02-am_i_good_enough.md +++ b/pages/student/02-am_i_good_enough.md @@ -40,9 +40,9 @@ Do you think you already know everything about everything in the world of open s If you don't know how to download and install packages on your own, you'll need to figure that out, stat. -**You have access to a functioning computer 30 hours a week** +**You have access to a functioning computer ~18 hours a week** -If your computer regularly dies, or you don't have dedicated access to a computer you'll need to figure that out before you start your project. Also, GSoC should be considered a full-time commitment. Don't expect an hour or two a day in an internet cafe to be enough! +If your computer regularly dies, or you don't have dedicated access to a computer you'll need to figure that out before you start your project. GSoC is a significant time commitment, don't expect an hour or two a day in an internet cafe to be enough! **You've got experience using the programming language and operating system of the project** From d7a353b6c03cf126438809294ca6816281419651 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 12:37:26 -0700 Subject: [PATCH 018/212] Update 06-writing_a_proposal.md updated full time commitment language --- pages/student/06-writing_a_proposal.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/student/06-writing_a_proposal.md b/pages/student/06-writing_a_proposal.md index ac0d15a6..af961750 100644 --- a/pages/student/06-writing_a_proposal.md +++ b/pages/student/06-writing_a_proposal.md @@ -11,11 +11,11 @@ This is a competitive program, each year Google turns down many more students th ## The Basics -First and foremost, make sure you meet Google's formal requirements for participation in Summer of Code. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. +First and foremost, make sure you meet Google's formal requirements for participation in Summer of Code. Also we sure you are eligible to participate in a program like GSoC with your visa, etc. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. -Inventory your time. Figure out how many hours per week are already spoken for outside of your GSoC commitment, including time spent volunteering for other projects and activities, and counting credit-hours of University instruction. GSoC should be treated as a full-time job. If you have more than a few hours a week of extra commitments, you probably should skip GSoC; it is unlikely that you will be successful. In any case, be completely clear about outside time commitments as part of your proposal. Do not surprise an organization with your time commitments later on. +Inventory your time. Figure out how many hours per week are already spoken for outside of your GSoC commitment, including time spent volunteering for other projects and activities, a part-time job or counting credit-hours of academic instruction. In any case, be completely clear about outside time commitments as part of your proposal. If you know you need to take a week off because of finals or a wedding, etc. be upfront with the mentors, we have added some flexibility into the 2021 program so this should be fine, you just need to let your mentor know as soon as you know the details. Do not surprise an organization with your time commitments later on. -Make sure that you are able to be in regular close contact with organization mentors via the usual open source means (email, chat, etc) for the duration of the Summer. It is not necessary that you be geographically near your mentor. However, if you are not sure you will have good Internet connectivity continuously over the summer, GSoC is not for you. +Make sure that you are able to be in regular close contact with organization mentors via the usual open source means (email, chat, etc) for the duration of the summer. It is not necessary (or likely possible) that you be geographically near your mentor. However, if you are not sure you will have good Internet connectivity continuously over the summer, GSoC is not for you. This program is the Google Summer of *Code.* If you are less than fluent in the programming languages that your target organization uses, you might want to skip the work of writing an application. If you do decide to proceed, be clear about your level of ability, so that the organization can make an informed decision. From 8d8b83a9ad761ff4d6d17452c47effa2d4ce1603 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 12:41:02 -0700 Subject: [PATCH 019/212] Update 08-how_gsoc_works.md --- pages/student/08-how_gsoc_works.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/student/08-how_gsoc_works.md b/pages/student/08-how_gsoc_works.md index 427e8c59..30090900 100644 --- a/pages/student/08-how_gsoc_works.md +++ b/pages/student/08-how_gsoc_works.md @@ -6,15 +6,15 @@ permalink: student/how-gsoc-works.html sidebar: student_sidebar --- -Google Summer of Code moves in phases after you are accepted. The first phase is the Community Bonding Period in which you get to know your community and get familiar with their code base and work style. The next phase is the initial phase of coding (Phase 1) which is evaluated with Phase 1 evaluation a month into the Google Summer of Code term. The second phase (Phase 2) is evaluated two months into the program coding period. The final phase is your time to complete your project. There will be a final evaluation at the end of the term; you will also need to submit a URL to your work product. +Google Summer of Code moves in phases after you are accepted. The first phase is the Community Bonding Period in which you get to know your community and get familiar with their code base and work style. The next phase is the initial phase of coding (Phase 1) which is evaluated with Phase 1 evaluation 5 weeks into the Google Summer of Code term. The final phase is your time to complete your project (the last 5 weeks of the program). There will be a final evaluation at the end of the term; you will also need to submit a URL to your work product. **Evaluations** -Evaluations are not as daunting as they may sound. This is an opportunity for you to evaluate your mentor and your mentor to evaluate you, not a quiz on your coding abilities. Some mentors even choose to review their evaluations afterward with the student in order to integrate the feedback into the coding process for the rest of the term. Be honest about your experiences with the program. This helps GSoC improve in future years. Remember, you must complete your evaluation of your mentor at each phase or you will receive an automatic fail. +Evaluations are not as daunting as they may sound. This is an opportunity for you to evaluate your mentor and your mentor to evaluate you, not a quiz on your coding abilities. Some mentors even choose to review their evaluations afterward with the student in order to integrate the feedback into the coding process for the rest of the term. Be honest about your experiences with the program. This helps GSoC improve in future years. Remember, you must complete your evaluation of your mentor at the final phase or you will receive an automatic fail. **Payments** -Payment is in three pieces. The first payment is sent shortly after you pass the Phase 1 evaluation. The second payment is sent after you have passed the Phase 2 evaluation; the final payment is sent once you pass your final evaluation. All of these payments take a few business days to become active on your card or in your bank account if you choose direct deposit. +Payment is in two pieces. The first payment is sent shortly after you pass the Phase 1 evaluation. The final payment is sent once you pass your final evaluation. Both of these payments take a few business days to become active on your card or in your bank account if you choose direct deposit. **Certificate of Completion** @@ -29,7 +29,7 @@ There are four roles in the Google Summer of Code program: **Student** -This is you! A student participant in GSoC is typically a college or university student; the only academic requirement is that the accepted applicants be enrolled in an accredited academic institution. Students must be at least 18 years of age to participate. Students come from a variety of academic backgrounds, and though most students are enrolled in a Computer Science program there is no requirement that they be studying CS. Past students have come from disciplines as varied as Ecology, Medicine, and Music. +This is you! A student participant in GSoC is typically a college or university student; the only academic requirement is that the accepted applicants be enrolled in a post-secondary academic program. Students must be at least 18 years of age to participate. Students come from a variety of academic backgrounds, and though most students are enrolled in some sort of Computer Science program there is no requirement that they be studying CS. Past students have come from disciplines as varied as Ecology, Medicine, and Music. **Organization Administrator** From 6722354aa1f41bbaa41b25080e5ca52b74c3a4c4 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 12:43:55 -0700 Subject: [PATCH 020/212] Update 14-time_management_for_students.md --- pages/student/14-time_management_for_students.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/student/14-time_management_for_students.md b/pages/student/14-time_management_for_students.md index a7f355b6..36edbb43 100644 --- a/pages/student/14-time_management_for_students.md +++ b/pages/student/14-time_management_for_students.md @@ -6,17 +6,17 @@ permalink: student/time-management-for-students.html sidebar: student_sidebar --- -Well, 12 weeks isn't a lot of time to write all the code and have all the fun that you're supposed to have during GSoC. Efficient time management goes a long way in helping you make the most of your GSoC experience. Even though Google puts out a timeline for making sure that things do happen on time, you and your mentor should come up with a custom time line that fits in well with your project requirements and also with your plans for the summer. +Well, 10 weeks isn't a lot of time to write all the code and have all the fun that you're supposed to have during GSoC. Efficient time management goes a long way in helping you make the most of your GSoC experience. Even though Google puts out a timeline for making sure that things do happen on time, you and your mentor should come up with a custom time line that fits in well with your project requirements and also with your plans for the summer. The following are some suggestions that can help you to manage your time well: **Community Bonding Period** -There's already a complete section in the manual on this. (It is *that *important.) Use this time to get familiar with your community, setup your development environment and get an early start on the code development. This is time where you're getting to know your mentor and other students. Chat with them on IRC, ask questions and share ideas on projects and get ready to begin the fun ride ahead. +There's already a complete section in the guide on this. (It is *that* important.) Use this time to get familiar with your community, setup your development environment and get an early start on the code development. This is time where you're getting to know your mentor and other students. Chat with them on IRC, ask questions and share ideas on projects and get ready to begin the fun ride ahead. **Be upfront about your time commitment** -GSoC needs an investment of about 30 hours a week. If you know in advance that you'll need to take a couple of days of vacation/break during the Summer of Code, you should communicate that with your mentor beforehand and plan to make up for lost days. +GSoC needs an investment of about 18 hours a week. If you know in advance that you'll need to take a few days of vacation/break during the Summer of Code, you should communicate that with your mentor beforehand and plan to make up for lost days. You and your mentor have the opportunity to add some flexibility into your 10 week schedule, you both will need to agree on any planned breaks, etc. **Regular meetings with your mentor** From a35565abc8ce56a3e96f71e7e13edf0a34bf74bb Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 12:47:05 -0700 Subject: [PATCH 021/212] Update 15-evaluations.md --- pages/student/15-evaluations.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/15-evaluations.md b/pages/student/15-evaluations.md index 1a39420b..c2699056 100644 --- a/pages/student/15-evaluations.md +++ b/pages/student/15-evaluations.md @@ -6,7 +6,7 @@ permalink: student/evaluations.html sidebar: student_sidebar --- -Evaluations occur three times (after the first, second and third months of coding). They are your opportunity to evaluate your mentor and your mentoring organization's performance. This is also your mentor's opportunity to evaluate you. +Evaluations occur two times (after 5 weeks and at the end of the 10th week of the coding period). They are your opportunity to evaluate your mentor and your mentoring organization's performance. This is also your mentor's opportunity to evaluate you. The pass or fail decision from an evaluation should not come as a surprise. You and your mentor will already be communicating, and you should be discussing the quality of your code, your participation in the community and your progress on your project to that point. If you aren't getting this feedback, ask for it. @@ -19,7 +19,7 @@ Evaluations are administered via the webapp you used to submit your project prop Your evaluations are only visible to your mentoring org admins and program administrators from Google. In some cases, Google's program administrators may need to share some details of evaluations with you and your mentor. This may happen, for example, when evaluations indicate a payment should not be made. -If you do not submit an evaluation, you fail and will be removed from the program. Similarly, failing an evaluation means you are immediately removed from the GSoC program. +You are encouraged to complete both evaluations but you are only required to complete the final evaluation, if you do not complete the final evaluation which also includes your link to your work product you will fail the program. Failing an evaluation means you are immediately removed from the GSoC program. ## Final Evaluations and Work Product Submission From ff870eb80cd9768997ce263bab407f6ef304ae5e Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 12:56:40 -0700 Subject: [PATCH 022/212] Update 04-defining_a_project__ideas_list.md --- pages/mentor/04-defining_a_project__ideas_list.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pages/mentor/04-defining_a_project__ideas_list.md b/pages/mentor/04-defining_a_project__ideas_list.md index caa6af25..d80c5436 100644 --- a/pages/mentor/04-defining_a_project__ideas_list.md +++ b/pages/mentor/04-defining_a_project__ideas_list.md @@ -20,13 +20,14 @@ One strategy is to leave an opening for students to propose their own original p Note that the quality of the project descriptions on an organization's "Ideas list" is the main criterion for the organization's admittance into GSoC. It is worth spending some extra effort to ensure that the projects you propose are worthy of the GSoC banner. -When Google Administrators review the hundreds of organization applications one of the main things they look at is the quality of the Ideas list. An Ideas list should follow these guidelines: +When Google Administrators review the hundreds of organization applications the primary thing they look at is the quality of the Ideas list. An Ideas list should follow these guidelines: 1. Each project on the Ideas list should include: a) a project title/description b) more detailed description of the project (2-5 sentences) c) expected outcomes d) skills required/preferred e) possible mentors. And if possible, an easy, medium or hard rating of each project. +1. Projects should take ~175 hours for students to complete. We understand some students will take less time (if they have more knowledge of the topic or codebase) while other students could spend more time. 1. Have multiple ideas. Even if you are a new organization and only want one or two students showing that you have multiple ideas (a bare minimum of 4 solid ideas) is vital. And for an organization hoping for 4 or more students you should have at least 8-10 ideas and having them categorized is a nice touch if you have subcategories of topics within your project. 1. Make it easy for Administrators to find your Ideas list. When reviewing many hundreds of organizations Program Admins can only spend a certain amount of time looking for your Ideas list. Many organizations are rejected because Program Admins couldn't find the actual Ideas list because the URL the org gave had a bunch of other unrelated information on it and wasn't clear where to find the actual Ideas list. 1. Make sure to update your Project Ideas. Even if you plan to use some of the ideas that weren't chosen from a previous year at least put effort into changing the page to say 20XX Ideas list. It is not encouraging for Program Admins to see an outdated list. It also makes it seem like your project might be stale as you don't have new ideas for students to work on if it still shows ideas from the previous year or even two years before and is marked as such. -1. **Never link to just a bug tracker**. This is almost always an automatic rejection. When Admins open the issue tracker if there is an expanded description of the project with the items listed in #1 above that is acceptable. If an org can't take the time to create a document or a page with their Ideas List fleshed out then why would Google expect they would be willing to mentor students for 5 hours a week for the next 4 months? +1. **Never link to just a bug tracker**. This is almost always an automatic rejection. When Admins open the issue tracker if there is an expanded description of the project with the items listed in #1 above that is acceptable. If an org can't take the time to create a document or a page with their Ideas List fleshed out then why would Google expect they would be willing to mentor students for 3 hours a week for the next 3 months? 1. Don't be vague about the ideas. Be sure to write a few sentences describing what you need accomplished and not just an overall theoretical version of what you might want. 1. Be sure the URL you link to for your Ideas list works. Have someone else test it as well before you submit your application. Sometimes people don't have permissions set correctly or paste an incorrect URL which will also mean a rejection. From 0d6e43eae2bdc3bc09ae7bfee18f0ef2763d8cc0 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 12:59:00 -0700 Subject: [PATCH 023/212] Update 10-mind_the_gap.md --- pages/mentor/10-mind_the_gap.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/mentor/10-mind_the_gap.md b/pages/mentor/10-mind_the_gap.md index ac7b59fd..6a3dfa15 100644 --- a/pages/mentor/10-mind_the_gap.md +++ b/pages/mentor/10-mind_the_gap.md @@ -6,14 +6,14 @@ permalink: mentor/mind-the-gap.html sidebar: mentor_sidebar --- -The community bonding period is the 3-4 weeks between GSoC student acceptance and the start of coding date. Here are some of the goals of this period: +The community bonding period is the 3 weeks between GSoC student acceptance and the start of coding date. Here are some of the goals of this period: * Prepare students to immediately start writing code at the official start of coding. * Get students engaged socially in the project. * Provide time for students to learn about the development practices of the organization. * Ensure that students have a development environment set up. This includes getting set up with the project version control system and reading up on necessary documentation. -* Further refine the strategic plan for project completion. Be sure to have solid requirements for all phases particularly the end of the first phase so there is no confusion between your expectations and the student's. Other milestones for phase 2 and the final phase can be adjusted by discussing with the student as needed. -* Get required forms filled out, such as the tax forms required by Google, any contributor license agreements, and any paperwork that your project requires. +* Further refine the strategic plan for project completion. Be sure to have solid requirements for both phases particularly the end of the first phase so there is no confusion between your expectations and the student's. Other milestones for the final phase can be adjusted by discussing with the student as needed. +* This is a time for the student to get required forms filled out, such as the tax forms required by Google, any contributor license agreements, and any paperwork that your project requires. This period was added in 2007 to help students integrate with their development community and so encourage them to become lifetime contributors. New contributors to a project outside of GSoC often lurk in a project's IRC channel and/or mailing lists for weeks or months before submitting their first patch. The community bonding period is an attempt to improve that experience. From d3efefaa0a33b470d799f457649b815708907895 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 13:01:51 -0700 Subject: [PATCH 024/212] Update 14-evaluations.md --- pages/mentor/14-evaluations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/mentor/14-evaluations.md b/pages/mentor/14-evaluations.md index 28870059..1f22c500 100644 --- a/pages/mentor/14-evaluations.md +++ b/pages/mentor/14-evaluations.md @@ -12,11 +12,11 @@ Unlike code critique, which happens openly on mailing lists or other public foru There are four types of evaluations: -**Student evaluations**: Each student fills out three evaluations (after 4 weeks of coding, 8 weeks of coding, and at the end of the 12 week program) pertaining to their experience and their interaction with mentors. +**Student evaluations**: Each student fills out two evaluations: after 5 weeks of coding and at the end of the 10 week program, pertaining to their experience and their interaction with mentors. -**Mentor evaluations**: Mentor fills out three evaluations after 4 weeks of coding, 8 weeks of coding, and at the end of the 12 week program) covering their participation and their student's performance. If there are multiple mentors, only one mentor will complete the evaluation (decide amongst yourselves who that will be beforehand). +**Mentor evaluations**: Mentor fills out two evaluations: after 5 weeks of coding and at the end of the 10 week coding period, covering their participation and their student's performance. If there are multiple mentors, only one mentor will complete the evaluation (decide amongst yourselves who that will be beforehand). -These are provided online by Google at specified times with deadlines. The deadlines are important for organizing the payments to students based on the pass/fail decisions by their mentors, so you must ensure that you complete your evaluations on time. Remember, if a student fails any evaluation, they will no longer be part of the program and will not receive any more payments from Google. +These are provided online by Google at specified times with deadlines. The deadlines are important for organizing the payments to students based on the pass/fail decisions by their mentors, so you must ensure that you complete your evaluations on time. Remember, if a student fails to any evaluation, they will no longer be part of the program and will not receive any more payments from Google. ## They Won't Know Unless You Tell Them From 994924299ee12af4ae7a84610a10f860135ca437 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 13:03:15 -0700 Subject: [PATCH 025/212] Update 18-making_your_ideas_page.md --- pages/mentor/18-making_your_ideas_page.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/18-making_your_ideas_page.md b/pages/mentor/18-making_your_ideas_page.md index 7ce456e5..6078b988 100644 --- a/pages/mentor/18-making_your_ideas_page.md +++ b/pages/mentor/18-making_your_ideas_page.md @@ -10,7 +10,7 @@ It all begins with the "Ideas Page". This is where you compile a list of possibl Depending on how your organization operates, the source of material for your Ideas Page may come from an existing list of projects maintained by your community year-round, from potential mentors as they are recruited, or from the org admin. Regardless of how it is generated, an Ideas Page should have the following: -* Brief descriptions of projects that can be completed in about 12 weeks. +* Brief descriptions of projects that can be completed in about 10 weeks and requiring about 175 hours of the average student's time. * For each project, a list of prerequisites, description of programming skills needed and estimation of difficulty level. * A list of potential mentors. * It must NOT be a link to your bug tracker. From f6d52adf8ad812923d11eaf5b67d722c41b4d557 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 22 Oct 2020 13:06:13 -0700 Subject: [PATCH 026/212] Update 20-org_application.md --- pages/mentor/20-org_application.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/mentor/20-org_application.md b/pages/mentor/20-org_application.md index 3869a112..c3203c04 100644 --- a/pages/mentor/20-org_application.md +++ b/pages/mentor/20-org_application.md @@ -13,7 +13,7 @@ The most important part of GSoC is providing the students an excellent experienc ## The Ideas Page -The ideas page is the most important part of the organization application. Please see the Ideas Page chapter of this guide for more information. +The ideas page is the most important part of the organization application. Please see the Ideas Page chapter of this guide for more information. Be sure to adjust any project ideas from 2020 or before to adjust for the smaller scope and time allowances for 2021 (175 hours for 2021 versus 350 hours for 2020 and before). ## Past Success @@ -33,7 +33,7 @@ Incomplete applications are common and result in an automatic rejection by Googl ## Just Because You Did Everything Right... -...doesn't mean you'll be accepted. Every year Google receives many more applications for organizations that want to participate in GSoC than it has capacity to accommodate. Some of the decisions about which organizations are accepted and which aren't come down entirely to space available in the program. Google receives 475+ applications from open source organizations each year that wish to be a part of GSoC and usually only accept between 180-200 organization applications. Thus more than 50% of the organizations that apply each year will be rejected. +...doesn't mean you'll be accepted. Every year Google receives many more applications for organizations that want to participate in GSoC than it has capacity to accommodate. Some of the decisions about which organizations are accepted and which aren't come down entirely to space available in the program. Google receives 500+ applications from open source organizations each year that wish to be a part of GSoC and usually only accept around 200 organization applications. Thus more than 50% of the organizations that apply each year will be rejected. ## A Note on Umbrella Orgs From 321c0117cd8d173bc1ae8b8bd11594bd4d8d9141 Mon Sep 17 00:00:00 2001 From: has12zen <57583693+has12zen@users.noreply.github.com> Date: Tue, 17 Nov 2020 10:59:44 +0530 Subject: [PATCH 027/212] fixed grammar error in 06-writing_a_proposal.md changed we to be in The basics --- pages/student/06-writing_a_proposal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/06-writing_a_proposal.md b/pages/student/06-writing_a_proposal.md index af961750..1c40d403 100644 --- a/pages/student/06-writing_a_proposal.md +++ b/pages/student/06-writing_a_proposal.md @@ -11,7 +11,7 @@ This is a competitive program, each year Google turns down many more students th ## The Basics -First and foremost, make sure you meet Google's formal requirements for participation in Summer of Code. Also we sure you are eligible to participate in a program like GSoC with your visa, etc. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. +First and foremost, make sure you meet Google's formal requirements for participation in Summer of Code. Also be sure you are eligible to participate in a program like GSoC with your visa, etc. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. Inventory your time. Figure out how many hours per week are already spoken for outside of your GSoC commitment, including time spent volunteering for other projects and activities, a part-time job or counting credit-hours of academic instruction. In any case, be completely clear about outside time commitments as part of your proposal. If you know you need to take a week off because of finals or a wedding, etc. be upfront with the mentors, we have added some flexibility into the 2021 program so this should be fine, you just need to let your mentor know as soon as you know the details. Do not surprise an organization with your time commitments later on. From 3cb0337ed685e548982f52fced6a221df616ea66 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Tue, 5 Jan 2021 11:15:49 -0800 Subject: [PATCH 028/212] Run `bundle update` to deal with (low severity) nokogiri vuln. --- Gemfile.lock | 65 +++++++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e2624b93..59e0eb7d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.3.2) + activesupport (6.0.3.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -17,37 +17,40 @@ GEM commonmarker (0.17.13) ruby-enum (~> 0.5) concurrent-ruby (1.1.7) - dnsruby (1.61.4) + dnsruby (1.61.5) simpleidn (~> 0.1) - em-websocket (0.5.1) + em-websocket (0.5.2) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) ethon (0.12.0) ffi (>= 1.3.0) eventmachine (1.2.7) execjs (2.7.0) - faraday (1.0.1) + faraday (1.3.0) + faraday-net_http (~> 1.0) multipart-post (>= 1.2, < 3) - ffi (1.13.1) + ruby2_keywords + faraday-net_http (1.0.0) + ffi (1.14.2) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (207) + github-pages (209) github-pages-health-check (= 1.16.1) jekyll (= 3.9.0) jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) jekyll-commonmark-ghpages (= 0.1.6) jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.13.0) + jekyll-feed (= 0.15.1) jekyll-gist (= 1.5.0) jekyll-github-metadata (= 2.13.0) - jekyll-mentions (= 1.5.1) + jekyll-mentions (= 1.6.0) jekyll-optional-front-matter (= 0.3.2) jekyll-paginate (= 1.1.0) jekyll-readme-index (= 0.3.0) - jekyll-redirect-from (= 0.15.0) + jekyll-redirect-from (= 0.16.0) jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.1) + jekyll-remote-theme (= 0.4.2) jekyll-sass-converter (= 1.5.2) jekyll-seo-tag (= 2.6.1) jekyll-sitemap (= 1.4.0) @@ -55,7 +58,7 @@ GEM jekyll-theme-architect (= 0.1.1) jekyll-theme-cayman (= 0.1.1) jekyll-theme-dinky (= 0.1.1) - jekyll-theme-hacker (= 0.1.1) + jekyll-theme-hacker (= 0.1.2) jekyll-theme-leap-day (= 0.1.1) jekyll-theme-merlot (= 0.1.1) jekyll-theme-midnight (= 0.1.1) @@ -66,14 +69,14 @@ GEM jekyll-theme-tactile (= 0.1.1) jekyll-theme-time-machine (= 0.1.1) jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.11.1) + jemoji (= 0.12.0) kramdown (= 2.3.0) kramdown-parser-gfm (= 1.1.0) liquid (= 4.0.3) mercenary (~> 0.3) minima (= 2.5.1) nokogiri (>= 1.10.4, < 2.0) - rouge (= 3.19.0) + rouge (= 3.23.0) terminal-table (~> 1.4) github-pages-health-check (1.16.1) addressable (~> 2.3) @@ -114,14 +117,14 @@ GEM rouge (>= 2.0, < 4.0) jekyll-default-layout (0.1.4) jekyll (~> 3.0) - jekyll-feed (0.13.0) + jekyll-feed (0.15.1) jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) jekyll-github-metadata (2.13.0) jekyll (>= 3.4, < 5.0) octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.5.1) + jekyll-mentions (1.6.0) html-pipeline (~> 2.3) jekyll (>= 3.7, < 5.0) jekyll-optional-front-matter (0.3.2) @@ -129,14 +132,15 @@ GEM jekyll-paginate (1.1.0) jekyll-readme-index (0.3.0) jekyll (>= 3.0, < 5.0) - jekyll-redirect-from (0.15.0) + jekyll-redirect-from (0.16.0) jekyll (>= 3.3, < 5.0) jekyll-relative-links (0.6.1) jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.1) + jekyll-remote-theme (0.4.2) addressable (~> 2.0) jekyll (>= 3.5, < 5.0) - rubyzip (>= 1.3.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) jekyll-seo-tag (2.6.1) @@ -153,8 +157,8 @@ GEM jekyll-theme-dinky (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.1.1) - jekyll (~> 3.5) + jekyll-theme-hacker (0.1.2) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) jekyll-theme-leap-day (0.1.1) jekyll (~> 3.5) @@ -188,7 +192,7 @@ GEM jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.11.1) + jemoji (0.12.0) gemoji (~> 3.0) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) @@ -197,32 +201,35 @@ GEM kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) - listen (3.2.1) + listen (3.4.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.4.0) + mini_portile2 (2.5.0) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.14.2) multipart-post (2.1.1) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) - octokit (4.18.0) + nokogiri (1.11.0) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) + octokit (4.20.0) faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (3.1.1) + racc (1.5.2) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.4) - rouge (3.19.0) + rouge (3.23.0) ruby-enum (0.8.0) i18n + ruby2_keywords (0.0.2) rubyzip (2.3.0) safe_yaml (1.0.5) sass (3.7.4) @@ -240,13 +247,13 @@ GEM thread_safe (0.3.6) typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.7) + tzinfo (1.2.9) thread_safe (~> 0.1) unf (0.1.4) unf_ext unf_ext (0.0.7.7) unicode-display_width (1.7.0) - zeitwerk (2.4.0) + zeitwerk (2.4.2) PLATFORMS ruby From e220b91e594674ce752e94ef3b423cbde425a87f Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Fri, 29 Jan 2021 17:26:16 -0800 Subject: [PATCH 029/212] Update 00-what_is_google_summer_of_code.md added info on 175 hour schedule flexibility for 2021 --- pages/mentor/00-what_is_google_summer_of_code.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/mentor/00-what_is_google_summer_of_code.md b/pages/mentor/00-what_is_google_summer_of_code.md index f3bf0920..62cf05b3 100644 --- a/pages/mentor/00-what_is_google_summer_of_code.md +++ b/pages/mentor/00-what_is_google_summer_of_code.md @@ -64,7 +64,9 @@ Organizations may also conduct further interviews to determine which students ar Sometimes a student has proposals accepted by more than one organization. Google leaves it to the organizations to decide which organization the student will work with during the course of the program. -**Community Bonding Period**: Before students are expected to start working, there is a three-four week period built into the program to allow them to get up to speed without the pressure to execute on their proposals. During this time, students are expected to get to know their project communities and participate in project discussion. During this time, students should also set up their development environments, learn how their project's source control works, refine their project plans, read any necessary documentation, and otherwise prepare to complete their project proposals. Mentors should spend this time helping their students understand which resources will be most useful to them, introducing them to the members of the community who will be most helpful with their projects, and generally acculturating them. +**Community Bonding Period**: Before students are expected to start working, there is a three-four week period built into the program to allow them to get up to speed without the pressure to execute on their proposals. During this time, students are expected to get to know their project communities and participate in project discussion. During this time, students should also set up their development environments, learn how their project's source control works, refine their project plans, read any necessary documentation, and otherwise prepare to complete their project proposals. Mentors should spend this time helping their students understand which resources will be most useful to them, introducing them to the members of the community who will be most helpful with their projects, and generally acculturating them. + +For 2021 there is increased flexibility in the planning for the milestones - students have 10 weeks to complete their 175 hour project. This opens it up for the student and mentor to decide together how they want to break up the project. Some folks may choose to stick to a 17-18 hour a week schedule with their students, others may factor in a couple of breaks during the program (for student and mentor) and some may have students focus 30 hours a week on their project so they wrap up in 6 weeks. This also makes it a lot easier for students with finals or other commitments (weddings, etc.) to adjust their schedules. But the most important thing to remember is that both the student and mentor should agree on a schedule and sign off on it early on during the community bonding period so there is no confusion later on. **Start of Coding**: Start of coding is the date the program officially begins; students are expected to start executing on their project proposals. At this point, students should begin regular check-ins and regular patch submissions. From 8778755400b04b13865b170b0e73c28e99be474d Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Fri, 29 Jan 2021 17:38:05 -0800 Subject: [PATCH 030/212] Update 05-selecting_a_student.md add link to tips for finding best student for your org --- pages/mentor/05-selecting_a_student.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/mentor/05-selecting_a_student.md b/pages/mentor/05-selecting_a_student.md index c0c9d0e1..ecaf7861 100644 --- a/pages/mentor/05-selecting_a_student.md +++ b/pages/mentor/05-selecting_a_student.md @@ -26,7 +26,9 @@ Students should want to participate because they have something to contribute to There are some student qualifications that are important for any successful GSoC experience. The student needs to be technically skilled, needs to have good communication skills, and needs to be a hard worker with sufficient available time to succeed. Given only a brief application document and some tiny amount of remote interaction, determining whether a student has the necessary qualifications is exceedingly difficult. Hopefully the organization has an application process in place that helps. However, as a mentor you will normally be expected to assist in the evaluation that will ultimately decide who gets accept to GSoC from your organization. -You have several techniques at your disposal for helping your organization evaluate students. First and foremost, your expertise is key in evaluating student proposals. Is a given proposal technically realistic? Is it useful to the organization? Does it meet the organization's overall goals for GSoC? +You have several techniques at your disposal for helping your organization evaluate students. First and foremost, your expertise is key in evaluating student proposals. Is a given proposal technically realistic? Is it useful to the organization? Does it meet the organization's overall goals for GSoC? + +Check out [Tips for finding the 'right' GSoC student for your org](https://docs.google.com/document/d/1HrCuijYNfDZGaQ9Eyp0HQ6iXuELRmDSimrSkrJRtwug/edit?usp=sharing), compiled by mentors and org admins. Some of the student applications your organization receives will be obvious winners, about which little discussion is needed. Many more will be obvious losers that need no discussion at all. Applications that fail to conform to the organization submission rules, are extremely short, or are difficult to read or understand almost inevitably come from students who would fail miserably if accepted. The middle ground in student applications is where the action is. There are several techniques for assessing these promising but troubled applications: From 1d1add58418ea1c0c00cc003bf44804ed9b2c3df Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Fri, 29 Jan 2021 18:31:01 -0800 Subject: [PATCH 031/212] Update 14-evaluations.md Info on 2021 scheduling flexibility for students, firm evals --- pages/mentor/14-evaluations.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pages/mentor/14-evaluations.md b/pages/mentor/14-evaluations.md index 1f22c500..8243dfb5 100644 --- a/pages/mentor/14-evaluations.md +++ b/pages/mentor/14-evaluations.md @@ -10,7 +10,7 @@ Evaluations are a critical component of the GSoC program. Throughout the program Unlike code critique, which happens openly on mailing lists or other public forums, performance evaluations are personal in nature. Delivering the mentor-student evaluations should be done privately. And more generally, remember the maxim: criticize in private, praise in public. -There are four types of evaluations: +There are two types of evaluations: **Student evaluations**: Each student fills out two evaluations: after 5 weeks of coding and at the end of the 10 week program, pertaining to their experience and their interaction with mentors. @@ -18,6 +18,9 @@ There are four types of evaluations: These are provided online by Google at specified times with deadlines. The deadlines are important for organizing the payments to students based on the pass/fail decisions by their mentors, so you must ensure that you complete your evaluations on time. Remember, if a student fails to any evaluation, they will no longer be part of the program and will not receive any more payments from Google. +For 2021, we have added more flexibility into the scheduling of student's work - they have 10 weeks to complete their 175 hour project. This means students can work on their project an average of 17.5 hours each week of the 10 week program or they can work more hours certain weeks and then have some days/ weeks off as their exams/personal commitments occur. The main point to consider is that the mentor and student need to discuss the planned breaks and expectations early on - during the community bonding period to make sure they are on the same page. + +While there is more flexibility for scheudling for 2021, the first and final evaluation deadlines remain the same and can not be changed. What this essentially means is that students will be expected to complete 40-50% of their project by the first evaluation which is the halfway point of the program (at the end of 5 weeks of coding) if they want to pass their evaluation. Also if a student completes their project 6 weeks into the 10 week GSoC 2021 program, that's great, but they still have to log back into their GSoC dashboard during the final evaluation period (week 10) to submit their final evaluation and work product URL in order to pass the program. ## They Won't Know Unless You Tell Them From 29e698d7a63c9142c11caf958122864b9dba8dd2 Mon Sep 17 00:00:00 2001 From: Lucas Charles Date: Thu, 4 Mar 2021 15:54:37 -0800 Subject: [PATCH 032/212] docs: Fix typo in mentor evaluations guide s/scheudling/scheduling --- pages/mentor/14-evaluations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/14-evaluations.md b/pages/mentor/14-evaluations.md index 8243dfb5..34b1d2e6 100644 --- a/pages/mentor/14-evaluations.md +++ b/pages/mentor/14-evaluations.md @@ -20,7 +20,7 @@ These are provided online by Google at specified times with deadlines. The deadl For 2021, we have added more flexibility into the scheduling of student's work - they have 10 weeks to complete their 175 hour project. This means students can work on their project an average of 17.5 hours each week of the 10 week program or they can work more hours certain weeks and then have some days/ weeks off as their exams/personal commitments occur. The main point to consider is that the mentor and student need to discuss the planned breaks and expectations early on - during the community bonding period to make sure they are on the same page. -While there is more flexibility for scheudling for 2021, the first and final evaluation deadlines remain the same and can not be changed. What this essentially means is that students will be expected to complete 40-50% of their project by the first evaluation which is the halfway point of the program (at the end of 5 weeks of coding) if they want to pass their evaluation. Also if a student completes their project 6 weeks into the 10 week GSoC 2021 program, that's great, but they still have to log back into their GSoC dashboard during the final evaluation period (week 10) to submit their final evaluation and work product URL in order to pass the program. +While there is more flexibility for scheduling for 2021, the first and final evaluation deadlines remain the same and can not be changed. What this essentially means is that students will be expected to complete 40-50% of their project by the first evaluation which is the halfway point of the program (at the end of 5 weeks of coding) if they want to pass their evaluation. Also if a student completes their project 6 weeks into the 10 week GSoC 2021 program, that's great, but they still have to log back into their GSoC dashboard during the final evaluation period (week 10) to submit their final evaluation and work product URL in order to pass the program. ## They Won't Know Unless You Tell Them From 290db1541efc087cbf40814b64e74266630b4d9d Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Tue, 30 Mar 2021 11:49:22 -0700 Subject: [PATCH 033/212] Update dependencies. (bundle update) --- Gemfile.lock | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 59e0eb7d..7d3396e8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.3.4) + activesupport (6.0.3.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -16,7 +16,7 @@ GEM colorator (1.1.0) commonmarker (0.17.13) ruby-enum (~> 0.5) - concurrent-ruby (1.1.7) + concurrent-ruby (1.1.8) dnsruby (1.61.5) simpleidn (~> 0.1) em-websocket (0.5.2) @@ -30,12 +30,12 @@ GEM faraday-net_http (~> 1.0) multipart-post (>= 1.2, < 3) ruby2_keywords - faraday-net_http (1.0.0) - ffi (1.14.2) + faraday-net_http (1.0.1) + ffi (1.15.0) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (209) - github-pages-health-check (= 1.16.1) + github-pages (213) + github-pages-health-check (= 1.17.0) jekyll (= 3.9.0) jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) @@ -50,9 +50,9 @@ GEM jekyll-readme-index (= 0.3.0) jekyll-redirect-from (= 0.16.0) jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.2) + jekyll-remote-theme (= 0.4.3) jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.6.1) + jekyll-seo-tag (= 2.7.1) jekyll-sitemap (= 1.4.0) jekyll-swiss (= 1.0.0) jekyll-theme-architect (= 0.1.1) @@ -76,13 +76,13 @@ GEM mercenary (~> 0.3) minima (= 2.5.1) nokogiri (>= 1.10.4, < 2.0) - rouge (= 3.23.0) + rouge (= 3.26.0) terminal-table (~> 1.4) - github-pages-health-check (1.16.1) + github-pages-health-check (1.17.0) addressable (~> 2.3) dnsruby (~> 1.60) octokit (~> 4.0) - public_suffix (~> 3.0) + public_suffix (>= 2.0.2, < 5.0) typhoeus (~> 1.3) html-pipeline (2.14.0) activesupport (>= 2) @@ -136,15 +136,15 @@ GEM jekyll (>= 3.3, < 5.0) jekyll-relative-links (0.6.1) jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.2) + jekyll-remote-theme (0.4.3) addressable (~> 2.0) jekyll (>= 3.5, < 5.0) jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) rubyzip (>= 1.3.0, < 3.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-seo-tag (2.6.1) - jekyll (>= 3.3, < 5.0) + jekyll-seo-tag (2.7.1) + jekyll (>= 3.8, < 5.0) jekyll-sitemap (1.4.0) jekyll (>= 3.7, < 5.0) jekyll-swiss (1.0.0) @@ -201,7 +201,7 @@ GEM kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) - listen (3.4.0) + listen (3.5.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) @@ -210,9 +210,9 @@ GEM jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.14.2) + minitest (5.14.4) multipart-post (2.1.1) - nokogiri (1.11.0) + nokogiri (1.11.2) mini_portile2 (~> 2.5.0) racc (~> 1.4) octokit (4.20.0) @@ -220,16 +220,16 @@ GEM sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.1.1) + public_suffix (4.0.6) racc (1.5.2) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.4) - rouge (3.23.0) - ruby-enum (0.8.0) + rouge (3.26.0) + ruby-enum (0.9.0) i18n - ruby2_keywords (0.0.2) + ruby2_keywords (0.0.4) rubyzip (2.3.0) safe_yaml (1.0.5) sass (3.7.4) @@ -240,7 +240,7 @@ GEM sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) - simpleidn (0.1.1) + simpleidn (0.2.1) unf (~> 0.1.4) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) From 0855087a92a412b1b997b98d112b5985bc215a05 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Tue, 6 Apr 2021 09:32:48 -0700 Subject: [PATCH 034/212] Run `bundle update` to pickup new dependencies. (fix for kramdown vuln) --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7d3396e8..439e52a0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -34,7 +34,7 @@ GEM ffi (1.15.0) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (213) + github-pages (214) github-pages-health-check (= 1.17.0) jekyll (= 3.9.0) jekyll-avatar (= 0.7.0) @@ -70,7 +70,7 @@ GEM jekyll-theme-time-machine (= 0.1.1) jekyll-titles-from-headings (= 0.5.3) jemoji (= 0.12.0) - kramdown (= 2.3.0) + kramdown (= 2.3.1) kramdown-parser-gfm (= 1.1.0) liquid (= 4.0.3) mercenary (~> 0.3) @@ -196,12 +196,12 @@ GEM gemoji (~> 3.0) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) - kramdown (2.3.0) + kramdown (2.3.1) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) - listen (3.5.0) + listen (3.5.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) @@ -225,7 +225,7 @@ GEM rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) - rexml (3.2.4) + rexml (3.2.5) rouge (3.26.0) ruby-enum (0.9.0) i18n From 20c2c3f55f2676a04df94d58531936b80005a993 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 May 2021 01:50:42 +0000 Subject: [PATCH 035/212] Bump nokogiri from 1.11.2 to 1.11.4 Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.2 to 1.11.4. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.2...v1.11.4) Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 439e52a0..23ab3faf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -205,14 +205,14 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.5.0) + mini_portile2 (2.5.1) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.14.4) multipart-post (2.1.1) - nokogiri (1.11.2) + nokogiri (1.11.4) mini_portile2 (~> 2.5.0) racc (~> 1.4) octokit (4.20.0) From 74e42ecd5636a6e5c2ab5bb489ab868c15e01715 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 24 Jun 2021 12:33:33 -0700 Subject: [PATCH 036/212] setup markdownlint action --- .github/workflows/markdownlint.yml | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/markdownlint.yml diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml new file mode 100644 index 00000000..ba7937f0 --- /dev/null +++ b/.github/workflows/markdownlint.yml @@ -0,0 +1,34 @@ +--- +name: MarkdownLint + +on: + push: + pull_request: + branches: [master, main] + +#env: + +jobs: + # Cancel duplicate jobs: https://github.com/fkirc/skip-duplicate-actions#option-3-cancellation-only + cancel_duplicates: + name: Cancel duplicate jobs + runs-on: ubuntu-latest + steps: + - uses: fkirc/skip-duplicate-actions@master + with: + github_token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} + + build: + name: markdownlint + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v2 + + - name: markdownlint-cli + uses: nosborn/github-action-markdown-cli@v2.0.0 + with: + files: . + #config_file: ".markdownlint.yaml" + #ignore_files: "examples/ignore/*" + #rules: "examples/rules/custom.js" From 7be1350ef482f5a73f34c0e3de71e71c4f83dbfc Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 24 Jun 2021 13:15:13 -0700 Subject: [PATCH 037/212] Use markdownlint -f to fix some findings. --- README.md | 4 +- .../00-what_is_google_summer_of_code.md | 20 +++---- pages/mentor/01-why_gsoc_matters.md | 16 +++--- .../02-notes_for_first_year_organizations.md | 14 +++-- pages/mentor/03-what_makes_a_good_mentor.md | 4 -- .../04-defining_a_project__ideas_list.md | 16 +++--- pages/mentor/05-selecting_a_student.md | 7 +-- pages/mentor/06-community_basics.md | 5 -- pages/mentor/07-best_practices.md | 15 +++--- pages/mentor/08-warning_signs.md | 3 -- pages/mentor/09-open_source_culture.md | 26 ++++----- pages/mentor/10-mind_the_gap.md | 14 +++-- pages/mentor/11-setting_expectations.md | 4 -- pages/mentor/12-workflow.md | 24 ++++----- pages/mentor/13-managing_the_plan.md | 5 -- pages/mentor/14-evaluations.md | 7 +-- pages/mentor/15-special_circumstances.md | 12 ++--- pages/mentor/16-upstream_integration.md | 28 ++++------ .../17-building_a_lifetime_contributor.md | 2 - pages/mentor/18-making_your_ideas_page.md | 10 ++-- .../19-selecting_students_and_mentors.md | 8 --- pages/mentor/20-org_application.md | 9 +--- pages/mentor/21-managing_your_mentors.md | 23 +++----- .../22-student_-_mentor_facilitation.md | 8 ++- pages/mentor/23-other_possible_issues.md | 2 - pages/mentor/24-end_of_year_report.md | 1 - pages/mentor/25-about_this_manual.md | 7 --- pages/mentor/26-the_quick_guide.md | 9 ++-- pages/mentor/27-the_history_of_gsoc.md | 2 - pages/mentor/28-additional_resources.md | 9 +--- pages/mentor/29-glossary.md | 24 --------- .../00-what_is_google_summer_of_code.md | 14 ++--- pages/student/01-why_should_i_apply.md | 4 +- pages/student/02-am_i_good_enough.md | 4 -- pages/student/03-making_first_contact.md | 22 ++++---- pages/student/04-choosing_an_organization.md | 14 ++--- pages/student/05-finding_the_right_project.md | 6 --- pages/student/06-writing_a_proposal.md | 10 +--- pages/student/07-being_turned_down.md | 11 ++-- pages/student/08-how_gsoc_works.md | 6 +-- pages/student/09-what_does_community_mean.md | 14 ++--- pages/student/10-open_source_culture.md | 28 ++++------ .../11-communication_best_practices.md | 53 +++++++++---------- pages/student/12-how_to_get_a_head_start.md | 22 +++----- pages/student/13-working_with_your_mentor.md | 8 --- .../14-time_management_for_students.md | 8 ++- pages/student/15-evaluations.md | 7 +-- ...ategies_for_getting_your_code_committed.md | 18 +++---- .../17-staying_engaged_with_your_community.md | 9 ---- pages/student/18-about_this_manual.md | 5 -- pages/student/19-history_of_gsoc.md | 2 - pages/student/20-additional_resources.md | 12 ++--- pages/student/21-proposal_example_1.md | 44 +++++++-------- pages/student/22-proposal_example_2.md | 14 ++--- pages/student/23-glossary.md | 23 -------- 55 files changed, 214 insertions(+), 482 deletions(-) diff --git a/README.md b/README.md index 440f209d..2c943917 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ This project contains the Google Summer of Code Mentor Guide and Student Guide. ## Template The template and build is based on -https://github.com/tomjoht/documentation-theme-jekyll + Documentation can be found at -http://idratherbewriting.com/documentation-theme-jekyll/ + ## Local Development diff --git a/pages/mentor/00-what_is_google_summer_of_code.md b/pages/mentor/00-what_is_google_summer_of_code.md index 62cf05b3..5cb9a95c 100644 --- a/pages/mentor/00-what_is_google_summer_of_code.md +++ b/pages/mentor/00-what_is_google_summer_of_code.md @@ -12,17 +12,15 @@ GSoC pairs accepted student applicants with mentors from participating projects. This program has brought together thousands of students and mentors from over 130 countries worldwide. Over 715 open source projects, from areas as diverse as operating systems and community services, have participated as mentor organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. - ## Goals of the Program The program has several goals: -* Get more open source code written and released for the benefit of all. -* Inspire young developers to begin participating in open source development. -* Help open source projects identify and bring in new developers. -* Provide students the opportunity to do work related to their academic pursuits during the summer: "flip bits, not burgers." -* Give students more exposure to real-world software development (for example, distributed development and version control, software licensing issues, and mailing list etiquette). - +* Get more open source code written and released for the benefit of all. +* Inspire young developers to begin participating in open source development. +* Help open source projects identify and bring in new developers. +* Provide students the opportunity to do work related to their academic pursuits during the summer: "flip bits, not burgers." +* Give students more exposure to real-world software development (for example, distributed development and version control, software licensing issues, and mailing list etiquette). ## A Brief History of Google Summer of Code @@ -30,7 +28,6 @@ Google Summer of Code began in 2005 as a complex experiment with a simple goal: See the appendix for a more extensive history of the program. - ## Participant Roles There are four roles in the Google Summer of Code program: @@ -49,7 +46,6 @@ Org admins are the final authority about matters such as which student projects Students submit project proposals to the various organizations participating in GSoC. The organizations select which student proposals they would like to see funded by Google. Many student participants have gone on to become important members of the open source community. Many students have also gone on to become mentors and even org admins for the program. - ## Program Structure All of the program rules are enumerated in the GSoC Program Rules and Term documents each year. Provided all of the rules regarding eligibility for the program are followed, Google takes a fairly hands-off approach to GSoC. Each organization structures its participation in GSoC in whichever way makes the most sense for its technical and community needs. @@ -58,13 +54,13 @@ All of the program rules are enumerated in the GSoC Program Rules and Term docum **Student Applications**: Students are encouraged to begin talking to the participating organizations as soon as the list of accepted organizations is published. Prior to the opening of applications, it is important to take some time to talk to potential student applicants. This helps them refine their ideas so that they will produce a better quality proposal. Each organization is asked to provide a proposal template, but the best student applications go far beyond the template and an organization's ideas list. Students are given about 2 weeks to complete their applications. -Following the student application deadline, organizations begin reviewing the proposals they received. During the review phase, organizations maintain an open dialogue with their student applicants. This may involve clarifying questions in regards to the final proposals to ensure students and organizations have the same understanding of the proposal. It is important to note a student's proposal can't be altered after the final submission deadline, and mentor orgnizations should not attempt to do so during the review period. +Following the student application deadline, organizations begin reviewing the proposals they received. During the review phase, organizations maintain an open dialogue with their student applicants. This may involve clarifying questions in regards to the final proposals to ensure students and organizations have the same understanding of the proposal. It is important to note a student's proposal can't be altered after the final submission deadline, and mentor orgnizations should not attempt to do so during the review period. Organizations may also conduct further interviews to determine which students are most likely to be a good fit for the community and work required. Over the course of several weeks, each organization prioritizes its list of proposals. Google lets each organization know how many student proposals it will fund, and organizations select their top proposals. Sometimes a student has proposals accepted by more than one organization. Google leaves it to the organizations to decide which organization the student will work with during the course of the program. -**Community Bonding Period**: Before students are expected to start working, there is a three-four week period built into the program to allow them to get up to speed without the pressure to execute on their proposals. During this time, students are expected to get to know their project communities and participate in project discussion. During this time, students should also set up their development environments, learn how their project's source control works, refine their project plans, read any necessary documentation, and otherwise prepare to complete their project proposals. Mentors should spend this time helping their students understand which resources will be most useful to them, introducing them to the members of the community who will be most helpful with their projects, and generally acculturating them. +**Community Bonding Period**: Before students are expected to start working, there is a three-four week period built into the program to allow them to get up to speed without the pressure to execute on their proposals. During this time, students are expected to get to know their project communities and participate in project discussion. During this time, students should also set up their development environments, learn how their project's source control works, refine their project plans, read any necessary documentation, and otherwise prepare to complete their project proposals. Mentors should spend this time helping their students understand which resources will be most useful to them, introducing them to the members of the community who will be most helpful with their projects, and generally acculturating them. For 2021 there is increased flexibility in the planning for the milestones - students have 10 weeks to complete their 175 hour project. This opens it up for the student and mentor to decide together how they want to break up the project. Some folks may choose to stick to a 17-18 hour a week schedule with their students, others may factor in a couple of breaks during the program (for student and mentor) and some may have students focus 30 hours a week on their project so they wrap up in 6 weeks. This also makes it a lot easier for students with finals or other commitments (weddings, etc.) to adjust their schedules. But the most important thing to remember is that both the student and mentor should agree on a schedule and sign off on it early on during the community bonding period so there is no confusion later on. @@ -73,5 +69,3 @@ For 2021 there is increased flexibility in the planning for the milestones - stu **Coding Ends**: At the final deadline for coding, students are welcome and encouraged to continue work on their projects, but only work done before this date can be evaluated. Google suggests that all work be complete about a week earlier to give the student time for last-minute improvements and corrections, as well as preparing their work for delivery. Students also need to submit mentor evaluations during this time and a link to their code. It's a primary goal of Google Summer of Code that the student participants stick around long after the program has ended and continue contributing to their project communities. Great mentors continue working with their students to encourage them to do so. It's also customary during this time for organizations to publish a post-GSoC wrap up report. Mentors and students take a well-deserved break, but energetic organizations begin planning for the next GSoC during this time. - - diff --git a/pages/mentor/01-why_gsoc_matters.md b/pages/mentor/01-why_gsoc_matters.md index 182f6506..c08765d8 100644 --- a/pages/mentor/01-why_gsoc_matters.md +++ b/pages/mentor/01-why_gsoc_matters.md @@ -9,33 +9,33 @@ sidebar: mentor_sidebar In addition to the great code produced, the GSoC experience is about building open source communities. By focusing on students, we are going to the source of all future open source efforts. The ultimate success of the GSoC program is thus measured by the quality of the student experience. Each organization and each mentor plays a crucial role in creating this experience through their project ideas, developer culture, and the guidance they provide. They are rewarded by new code and by adding skilled new developers to their ranks. But don't take our word for it! Heres what some of the students had to say: > Overall, this is the most productive summer I ever had. It increased my confidence as a developer and as a person that I can actually pull off a project like this and interact with awesome people like you. I also become a part of a growing community and hope to help it grow further. -> +> > *—Chetan Bansal* > There aren't many opportunities for computational biology enthusiasts to make a difference in the field while still in school. GSOC at [my org] was one such gem of an opportunity that illustrated exactly why writing software for biological research is benefited by a background in biology. The experience I have gained here is definitely irreplaceable. The fundamentals of open-source programming and the rhythm associated with regular coding and problem solving helped nourish an intellectual side of me that I will not forget in a hurry. This is definitely not the last time you will see me. -> +> > *—Chinmoy Bhatiya* > This was the first time I took part into either GSoC or an Open Source project, and it was also one of the most exciting things I've ever done! This project gave me the chance to spend ~3 months learning lot of new things, having fun, doing something for the community and even getting pay for that! That's an amazing combination! --I will remain as an active participant of [my org's] community beyond the official end of GSoC 2009! -> +> > *—Gerardo Huck* > It was definitely a very good learning experience for me. --But I have some unfinished works-- So I'll continue this project after GSoC, and be help to drive [my org's] development. -> +> > *—Kozo Nishida* > It was the first time that I worked with an open source community and it was really a great experience. I am very thankful to Google and [my org] for providing me this great opportunity. I would like to thank [my mentors] for their excellent support during the summer. Looking forward to working with you again. -> +> > *—Srinivasarao Vundavalli* > Get over yourself. Understand there are people smarter than you or people better at some things than you. Just the same, you're still needed. JFDI (Just Fabulously Do It) and find your niche. -> +> > *—Justin Hunter* > This year's GSoC was my first contribution to the open source world and I will like to continue my contributions to open source whenever I get the opportunity. The best thing about open source is the huge opportunity it provides to everyone who wants to explore their career in the technical world and develop in their field of interest. The way people from different streams come together, exploit their talents, cooperate, coordinate, focus their collective efforts towards a common goal that will help many more people in the end is the best part about open source. -> +> > *—Kanika Vats* > So, we've now gotten to the end of it all. It does feel a bit sad, I really did have a great time coding this summer and hopefully I can do it again. I don't think I've ever learned this much in a summer job and everybody working with me have been really fantastic. -> +> > *—Anna Granudd* diff --git a/pages/mentor/02-notes_for_first_year_organizations.md b/pages/mentor/02-notes_for_first_year_organizations.md index 27eb29d1..0f14b192 100644 --- a/pages/mentor/02-notes_for_first_year_organizations.md +++ b/pages/mentor/02-notes_for_first_year_organizations.md @@ -30,17 +30,17 @@ Students, mentors, and slots: * The mentor/student process is: - * OAs invite mentors to their organization. + * OAs invite mentors to their organization. - * Talk with students about project ideas (some orgs give students a task they need to complete, that is up to you). + * Talk with students about project ideas (some orgs give students a task they need to complete, that is up to you). - * Receive and review student applications. + * Receive and review student applications. - * Request a minimum and a maximum number of requested slots for students. (OAs submit requests) + * Request a minimum and a maximum number of requested slots for students. (OAs submit requests) - * Receive confirmation from Program Administrators with your organization's number of slots. + * Receive confirmation from Program Administrators with your organization's number of slots. - * Select students and mentors for each project. + * Select students and mentors for each project. * The application process is a great initial test of the student's dedication and skills, so don't offer students too much help during it. Feedback is good but if you have to hand hold them now, it will be worse during the program. @@ -65,5 +65,3 @@ If you have any questions just ask. We know you'll be awesome! Best wishes, One time GSoC First Year Organizations - - diff --git a/pages/mentor/03-what_makes_a_good_mentor.md b/pages/mentor/03-what_makes_a_good_mentor.md index 61d1340f..a267df99 100644 --- a/pages/mentor/03-what_makes_a_good_mentor.md +++ b/pages/mentor/03-what_makes_a_good_mentor.md @@ -18,12 +18,10 @@ There are specific skills that you can work on in order to be more effective; ev **Are you keenly interested in mentoring students?** A main goal of GSoC is mentoring students. Mentoring is important to the future of open source software, our immediate projects and the overall culture. Mentoring a student requires a combination of passion, responsibility and patience. A good mentor is willing to engage with students throughout their learning process. - ## Be Prepared to Seek Help At all times don't forget that you have access to people, tools and resources that can make your job much easier *and* make you a better mentor. Make use of your org admin when you are not sure what is expected of you or have a difficult situation with your student. Make use of other mentors in your organization and the thousands of mentors on the mentor mailing list. Though it may be an annoying list at times *(don't feed the trolls!)*, it is a valuable resource. The GSoC admins are another important resource. They set the tone and standards for the entire program. They have heard it all, so don't hesitate to contact them when a problem arises. - ## What To Expect From Under-Mentoring **The student's project is never properly defined.** The project goals and deliverables are unclear, and the work schedule is not set. The consequences of this are serious and impact the project if left unchecked. @@ -35,5 +33,3 @@ At all times don't forget that you have access to people, tools and resources th **The student gets stuck.** The student seems to be engaged, and to be working hard, but no apparent progress is being made. Alternatively, the student's communications are infrequent and terse, and seem to always be on the same issue or milestone. **The student disappears, perhaps for days or weeks at a time.** If the student is under-mentored, it may be difficult to determine when this period began, and thus to know when to panic. Insufficient information is available for evaluation; thus it becomes impossible to fairly evaluate the student. - - diff --git a/pages/mentor/04-defining_a_project__ideas_list.md b/pages/mentor/04-defining_a_project__ideas_list.md index d80c5436..6133e84f 100644 --- a/pages/mentor/04-defining_a_project__ideas_list.md +++ b/pages/mentor/04-defining_a_project__ideas_list.md @@ -22,14 +22,14 @@ Note that the quality of the project descriptions on an organization's "Ideas li When Google Administrators review the hundreds of organization applications the primary thing they look at is the quality of the Ideas list. An Ideas list should follow these guidelines: -1. Each project on the Ideas list should include: a) a project title/description b) more detailed description of the project (2-5 sentences) c) expected outcomes d) skills required/preferred e) possible mentors. And if possible, an easy, medium or hard rating of each project. -1. Projects should take ~175 hours for students to complete. We understand some students will take less time (if they have more knowledge of the topic or codebase) while other students could spend more time. -1. Have multiple ideas. Even if you are a new organization and only want one or two students showing that you have multiple ideas (a bare minimum of 4 solid ideas) is vital. And for an organization hoping for 4 or more students you should have at least 8-10 ideas and having them categorized is a nice touch if you have subcategories of topics within your project. -1. Make it easy for Administrators to find your Ideas list. When reviewing many hundreds of organizations Program Admins can only spend a certain amount of time looking for your Ideas list. Many organizations are rejected because Program Admins couldn't find the actual Ideas list because the URL the org gave had a bunch of other unrelated information on it and wasn't clear where to find the actual Ideas list. -1. Make sure to update your Project Ideas. Even if you plan to use some of the ideas that weren't chosen from a previous year at least put effort into changing the page to say 20XX Ideas list. It is not encouraging for Program Admins to see an outdated list. It also makes it seem like your project might be stale as you don't have new ideas for students to work on if it still shows ideas from the previous year or even two years before and is marked as such. -1. **Never link to just a bug tracker**. This is almost always an automatic rejection. When Admins open the issue tracker if there is an expanded description of the project with the items listed in #1 above that is acceptable. If an org can't take the time to create a document or a page with their Ideas List fleshed out then why would Google expect they would be willing to mentor students for 3 hours a week for the next 3 months? -1. Don't be vague about the ideas. Be sure to write a few sentences describing what you need accomplished and not just an overall theoretical version of what you might want. -1. Be sure the URL you link to for your Ideas list works. Have someone else test it as well before you submit your application. Sometimes people don't have permissions set correctly or paste an incorrect URL which will also mean a rejection. +1. Each project on the Ideas list should include: a) a project title/description b) more detailed description of the project (2-5 sentences) c) expected outcomes d) skills required/preferred e) possible mentors. And if possible, an easy, medium or hard rating of each project. +1. Projects should take ~175 hours for students to complete. We understand some students will take less time (if they have more knowledge of the topic or codebase) while other students could spend more time. +1. Have multiple ideas. Even if you are a new organization and only want one or two students showing that you have multiple ideas (a bare minimum of 4 solid ideas) is vital. And for an organization hoping for 4 or more students you should have at least 8-10 ideas and having them categorized is a nice touch if you have subcategories of topics within your project. +1. Make it easy for Administrators to find your Ideas list. When reviewing many hundreds of organizations Program Admins can only spend a certain amount of time looking for your Ideas list. Many organizations are rejected because Program Admins couldn't find the actual Ideas list because the URL the org gave had a bunch of other unrelated information on it and wasn't clear where to find the actual Ideas list. +1. Make sure to update your Project Ideas. Even if you plan to use some of the ideas that weren't chosen from a previous year at least put effort into changing the page to say 20XX Ideas list. It is not encouraging for Program Admins to see an outdated list. It also makes it seem like your project might be stale as you don't have new ideas for students to work on if it still shows ideas from the previous year or even two years before and is marked as such. +1. **Never link to just a bug tracker**. This is almost always an automatic rejection. When Admins open the issue tracker if there is an expanded description of the project with the items listed in #1 above that is acceptable. If an org can't take the time to create a document or a page with their Ideas List fleshed out then why would Google expect they would be willing to mentor students for 3 hours a week for the next 3 months? +1. Don't be vague about the ideas. Be sure to write a few sentences describing what you need accomplished and not just an overall theoretical version of what you might want. +1. Be sure the URL you link to for your Ideas list works. Have someone else test it as well before you submit your application. Sometimes people don't have permissions set correctly or paste an incorrect URL which will also mean a rejection. There are many ways to define a good GSoC project--probably as many ways as there are student-mentor pairings. Here are just a few: diff --git a/pages/mentor/05-selecting_a_student.md b/pages/mentor/05-selecting_a_student.md index ecaf7861..2a284005 100644 --- a/pages/mentor/05-selecting_a_student.md +++ b/pages/mentor/05-selecting_a_student.md @@ -8,7 +8,6 @@ sidebar: mentor_sidebar Successful participation in GSoC is based on a three-way fit between mentor, student, and project. As a mentor, your role in finding that fit is two-fold: to help the organization identify and select strong students appropriate for your projects, and to find a pairing between yourself and a student that is productive and pleasant. Fortunately, these goals are quite compatible. - ## Understanding Student Motivations A helpful starting point for finding, evaluating and selecting students is to look at the process from their point of view. Why do students apply to GSoC? @@ -21,12 +20,11 @@ A helpful starting point for finding, evaluating and selecting students is to lo Students should want to participate because they have something to contribute to the organization's project. This is obviously an exciting and promising kind of GSoC applicant to receive. Assuming that the student has good technical skills and can interact well, a good result is almost inevitable. - ## Selecting a Student There are some student qualifications that are important for any successful GSoC experience. The student needs to be technically skilled, needs to have good communication skills, and needs to be a hard worker with sufficient available time to succeed. Given only a brief application document and some tiny amount of remote interaction, determining whether a student has the necessary qualifications is exceedingly difficult. Hopefully the organization has an application process in place that helps. However, as a mentor you will normally be expected to assist in the evaluation that will ultimately decide who gets accept to GSoC from your organization. -You have several techniques at your disposal for helping your organization evaluate students. First and foremost, your expertise is key in evaluating student proposals. Is a given proposal technically realistic? Is it useful to the organization? Does it meet the organization's overall goals for GSoC? +You have several techniques at your disposal for helping your organization evaluate students. First and foremost, your expertise is key in evaluating student proposals. Is a given proposal technically realistic? Is it useful to the organization? Does it meet the organization's overall goals for GSoC? Check out [Tips for finding the 'right' GSoC student for your org](https://docs.google.com/document/d/1HrCuijYNfDZGaQ9Eyp0HQ6iXuELRmDSimrSkrJRtwug/edit?usp=sharing), compiled by mentors and org admins. @@ -42,7 +40,6 @@ Some of the student applications your organization receives will be obvious winn **Look at the student's other summer plans.** A student who at least claims to be solely focused on GSoC is more likely to be successful. - ## Finding a Match As a mentor you want to do more than just help your organization select the best students. You also want to ensure that they select a student and project that you will enjoy working with. @@ -51,7 +48,6 @@ This may involve more than just finding a bright student with the right area of For those unfortunate students that don't make the cut for logistical reasons (e.g., not enough mentors or funded slots), consider providing feedback to let them know their applications were valued. This is a service both to the student and to the organization. These students will be more likely to stay engaged, possibly even contributing outside of the official GSoC program, and returning next year with an even stronger application. - ## Google's Selection Process The Google Open Source Program Office (OSPO) has an internal process to select mentoring organizations and allocate GSoC student slots; understanding it may help you make better student selections. @@ -62,7 +58,6 @@ Next, Google OSPO will allocate each organization a number of student slots. It You should also understand how student selection and mentoring can affect the eligibility of an organization. In particular, note that a poor job of mentoring may lead to a poor outcome, making it less likely that your organization will be selected in future years. But failing a student does not mean that Google will consider that organization poorly for future programs, we encourage organizations to fail if the student is not doing the work, generally 12-15% of students fail their project in a given year at some point in the program. - ## Starting at the Beginning A successful GSoC project begins with a successful initiation. Finding the right three-way fit between mentor, student and organization can make success incredibly easy. Conversely, failing to find this fit makes it difficult or impossible for the project to succeed. diff --git a/pages/mentor/06-community_basics.md b/pages/mentor/06-community_basics.md index 23a70b07..bb94063a 100644 --- a/pages/mentor/06-community_basics.md +++ b/pages/mentor/06-community_basics.md @@ -8,25 +8,20 @@ sidebar: mentor_sidebar Your community is the collection of people who work on or with your project. Helping your student become familiar with those people makes them a more effective contributor during GSoC and helps to make them feel part of your community, which encourages involvement after their GSoC project is completed. - ## Set the Tone As a mentor, you can really help to set the tone for your student's initial experiences by facilitating community. Encourage your student to introduce themselves on mailing lists and IRC, and invite comments on their proposal. If your project maintains biographical information on contributors, ask your student to read through this information, and spend some time talking with your student about the people with whom they may interact. Once a student has a feeling for who's who in the community, they are more likely to communicate and seek advice from others. This increases their chances of getting issues resolved more quickly and effectively than if they relied on only their mentor for help. - ## Encourage Questions Asking effective questions is a skill, not an innate talent. There are many resources for learning how to ask questions effectively, and Eric Raymond's classic [How to ask good questions](http://catb.org/~esr/faqs/smart-questions.html) is a great place for students to start. Another useful resource is Simon Tatham's [How to Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html) which isn't explicitly about asking questions, but does cover aspects of effective communication about technical issues. Before your student asks a question, it's often helpful for them to take a minute to struggle with it and attempt to find the answer on their own. That extra effort often helps your student to solve their own problem. If not, it sharpens the question they ultimately ask. - ## Criticism Happens Discussion in open source communities can be very direct. People will often criticize the bad points of a patch or suggestion, but fail to praise what is good about it. Explain to the student that comments aren't meant to be critical of them as a person, but are aimed toward improving the patch or idea and the project in general. Making potential new contributors feel welcome in your community is also important outside of GSoC. **Pro Tip**: When you announce to the community that you're taking part in GSoC, make a point of explicitly asking people to make the students feel welcome. - - diff --git a/pages/mentor/07-best_practices.md b/pages/mentor/07-best_practices.md index c507bf94..79272968 100644 --- a/pages/mentor/07-best_practices.md +++ b/pages/mentor/07-best_practices.md @@ -42,10 +42,9 @@ After asking questions, you can then offer an explanation to a person or a sugge **Apologize Effectively**: Making apologies is a fact of human life, and open source communities are no exception. In the event that you or a student finds themselves needing to make an apology, there are a few things that might help you apologize effectively: -* Make the apology as soon as possible -* Make it clear in the subject line that you're apologizing -* Make it an honest apology and not a defensive statement in disguise - +* Make the apology as soon as possible +* Make it clear in the subject line that you're apologizing +* Make it an honest apology and not a defensive statement in disguise ## Giving and Receiving Criticism @@ -57,9 +56,9 @@ All projects engage in some form of code review and the inevitable criticism. Ha Here are some ways that you can help students prepare for code review: -* Provide example mailing list threads or a list of the types of questions that are asked about code. -* Direct students to review coding standards that apply to your project. -* Go through an example code review on the student's first code sample submission that matches as closely as possible the process that your project normally uses. +* Provide example mailing list threads or a list of the types of questions that are asked about code. +* Direct students to review coding standards that apply to your project. +* Go through an example code review on the student's first code sample submission that matches as closely as possible the process that your project normally uses. People are more likely to respond positively to criticism from those that they trust and respect. Try introducing students to the people that are likely to comment on their code, and explaining the role that those people play in the group. Also, encourage students to both defend technical decisions, and be gracious in admitting mistakes. @@ -70,5 +69,3 @@ Make an effort to assist a student in their first steps into your community. Off **Pro Tip**: A good status report should include a few items that went well during the previous period, and a few problems that were encountered and how they were addressed. **Don't Be That Person**: Don't ever give your student the impression that you think that only stupid people ask questions. Be nice. Remember that you were once a beginner. - - diff --git a/pages/mentor/08-warning_signs.md b/pages/mentor/08-warning_signs.md index 35d14c30..570e8c3c 100644 --- a/pages/mentor/08-warning_signs.md +++ b/pages/mentor/08-warning_signs.md @@ -16,7 +16,6 @@ As a GSoC mentor, you are in the best position to identify "red flags" and warni **Bad students happen to good mentors**: One thing to keep in mind: *Sometimes bad students happen to good mentors.* Don't take it personally. If a mentor tries their hardest and their student fails, this does not reflect badly on the mentor. - ## "Actions Speak Louder Than Words" This bit of folk wisdom is proven year after year during GSoC. A mentor will write to the mentors mailing list asking for advice about a student that has not performed or gone missing for a period of time. Mid-term evaluations are coming up and the student has reappeared, reinvigorated, with no shortage of excuses. Now the mentor must decide: "Should I pass this student?". @@ -34,5 +33,3 @@ Here are some specific scenarios to watch out for: Depending on your personality type, some of these might seem harsh. You might also shoulder some of the blame because you think that if you had been a better mentor, more on top of the situation, it would have been avoided. But even if you are partly to blame, so is the student. And it is up to the student to perform when expectations are communicated and agreed upon. **Pro Tip**: In the event your student's boat is sinking, all mentors are equipped with emergency rocket-propelled jet skis. - - diff --git a/pages/mentor/09-open_source_culture.md b/pages/mentor/09-open_source_culture.md index 0e11bfc0..78d92ff3 100644 --- a/pages/mentor/09-open_source_culture.md +++ b/pages/mentor/09-open_source_culture.md @@ -8,7 +8,6 @@ sidebar: mentor_sidebar When you encounter an open source group for the first time, it may be a bewildering experience. Whether posting to a mailing list for the first time, blogging about the project you're taking on or hanging out on an IRC channel - the way people interact, and what they expect from each other is pretty different than in classroom or with friends and family. - ## Openness and Sharing Open source communication can vary a lot. A core value held in common is that sharing code is good. Regardless of license, language or indentation style, open source developers create, share and modify source code together. @@ -21,7 +20,6 @@ One aspect of "open culture" is that people are informal. People address each ot Although "open culture" is generally informal, it is important to remember that you still need to mind your manners when participating in conversations. - ## Remote Communication Many projects involve individuals who are working not only in different cities, countries and continents, but collaborating across major cultural and language differences. And rather than having procedures or policies on how to interact with one another handed down from HR departments or other authorities, communication practices evolve between individuals over time. @@ -32,18 +30,16 @@ Be mindful of cultural assumptions about race, gender, sexual orientation and di All that tolerant rhetoric aside, it is never productive for an open source project to allow individuals who consistently try to cause harm to others to do so. If you are causing undue problems don't be surprised if you are asked to discontinue your participation regardless of your contributions. It's often better for an open source project to ask someone to leave, than to allow them to harm others and in turn, cause other productive members of your team to depart. - ## Abbreviations and Slang People come up with abbreviations and slang that are meaningful inside the group, but not necessarily to outsiders. Ask questions when you don't understand a term, a joke or some arcane bit of project lore. Here are a few useful resources for teasing out meaning from initialisms, acronyms and abbreviations: -* Urban Dictionary () -* Webster's Online Dictionary () -* Acronym Finder () -* A to Z word finder () - +* Urban Dictionary () +* Webster's Online Dictionary () +* Acronym Finder () +* A to Z word finder () ## Volunteerism and Gift Economies @@ -53,15 +49,13 @@ Contributions to projects are often self-directed, with developers having a pers Because many (or in some cases all) contributors are volunteering, methods of coercion available to businesses are not available. The best way to collaborate is to behave in a way that encourages others, and ultimately, makes people want to contribute. Some easy ways to encourage volunteerism include: -* Saying thank you -* Giving compliments when they are deserved, regularly and in public -* Publicizing cool hacks and features as they are implemented, in blog posts and on the mailing lists -* Promptly committing useful code -* Responding promptly to requests for information -* Clearly defining ways to contribute to your project (TODO lists are great!) +* Saying thank you +* Giving compliments when they are deserved, regularly and in public +* Publicizing cool hacks and features as they are implemented, in blog posts and on the mailing lists +* Promptly committing useful code +* Responding promptly to requests for information +* Clearly defining ways to contribute to your project (TODO lists are great!) Consider treating every patch like it is a gift. Being grateful is good for both the giver and the receiver, and invigorates the cycle of virtuous giving. Overall, your goal is to help create and maintain an atmosphere around contribution that is enjoyable. What that means will vary significantly depending on the project, but certainly the above points apply to any project. - - diff --git a/pages/mentor/10-mind_the_gap.md b/pages/mentor/10-mind_the_gap.md index 6a3dfa15..4015baef 100644 --- a/pages/mentor/10-mind_the_gap.md +++ b/pages/mentor/10-mind_the_gap.md @@ -8,12 +8,12 @@ sidebar: mentor_sidebar The community bonding period is the 3 weeks between GSoC student acceptance and the start of coding date. Here are some of the goals of this period: -* Prepare students to immediately start writing code at the official start of coding. -* Get students engaged socially in the project. -* Provide time for students to learn about the development practices of the organization. -* Ensure that students have a development environment set up. This includes getting set up with the project version control system and reading up on necessary documentation. -* Further refine the strategic plan for project completion. Be sure to have solid requirements for both phases particularly the end of the first phase so there is no confusion between your expectations and the student's. Other milestones for the final phase can be adjusted by discussing with the student as needed. -* This is a time for the student to get required forms filled out, such as the tax forms required by Google, any contributor license agreements, and any paperwork that your project requires. +* Prepare students to immediately start writing code at the official start of coding. +* Get students engaged socially in the project. +* Provide time for students to learn about the development practices of the organization. +* Ensure that students have a development environment set up. This includes getting set up with the project version control system and reading up on necessary documentation. +* Further refine the strategic plan for project completion. Be sure to have solid requirements for both phases particularly the end of the first phase so there is no confusion between your expectations and the student's. Other milestones for the final phase can be adjusted by discussing with the student as needed. +* This is a time for the student to get required forms filled out, such as the tax forms required by Google, any contributor license agreements, and any paperwork that your project requires. This period was added in 2007 to help students integrate with their development community and so encourage them to become lifetime contributors. New contributors to a project outside of GSoC often lurk in a project's IRC channel and/or mailing lists for weeks or months before submitting their first patch. The community bonding period is an attempt to improve that experience. @@ -24,5 +24,3 @@ Ideally students are ready to start writing code at the official start of coding Plan weekly activities for your student that only take an hour or two. The community bonding period occurs when students are likely to still be taking classes and have a full load of course work. It's unreasonable to expect that the student will be available full-time to work on GSoC at that point. **Pro Tip**: Students are meant to be "in good standing with their community" to continue in the program. If you don't hear anything at all from your accepted student during community bonding, or the student explicitly drops out, tell Google. - - diff --git a/pages/mentor/11-setting_expectations.md b/pages/mentor/11-setting_expectations.md index 7c0f057e..2bcc5c59 100644 --- a/pages/mentor/11-setting_expectations.md +++ b/pages/mentor/11-setting_expectations.md @@ -8,7 +8,6 @@ sidebar: mentor_sidebar Successful mentors set expectations at the start of their projects. This includes communication frequency, project goals, availability and ways of delivering feedback. While the mentor should take the lead in expectation setting, the process of creating and documenting the expectations must be collaborative. Students and mentors need to agree on what is expected, or success becomes quite difficult. - ## Defining Success Performance measures make it easier to provide feedback, to help your student get back on track if she veers off-course. Clearly stated measures also help you make a fair determination that a student needs to removed from the program. @@ -19,7 +18,6 @@ Performance measures make it easier to provide feedback, to help your student ge **Anticipate time away:** Make sure to set expectations for known or planned time away from the project, such as course work, vacation trips or holiday time. Talk about how many hours or deliverables per week would be reachable goals and what amount would be a good stretch goal. - ## Managing Output Decide in advance what happens when project goals aren't met. Remember to be flexible if your student has made good progress or has obviously worked hard but needs to re-scope the project at mid-term. Good project management is hard. Your performance measures will help you manage project modifications. @@ -33,5 +31,3 @@ Overall, communicate and be reasonable when it comes to your students. Be ready **Pro Tip**: Ask about the weather and local stability of public services. Is your student using the cafe down the street for Internet access? Are there seasonal weather conditions that may lead to flooding and the subsequent inability to turn-on one's computer? Work on a plan to address these types of environmental issues that can affect both communication and output. **Don't Be That Person**: No one likes dictators. Work with your student on the development of expectations, rather then barking out orders. - - diff --git a/pages/mentor/12-workflow.md b/pages/mentor/12-workflow.md index 89f1cf56..e2eaa5f0 100644 --- a/pages/mentor/12-workflow.md +++ b/pages/mentor/12-workflow.md @@ -10,25 +10,23 @@ Make sure that your student is familiar with the workflow of your community as e The best kind of workflows for the GSoC projects are iterative. That means that small, quantifiable goals are defined and then acted upon. For instance, an example of an iterative workflow is: -* Write a test that demonstrates what feature will be added. -* Run the test to verify that it fails in the way you think it should. -* If it fails in an unexpected way, your test may be wrong. This is a great time to ask your mentor for guidance. -* If it passes, you are done! You just added test coverage to an already existing feature, and that is great! -* Add the feature (also known as "a simple matter of programming"). -* Run the test to verify that it passes. -* Write documentation about your feature. -* Rejoice appropriately. +* Write a test that demonstrates what feature will be added. +* Run the test to verify that it fails in the way you think it should. +* If it fails in an unexpected way, your test may be wrong. This is a great time to ask your mentor for guidance. +* If it passes, you are done! You just added test coverage to an already existing feature, and that is great! +* Add the feature (also known as "a simple matter of programming"). +* Run the test to verify that it passes. +* Write documentation about your feature. +* Rejoice appropriately. This iterative workflow is known as Test Driven Development (TDD). This workflow gets applied to each feature that will be implemented, so a TDD workflow will consist of many cycles of the above steps, each for a different feature. The polar opposite of this workflow looks something like this: -* Write code the first 1/3rd of the summer -* Write tests the next 1/3rd of the summer -* Write documentation for the last 1/3rd of the summer +* Write code the first 1/3rd of the summer +* Write tests the next 1/3rd of the summer +* Write documentation for the last 1/3rd of the summer This is almost always doomed to failure, since people are always optimistic about time estimates for completing something. Sometimes you must debug a weird issue. You can't predict how long it might take to resolve the issue. What usually happens in this workflow is that the code gets written, but takes longer, half the tests get written and no documentation is written because the students have run out of time. Take an approach which produces usable code even if parts of your plan fail, or are never attempted. Be humble and flexible about your development model. The student may teach you something! **Pro Tip**: Progressive milestones may allow code to be merged progressively. - - diff --git a/pages/mentor/13-managing_the_plan.md b/pages/mentor/13-managing_the_plan.md index aca65493..21b7e37f 100644 --- a/pages/mentor/13-managing_the_plan.md +++ b/pages/mentor/13-managing_the_plan.md @@ -8,7 +8,6 @@ sidebar: mentor_sidebar The student and organization application process to GSoC helps all participants think about how to run the Google Summer of Code at a community level. One important tool is the creation of a strategic plan. The phrase "project plan" frequently elicits a Pavlovian response of groans, shrieks and malaise in techies. An even more severe reaction has been observed in open source communities. So let's talk about a "strategic plan" instead, and how it can help your student be successful. - ## Creating a Strategic Plan The GSoC application process assists in developing a good preliminary outline of a strategic plan for the student's accepted project. To increase the probability of program success you should spend time with your student, and your development community, refining the plan developed in the application period. This can be done during the community bonding period. @@ -25,7 +24,6 @@ A good strategic plan includes: **Tasks associated with each milestone**: Because your milestones are most likely going to be chunks of code, each milestone needs to include both testing and documentation around that particular "chunk." This approach helps guarantee that you and your student don't end up with a pile of code that hasn't been tested or documented at the end of GSoC. - ## Following the Plan After you create a strategic plan, you actually need to follow it. Some ways you can use your strategic plan to stay on track are: @@ -40,7 +38,6 @@ After you create a strategic plan, you actually need to follow it. Some ways you **Be a good example**: If you, the mentor, need to miss a deadline, make sure you communicate this to your student well in advance. - ## Delivering Feedback Throughout the project you should be delivering effective feedback to your student about their code, communication, and documentation. @@ -54,5 +51,3 @@ Throughout the project you should be delivering effective feedback to your stude **Pro Tip**: Don't let the development of your design document become your GSoC project. It's useful to set a date for completion of your strategic plan and add a "Start of Coding" milestone. **Don't Be That Person**: Don't be overly-critical of date slippage. It happens. Fanatical adherence to dates does not lead to successful project completion, nor does it make your student feel excited to contribute to your community long-term. - - diff --git a/pages/mentor/14-evaluations.md b/pages/mentor/14-evaluations.md index 34b1d2e6..39baf0cf 100644 --- a/pages/mentor/14-evaluations.md +++ b/pages/mentor/14-evaluations.md @@ -18,7 +18,7 @@ There are two types of evaluations: These are provided online by Google at specified times with deadlines. The deadlines are important for organizing the payments to students based on the pass/fail decisions by their mentors, so you must ensure that you complete your evaluations on time. Remember, if a student fails to any evaluation, they will no longer be part of the program and will not receive any more payments from Google. -For 2021, we have added more flexibility into the scheduling of student's work - they have 10 weeks to complete their 175 hour project. This means students can work on their project an average of 17.5 hours each week of the 10 week program or they can work more hours certain weeks and then have some days/ weeks off as their exams/personal commitments occur. The main point to consider is that the mentor and student need to discuss the planned breaks and expectations early on - during the community bonding period to make sure they are on the same page. +For 2021, we have added more flexibility into the scheduling of student's work - they have 10 weeks to complete their 175 hour project. This means students can work on their project an average of 17.5 hours each week of the 10 week program or they can work more hours certain weeks and then have some days/ weeks off as their exams/personal commitments occur. The main point to consider is that the mentor and student need to discuss the planned breaks and expectations early on - during the community bonding period to make sure they are on the same page. While there is more flexibility for scheduling for 2021, the first and final evaluation deadlines remain the same and can not be changed. What this essentially means is that students will be expected to complete 40-50% of their project by the first evaluation which is the halfway point of the program (at the end of 5 weeks of coding) if they want to pass their evaluation. Also if a student completes their project 6 weeks into the 10 week GSoC 2021 program, that's great, but they still have to log back into their GSoC dashboard during the final evaluation period (week 10) to submit their final evaluation and work product URL in order to pass the program. @@ -32,14 +32,12 @@ Evaluations should result in a direct review of the student's progress and shoul When delivering reviews of student performance, be specific about both positive and negative aspects of a student's performance. Make the suggestions for change or improvement relevant to what your student is currently working on, and provide specific examples. As you prepare for your student's review, you might write it out as though you were sending an email; this will help you to frame your thoughts and to ensure that you are providing a balanced perspective. Make the student aware of the review schedule well in advance. If you provide a written copy of the review, schedule time for discussion immediately after the student reads it. - ## When in Doubt, Fail the Student Early This is harsh-sounding advice. However, GSoC stats show that more than 80% of the students who are reported as marginal at or before the first evaluation eventually fail GSoC. Whatever problems your student is currently having, they are likely to be worse than you currently appreciate, and to get worse rather than better over time. You are not doing your student, much less yourself, a service by prolonging the agony. Most GSoC students and their mentors have a great time and get a lot done. If you are having the other kind of experience, cut your losses and try again next year. Remember there are hundreds of students diligently working on their projects and if you give a student a pass simply because you feel guilty failing them (even though they are not meeting deadlines or communicating) then you are doing a disservice to all of the other hardworking students. Note that GSoC gives mentoring orgs quite a bit of flexibility and cuts them a lot of slack. Students need to understand that they are being evaluated from before they are accepted to the end of the program, and that you take the GSoC experience seriously and expect them to do likewise. - ## It's Not *Impossible* to Turn Things Around A true story: Once upon a time there was a student with limited English. The mentor considered the communication difficulty as a potential issue, but the student was enthusiastic, and hoped to use GSoC as an opportunity to improve his English. @@ -54,11 +52,8 @@ By the final evaluation, the student was almost back on his original project pla It is possible to rescue a failing student, but you need to really consider the issues, and come up with a plan to address them which everyone involved buys into. You also need to be prepared for the project to fail, and be okay with the extra energy you have invested not resulting in the outcome you wanted. - ## Mentor, Heal Thyself This is also an important time for self-evaluation. Are you managing your time adequately? Do you know where the project is at and where it is going? Are you enforcing the deadlines you set? Are you integrating your student into your community? Take the evaluation period as an opportunity to get feedback from students. Is there any way that you could have helped the student more? How does the student think you might be more effective as a mentor? Ask your student directly for feedback. - - diff --git a/pages/mentor/15-special_circumstances.md b/pages/mentor/15-special_circumstances.md index a53e807c..174280e2 100644 --- a/pages/mentor/15-special_circumstances.md +++ b/pages/mentor/15-special_circumstances.md @@ -13,15 +13,15 @@ GSoC project. Do's: -+ Encourage the participant to focus on their health concerns as their priority. -+ Provide reasonable accommodations and understanding. ++ Encourage the participant to focus on their health concerns as their priority. ++ Provide reasonable accommodations and understanding. Dont's: -+ Pry into the details of the situation. It's none of your business. -+ Ask for a doctor's note or proof. -+ Make promises about extensions outside the normal GSoC dates. -+ Require students to withdraw. This is their choice. ++ Pry into the details of the situation. It's none of your business. ++ Ask for a doctor's note or proof. ++ Make promises about extensions outside the normal GSoC dates. ++ Require students to withdraw. This is their choice. When evaluating students, be cognizant of the amount of time they have put in. A student who has produced good work for most of an evaluation period may be diff --git a/pages/mentor/16-upstream_integration.md b/pages/mentor/16-upstream_integration.md index ee27a3b3..1e19e616 100644 --- a/pages/mentor/16-upstream_integration.md +++ b/pages/mentor/16-upstream_integration.md @@ -10,19 +10,16 @@ Every project wants to get useful code. And once you get that code, you'd love t **Note**: We use the term 'committer' throughout this section to mean the person or people responsible for adding or merging code to your organizations authoritative source code repository. Terminology and source control methods vary so widely, that it was difficult to choose a single term. Committer seemed to cover the widest variety of situations. - ## Recruit Committers Early Typically, one or more committers to your project will be involved in GSoC. For very large projects, it can be helpful to alert all committers to upcoming student submissions. You can ask for them to be a second reviewer on patches from students, or simply keep them informed of your student's work schedule. This helps them know approximately when to expect code submissions. - ## Get The Code It's best if you can get the code committed to your project's repository as early as possible. Whether you commit this to your project's equivalent of HEAD, to a development branch or a feature-specific branch, getting student's code into a publicly available and canonical location early is a good thing. Even if your organization is unwilling to have student code drop directly into a released or releasable version of the org's project, it is a good idea to make sure that it is captured by the organization somehow. This ensures that you and your organization has a backup copy of the student's work. Getting the student's code into an unstable version or feature branch at the start of GSoC ensures that everything of value will be captured, decreases the eventual integration burden, and provides a better mechanism for community review of student code. - ## Dividing Up Patches Many organizations take student code submissions in the form of patches. It is considered best practice to keep patches confined to a single feature at a time. Sometimes this is not possible, but encouraging students to submit their changes as they are working is always better than a massive "patch bomb" at the end of the program. @@ -31,7 +28,6 @@ You can help your student by talking with them about how to divide their code in Be sure to set aside some time to teach your students how to use your revision control system, and especially its code merge tools, during the bonding period. This is both for their benefit and to save your time. If the student already knows how to test merging their changes before submitting them, it is far more likely that less time will be spent fixing patches which don't apply. - ## Patch Review Make review of submitted patches an explicit task. By doing so, you make it easier to hand some or all of the review off to another member of your community. This kind of delegation makes the student more a part of your development community, and reduces the overall work that is required from you. @@ -48,16 +44,14 @@ A reviewer does not need to guarantee some level of quality, but they do need to Questions a patch reviewer might ask include: -* Does it include reasonable tests, necessary documentation, an overview of features, etc? -* Does the patch actually implement what the author intends and work as advertised? -* Does it follow a relevant specification, RFC or the community-agreed behavior? -* Are there corner cases or failure situations the author has failed to consider? -* Does the patch slow down simple tests or other features? -* Does it follow the project coding guidelines? For an example, see -* Will it work on all supported operating system and hardware platforms? -* Are the comments sufficient and accurate? Are there any comments at all? -* Does it produce compiler warnings? -* Can you make it crash? -* Is everything done in a way that fits together coherently with other features/modules? - - +* Does it include reasonable tests, necessary documentation, an overview of features, etc? +* Does the patch actually implement what the author intends and work as advertised? +* Does it follow a relevant specification, RFC or the community-agreed behavior? +* Are there corner cases or failure situations the author has failed to consider? +* Does the patch slow down simple tests or other features? +* Does it follow the project coding guidelines? For an example, see +* Will it work on all supported operating system and hardware platforms? +* Are the comments sufficient and accurate? Are there any comments at all? +* Does it produce compiler warnings? +* Can you make it crash? +* Is everything done in a way that fits together coherently with other features/modules? diff --git a/pages/mentor/17-building_a_lifetime_contributor.md b/pages/mentor/17-building_a_lifetime_contributor.md index e5ca8f45..5ddf2528 100644 --- a/pages/mentor/17-building_a_lifetime_contributor.md +++ b/pages/mentor/17-building_a_lifetime_contributor.md @@ -27,5 +27,3 @@ The work of transforming your summer students into lifetime contributors begins Communicate early and communicate often! Try sending periodic emails to check in, pass on an interesting link or share a photo. Social networks can be useful for maintaining contact without a lot of overhead. Examples include: Identi.ca, Flickr, and GitHub. Use what works for you, and don't feel pressured to get involved with a social network. The telephone is also a valuabe resource; studies of open source communications have shown that VOIP technology is used with surprising frequency in open source projects, and it is a very personal and friendly form of communication. **Don't Be That Person**: Be socially and culturally sensitive. If you and your student don't share the same cultural background, ask respectful questions so you get to know about the similarities and differences a bit more. Also, make sure to maintain appropriate boundaries in your communications. For example, a student calling in the middle of the night to ask for relationship advice is not a pleasant situation for anyone; leave those conversations for their college friends. - - diff --git a/pages/mentor/18-making_your_ideas_page.md b/pages/mentor/18-making_your_ideas_page.md index 6078b988..24afa359 100644 --- a/pages/mentor/18-making_your_ideas_page.md +++ b/pages/mentor/18-making_your_ideas_page.md @@ -10,15 +10,13 @@ It all begins with the "Ideas Page". This is where you compile a list of possibl Depending on how your organization operates, the source of material for your Ideas Page may come from an existing list of projects maintained by your community year-round, from potential mentors as they are recruited, or from the org admin. Regardless of how it is generated, an Ideas Page should have the following: -* Brief descriptions of projects that can be completed in about 10 weeks and requiring about 175 hours of the average student's time. -* For each project, a list of prerequisites, description of programming skills needed and estimation of difficulty level. -* A list of potential mentors. -* It must NOT be a link to your bug tracker. +* Brief descriptions of projects that can be completed in about 10 weeks and requiring about 175 hours of the average student's time. +* For each project, a list of prerequisites, description of programming skills needed and estimation of difficulty level. +* A list of potential mentors. +* It must NOT be a link to your bug tracker. The best pages include links to more detailed descriptions and related materials for each project. They might even include actual use cases! *Keep in mind that this page is often the first view of your organization by Google and potential student applicants**.*** A link to your bug tracker does not an Ideas Page make. Put your best foot forward. In addition to a basic list, you might also consider providing links to relevant resources for mentors and students, particular FAQ entries, the timeline, etc. You might include a section on communication, giving specific advice on which mailing lists, channels and emails to use and how to use them. If your organization puts together an application template for students, you should include that on your page as well. Think of your Ideas Page as the GSoC portal to your organization. ***Pro Tip:*** Maintain an Ideas Page year-round to continually recruit new contributors and cultivate community involvement. - - diff --git a/pages/mentor/19-selecting_students_and_mentors.md b/pages/mentor/19-selecting_students_and_mentors.md index 1e1c7ea7..8b74c3d2 100644 --- a/pages/mentor/19-selecting_students_and_mentors.md +++ b/pages/mentor/19-selecting_students_and_mentors.md @@ -8,7 +8,6 @@ sidebar: mentor_sidebar A key activity for org admins is setting up and supervising the process by which student proposals are prioritized and matched with mentors. There are many good ways to do this. There are also a few common ways to proceed that are not so good. In any case, understanding how organizations commonly approach student and mentor selection can help to ensure a better outcome from this critical step. - ## The Formal Process Conceptually, the process of selecting students and mentors is simple. In practice, the process of prioritizing proposals and assigning mentors can be difficult and contentious. @@ -17,7 +16,6 @@ During the student application period, organizations prioritize the student prop Proposal volumes tend to be high, and the nature of the activity can lead to disagreements and bruised egos. Make the process for deciding on projects clear early, and be consistent. - ## Slot Count Google asks your organization how many slots you want slighty before slot allocation, after you have had time to review the student proposals that your organization received. The organization administrator is asked to enter both a minimum number of slots requested and a maximum number of slots requested. When deciding on your top proposals you should also be sure there is at least one mentor that has committed to mentor that project. @@ -30,14 +28,12 @@ If you discover that you haven't received the number of slots you were hoping fo If you ask for a certain number of slots and are given that number but then realize you don't have enough mentors to cover all of the projects you have essentially wasted that slot and taken it out of the hands of another organization that didn't receive the number of slots they requested relative to their excellent proposals. There is no way to trade unused slots with other organizations. - ## Students selected by multiple orgs Students are allowed to submit up to 3 proposals each year, and they can be to multiple organizations. When organizations have chosen their desired students based on the number of slots they were given, it is inevitably the case that a few students are sought by more than one organization. Starting in 2016, when an organization chooses their student that another organization has already chosen, the second organization's administrators will receive the contact information for the Organization Administrator with the first organization that chose the student. Then if they wish to plead their case for the first organization to release the student so the second organization can have them for a very important project they can. Ultimately it is up to the first organization that chose the student to decide if they want to release that student and let the second organization have that student. If the first organization releases that student they then can choose another student to fill that slot. This process involves interaction with peer open source organizations. It is critically important that you are polite and cordial, and put the needs of the student first. Whenever possible, student preferences should be honored. Keep in mind that you may have to work with these organizations outside GSoC; generating ill will here is not worth it. Also keep in mind that Google's program admins emphatically do not want to have to deal with hostility and conflict here. Don't endanger your future participation in GSoC just because some other organization wants some student as much as you do. Be nice and get out of the way. - ## Acquiring and Assigning Mentors Building a mentor pool and matching mentors with projects and students is one of the most challenging tasks for the org admin. For many organizations, the mentor will be selected by project when the ideas page is constructed. For others, mentors will be assigned once students have been selected and matched to projects. @@ -50,14 +46,12 @@ Make sure you have enough mentors, including quite a few spares. Folks who would If you (or the mentor) are insecure about their qualifications having them join the project as a back-up mentor is a great strategy to encourage future participation. - ## Cheating and Proposals From Outer Space Avoid spending time on proposals that were not tailored to your project by using the "ignore" feature for student proposals. Occasionally a student does not understand the importance of attribution when drawing on material from outside sources. Make sure she understands, early on, that plagiarism is not tolerated. In blatant cases, a good response is to reject the proposal and consider informing the administration at the academic institution the student is affiliated with. The article has some context to avoid surprises. - ## Selection Strategies Probably the best that can be done in suggesting selection strategies is to provide a few simple ideas that organizations have used effectively in the past. Your organization will build its own selection process over time; these ideas are just a starting point: @@ -69,5 +63,3 @@ Probably the best that can be done in suggesting selection strategies is to prov **Interact with the students during the proposal period.** There should be no remaining questions by the time students are slotted. Finding out that a student will not interact, or cannot interact well, is absolutely crucial. **Don't be afraid to take charge.** At the end of the day, the org admin is responsible for the student and mentor selection decisions. If your org doesn't give you full veto power, or gives you grief about executive decisions, consider stepping down. Sometimes somebody has to make the final decision. - - diff --git a/pages/mentor/20-org_application.md b/pages/mentor/20-org_application.md index c3203c04..526224bd 100644 --- a/pages/mentor/20-org_application.md +++ b/pages/mentor/20-org_application.md @@ -10,39 +10,32 @@ Successful applications can come in many forms. You should approach the organiza The most important part of GSoC is providing the students an excellent experience over the summer, and Google chooses organizations that they feel confident can do this based on their application. - ## The Ideas Page The ideas page is the most important part of the organization application. Please see the Ideas Page chapter of this guide for more information. Be sure to adjust any project ideas from 2020 or before to adjust for the smaller scope and time allowances for 2021 (175 hours for 2021 versus 350 hours for 2020 and before). - ## Past Success One question Google consistently asks of an organization on the application is whether they have participated in previous years, and if so, what their students' pass/fail ratio was. While pass/fail ratio is but one indicator of the success of the previous year, it does weigh against other components of the application. Orgs who never fail a student are also red flags as that can indicate being too lenient on student evaluations. There is a healthy balance. - ## New Orgs vs. Returning Orgs Every year Google tries to make room for new organizations in the open source world who can provide a different perspective or different opportunities to the students who participate in GSoC. This can often mean rejecting an org that has successfully participated in years past to allow space for new organizations. Often these decisions are very difficult for Google to make, because they don't have much to do with the returning orgs' success in previous years. Also sometimes Google chooses to let an organization that has been participating for many years have a year off to let a new organization participate. It doesn't mean that Google is upset wit that veteran organization, there just needs to be new blood and things need to get mixed up every now and then. The veteran should certainly apply again for the next year's program. - ## What Not to Do Incomplete applications are common and result in an automatic rejection by Google. Don't submit an Ideas List or a document Google administrators don't have access to. Do not make your Ideas list a link to a list of bug tracker issues, that will be a rejection. Google doesn't have the time or capacity to iterate with you on your application. Take the time to create a thoughtful proposal. - -## Just Because You Did Everything Right... +## Just Because You Did Everything Right ...doesn't mean you'll be accepted. Every year Google receives many more applications for organizations that want to participate in GSoC than it has capacity to accommodate. Some of the decisions about which organizations are accepted and which aren't come down entirely to space available in the program. Google receives 500+ applications from open source organizations each year that wish to be a part of GSoC and usually only accept around 200 organization applications. Thus more than 50% of the organizations that apply each year will be rejected. - ## A Note on Umbrella Orgs Google's program administrators actually look quite fondly on the umbrella organizations that participate each year. It serves a dual purpose: it allows Google to accept more organizations in the "space" of just one, and also gives an opportunity to accept a marginally-topical org by putting it under the umbrella of a related org. If your application is rejected, the following you may want to consider reaching out to an accepted umbrella org that might be able to accommodate you. - ## What's On the Application? The questions vary from year to year, but will be similar to: diff --git a/pages/mentor/21-managing_your_mentors.md b/pages/mentor/21-managing_your_mentors.md index 574cbe1f..809eba80 100644 --- a/pages/mentor/21-managing_your_mentors.md +++ b/pages/mentor/21-managing_your_mentors.md @@ -8,28 +8,23 @@ sidebar: mentor_sidebar As an org admin, your primary responsibilities are managing the GSoC program administrative requirements and helping your mentors effectively mentor. Below are some guidelines to help you accomplish both objectives. - ## Establish a Private Communication Channel It is important for mentors and org admins to have a communication channel that does not involve students, so org admins can speak candidly with mentors. This usually takes the form of a private mailing list or IRC channel, but any agreed-upon medium will work. - ## Managing across Timezones Org admins should have a list of mentors and students along with their timezones and preferred contact information and availability. This is essential for umbrella organizations, which sometimes have so many people spread across so many countries and time zones that it is impossible for an org admin to keep track. GSoC is often the first time people ever have to collaboratively work with others across many timezones, so it is worth taking time in the beginning of the summer to figure out these details. The fact that Daylight Savings Time is different depending on where people are complicates things even more. Usually it is best to set times in UTC so that DST will not complicate things. The World Clock website () is also a good resource for determining the time in a certain location. - ## Setting Expectations As an org admin, you need to rely on your mentors to manage the day-to-day activities related to student projects. This means you should have a discussion before students are accepted--if possible before you even apply for GSoC--about how you are going to handle some basic logistical items that are essential for a smoothly running and effective program. - ### Set up-front guidelines on how students, projects and mentors are selected -Occasionally, you'll find yourself with mentors for projects with no students and good project ideas with no mentors. Figure out up front how you plan to evaluate and accept students, projects and mentors. Make sure that your open source community concurs and the guidelines are clearly posted in your community GSoC documentation. See the chapter on *Selecting Students and Mentors *for details. - +Occasionally, you'll find yourself with mentors for projects with no students and good project ideas with no mentors. Figure out up front how you plan to evaluate and accept students, projects and mentors. Make sure that your open source community concurs and the guidelines are clearly posted in your community GSoC documentation. See the chapter on *Selecting Students and Mentors*for details. ### Determine a schedule and format for regular student project updates @@ -37,32 +32,26 @@ Regular student progress reports to the open source project community are a grea Make sure the mentors understand they are primarily responsible for encouraging their students to submit regular reports. - ### Establish up-front guidelines for mentor time involvement How often should mentors meet with their students? What happens if a mentor needs to be unavailable for several weeks during GSoC? Make sure the mentors understand expected time commitments before they are assigned to a student, and how to arrange for backup if they need to go missing for a bit. - ### Clearly communicate mentor GSoC administrative responsibilities Mentors at the very minimum are responsible for submitting timely student evaluations at midterms and finals. Make sure your mentor team is clear about when they need to submit evaluations and what to do if they are not available to submit the evaluations. - ### Create a decision process for determining if a student should pass or fail Unfortunately, at some point your organization is probably going to encounter a situation where you need to determine if you should fail a student at midterms or finals. Talk to your mentors before the GSoC program begins about criteria for passing and failing a student. Communicate clearly who makes the final decision about whether a student pass or fails. - ## Sorting Out Conflicts At some point in your org admin career you are going to need to step in to help resolve conflicts. Sometimes these are mentor-student conflicts, cross-project conflicts or mentor-mentor conflicts; they may be something completely unexpected. Here are a few guidelines to help you find the best-approach for resolution: -* Get involved early, before things spiral out of control. -* Discuss the conflict privately and separately with those involved. -* Whenever possible don't take sides, but rather attempt to function as a mediator. -* Remember that you are a senior representative of your open source community within the larger GSoC program community. -* Ask for advice from the GSoC program staff. +* Get involved early, before things spiral out of control. +* Discuss the conflict privately and separately with those involved. +* Whenever possible don't take sides, but rather attempt to function as a mediator. +* Remember that you are a senior representative of your open source community within the larger GSoC program community. +* Ask for advice from the GSoC program staff. If you've done a good job of setting expectations with your mentors, conflict resolution *should* be fairly straight-forward. - - diff --git a/pages/mentor/22-student_-_mentor_facilitation.md b/pages/mentor/22-student_-_mentor_facilitation.md index a0fac7cf..7b1845d1 100644 --- a/pages/mentor/22-student_-_mentor_facilitation.md +++ b/pages/mentor/22-student_-_mentor_facilitation.md @@ -10,10 +10,8 @@ The key to a successful GSoC experience is good communication. It is both a chal It is up to the org admin to stress communication strategies and expectations for both students and mentors. -* Make sure your mentors set expectations for time commitment, meetings, reports and code check-ins, and that these have been clearly communicated (if not collaboratively developed) with their students. -* Make sure both mentors and students have established more than one channel of communication with each other. -* Create internal contact groups for all your mentors and all your students. Use these email lists for general statements and advice regarding who should be doing what and when, and for asking, "Do you know where your student [or mentor] is?" +* Make sure your mentors set expectations for time commitment, meetings, reports and code check-ins, and that these have been clearly communicated (if not collaboratively developed) with their students. +* Make sure both mentors and students have established more than one channel of communication with each other. +* Create internal contact groups for all your mentors and all your students. Use these email lists for general statements and advice regarding who should be doing what and when, and for asking, "Do you know where your student [or mentor] is?" The number one reason why projects fail is poor communication. It is often the first sign of a project in trouble. Poor communication may originate as much with the mentor as with the student. A big part of your role as org admin is to lay out guidelines and advice at the start of the program, and then to keep track of progress. The org admin should be aware of communication problems early on. The only way to make sure you know what's going on is to periodically check-in with individual students and mentors. The week before evaluations is a good time to make contact and ensure there are no surprises coming. You should also stress to your mentors and students that they should contact you whenever there is a communication breakdown. - - diff --git a/pages/mentor/23-other_possible_issues.md b/pages/mentor/23-other_possible_issues.md index 02455636..85b4e445 100644 --- a/pages/mentor/23-other_possible_issues.md +++ b/pages/mentor/23-other_possible_issues.md @@ -23,5 +23,3 @@ Having additional mentors assigned to each student is a very good idea, and help First off, it is important to create a schedule for communication before coding begins. The org admin and mentors should agree on a frequency of communication that is appropriate for communicating with students and each other. This should be at least once per week, because it is very easy to let a few weeks slip by and then realize that the timeline for the project is nearly impossible to follow. If, in spite of all your best efforts, you have to deal with a communication breakdown, you will need to step in and restart communication yourself. Meet separately with the parties using the most personal medium available, and then make sure they meet with each other. Reestablish a regular schedule of communication, and find a way to monitor it. - - diff --git a/pages/mentor/24-end_of_year_report.md b/pages/mentor/24-end_of_year_report.md index 018e0a92..31f6094a 100644 --- a/pages/mentor/24-end_of_year_report.md +++ b/pages/mentor/24-end_of_year_report.md @@ -13,4 +13,3 @@ The report should be written for a general audience, so include an introduction In the end, the report is all about the students. Be sure to mention any blogs that were maintained by your students, and any public references to their work. Links to screenshots or video demonstrations are quite effective. Including student quotes is a fun way to represent not only their experience but also your organization, through the eyes of new contributors. You can also tailor the report to be good blog fodder for the Google Open Source blog post your organization administrators might want to submit to Google program administrators. That blog post should have some fun stories about the work the student did or quotes from the students or mentors to make it more interesting to the reader. - diff --git a/pages/mentor/25-about_this_manual.md b/pages/mentor/25-about_this_manual.md index 34bc372c..10bf7871 100644 --- a/pages/mentor/25-about_this_manual.md +++ b/pages/mentor/25-about_this_manual.md @@ -14,12 +14,10 @@ Org Admin section) and write the Students Guide ("Flipping Bits not Burgers"). Additional brief edits occurred February 2017 and November 2019 to update and reflect the new website and program changes. - ## How to Contribute to This Guide Read the CONTRIBUTING file in the source repository. - ## About the Authors Except where noted, the following individuals were part of both the 2009 and 2010 GSoC Book Sprint. We thank them for their tireless efforts to create this first-of-its-kind volume. @@ -66,7 +64,6 @@ Malveeka is currently a graduate student in the CS dept at UC, San Diego. She pa - ## 2009 Participants **Olly Betts** @@ -81,7 +78,6 @@ Leslie held various roles at Google before joining the Open Source Programs Offi - ## Facilitation (2009 & 2010) The Book Sprints were facilitated by: @@ -91,6 +87,3 @@ The Book Sprints were facilitated by: Adam is the founder of FLOSS Manuals and project manager for Booki. FLOSS Manuals is a community of 1500 (at the time of writing) volunteers that create quality free documentation about free software. FLOSS Manuals is pioneering the Book Sprint methodology that enables the development of well written manuals on free software in 2-5 days. Adam has facilitated over 15 Book Sprints on Free Software including Inkscape, OLPC, Sugar, CiviCRM, Firefox, Introduction to the Command Line, Digital Foundations (conversion to free software examples), Ogg Theora, How to Bypass Internet Censorship, Open Translation Tools, PureData, Video Subtitling and now the Google Summer of Code Mentors Guide. Adam is also the Project Manager for the development of 'Booki' - the free software Collaborative Authoring Platform (see below). adam@flossmanuals.net - - - diff --git a/pages/mentor/26-the_quick_guide.md b/pages/mentor/26-the_quick_guide.md index 0552c777..df2c0c3b 100644 --- a/pages/mentor/26-the_quick_guide.md +++ b/pages/mentor/26-the_quick_guide.md @@ -8,11 +8,10 @@ sidebar: mentor_sidebar The process begins with proposing projects and selecting students over about a four week period. This is followed by 3-4 weeks of community bonding. The coding phase runs for twelve weeks. -* During the student selection phase the mentor will be responsible for helping find a fit between project, student proposal and mentor. This will include defining the proposal process, assisting in the evaluation of proposals, querying the students, providing them feedback about their proposals and ultimately finding a student proposal to mentor. -* During the community bonding phase, the mentor and student will further define the student's project and prepare for development. An important part of this phase, as the name implies, is to get the student connected with both the mentoring organization and the larger open source community. -* During the coding phase the student will be implementing the project. The mentor will be providing advice not just on the technical aspects of development, but on issues related to the interaction of the student's work with the organization. At midterm the mentor will evaluate the student's progress to determine whether the student will continue with the project and be issued a payment by Google. -* During the final phase the mentor will help the student submit their code to Google. The mentor will also perform an evaluation of the student's work to determine whether Google should issue a final payment. - +* During the student selection phase the mentor will be responsible for helping find a fit between project, student proposal and mentor. This will include defining the proposal process, assisting in the evaluation of proposals, querying the students, providing them feedback about their proposals and ultimately finding a student proposal to mentor. +* During the community bonding phase, the mentor and student will further define the student's project and prepare for development. An important part of this phase, as the name implies, is to get the student connected with both the mentoring organization and the larger open source community. +* During the coding phase the student will be implementing the project. The mentor will be providing advice not just on the technical aspects of development, but on issues related to the interaction of the student's work with the organization. At midterm the mentor will evaluate the student's progress to determine whether the student will continue with the project and be issued a payment by Google. +* During the final phase the mentor will help the student submit their code to Google. The mentor will also perform an evaluation of the student's work to determine whether Google should issue a final payment. ## Quick Tips on Effective Mentoring diff --git a/pages/mentor/27-the_history_of_gsoc.md b/pages/mentor/27-the_history_of_gsoc.md index 08f4b9f0..db5e9bcd 100644 --- a/pages/mentor/27-the_history_of_gsoc.md +++ b/pages/mentor/27-the_history_of_gsoc.md @@ -19,5 +19,3 @@ The first year 40 projects participated--400 students began the experiment. In 2019, the 15th Google Summer of Code wrapped up with more than 89% of the 1,267 student participants in the program successfully completing their projects. Best of all, most of the 686 organizations participating over the past 15 years reported that the program helped them find new community members and active committers. You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: - - diff --git a/pages/mentor/28-additional_resources.md b/pages/mentor/28-additional_resources.md index 4fa391a3..ecbdace2 100644 --- a/pages/mentor/28-additional_resources.md +++ b/pages/mentor/28-additional_resources.md @@ -8,7 +8,6 @@ sidebar: mentor_sidebar We've collected our favorite and most useful resources specific to GSoC here. - ## General Resources If your organization has participated in GSoC previously, chances are there are mailing lists already set up and useful information in their archives; take a moment to look through them, especially around the launch times (February to March), community bonding period (April to May) and evaluation times (mid-July and end of August), for more details. The archives of the program mailing lists, particularly the private mentors list (below), are also quite useful. @@ -23,11 +22,10 @@ Additionally, these resources are quite helpful: **Knowledge Base**: If you're looking for advice for mentors or students, program promotional materials, presentations about GSoC, etc., start with the program site , particularly the Resources section. -**Mentor Summit Wiki**: Google has traditionally held an annual mentor summit after GSoC wraps up each year. During the summit, many great discussions are held on all sorts of topics regarding the program and open source overall. +**Mentor Summit Wiki**: Google has traditionally held an annual mentor summit after GSoC wraps up each year. During the summit, many great discussions are held on all sorts of topics regarding the program and open source overall. **List of Organizations**: You can see a list of the mentoring organizations that participated in previous years of the program by going to the program site and looking at the Archive site: - ## Mailing Lists There are three program mailing lists. @@ -42,7 +40,6 @@ There are three program mailing lists. **Mentors List**: Private, invite-only list; mentors are subscribed to the list after their organization is accepted into the program and they opt in to the list during registration. This list is higher traffic at the beginning of the program and around the times of evaluations. Some great advice can be found on this list and in the archives, but it can also be noisy at times. - ## Books **Producing Open Source** @@ -55,7 +52,6 @@ Written by Karl Fogel. Excellent guide to Open Source development. Its available - ## Associated Projects **Teaching Open Source** @@ -64,11 +60,8 @@ Written by Karl Fogel. Excellent guide to Open Source development. Its available irc : freenode #teachingopensource - ## What to Do When the Unexpected Happens? **Contact your Organization Administrator**: He or she can help you figure out what to do next or contact Google for more help. **Talk to Google's Program Administrators**: They have plenty of experience with all the corner cases and strange issues that can arise during GSoC. Email gsoc-support@google.com for help. - - diff --git a/pages/mentor/29-glossary.md b/pages/mentor/29-glossary.md index 1cd4aad2..07e4316a 100644 --- a/pages/mentor/29-glossary.md +++ b/pages/mentor/29-glossary.md @@ -11,114 +11,90 @@ sidebar: mentor_sidebar The shortest way in the geek world to say "I agree with this" or "This is a great idea". It is often used when others have already fleshed out the details and a consensus of how many agree/disagree with the sentiment. It is worth noting to your students if your project uses this as a voting signal so they do not accidentally comment on issues when, as newbies, they should be observing rather than commenting/voting. - ## -1 The opposite of +1. Often accompanied by an explanation why, if you are lucky. - ## Committer An individual who has special rights in an open source project. While the scope of this term varies by project, the general idea is that this individual is able to check in source code to the project's main repository. - ## Community Bonding Period The period of time between when accepted students are announced for a particular year of GSoC and the time these students are expected to start coding. This time is an excellent one to introduce students to the community, get them on the right mailing lists, etc. See the "Mind the Gap" section for more details. - ## DVCS Distributed version control system. A version control system that does not require talking to a centralized server. - ## FLOSS Free/Libre Open Source Software. Likely the most inclusive acronym to describe the software produced for GSoC. - ## GSoC Google Summer of Code - ## IDE Integrated Development Environment - ## IM Instant Messenger - ## IRC Internet Relay Chat - ## ISP Internet Service Provider - ## JFDI Just Fabulously Do It. Use your imagination. Ask for forgiveness, not for permission. :) - ## Mentor Someone who helps a student with their project proposal. See the What is GSoC section for more details. - ## Organization An open source, free software or technology-related project that mentors students for Google Summer of Code. Also known as a mentoring organization. - ## Organization Admin (Org Admin) Cat herders for each open source project participating in the program. Often abbreviated to org admin. See the What is GSoC section for more details. - ## Program Administrator Google employees who run the program. See the What is GSoC section for more details. - ## RTFM **R**ead **T**he **F**LOSS **M**anual ;) - ## Secondary Mentor A person who helps out a student's assigned mentor. At time of writing this guide, the GSoC online system only allows one mentor to be officially assigned to a student proposal, as one person must be responsible for submitting evaluations, etc. However, it is quite common to have multiple mentors for one student. - ## SMOP Simple Matter of Programming - ## Summer Not so much a season as a state of being. While the program is run during the Northern Hemisphere's Spring and Summer, the "Summer" in Google Summer of Code is actually a play on the "Summer of Love. - ## TDD Test Driven Development - ## Use Case A use case describes what a user can do with a particular software system. - ## Waterfall Model A sequential software development process. - - diff --git a/pages/student/00-what_is_google_summer_of_code.md b/pages/student/00-what_is_google_summer_of_code.md index 0617831d..3e399180 100644 --- a/pages/student/00-what_is_google_summer_of_code.md +++ b/pages/student/00-what_is_google_summer_of_code.md @@ -14,17 +14,15 @@ Accepted students gain exposure to real-world software development and employmen This program has brought together thousands of students and mentors from over 130 countries worldwide. As of September 2020, 715 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. - ## Goals of the Program The GSoC program has several goals: -* Inspire young developers to begin participating in open source development. -* Help open source projects identify and bring in new developers. -* Get more open source code written and released for the benefit of all. -* Provide students the opportunity to do work related to their academic pursuits during the summer: "flip bits, not burgers." -* Give students more exposure to real-world software development (for example, distributed development and version control, software licensing issues, testing, and communication best practices). - +* Inspire young developers to begin participating in open source development. +* Help open source projects identify and bring in new developers. +* Get more open source code written and released for the benefit of all. +* Provide students the opportunity to do work related to their academic pursuits during the summer: "flip bits, not burgers." +* Give students more exposure to real-world software development (for example, distributed development and version control, software licensing issues, testing, and communication best practices). ## A Brief History of Google Summer of Code @@ -33,5 +31,3 @@ Google Summer of Code began in 2005 as a complex experiment with a simple goal: GSoC has grown immensely over the last 16 years and in the process helped students make the most of their summer by working on exciting open source projects. You can take a look at the appendix if you're interested in a more extensive history of the program. - - diff --git a/pages/student/01-why_should_i_apply.md b/pages/student/01-why_should_i_apply.md index e04aeeeb..e91471ae 100644 --- a/pages/student/01-why_should_i_apply.md +++ b/pages/student/01-why_should_i_apply.md @@ -62,6 +62,4 @@ If you enjoy coding and feel passionate about writing good quality code and buil **The stipend and the fame** -One very tangible and obvious advantage of participating in GSoC is the stipend that you make while working with amazing people on a great project. Being a successful GSoC student is in fact a prestigious achievement. It's another way to make your resume more impressive. - - +One very tangible and obvious advantage of participating in GSoC is the stipend that you make while working with amazing people on a great project. Being a successful GSoC student is in fact a prestigious achievement. It's another way to make your resume more impressive. diff --git a/pages/student/02-am_i_good_enough.md b/pages/student/02-am_i_good_enough.md index a34117eb..4889f42a 100644 --- a/pages/student/02-am_i_good_enough.md +++ b/pages/student/02-am_i_good_enough.md @@ -14,7 +14,6 @@ Evelina Vrabie, Romania, Android Project - GSoC student Every project has a different criteria for selecting students and subsequently different skill level requirements. If you meet the below list of general skills you are likely to find a GSoC project to which you can feel comfortable applying: - ## The soft skills **You find out where to go for help with technical questions** @@ -33,7 +32,6 @@ Since you'll be spending significant amounts of time working alone - not being a Do you think you already know everything about everything in the world of open source programming? Then you probably aren't good enough for GSoC! - ## The technical stuff **You can install and configure software packages on your own** @@ -51,5 +49,3 @@ Depending on the project, the skills necessary will range from beginner to exper Every project has additional characteristics that they look for when selecting students and projects - however, if you meet the above basic criteria - chances are good that there are GSoC projects and organizations to which you can feel comfortable applying. **Pro Tip:** Don't be afraid to apply to projects where you only meet 51% of the listed requirements. Include a section on how you'll compensate for or learn the missing skills - and demonstrate during the application process that you are working on acquiring those new skills. - - diff --git a/pages/student/03-making_first_contact.md b/pages/student/03-making_first_contact.md index 1a06b421..aee5edb0 100644 --- a/pages/student/03-making_first_contact.md +++ b/pages/student/03-making_first_contact.md @@ -14,25 +14,21 @@ If you're the type of person that would walk right up and introduce yourself at However, if you're more likely to hang back and watch people for a while, spend some time observing community interactions before you jump in. You can also try to contact an organization admin for guidance, or with help introducing you to a community. If in doubt, have a look at the organization's ideas page for hints on where to go for help. - ## How to observe community interactions -* Join both the development and user mailing lists and spend a few days just reading the conversations. -* Read the mailing list archives. -* Join the project's discussion forums/chat channel (IRC, Discourse, Slack) and lurk for a bit. -* Read all the available information on past GSoC projects. -* Take a stab at going through the project documentation, at least to the point where you feel like you can ask questions that are not already extensively covered in the docs. +* Join both the development and user mailing lists and spend a few days just reading the conversations. +* Read the mailing list archives. +* Join the project's discussion forums/chat channel (IRC, Discourse, Slack) and lurk for a bit. +* Read all the available information on past GSoC projects. +* Take a stab at going through the project documentation, at least to the point where you feel like you can ask questions that are not already extensively covered in the docs. At the end of your "listening and research" phase you'll understand how, where and when the community interacts and know the best way to ask questions. - ## How to begin participating in conversations -* Introduce yourself! If you are new to the community you need to let people know who you are and why you are interested in contributing to the project. -* Ask questions. You should be able to come up with at least a few legitimate questions before offering your opinion on the right way to do things. -* Be humble. Until you've engaged with the community, for at least a few months, assume that those people talking about things probably are privy to community nuances you might not yet see. -* Don't be intimidated. Don't let a bad experience stop you from getting involved. Just relax and think about why you were snubbed and if there's anything that you should be careful about before participating in another conversation. +* Introduce yourself! If you are new to the community you need to let people know who you are and why you are interested in contributing to the project. +* Ask questions. You should be able to come up with at least a few legitimate questions before offering your opinion on the right way to do things. +* Be humble. Until you've engaged with the community, for at least a few months, assume that those people talking about things probably are privy to community nuances you might not yet see. +* Don't be intimidated. Don't let a bad experience stop you from getting involved. Just relax and think about why you were snubbed and if there's anything that you should be careful about before participating in another conversation. No matter what, don't wait until the application period to initiate contact - really! Engage with multiple communities once the participating organizations are chosen to get a feel for how different groups work and find the one or two that fit your interests/personality. - - diff --git a/pages/student/04-choosing_an_organization.md b/pages/student/04-choosing_an_organization.md index b1ecfc3d..4edfa411 100644 --- a/pages/student/04-choosing_an_organization.md +++ b/pages/student/04-choosing_an_organization.md @@ -12,22 +12,18 @@ You now have a pretty good sense of what GSoC is all about. You've got the time Kapila Bogahapitiy, Network Time Protocol Project, GSoc Student 2009, 2010 - ## Who Am I? The very first requirement for a successful GSoC experience is finding a project/organization that interests you. Take a few minutes to consider the following questions. You can use the answers to these questions to search and filter through the organizations participating in GSoC. -* What open source software do you use? -* What are your professional interests? -* What are your hobbies? -* What is your skill set? -* What do you want to get out of GSoC? - +* What open source software do you use? +* What are your professional interests? +* What are your hobbies? +* What is your skill set? +* What do you want to get out of GSoC? ## Who Are They? After the GSoC program is announced each year, a list of accepted organizations is published on the GSoC website (usually in February). Compile a list of organizations based on your answers above. The projects are also tagged with categories of programming language, platforms, topics and applications. Use the tags to filter organizations based on your skills and interests. For each organization, take some time to learn more about what they do (i.e., Google them!). The organization's mission, it's size and range of applications may all influence your interest in working with them. Realize that through GSoC you will be joining an open source community. Ideally, you'll find an organization that you are enthusiastic to be a part of for many years to come! - - diff --git a/pages/student/05-finding_the_right_project.md b/pages/student/05-finding_the_right_project.md index 038977e6..e62e7098 100644 --- a/pages/student/05-finding_the_right_project.md +++ b/pages/student/05-finding_the_right_project.md @@ -8,22 +8,18 @@ sidebar: student_sidebar Each organization will have a Project Ideas Page linked to from the official Google list of accepted organizations. Browse the list of project ideas for each of the organizations for which you are interested. The ideas should give you a clear sense of the range and depth of projects being targeted and the expectations in terms of prior experience and programming skills. In addition to the list of project ideas, many organizations encourage original ideas proposed by students. - ## Shortlist There's a big sea of projects out there for GSoC. Start by compiling a list of potential project ideas that catch your interest. For each idea, take some time to carefully consider what is being proposed, how its scope might be better defined, and how it might fit in with the larger picture. - ## Ask questions Consider any questions you might have about the project, how it might be implemented, and what it would entail. Read the FAQs. If there's still anything unclear about the project and requirements, get your doubts cleared. Formulate your questions and suggestions regarding each idea into a clear and concise communication. - ## Evaluate your options Once you've researched the shortlisted projects and got your questions answered, re-evaluate your options before writing the proposal. Also think about whether the communities you're interested in match your needs, and if you'll have fun working with those people. Is there enough documentation and help available to get you started on the project? Given all the feedback, do you think you're really excited about the project and think that you can do a good job of it? - ## From Project Idea to Project Plan You've narrowed down your search of organizations and projects, you've made first contact, and you've started communicating directly with potential mentors. Now it's time for the critical process of turning a project idea into a project plan. @@ -33,5 +29,3 @@ In most cases, your potential mentor(s) will have lots of ideas and preconceptio **Pro Tip:** The earlier you apply, the better. Submitting your proposal early helps you get early feedback. **Don't be that person**: Cut and pasting an idea from the organization page and turning that in as your project's description is a big no-no. You'll be expected to research and submit your own ideas about how to accomplish the project your way, not just state the end result. - - diff --git a/pages/student/06-writing_a_proposal.md b/pages/student/06-writing_a_proposal.md index 1c40d403..5cd4dd01 100644 --- a/pages/student/06-writing_a_proposal.md +++ b/pages/student/06-writing_a_proposal.md @@ -8,7 +8,6 @@ sidebar: student_sidebar This is a competitive program, each year Google turns down many more students than it funds. While pre-proposal activities are key to improving your chances of success, a poorly-written proposal is an easy way to fail. There is much you can do to ensure that your project proposal catches the attention of organization reviewers *in a positive way.* - ## The Basics First and foremost, make sure you meet Google's formal requirements for participation in Summer of Code. Also be sure you are eligible to participate in a program like GSoC with your visa, etc. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. @@ -19,7 +18,6 @@ Make sure that you are able to be in regular close contact with organization men This program is the Google Summer of *Code.* If you are less than fluent in the programming languages that your target organization uses, you might want to skip the work of writing an application. If you do decide to proceed, be clear about your level of ability, so that the organization can make an informed decision. - ## Elements of a Quality Proposal Most organizations have their own proposal guidelines or templates. You should be extraordinarily careful to conform to these. Most organizations have many, many proposals to review. Failure to follow simple instructions is highly likely to land you at the bottom of the heap. @@ -28,7 +26,7 @@ There are certain elements of the proposal that should apply to every organizati **Name and Contact Information** -Putting your full name on the proposal is not enough. Provide full contact information, including email addresses, websites, IRC nick, and telephone number. +Putting your full name on the proposal is not enough. Provide full contact information, including email addresses, websites, IRC nick, and telephone number. **Title** @@ -58,7 +56,6 @@ Keep your personal info brief. Be sure to communicate personal experiences and s Most organizations accept only plain text applications. Most organizations have a required application format. Many organizations have application length limits. In general, organizations *will* throw out your proposal if you fail to conform to these guidelines. If you feel you *must* have graphical or interactive content associated with your application, put just this content (not a copy of your proposal) on the web and provide an easy-to-type URL. Do not expect reviewers to follow this link. - ## Submit a Draft Proposal early Submit your draft proposal early during the application period so that the organization mentors can review it and ask you questions or request more detail on aspects of your proposal before the final deadline. @@ -69,14 +66,12 @@ Follow the instructions from the organizations on the content and format of your You can edit the draft as many times as you wish before the application deadline. - ## Submitting a Final PDF Proposal **Before the application period closes you must submit a Final PDF Proposal** - this must be done for your proposal to be considered for the GSoC program. If you only submit a draft and fail to submit the Final PDF Proposal the organizations will not be able to see your proposal and therefore will not be able to accept you - it is an automatic reject from the system. Follow the instructions on the GSoC site and the process is quite straightforward. - ## Outside the Project List Some organizations allow students to propose work that is not on their official Ideas Page. This can be a great opportunity to get your proposal on the top of the stack. Reviewers tend to get excited about a student that goes beyond a direct response and enthusiastically proposes work that is novel and creative. @@ -113,7 +108,6 @@ Novel work should be novel. Surprise. Even given this list, there's plenty of room for cool work. Given the opportunity, you should seriously consider taking advantage and writing a proposal that differentiates you. - ## General Notes While there is an official limit of three submitted proposals, it is okay to submit more than one high-quality proposal. If you have several strong possibilities for the same organization, consider submitting several proposals. Organizations will figure out which one they like best. But avoid sending many medium-quality proposals and concentrate on fewer high-quality proposals. @@ -123,5 +117,3 @@ Most organizations are risk averse. It is better for everyone if your project is Integrate and leverage existing open source code in your project. Only propose to write something yourself if you cannot get it any other way. The "Pencils Down" deadline for your project to be complete is usually sometime in mid-August. This will come sooner than you think. - - diff --git a/pages/student/07-being_turned_down.md b/pages/student/07-being_turned_down.md index a06f7052..53f05c8e 100644 --- a/pages/student/07-being_turned_down.md +++ b/pages/student/07-being_turned_down.md @@ -10,7 +10,6 @@ You've done your homework, found an exciting project, and you've written the bes Don't despair! The beauty of engaging in the GSoC process is that you're learning about groups of people that extend beyond just GSoC. Making contact with potential mentors and a software community sets the stage for future opportunities for participating in community-developed open source software projects. - ## What to do now? First, don't take it personally. Just like when you apply for a job, there are reasons why you might not get in, some that have nothing to do with you. Mentors may not be available, the organization may not have enough space for your project or it may just not be the right time for your proposal. @@ -21,10 +20,10 @@ So, where to go from here? There are several strategies you can consider to go f Just like in job interviews, gathering information about why your proposal wasn't accepted is a great thing to do to improve your next application. Some example questions to politely ask if your proposal is turned down include: -* Was there a mismatch with my skills and the project requirements? If so, what skill areas can I work on to be better qualified next year? -* Did I engage enough with the community during the application process? -* Do you have any suggestions on how to improve my pre-application communication? -* Was my project plan clear? Do you have any suggestions on how I can better communicate my ideas via the project plan next year? +* Was there a mismatch with my skills and the project requirements? If so, what skill areas can I work on to be better qualified next year? +* Did I engage enough with the community during the application process? +* Do you have any suggestions on how to improve my pre-application communication? +* Was my project plan clear? Do you have any suggestions on how I can better communicate my ideas via the project plan next year? Following up and getting more information about what you might be able to do differently next time is a great pathway to success. @@ -61,5 +60,3 @@ Just keep trying. The next proposal just might be accepted... "*Never* give up. It took me 3 years and 12 proposals to finally get into the program. If none of your proposals gets accepted, sit back and relax. You have a whole year ahead to improve your role with the open-source community by writing more code." Kamran Khan, Ubuntu, GSoC Student 2010 - - diff --git a/pages/student/08-how_gsoc_works.md b/pages/student/08-how_gsoc_works.md index 30090900..0f2a4724 100644 --- a/pages/student/08-how_gsoc_works.md +++ b/pages/student/08-how_gsoc_works.md @@ -18,11 +18,10 @@ Payment is in two pieces. The first payment is sent shortly after you pass the P **Certificate of Completion** -You may receive a digital certificate of completion at the end of the program if you successfully pass GSoC. +You may receive a digital certificate of completion at the end of the program if you successfully pass GSoC. The rest of your experience with the program will be determined by your interactions with the community within your mentoring organization. Most students consider the interactions with their mentor and the rest of the open source community they're involved with to be the most important part of the Google Summer of Code experience. - ## Participant Roles There are four roles in the Google Summer of Code program: @@ -43,9 +42,6 @@ Mentors are people from the community who volunteer to work with a student. Ment Program administrators are employees of Google's Open Source Programs Office who run the program. These folks do a variety of tasks: select the participating open source projects each year, create and analyze the program evaluations, administer the program mailing lists, ensure that participants are paid, respond to inquiries about the program. Program administrators do not select which student proposals are accepted into Google Summer of Code. - ## Afterward It is a primary goal of Google Summer of Code that the student participants stick around long after the program has ended and continue contributing to their project communities. Great mentors continue working with their students and encourage them to do so. In the end, mentors and students take a well-deserved break before the GSoC cycle starts again. - - diff --git a/pages/student/09-what_does_community_mean.md b/pages/student/09-what_does_community_mean.md index 63d27744..e9b68038 100644 --- a/pages/student/09-what_does_community_mean.md +++ b/pages/student/09-what_does_community_mean.md @@ -14,7 +14,6 @@ Some developers may work on only a small part of the project codebase, while oth When talking about community, it helps to focus in on political and social structure. The project participants you talk to may or may not formally represent the project. Assume, unless otherwise stated, that people represent and speak only for themselves when you interact with them. However, identifying the leaders and the project structure can help you to better interact with all members of the project team. - ## Community leadership structure Much of the authority in a project rests with those people who control the community code. At least, it starts there. Actual organization varies widely, but there are some common structures that may help you find your bearings. @@ -33,19 +32,16 @@ Decisions are often made based on who has working code, rather than on a theoret As groups grow in size, some kind of organization becomes necessary. The type of formal organization varies widely across social, cultural and political boundaries. Some ways of organizing include: -* Electing a steering committee by a vote of developers. -* Forming a non-profit organization or foundation. -* Creating a for-profit business. -* Joining an existing non-profit organization. -* Formalizing the existing developer relationships by naming a group of committers the "core" decision makers. +* Electing a steering committee by a vote of developers. +* Forming a non-profit organization or foundation. +* Creating a for-profit business. +* Joining an existing non-profit organization. +* Formalizing the existing developer relationships by naming a group of committers the "core" decision makers. These groups can have documented processes for assuming leadership roles, and may put more effort into non-code activity. Generally speaking, formal organizations have governing documents, and a clearly documented leadership group that changes from time to time. - ## Community is people Apart from project leaders, open source projects tend to be full of independent, capable people who like to learn. Long-term collaboration tends to turn strangers into friends. Part of what people enjoy about open source development is that they have the opportunity to choose their colleagues. Developers often participate for fun, relaxation and friendship. When you're talking to a software community, realize that you're really just talking to people, albeit some of the most interesting people who create software. Enjoy the experience and be a good neighbor, and you'll almost always fit right in. - - diff --git a/pages/student/10-open_source_culture.md b/pages/student/10-open_source_culture.md index 30f892e2..d60b5f68 100644 --- a/pages/student/10-open_source_culture.md +++ b/pages/student/10-open_source_culture.md @@ -8,7 +8,6 @@ sidebar: student_sidebar When you encounter an open source group for the first time, it may be a bewildering experience. Whether posting to a mailing list for the first time, blogging about the project you're taking on or hanging out on a chat channel - the way people interact, and what they expect from each other is pretty different than in classroom or with friends and family. - ## Openness and Sharing Open source communication can vary a lot. A core value held in common is that sharing code is good. Regardless of license, language or indentation style, open source developers create, share and modify source code together. @@ -23,7 +22,6 @@ Although "open culture" is generally informal, it is important to remember that Most open source communities have their own Code of Conduct (formally or informally). Be sure you are aware of the Code of Conduct and are treating everyone with respect. - ## Remote Communication Many projects involve individuals who are working not only in different cities, countries and continents, but collaborating across major cultural and language differences. And rather than having procedures or policies on how to interact with one another handed down from HR departments or other authorities, communication practices evolve between individuals over time. @@ -34,19 +32,17 @@ Be mindful of cultural assumptions about race, gender, sexual orientation and di All that tolerant rhetoric aside, it is never productive for an open source project to allow individuals who consistently try to cause harm to others to do so. If you are causing undue problems don't be surprised if you are asked to discontinue your participation regardless of your contributions. It's often better for an open source project to ask someone to leave, than to allow them to harm others and in turn, cause other productive members of your team to depart. - ## Abbreviations and Slang People come up with abbreviations and slang that are meaningful inside the group, but not necessarily to outsiders. Ask questions when you don't understand a term, a joke or some arcane bit of project lore. Here are a few useful resources for teasing out meaning from initialisms, acronyms and abbreviations: -* Urban Dictionary () -* Webster's Online Dictionary () -* The Jargon File () -* Acronym Finder () -* A to Z word finder () - +* Urban Dictionary () +* Webster's Online Dictionary () +* The Jargon File () +* Acronym Finder () +* A to Z word finder () ## Volunteerism and Gift Economies @@ -56,15 +52,13 @@ Contributions to projects are often self-directed, with developers having a pers Because many (or in some cases all) contributors are volunteering, methods of coercion available to businesses are not available. The best way to collaborate is to behave in a way that encourages others, and ultimately, makes people want to contribute. Some easy ways to encourage volunteerism include: -* Saying thank you -* Giving compliments when they are deserved, regularly and in public -* Publicizing cool hacks and features as they are implemented, in blog posts and on the mailing lists -* Promptly committing useful code -* Responding promptly to requests for information -* Clearly defining ways to contribute to your project (TODO lists are great!) +* Saying thank you +* Giving compliments when they are deserved, regularly and in public +* Publicizing cool hacks and features as they are implemented, in blog posts and on the mailing lists +* Promptly committing useful code +* Responding promptly to requests for information +* Clearly defining ways to contribute to your project (TODO lists are great!) Consider treating every patch like it is a gift. Being grateful is good for both the giver and the receiver, and invigorates the cycle of virtuous giving. Overall, your goal is to help create and maintain an atmosphere around contribution that is enjoyable. What that means will vary significantly depending on the project, but certainly the above points apply to any project. - - diff --git a/pages/student/11-communication_best_practices.md b/pages/student/11-communication_best_practices.md index 4ecb282a..dc87667e 100644 --- a/pages/student/11-communication_best_practices.md +++ b/pages/student/11-communication_best_practices.md @@ -8,11 +8,10 @@ sidebar: student_sidebar One of the best things about GSoC is the group of individuals from diverse cultures and different open source organizations that participate each year. This also means that you cannot make any assumptions about communication. Specifically: -* Always read the [Program Rules](https://developers.google.com/open-source/gsoc/rules), [FAQ](https://developers.google.com/open-source/gsoc/faq) and this guide first! One of the best ways to destroy your reputation early is to repeatedly ask questions on the chat channel or the mailing list that are covered in a FAQ or other types of documentation. -* Don't expect instant answers. Remember you are working with volunteers. -* Avoid humor when communicating with the entire GSoC community. It does not translate well to large groups and is likely to be misconstrued by someone. -* Remember that other peoples' time is just as valuable as your own. - +* Always read the [Program Rules](https://developers.google.com/open-source/gsoc/rules), [FAQ](https://developers.google.com/open-source/gsoc/faq) and this guide first! One of the best ways to destroy your reputation early is to repeatedly ask questions on the chat channel or the mailing list that are covered in a FAQ or other types of documentation. +* Don't expect instant answers. Remember you are working with volunteers. +* Avoid humor when communicating with the entire GSoC community. It does not translate well to large groups and is likely to be misconstrued by someone. +* Remember that other peoples' time is just as valuable as your own. ## How to Use a Mailing List @@ -20,28 +19,26 @@ Every community uses mailing lists differently. It is extremely important that y Some specific guidelines that should apply across communities: -* Follow the mailing list posting style. Do people top or bottom post? Follow the norm. -* Keep your posts on-topic. Avoid tangents and posting "I know this is off-topic but..." type posts. If you have any doubt, email the moderator *before* you post. -* Don't cross-post to multiple lists. Communicating well on mailing lists means knowing where and when to post items, if you have any doubts regarding what is appropriate, ask the moderator. -* Never send community members unsolicited personal messages. Especially, if your content is along the lines of "the way you talk about code really turns me on." Inappropriate! -* If you are offended by a response or post, walk-away. Do not respond when you are angry. -* Avoid posting to the mailing list if you are significantly under the influence of anything that makes you behave out of your norm. Just like drunk-dialing is bad -- so is drunk emailing to your open source community mailing list. -* Avoid profanity. -* Don't post chain letters, marketing messages or other types of non-topical spam. -* Always check the archives before re-posting your message. Lots of mail clients don't send you duplicates of your mailing lists posts. Check the archives before you re-send! -* Always read the entire thread before replying. Seriously, read every message in a thread first! -* Don't use the mailing list as your own personal Google. Take the time to research the question first. Check the archives, search the project documentation first, Google it yourself. -* Don't begin or get involved in religious or political arguments. -* Never proselytize on the mailing list. -* Do your best to always assume the best of the poster. We all have bad days. Sometimes, a non-native speaker may appear to have an offensive "tone" in the post where no offense is meant. -* Avoid unintentional "tone" in your postings. If you have any doubt read your message out loud or have someone else read your message before you post. - +* Follow the mailing list posting style. Do people top or bottom post? Follow the norm. +* Keep your posts on-topic. Avoid tangents and posting "I know this is off-topic but..." type posts. If you have any doubt, email the moderator *before* you post. +* Don't cross-post to multiple lists. Communicating well on mailing lists means knowing where and when to post items, if you have any doubts regarding what is appropriate, ask the moderator. +* Never send community members unsolicited personal messages. Especially, if your content is along the lines of "the way you talk about code really turns me on." Inappropriate! +* If you are offended by a response or post, walk-away. Do not respond when you are angry. +* Avoid posting to the mailing list if you are significantly under the influence of anything that makes you behave out of your norm. Just like drunk-dialing is bad -- so is drunk emailing to your open source community mailing list. +* Avoid profanity. +* Don't post chain letters, marketing messages or other types of non-topical spam. +* Always check the archives before re-posting your message. Lots of mail clients don't send you duplicates of your mailing lists posts. Check the archives before you re-send! +* Always read the entire thread before replying. Seriously, read every message in a thread first! +* Don't use the mailing list as your own personal Google. Take the time to research the question first. Check the archives, search the project documentation first, Google it yourself. +* Don't begin or get involved in religious or political arguments. +* Never proselytize on the mailing list. +* Do your best to always assume the best of the poster. We all have bad days. Sometimes, a non-native speaker may appear to have an offensive "tone" in the post where no offense is meant. +* Avoid unintentional "tone" in your postings. If you have any doubt read your message out loud or have someone else read your message before you post. ## Like a bullhorn When you post to the GSoC student list you are essentially using a bullhorn to broadcast your words to 8,500 people across time zones and international boundaries. Use your bullhorn wisely, or it might be ripped from your hands by an unruly and angry mob, or by a responsible moderator. - ## How to Use IRC Many projects use IRC for real-time conversations. Often these IRC conversations appear very casual. It is always best to assume formality if you have any doubts about who may be listening or participating in the conversation. @@ -52,10 +49,8 @@ The Fedora Project has a great FAQ on how to use IRC. Read it! Some additional guidelines: -* Include your real name in your IRC signature information. -* Never private-message (pm) someone that you don't know without first asking if it is OK in the public channel. -* Read the topic before asking questions. -* Stay on-topic for the channel. -* Before asking questions in #gsoc - read the FAQ! - - +* Include your real name in your IRC signature information. +* Never private-message (pm) someone that you don't know without first asking if it is OK in the public channel. +* Read the topic before asking questions. +* Stay on-topic for the channel. +* Before asking questions in #gsoc - read the FAQ! diff --git a/pages/student/12-how_to_get_a_head_start.md b/pages/student/12-how_to_get_a_head_start.md index c31cf6dd..9a218d42 100644 --- a/pages/student/12-how_to_get_a_head_start.md +++ b/pages/student/12-how_to_get_a_head_start.md @@ -8,37 +8,32 @@ sidebar: student_sidebar The last thing you want is for the coding period to start and then realize that you don't have all the tools you need installed and configured to actually begin work. Don't let this happen to you! The community bonding period is the perfect time to get these things sorted out. - ## Get Your Development Environment in Order Each project has a unique set of tools and packages required to work with developers. These often include: -* Compiler -* Language interpreter -* Text editor -* Version control system -* Modules and libraries needed by the software -* Database, mail or web server -* Real-time communication tool (e.g. irc client, instant messaging) +* Compiler +* Language interpreter +* Text editor +* Version control system +* Modules and libraries needed by the software +* Database, mail or web server +* Real-time communication tool (e.g. irc client, instant messaging) Some organizations require testing on multiple operating systems and/or platforms. Make sure you know what is expected of you as early as possible. Read the available development documentation and contact your mentor to figure out exactly what tools you need to succeed. Also learn the bug-reporting process that your organization uses and understand the project's release management strategy. - ## Practice Once you get your development environment setup start practicing! This includes getting familiar with the coding standards, codebase, and testing and documentation policies of the open source project community. Do a few practice commits and work on understanding how source control works within your project. Brush up on any new skills and start asking questions. - ## Do Some Background Research Look through the projects bug database and read through the user list to understand your end users. Peruse the mailing list archives and go through the project's existing documentation. - ## Start Interacting Take advantage of the community bonding period to connect with your mentor, and other students in the program. Set up a blog, get involved on relevant forums and mailing lists and in general, start interacting with the development community. Make sure you have what you need to succeed, and if you don't, ask your mentor for help. - ## Start Working with Your Fellow Students GSoC is not only about working with your mentor. There's this amazing group of outstanding and motivated students too. @@ -63,9 +58,6 @@ You can always find students who are excited by the same ideas as yours. Use you You can even consider starting a local student chapter for your community if you can find enough interested people. It's a great way of socializing, making and keeping new friends and also spreading word about your community, open source and GSoC. - ## Review Your Project Plan Do you have a good project schedule? Have you informed your mentor of any planned absences? Make any project adjustments you may now recognize as necessary based upon getting your dev environment setup and your new understanding of how the project works. - - diff --git a/pages/student/13-working_with_your_mentor.md b/pages/student/13-working_with_your_mentor.md index ab16eda4..4b4fc43c 100644 --- a/pages/student/13-working_with_your_mentor.md +++ b/pages/student/13-working_with_your_mentor.md @@ -8,31 +8,26 @@ sidebar: student_sidebar Once your project is accepted you are assigned a primary mentor and potentially secondary mentors as well. Consistent access to mentors is one of the most valuable parts of the GSoC program. Your mentor is going to work with you throughout the GSoC program to help you be successful, but you also need to make sure you are contributing to and helping to manage your relationship with your mentor. - ## Community Bonding Period The community bonding period is when you work out further details of your project plan, schedule regular upcoming meetings with your mentor, get your development environment set up and start to engage with the project's open source community. This is the time to work with your mentor on setting expectations for your interactions and how your progress is measured during the GSoC program. Hopefully, you have already participated in many discussions with your mentor, clarifying the project and expectations during the application period, but now is the time to finalize your plans. - ## Staying on Track Ideally, you have already worked with your mentor to layout a clear schedule for regular meetings, reports, code check-ins and any planned time off. If you haven't, *do this now!* Your mentors are busy people too. They are juggling many tasks and GSoC is one more added to their load. If you rely solely on your mentor to keep track of and enforce the schedule of work, your project is almost guaranteed to fail. Be proactive in keeping the schedule you've agreed to and proposing modifications before deadlines pass. - ## Be Respectful of Your Mentor's Time Your mentor is volunteering their time to help you with your GSoC project. Regularly missing scheduled meetings without prior notice and failing to come prepared to meetings is likely to cause your mentor to not want to continue helping you with your project. Remember your mentor is your most valuable resource to help you complete your project successfully, treat them accordingly. - ## Using Your Mentor During the coding period, you should continue to make full use of your mentor. As you implement each phase of your project plan, ask your mentor for feedback on the code as you go. Avoid working for two weeks on a chunk of code that is headed in the wrong direction. Never be afraid to ask questions, but remember you are going to be more successful in receiving a good answer if you try to be specific and do a bit of background investigation first. Take a look at logs and try to think through the error or problem before asking for help. Equally important is to not wait until you are significantly behind in your project to ask for help. - ## Asking For and Receiving Feedback Hearing criticism can be hard. It can be even harder to not respond defensively. Asking for and receiving constructive criticism about your project from your mentor, the larger open source project community and your peers is an invaluable exercise to help you write the best code possible. @@ -45,7 +40,6 @@ During the community bonding period you and your mentor should have established First, take a deep breath. OK, now take another. Chances are your mentor is not wrong and you need to listen to their advice. This is a great opportunity to start asking questions. Try not to be defensive but rather, "I really don't understand what you mean, would you please explain?". Remember that the open culture surrounding most open source projects encourages and thrives on discourse. Don't view the feedback as negative criticism, but rather an opportunity to explore how to do something different and make your project better. Do your best to listen, learn and incorporate feedback into how you work. - ## Dealing with Problems One of the best things you can do when working to solve real or perceived problems with your mentor relationship is to stop and remember that your mentor(s) is a volunteer and has non-GSoC responsibilities. @@ -67,5 +61,3 @@ Remember that everyone has different communication styles and you might both be **Why is my mentor so friendly?** Again, this could be a disconnect based on different communication techniques within different cultures. Make sure you let your mentor know what about their style is making you uncomfortable. If things don't change for the better, contact your org admin. - - diff --git a/pages/student/14-time_management_for_students.md b/pages/student/14-time_management_for_students.md index 36edbb43..55d7d925 100644 --- a/pages/student/14-time_management_for_students.md +++ b/pages/student/14-time_management_for_students.md @@ -26,9 +26,9 @@ You should absolutely, absolutely make sure you're interacting often with your m It always helps to set short-term goals that you can discuss with your mentor. Breaking down your project in smaller tasks helps in many ways: -* It gets you started!! You have a smaller, well-defined task to work on which is easier to manage. -* Mini-goals help create a road map to get to the final output you're trying to produce. -* Smaller goals are less daunting, and completing a small goal gives you the confidence to tackle the next one. +* It gets you started!! You have a smaller, well-defined task to work on which is easier to manage. +* Mini-goals help create a road map to get to the final output you're trying to produce. +* Smaller goals are less daunting, and completing a small goal gives you the confidence to tackle the next one. **Regular code reviews** @@ -47,5 +47,3 @@ It's very likely that your mentor is in a different time zone than you are. Be s Things usually don't go the way you plan them. Make sure you have room for the unplanned changes. It's always best to keep aside some buffer time that you can use in case you do digress from your original plan and save yourself from considerable pain and panic attacks. Of course, do remember that GSoC is not just all coding and working. It's about having fun too! If you manage your time well, you will have a great Summer of Code, meet interesting people and have lots of fun. - - diff --git a/pages/student/15-evaluations.md b/pages/student/15-evaluations.md index c2699056..f5324316 100644 --- a/pages/student/15-evaluations.md +++ b/pages/student/15-evaluations.md @@ -10,7 +10,6 @@ Evaluations occur two times (after 5 weeks and at the end of the 10th week of th The pass or fail decision from an evaluation should not come as a surprise. You and your mentor will already be communicating, and you should be discussing the quality of your code, your participation in the community and your progress on your project to that point. If you aren't getting this feedback, ask for it. - ## How Evaluations Work Evaluations are a survey that both you and your mentor fill in during the evaluation period. Google publishes the evaluation questions for both students and mentors in advance. @@ -21,16 +20,12 @@ Your evaluations are only visible to your mentoring org admins and program admin You are encouraged to complete both evaluations but you are only required to complete the final evaluation, if you do not complete the final evaluation which also includes your link to your work product you will fail the program. Failing an evaluation means you are immediately removed from the GSoC program. - ## Final Evaluations and Work Product Submission At the end of the Google Summer of Code term you are required to provide a link to the work you created during your current GSoC participation, in addition to your evaluation. Essentially the target of the link should contain a short description of what work was done, what code got merged, what code didn't get merged, and what's left to do. Depending on what portions of code are included in the scope of your project, you may need to submit diffs between code that you've written and others have written, or even include an entire branch of the code base. Discuss this with your mentor and your community and use your best judgement. - -## Payments - Be Patient! +## Payments - Be Patient Successful completion of your evaluations triggers the payments to your account or your payment card. This takes a few business days to process. Please be patient. - - diff --git a/pages/student/16-strategies_for_getting_your_code_committed.md b/pages/student/16-strategies_for_getting_your_code_committed.md index 44356531..138582ca 100644 --- a/pages/student/16-strategies_for_getting_your_code_committed.md +++ b/pages/student/16-strategies_for_getting_your_code_committed.md @@ -8,17 +8,15 @@ sidebar: student_sidebar A key goal of GSoC is to produce useful code that is integrated into the code base of your community. Every organization has different standards for code submissions, but there are some general rules you can follow that will help make your code easier to integrate: -* Follow the documentation guidelines. Some organizations have a policy that code must have some documentation before it can be committed. -* Make sure the tests pass! You have tests, right? -* Include lots of useful comments in your code. Comments make people happy. -* Tests are sensitive to the versions of software, operating system and libraries you are using. It is a good idea to run your tests on a few of the most commonly used versions of libraries or prerequisites, if possible. -* Document exactly what kind of environment you wrote the code in, and whether certain things may be dependent on your operating system or platform. For example: "This patch was tested on Linux x86 and OS X Intel, but may have some issues with FreeBSD" -* Read through recent commits to the repository that you would like your code to be in. You will often learn about something relevant to your code, such as a macro that makes your life easier or a special trick for avoiding bugs. -* Commit often. You can always maintain a local branch of the code to which you keep committing regularly. This keeps you from losing work; it also gives you something concrete to show your mentor and get feedback on. -* Take the feedback on your code positively. Appreciate the comments and suggestions you receive and use them for your next commit. It certainly helps you write better code and grow as a developer. +* Follow the documentation guidelines. Some organizations have a policy that code must have some documentation before it can be committed. +* Make sure the tests pass! You have tests, right? +* Include lots of useful comments in your code. Comments make people happy. +* Tests are sensitive to the versions of software, operating system and libraries you are using. It is a good idea to run your tests on a few of the most commonly used versions of libraries or prerequisites, if possible. +* Document exactly what kind of environment you wrote the code in, and whether certain things may be dependent on your operating system or platform. For example: "This patch was tested on Linux x86 and OS X Intel, but may have some issues with FreeBSD" +* Read through recent commits to the repository that you would like your code to be in. You will often learn about something relevant to your code, such as a macro that makes your life easier or a special trick for avoiding bugs. +* Commit often. You can always maintain a local branch of the code to which you keep committing regularly. This keeps you from losing work; it also gives you something concrete to show your mentor and get feedback on. +* Take the feedback on your code positively. Appreciate the comments and suggestions you receive and use them for your next commit. It certainly helps you write better code and grow as a developer. There's something really satisfying and fulfilling about getting your code accepted and seeing it used by many others. Getting your code submitted is your first step towards achieving that accomplishment! More importantly, it helps you in honing your skills as a great developer and contributor. **Pro Tip**: You can also ask other students to review your code for you and give you feedback. Use other students in your community and the GSoC program as a resource. - - diff --git a/pages/student/17-staying_engaged_with_your_community.md b/pages/student/17-staying_engaged_with_your_community.md index ecda6d37..8db598b5 100644 --- a/pages/student/17-staying_engaged_with_your_community.md +++ b/pages/student/17-staying_engaged_with_your_community.md @@ -8,7 +8,6 @@ sidebar: student_sidebar A glorious summer has ended. GSoC is now over—but only officially. Your obligation to the program has been met, but your opportunities still abound. Make the "summer" last by staying involved in your community. Yes, it's now *your* community. Make the most of it. We have a couple of suggestions that can help you make your experience last beyond the summer. - ## Maintaining Your Project You worked on a wonderful project during the summer. You can't abandon it just because the summer ended! After all it's your *baby*. One way to make sure that your project keeps on growing is by maintaining it well, adding new features to it. There might be a few loose ends that you weren't able to tie up during the coding period. If there's anything in (or not in) your code that's keeping you awake at night, you can always work on that after the coding period ends. @@ -17,32 +16,26 @@ You worked on a wonderful project during the summer. You can't abandon it just b Lalith Suresh P., Network Simulator 3, GSoC Student 2010 - ## New Projects Do you have other amazing ideas for projects? Why wait until next GSoC to get started on them. You should start working on them right away. You know the folks in your community well now, and you know where to shout for help. Just get started on your wonderful new project idea; you can even get it accepted as a GSoC project next year! - ## Retreats and Hackfests A lot of organizations host opportunities to meet face-to-face throughout the year. Attend if there's one happening close by. They're great fun! In fact, you can help organize such activities or even start a local chapter of your community in your area if you have enough people around. - ## Spread the word You had a great time this summer. It's your turn now to tell your friends about it. GSoC is also about growing the open source community. Share your GSoC success story with others and inspire them too! - ## Present your work You can present your project at some of the open source conferences. The open source community is very much interested in finding out about the cool things that people have been working on. Conferences are a great way of doing that. If possible, you should attend a conference and use the opportunity of presenting your project to other people. It gets you great feedback on your project and helps you find out about other cool things happening in the open source world. - ## Next Summer There are so many ways that you can help your organization and the open source community for the next Google Summer of Code. You can submit project ideas, apply again as a student or even become a mentor for a project. You can even contribute by just idling in the IRC channels, helping out the new students who come looking for advice. - ## Stay connected Everyone likes to hear back from friends and people they've worked with. Be sure to stay in touch with your mentors, other students and the many great friends that you've made during GSoC. @@ -50,5 +43,3 @@ Everyone likes to hear back from friends and people they've worked with. Be sure "GSoC may be over, but I'm really hoping my contribution to the Congress application will go beyond that. I'll be sure to stay in touch with Eric and the Sunlight Foundation. " Evelina Vrabie, SunLight Foundation, GSoC Student 2010 - - diff --git a/pages/student/18-about_this_manual.md b/pages/student/18-about_this_manual.md index f0eedd1f..40b21f3a 100644 --- a/pages/student/18-about_this_manual.md +++ b/pages/student/18-about_this_manual.md @@ -19,12 +19,10 @@ in this manual still stand today. In October 2017, the guide moved from to GitHub. - ## How to Contribute to This Manual See the CONTRIBUTING file in the source repository. - ## About the Authors Except where noted, the following individuals were part of both the 2009 and 2010 GSoC Book Sprint. We thank them for their tireless efforts to create this first-of-its-kind volume. @@ -71,7 +69,6 @@ Malveeka is currently a graduate student in the CS dept at UC, San Diego. She pa - ## 2009 Participants **Olly Betts** @@ -86,7 +83,6 @@ Leslie held various roles at Google before joining the Open Source Programs Offi - ## Facilitation (2009 & 2010) The Book Sprints were facilitated by: @@ -96,4 +92,3 @@ The Book Sprints were facilitated by: Adam is the founder of FLOSS Manuals and project manager for Booki. FLOSS Manuals is a community of 1500 (at the time of writing) volunteers that create quality free documentation about free software. FLOSS Manuals is pioneering the Book Sprint methodology that enables the development of well written manuals on free software in 2-5 days. Adam has facilitated over 15 Book Sprints on Free Software including Inkscape, OLPC, Sugar, CiviCRM, Firefox, Introduction to the Command Line, Digital Foundations (conversion to free software examples), Ogg Theora, How to Bypass Internet Censorship, Open Translation Tools, PureData, Video Subtitling and now the Google Summer of Code Mentors Guide. Adam is also the Project Manager for the development of 'Booki' - the free software Collaborative Authoring Platform (see below). adam@flossmanuals.net - diff --git a/pages/student/19-history_of_gsoc.md b/pages/student/19-history_of_gsoc.md index e7b24478..4b3a1aa2 100644 --- a/pages/student/19-history_of_gsoc.md +++ b/pages/student/19-history_of_gsoc.md @@ -17,5 +17,3 @@ A cash stipend from Google allowed students to focus on their development work r In 2020, the sixteenth Google Summer of Code wrapped up with more than 94% of the 1198 student participants in the program successfully completing the program. Best of all, most of the organizations participating over the past sixteen years reported that the program helped them find new community members and active committers. You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: - - diff --git a/pages/student/20-additional_resources.md b/pages/student/20-additional_resources.md index 3b5e59e7..b29d6633 100644 --- a/pages/student/20-additional_resources.md +++ b/pages/student/20-additional_resources.md @@ -8,7 +8,6 @@ sidebar: student_sidebar We've collected our favorite and most useful resources specific to GSoC here. - ## General Resources Take a look at the Program Rules and Frequently Asked Questions to make sure you understand the rules of the program. There's also a wealth of information included in the FAQs and this guide, even for experienced participants. You can always find the latest information on the program site: @@ -31,7 +30,6 @@ If you're looking for advice for mentors or students, program promotional materi You can see a list of the mentoring organizations that participated in previous years of the program by going to the program site and looking at the Archive site: - ## Mailing Lists There are two program mailing lists. @@ -48,7 +46,6 @@ Open subscription list for the program. General talk about the program, light tr - ## Books **Producing Open Source** @@ -67,7 +64,6 @@ by Karsten Wade - ## Associated Projects **Teaching Open Source** @@ -76,10 +72,8 @@ by Karsten Wade irc : freenode #teachingopensource - ## What to Do When the Unexpected Happens? -1. Contact your Mentor. He or she can help you figure out what to do next or contact Google for more help. -1. Contact the Org Admin. -1. Talk to Google's Program Administrators. They have plenty of experience with all the corner cases and strange issues that can arise during GSoC. - +1. Contact your Mentor. He or she can help you figure out what to do next or contact Google for more help. +1. Contact the Org Admin. +1. Talk to Google's Program Administrators. They have plenty of experience with all the corner cases and strange issues that can arise during GSoC. diff --git a/pages/student/21-proposal_example_1.md b/pages/student/21-proposal_example_1.md index 9c95da50..2eea82be 100644 --- a/pages/student/21-proposal_example_1.md +++ b/pages/student/21-proposal_example_1.md @@ -8,67 +8,63 @@ sidebar: student_sidebar "Database Abstractions" By Kanika Vats, Systers, 2009 - ## Abstract Systers use GNU mailing list manager Mailman2 which currently uses Python pickle files to store its data. Systers moderators have customized it to make use of PostgreSQL database. They make use of raw SQL statements and python db-api which makes the code : -* Dependent on the existing database -* Reduces the efficiency and maintainability +* Dependent on the existing database +* Reduces the efficiency and maintainability The project idea aims at making the code : Independent of the database by making the use of python classes and objects to interact with the database rather than direct SQL statements. -* This will be achieved with the help of an ORM (Object Relational Mapper). Storm will be our choice of ORM. -* Also, Systers aim at bringing this feature upstream and incorporating this feature in the yet to be released version - Mailman3 (which will switch to use a database) - so that the open source world can benefit themselves with the addition of this feature. +* This will be achieved with the help of an ORM (Object Relational Mapper). Storm will be our choice of ORM. +* Also, Systers aim at bringing this feature upstream and incorporating this feature in the yet to be released version - Mailman3 (which will switch to use a database) - so that the open source world can benefit themselves with the addition of this feature. Thus, mapping existing schemas of the Systers database to an object oriented paradigm and determination and incorporation of necessary modifications in the database needs to be done so that it fits cleanly and nicely into Mailman3's Architecture. - ## Proposal Timeline **Before April 20:** -* To familiarize myself completely with Mailman2's functionality and architecture. -* Study of the customized files of Systers Mailman available in the Launchpad Baazar version control. -* To familiarize myself with Storm(ORM that we will be using) +* To familiarize myself completely with Mailman2's functionality and architecture. +* Study of the customized files of Systers Mailman available in the Launchpad Baazar version control. +* To familiarize myself with Storm(ORM that we will be using) **April 20 – May 23 (Before the official coding time):** -* To do self coding with Storm to improve my further understanding and ease of use with this ORM and database(PostgreSQL) -* During this period I will remain in constant touch with my mentor and the Mailman community. I will remain active on IRC and Mailing lists to discuss and finalize on the modifications (if any) that needs to be on existing schemas and design of new schemas (if needed to fit cleanly with Mailman3's Architecture) -* Thus with the help of my mentor I will become absolutely clear about my future goals,the final database implementations that need to be done as well as the approach that I will follow to map the schemas to the Object Oriented Paradigm. +* To do self coding with Storm to improve my further understanding and ease of use with this ORM and database(PostgreSQL) +* During this period I will remain in constant touch with my mentor and the Mailman community. I will remain active on IRC and Mailing lists to discuss and finalize on the modifications (if any) that needs to be on existing schemas and design of new schemas (if needed to fit cleanly with Mailman3's Architecture) +* Thus with the help of my mentor I will become absolutely clear about my future goals,the final database implementations that need to be done as well as the approach that I will follow to map the schemas to the Object Oriented Paradigm. **May 23 – June 18 (Official coding period starts):** -* Define all the required Relations(Tables) in my local database using STORM. -* Define all the corresponding Python Classes and Objects that will store,modify and retrieve data in database. -* Define all the interactions that Systers perform with their database (virtualize or stimulate all interactions) in STORM that will deal with my local database. +* Define all the required Relations(Tables) in my local database using STORM. +* Define all the corresponding Python Classes and Objects that will store,modify and retrieve data in database. +* Define all the interactions that Systers perform with their database (virtualize or stimulate all interactions) in STORM that will deal with my local database. This will help in testing of the proper working of the entire basic code changes that we will later on incorporate in Systers Source code. **June 18 – July 5:** -* Bringing about the decided changes in the Relational Schemas of Systers database. -* Replacing parts of the above code in their respective places in the Systers source code. (This should not take much time as most of the functionality has been implemented in the previous step). -* Testing the overall working of each and every module of the modified source code with the help of Python Test Suites. +* Bringing about the decided changes in the Relational Schemas of Systers database. +* Replacing parts of the above code in their respective places in the Systers source code. (This should not take much time as most of the functionality has been implemented in the previous step). +* Testing the overall working of each and every module of the modified source code with the help of Python Test Suites. JULY 6th MID TERM EVALUATION **July 6 – July 15:** -* Making further changes in the code to improve the Functionality, Exception handling, Bug Removal. +* Making further changes in the code to improve the Functionality, Exception handling, Bug Removal. **July 15 – July 25:** -* To be in constant touch with the Mailman3's developers and to let them know about our progress. -* Most of the time will be consumed for rigorous testing and bug fixes. +* To be in constant touch with the Mailman3's developers and to let them know about our progress. +* Most of the time will be consumed for rigorous testing and bug fixes. **July 25 – July 31:** -* For Documentation +* For Documentation A buffer of two weeks has been kept for any unpredictable delay. - - diff --git a/pages/student/22-proposal_example_2.md b/pages/student/22-proposal_example_2.md index ca7daabc..469174fc 100644 --- a/pages/student/22-proposal_example_2.md +++ b/pages/student/22-proposal_example_2.md @@ -8,7 +8,6 @@ sidebar: student_sidebar "Reactome-Wikipathways Round-trip Format Converter" by Leontius Adhika Pradhana, GenMAPP, 2010 - ## Problem description Reactome is a "free, online, open-source, curated pathway database encompassing many areas of human biology". Each pathway in Reactome is manually curated -- peer-reviewed and cross-referenced with other database -- and thus has great reliability. Another pathway database website WikiPathways, by contrast, lives on the "wiki spirit" allowing anyone to edit and annotate pathways in the website. This makes WikiPathways an ideal venue for staging new pathways to be included in the official Reactome database, as well as a place for the community to review and make changes to pathways which may end up as an official amendment in Reactome. @@ -17,7 +16,6 @@ However, the two websites use markedly different data structure to store their p Recent development of Reactome introduced a new proprietary graphical XML format akin to GPML. This XML format adheres to SBGN specification which semantically defines symbols representing biological systems. This project will provide the means to convert to and from GPML and the new Reactome XML format. - ## Implementation plan The project consists of three components: @@ -40,14 +38,12 @@ A separate script will be made that periodically pulls updates from WikiPathways The script will also pull updates from Reactome and push new pathways to WikiPathways. Only Reactome pathways that have XML layout will be pushed to WikiPathways. - ## Deliverables -* an XML schema to validate the new Reactome XML format; -* a GPML to Reactome XML layout converter and Reactome XML layout to GPML converter, which will be available both as command line tool and a library that can be integrated with WikiPathways infrastructure; -* a system using the above converter, integrated to WikiPathways, that will periodically check for updates on both WikiPathways and Reactome and update the websites accordingly; -* proper documentation and tests for the above-mentioned components. - +* an XML schema to validate the new Reactome XML format; +* a GPML to Reactome XML layout converter and Reactome XML layout to GPML converter, which will be available both as command line tool and a library that can be integrated with WikiPathways infrastructure; +* a system using the above converter, integrated to WikiPathways, that will periodically check for updates on both WikiPathways and Reactome and update the websites accordingly; +* proper documentation and tests for the above-mentioned components. ## Timeline @@ -88,5 +84,3 @@ Test and document the periodic push/pull mechanism more thoroughly. 2 -- 16 August Further refine tests and documentation for the whole project. - - diff --git a/pages/student/23-glossary.md b/pages/student/23-glossary.md index 4915979c..da33b73f 100644 --- a/pages/student/23-glossary.md +++ b/pages/student/23-glossary.md @@ -11,117 +11,94 @@ sidebar: student_sidebar The shortest way in the geek world to say "I agree with this" or "This is a great idea". It is often used when others have already fleshed out the details and a consensus of how many agree/disagree with the sentiment. It is worth noting to your students if your project uses this as a voting signal so they do not accidentally comment on issues when, as newbies, they should be observing rather than commenting/voting. - ## -1 The opposite of +1. Often accompanied by an explanation why, if you are lucky. - ## Committer An individual who has special rights in an open source project. While the scope of this term varies by project, the general idea is that this individual is able to check in source code to the project's main repository. - ## Community Bonding Period The period of time between when accepted students are announced for a particular year of GSoC and the time these students are expected to start coding. This time is an excellent one to introduce students to the community, get them on the right mailing lists, etc. See the "Community Bonding Period" section for more details. - ## DVCS Distributed version control system. A version control system that does not require talking to a centralized server. - ## FLOSS Free/Libre Open Source Software. Likely the most inclusive acronym to describe the software produced for GSoC. - ## GSoC Google Summer of Code - ## IDE Integrated Development Environment - ## IM Instant Messenger - ## IRC Internet Relay Chat - ## JFDI Just Fabulously Do It. Use your imagination. Ask for forgiveness, not for permission. :) - ## Lurk To spend some time watching. Often used in reference to a mailing list where you will read the posts but not make any posts yourself or an IRC channel where you watch how people interact but don't say anything. - ## Mentor Someone who helps a student with their project proposal. See the "How GSoC Works" section for more details. - ## Organization An open source, free software or technology-related project that mentors students for Google Summer of Code. Also known as a mentoring organization. - ## Organization Admin (Org Admin) Cat herders for each open source project participating in the program. Often abbreviated to org admin. See the "How GSoC Works" section for more details. - ## Program Administrator Google employees who run the program. See the "How GSoC Works" section for more details. - ## RTFM **R**ead **T**he **F**LOSS **M**anual ;) - ## Secondary Mentor A person who helps out a student's assigned mentor. At time of writing this manual, the GSoC online system only allows one mentor to be officially assigned to a student proposal, as one person must be responsible for submitting evaluations, etc. However, it is quite common to have multiple mentors for one student. - ## SMOP Simple Matter of Programming - ## Summer Not so much a season as a state of being. While the program is run during the Northern Hemisphere's Spring and Summer, the "Summer" in Google Summer of Code is actually a play on the "Summer of Love". - ## TDD Test Driven Development - ## Use Case A use case describes what a user can do with a particular software system. - ## UTC Coordinated Universal Time - ## Waterfall Model A sequential software development process that usually doesn't work. From b3cbeaf96ade10dd77bbb792aa77f9a65e7a5b92 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 24 Jun 2021 13:29:40 -0700 Subject: [PATCH 038/212] disable no-blanks-blockquote for part of why gsoc matters --- pages/mentor/01-why_gsoc_matters.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pages/mentor/01-why_gsoc_matters.md b/pages/mentor/01-why_gsoc_matters.md index c08765d8..2ab288f7 100644 --- a/pages/mentor/01-why_gsoc_matters.md +++ b/pages/mentor/01-why_gsoc_matters.md @@ -8,6 +8,7 @@ sidebar: mentor_sidebar In addition to the great code produced, the GSoC experience is about building open source communities. By focusing on students, we are going to the source of all future open source efforts. The ultimate success of the GSoC program is thus measured by the quality of the student experience. Each organization and each mentor plays a crucial role in creating this experience through their project ideas, developer culture, and the guidance they provide. They are rewarded by new code and by adding skilled new developers to their ranks. But don't take our word for it! Heres what some of the students had to say: + > Overall, this is the most productive summer I ever had. It increased my confidence as a developer and as a person that I can actually pull off a project like this and interact with awesome people like you. I also become a part of a growing community and hope to help it grow further. > > *—Chetan Bansal* @@ -39,3 +40,4 @@ In addition to the great code produced, the GSoC experience is about building op > So, we've now gotten to the end of it all. It does feel a bit sad, I really did have a great time coding this summer and hopefully I can do it again. I don't think I've ever learned this much in a summer job and everybody working with me have been really fantastic. > > *—Anna Granudd* + From 0a6fcbb4e05752f7623e50359e914cc627d306a0 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 24 Jun 2021 13:31:24 -0700 Subject: [PATCH 039/212] Add .markdownlint Disable some rules which are widely "broken" in the current content. --- .github/workflows/markdownlint.yml | 2 +- .markdownlint.yaml | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .markdownlint.yaml diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index ba7937f0..d1d88ac3 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -29,6 +29,6 @@ jobs: uses: nosborn/github-action-markdown-cli@v2.0.0 with: files: . - #config_file: ".markdownlint.yaml" + config_file: ".markdownlint.yaml" #ignore_files: "examples/ignore/*" #rules: "examples/rules/custom.js" diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 00000000..d252e2a9 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,8 @@ + +# disable line-length +# (we have a lot of long lines right now, remove this after a cleanup) +MD013: false + +# disable no-emphasis-as-heading +# (there's a lot of these, clean them up and remove this) +MD036: false From e0def74bef5cc6a1dcaa7300da9727aaed8446e2 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 24 Jun 2021 13:36:07 -0700 Subject: [PATCH 040/212] Update README.md to document markdownlint --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c943917..0b1ad657 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ We need to do this because a) we're naming pages after their order, and b) the Next/Prev button requires all the order numbers to be contiguous. You can't skip any. -# Upgrade Ruby Gems +## Upgrade Ruby Gems ```bash bundle install --path vendor/bundle @@ -53,6 +53,13 @@ rm -rf vendor/bundle Don't forget to rebuild the docker image! +## Run Markdownlint locally + +```shell +npm install markdownlint-cli +./node_modules/.bin/markdownlint pages +``` + ## Want to contribute? Please see the [CONTRIBUTING](CONTRIBUTING.md) instructions. From 036a69deafb42466457b3b454d15eab9a808e69a Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 29 Jun 2021 17:58:33 -0700 Subject: [PATCH 041/212] Update 28-additional_resources.md --- pages/mentor/28-additional_resources.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/28-additional_resources.md b/pages/mentor/28-additional_resources.md index ecbdace2..69d70fba 100644 --- a/pages/mentor/28-additional_resources.md +++ b/pages/mentor/28-additional_resources.md @@ -16,7 +16,7 @@ No matter what, you want to take a look at the Program Rules each year to make s Additionally, these resources are quite helpful: -**Program IRC Channel**: Several knowledgeable folks (mentors, org admins, former students, current students) hang out in #gsoc on Freenode and would be happy to give you a pointer in the right direction. +**Program IRC Channel**: Several knowledgeable folks (mentors, org admins, former students, current students) hang out in #gsoc on Libera.Chat and would be happy to give you a pointer in the right direction. **Blog Posts**: You can find material related to GSoC on the Google Open Source Blog at . Your project may have a blog or newsletter where GSoC information was published in the past, as well. From 3bb192718a15efa2eb99c2d3a26ad39302df7f73 Mon Sep 17 00:00:00 2001 From: Sahil Date: Tue, 6 Jul 2021 12:01:38 +0530 Subject: [PATCH 042/212] Spelling and Grammatical Fixes --- pages/mentor/09-open_source_culture.md | 2 +- pages/mentor/16-upstream_integration.md | 2 +- pages/mentor/17-building_a_lifetime_contributor.md | 2 +- pages/student/10-open_source_culture.md | 2 +- pages/student/14-time_management_for_students.md | 2 +- pages/student/17-staying_engaged_with_your_community.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pages/mentor/09-open_source_culture.md b/pages/mentor/09-open_source_culture.md index 78d92ff3..ab5fc1f4 100644 --- a/pages/mentor/09-open_source_culture.md +++ b/pages/mentor/09-open_source_culture.md @@ -43,7 +43,7 @@ Here are a few useful resources for teasing out meaning from initialisms, acrony ## Volunteerism and Gift Economies -Donated time are the life blood of open source projects. Many individuals contribute their time and energy without any expectation of compensation or even a simple "thank you" in return. +Donated time is the life blood of open source projects. Many individuals contribute their time and energy without any expectation of compensation or even a simple "thank you" in return. Contributions to projects are often self-directed, with developers having a personal itch to scratch in the form of a new feature, by correcting a bug that they've encountered or by implementing something from a TODO list. Projects operating in this way may seem chaotic if you are only familiar with top-down management - where teachers, professors or bosses tell you what to do and when. Of course, some projects do have clearly defined project management, with milestones and tasks meted out carefully. diff --git a/pages/mentor/16-upstream_integration.md b/pages/mentor/16-upstream_integration.md index 1e19e616..13b1a0ac 100644 --- a/pages/mentor/16-upstream_integration.md +++ b/pages/mentor/16-upstream_integration.md @@ -8,7 +8,7 @@ sidebar: mentor_sidebar Every project wants to get useful code. And once you get that code, you'd love to be able to commit it to your project and make use of it! The following are some helpful hints on making that process easier on both the students and the committers to your project. -**Note**: We use the term 'committer' throughout this section to mean the person or people responsible for adding or merging code to your organizations authoritative source code repository. Terminology and source control methods vary so widely, that it was difficult to choose a single term. Committer seemed to cover the widest variety of situations. +**Note**: We use the term 'committer' throughout this section to mean the person or people responsible for adding or merging code to your organization's authoritative source code repository. Terminology and source control methods vary so widely, that it was difficult to choose a single term. Committer seemed to cover the widest variety of situations. ## Recruit Committers Early diff --git a/pages/mentor/17-building_a_lifetime_contributor.md b/pages/mentor/17-building_a_lifetime_contributor.md index 5ddf2528..73370b85 100644 --- a/pages/mentor/17-building_a_lifetime_contributor.md +++ b/pages/mentor/17-building_a_lifetime_contributor.md @@ -24,6 +24,6 @@ The work of transforming your summer students into lifetime contributors begins **Stay in contact**: Open source organizations typically sustain themselves through the personal connections developers have to each other. Many contributors consider each other friends, and communicate non-technical information to each other. Remember though, that this is a student and GSoC is their job, so when in doubt err on the side of communicating professionally--no matter how informal the tone of your overall community. -Communicate early and communicate often! Try sending periodic emails to check in, pass on an interesting link or share a photo. Social networks can be useful for maintaining contact without a lot of overhead. Examples include: Identi.ca, Flickr, and GitHub. Use what works for you, and don't feel pressured to get involved with a social network. The telephone is also a valuabe resource; studies of open source communications have shown that VOIP technology is used with surprising frequency in open source projects, and it is a very personal and friendly form of communication. +Communicate early and communicate often! Try sending periodic emails to check in, pass on an interesting link or share a photo. Social networks can be useful for maintaining contact without a lot of overhead. Examples include: Identi.ca, Flickr, and GitHub. Use what works for you, and don't feel pressured to get involved with a social network. The telephone is also a valualbe resource; studies of open source communications have shown that VOIP technology is used with surprising frequency in open source projects, and it is a very personal and friendly form of communication. **Don't Be That Person**: Be socially and culturally sensitive. If you and your student don't share the same cultural background, ask respectful questions so you get to know about the similarities and differences a bit more. Also, make sure to maintain appropriate boundaries in your communications. For example, a student calling in the middle of the night to ask for relationship advice is not a pleasant situation for anyone; leave those conversations for their college friends. diff --git a/pages/student/10-open_source_culture.md b/pages/student/10-open_source_culture.md index d60b5f68..15c61bed 100644 --- a/pages/student/10-open_source_culture.md +++ b/pages/student/10-open_source_culture.md @@ -46,7 +46,7 @@ Here are a few useful resources for teasing out meaning from initialisms, acrony ## Volunteerism and Gift Economies -Donated time are the life blood of open source projects. Many individuals contribute their time and energy without any expectation of compensation or even a simple "thank you" in return. +Donated time is the life blood of open source projects. Many individuals contribute their time and energy without any expectation of compensation or even a simple "thank you" in return. Contributions to projects are often self-directed, with developers having a personal itch to scratch in the form of a new feature, by correcting a bug that they've encountered or by implementing something from a TODO list. Projects operating in this way may seem chaotic if you are only familiar with top-down management - where teachers, professors or bosses tell you what to do and when. Of course, some projects do have clearly defined project management, with milestones and tasks meted out carefully. diff --git a/pages/student/14-time_management_for_students.md b/pages/student/14-time_management_for_students.md index 55d7d925..3297b088 100644 --- a/pages/student/14-time_management_for_students.md +++ b/pages/student/14-time_management_for_students.md @@ -24,7 +24,7 @@ You should absolutely, absolutely make sure you're interacting often with your m **Have mini-goals for each week** -It always helps to set short-term goals that you can discuss with your mentor. Breaking down your project in smaller tasks helps in many ways: +It always helps to set short-term goals that you can discuss with your mentor. Breaking down your project into smaller tasks helps in many ways: * It gets you started!! You have a smaller, well-defined task to work on which is easier to manage. * Mini-goals help create a road map to get to the final output you're trying to produce. diff --git a/pages/student/17-staying_engaged_with_your_community.md b/pages/student/17-staying_engaged_with_your_community.md index 8db598b5..d96acbf4 100644 --- a/pages/student/17-staying_engaged_with_your_community.md +++ b/pages/student/17-staying_engaged_with_your_community.md @@ -10,7 +10,7 @@ A glorious summer has ended. GSoC is now over—but only officially. Your obliga ## Maintaining Your Project -You worked on a wonderful project during the summer. You can't abandon it just because the summer ended! After all it's your *baby*. One way to make sure that your project keeps on growing is by maintaining it well, adding new features to it. There might be a few loose ends that you weren't able to tie up during the coding period. If there's anything in (or not in) your code that's keeping you awake at night, you can always work on that after the coding period ends. +You worked on a wonderful project during the summer. You can't abandon it just because the summer ended! After all, it's your *baby*. One way to make sure that your project keeps on growing is by maintaining it well, adding new features to it. There might be a few loose ends that you weren't able to tie up during the coding period. If there's anything in (or not in) your code that's keeping you awake at night, you can always work on that after the coding period ends. "Please do the communities a favour by not abandoning your projects after the GSoC results are announced, or the boogeyman will get you.[!!!] " From 9f61a277a825234ca6de527be320b189549748dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jul 2021 20:41:07 +0000 Subject: [PATCH 043/212] Bump addressable from 2.7.0 to 2.8.0 Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.7.0 to 2.8.0. - [Release notes](https://github.com/sporkmonger/addressable/releases) - [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md) - [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.7.0...addressable-2.8.0) --- updated-dependencies: - dependency-name: addressable dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 23ab3faf..695eb711 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,7 +7,7 @@ GEM minitest (~> 5.1) tzinfo (~> 1.1) zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) coffee-script (2.4.1) coffee-script-source From 7335689414a2fb93bcaf27b8c710225a74e77da0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Sep 2021 21:05:32 +0000 Subject: [PATCH 044/212] Bump nokogiri from 1.11.4 to 1.12.5 Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.4 to 1.12.5. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.4...v1.12.5) --- updated-dependencies: - dependency-name: nokogiri dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 695eb711..711dcf20 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -205,15 +205,15 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.5.1) + mini_portile2 (2.6.1) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.14.4) multipart-post (2.1.1) - nokogiri (1.11.4) - mini_portile2 (~> 2.5.0) + nokogiri (1.12.5) + mini_portile2 (~> 2.6.1) racc (~> 1.4) octokit (4.20.0) faraday (>= 0.9) From dc7381c8de45b7516045b228e27498d272f8c5fe Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Sun, 7 Nov 2021 19:03:19 -0800 Subject: [PATCH 045/212] Update 00-what_is_google_summer_of_code.md updates with new 2021 changes to the program --- .../student/00-what_is_google_summer_of_code.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pages/student/00-what_is_google_summer_of_code.md b/pages/student/00-what_is_google_summer_of_code.md index 3e399180..e5c65eff 100644 --- a/pages/student/00-what_is_google_summer_of_code.md +++ b/pages/student/00-what_is_google_summer_of_code.md @@ -6,28 +6,27 @@ permalink: student/index.html sidebar: student_sidebar --- -You've heard other students talking about it, you've seen flyers and blog posts on it and now you want to know more! So here we go... +You've heard people talking about it, you've seen flyers and blog posts on it and now you want to know more! So here we go... -Google Summer of Code (GSoC) is a global program that matches students with open source, free software and technology-related organizations to write code and become part of these communities while making some money along the way! The organizations provide mentors who act as guides through the entire process, from learning about the community to contributing code. The idea is to get students involved in and familiar with the open source community and help them to put their summer break to good use. +Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2020 was focused on bringing university students into open source. Starting in 2021, we have expanded the program to welcome all new contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! -Accepted students gain exposure to real-world software development and employment opportunities in areas related to their academic pursuits. Participating organizations are able to identify and bring in new developers to their communities who will hopefully stay involved long after their GSoC year ends. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! +Accepted GSoC Contributors gain exposure to real-world software development while having their mentor(s) ready to help integrate them into the community and help them become stronger developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! -This program has brought together thousands of students and mentors from over 130 countries worldwide. As of September 2020, 715 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. +Since 2005, GSoC has brought together 35,000 students and mentors from over 130 countries worldwide. As of November 2021, 746 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. Many past students continue to be involved in GSoC by becoming mentors themselves and helping new contributors learn about the exciting things their community is working on and the satisfaction that comes with being a part of a community of dedicated developers in open source. ## Goals of the Program The GSoC program has several goals: -* Inspire young developers to begin participating in open source development. +* Inspire developers to begin participating in open source development. * Help open source projects identify and bring in new developers. * Get more open source code written and released for the benefit of all. -* Provide students the opportunity to do work related to their academic pursuits during the summer: "flip bits, not burgers." -* Give students more exposure to real-world software development (for example, distributed development and version control, software licensing issues, testing, and communication best practices). +* Give newer developers more exposure to real-world software development (for example, distributed development and version control, software licensing issues, testing, and communication best practices). ## A Brief History of Google Summer of Code -Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the 16th Google Summer of Code in 2020, over 17,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 16 years reported that the program helped them find new community members and active committers. +Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the 17th Google Summer of Code in 2021, over 18,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 17 years reported that the program helped them find new community members and active committers. -GSoC has grown immensely over the last 16 years and in the process helped students make the most of their summer by working on exciting open source projects. +GSoC has grown immensely over the last 17 years and in the process helped students make the most of their summer by working on exciting open source projects. You can take a look at the appendix if you're interested in a more extensive history of the program. From 0754104d29be2ca9eef2ee692129f66af770cd09 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Sun, 7 Nov 2021 19:16:37 -0800 Subject: [PATCH 046/212] Update 01-why_should_i_apply.md 2021 updates --- pages/student/01-why_should_i_apply.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pages/student/01-why_should_i_apply.md b/pages/student/01-why_should_i_apply.md index e91471ae..5e46d742 100644 --- a/pages/student/01-why_should_i_apply.md +++ b/pages/student/01-why_should_i_apply.md @@ -6,7 +6,7 @@ permalink: student/why-should-i-apply.html sidebar: student_sidebar --- -So you've found out about this Google Summer of Code thing that requires you to submit a lengthy proposal and write a lot of code. Why bother about it at all? Well, here are some reasons why you should start writing your proposal today! +So you've found out about this Google Summer of Code thing that requires you to reach out to an organization to talk about their project ideas, then submit a lengthy proposal and write a lot of code. Why bother about it at all? Well, here are some reasons why you should start reaching out to organizations that you are interested in today! **An absolutely amazing learning experience** @@ -60,6 +60,10 @@ Kunal Bhalla, WordPress, GSoC Student If you enjoy coding and feel passionate about writing good quality code and building great software, GSoC is THE place for you to give way to your passion. After all, what better way is there to celebrate your love for the code by participating in a summer of code. -**The stipend and the fame** +**Being mentored by highly experienced developers** -One very tangible and obvious advantage of participating in GSoC is the stipend that you make while working with amazing people on a great project. Being a successful GSoC student is in fact a prestigious achievement. It's another way to make your resume more impressive. +GSoC at its heart is a mentorship program. The mentors are dedicated, passionate volunteers who want to help GSoC Contributors learn about their communities and teach them how to be great open source contributors. Having the opportunity to be guided by people who have been doing this for many years and who know the tips and tricks can only help you be a better, more confident open source developer. + +**The stipend and the confidence** + +One very tangible and obvious advantage of participating in GSoC is the stipend that you make while working with amazing people on a great project. You won't get rich participating in GSoC as a Contributor, but the money can certainly help while you are building your skills and doing meaningful contributions. Being a successful GSoC student is in fact a prestigious achievement. It's another way to make your resume more impressive. From 3fa9565a14e6f23115e834c5848fe99c9b839cd7 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 13:49:26 -0800 Subject: [PATCH 047/212] Create 02-am_i_good_enough.md more updates for gosc 2022 --- pages/student/02-am_i_good_enough.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/pages/student/02-am_i_good_enough.md b/pages/student/02-am_i_good_enough.md index 4889f42a..34762158 100644 --- a/pages/student/02-am_i_good_enough.md +++ b/pages/student/02-am_i_good_enough.md @@ -6,13 +6,13 @@ permalink: student/am-i-good-enough.html sidebar: student_sidebar --- -Do you have *some* programming experience at the university level? Then, yes, you are good enough! No, you don't need to be a Computer Science or IT major. Students from all subject areas are successful GSoC students. Have work experience programming but spend your time studying philosophy full-time? Yes, you are good enough to be a GSoC student! +Do you have *some* programming experience and are comfortable in at least one or two programming langauges? Then, yes, you are good enough! No, you don't need to be a Computer Science or IT major or have been coding for 5 years. Have work experience programming but spend your time studying philosophy? Yes, you are good enough to be a GSoC contributor! "Although at first I was a little inexperienced in the world of mobile applications and a bit overwhelmed by the challenge, I can positively say that four months later I've gradually overcome all the obstacles. I had a great mentor, that's for sure!" Evelina Vrabie, Romania, Android Project - GSoC student -Every project has a different criteria for selecting students and subsequently different skill level requirements. If you meet the below list of general skills you are likely to find a GSoC project to which you can feel comfortable applying: +Every project has a different criteria for selecting GSoC contributors and subsequently different skill level requirements. If you meet the below list of general skills you are likely to find a GSoC project to which you can feel comfortable applying: ## The soft skills @@ -22,7 +22,7 @@ There are many available resources on the interwebs to go to for help with techn **You take and respond well to feedback** -The community developed software model relies heavily on constructive feedback and the willingness for each contributor to take that criticism and make the code better. You are going to be getting regular feedback from your mentor -- not all of it is going to be "this is great" "you are awesome." Learning from and graciously accepting feedback is a very important trait for a successful GSoC student. +The community developed software model relies heavily on constructive feedback and the willingness for each contributor to take that criticism and make the code better. You are going to be getting regular feedback from your mentor -- not all of it is going to be "this is great" "you are awesome." Learning from and graciously accepting feedback is a very important trait for a successful GSoC contributor. **You can work independently** @@ -32,20 +32,28 @@ Since you'll be spending significant amounts of time working alone - not being a Do you think you already know everything about everything in the world of open source programming? Then you probably aren't good enough for GSoC! +**You can communicate effectively** + +Communication is key to GSoC. We will mention this many times in this guide. Being a successful GSoC contributor requires you to communicate with your mentor and the community regularly. Much of the time the comunication is via chat or email but you may also have weekly video chats with your mentor or community. If you are behind schedule or you are stuck on implementing something but have tried to find the answer to no avail, reach out to the community and your mentor, don't stay stuck. + ## The technical stuff **You can install and configure software packages on your own** If you don't know how to download and install packages on your own, you'll need to figure that out, stat. -**You have access to a functioning computer ~18 hours a week** +**You have access to a functioning computer** If your computer regularly dies, or you don't have dedicated access to a computer you'll need to figure that out before you start your project. GSoC is a significant time commitment, don't expect an hour or two a day in an internet cafe to be enough! **You've got experience using the programming language and operating system of the project** -Depending on the project, the skills necessary will range from beginner to expert, but you do need some experience. One of the great things about GSoC is that there is a large variety of organizations and projects to choose from. Chances are very good that you can find a project that meets you at your level. Even if you are a beginner! If the project primarily uses Linux for development and distribution, then you need to be comfortable with basic Linux usage. Sometimes, you'll see projects looking to expand onto other platforms, in which case you may be able to bring in new expertise. +Depending on the project, the skills necessary will range from beginner to expert, but you do need some experience. One of the great things about GSoC is that there is a large variety of organizations and projects to choose from. Chances are very good that you can find a project that meets you at your level, even if you are a beginner! If the project primarily uses Linux for development and distribution, then you need to be comfortable with basic Linux usage. Sometimes, you'll see projects looking to expand onto other platforms, in which case you may be able to bring in new expertise. + +Every project has additional characteristics that they look for when selecting contributors and projects - however, if you meet the above basic criteria - chances are good that there are GSoC projects and organizations to which you can feel comfortable applying. + +**Pro Tip: Read the organization's requirements or skills they are looking for in potential GSoC Contributors** -Every project has additional characteristics that they look for when selecting students and projects - however, if you meet the above basic criteria - chances are good that there are GSoC projects and organizations to which you can feel comfortable applying. +Be aware that some requirements are likely to be firm and you must meet those requirements for the organization to consider your application. For example, many organizations require potential GSoC contributors to submit pull requests as part of their application, or they require you to have a chat with someone in the community about your idea before submitting your proposal. More complicated projects will likely require familiarity with particular programming languages, processes or techniques. It is also possible some organizations may be looking for students who are earlier in their development, while other organizations may be looking for applicants more advanced in their skills. -**Pro Tip:** Don't be afraid to apply to projects where you only meet 51% of the listed requirements. Include a section on how you'll compensate for or learn the missing skills - and demonstrate during the application process that you are working on acquiring those new skills. +However, some of the requirements may be less stringent and could be things you can learn quickly, just be sure to mention that you are working on these skills, etc. when you are discussing your proposal with the organization. From 9e0bd5638dc9c3d6a4ba4b5403519d08c746ecca Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 13:59:27 -0800 Subject: [PATCH 048/212] Update 03-making_first_contact.md more 2022 updates --- pages/student/03-making_first_contact.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/03-making_first_contact.md b/pages/student/03-making_first_contact.md index aee5edb0..fdbfc95e 100644 --- a/pages/student/03-making_first_contact.md +++ b/pages/student/03-making_first_contact.md @@ -12,7 +12,7 @@ Interacting with an open source group is sort of like walking in on a party wher If you're the type of person that would walk right up and introduce yourself at a party, then the best approach to getting started is to do what you'd do in real life. Contact the project, introduce yourself and ask questions related to your project. -However, if you're more likely to hang back and watch people for a while, spend some time observing community interactions before you jump in. You can also try to contact an organization admin for guidance, or with help introducing you to a community. If in doubt, have a look at the organization's ideas page for hints on where to go for help. +However, if you're more likely to hang back and watch people for a while, spend some time observing community interactions before you jump in. Have a look at the organization's ideas page for hints on where to go for help. GSoC Organizations have listed their preferred contact methods for GSoC contributors to use on their program homepage and they are ready to welcome you through these channels. ## How to observe community interactions From 5058c6cef01c7fc328bdd0ae4cbc1746a7de8d7d Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 14:02:57 -0800 Subject: [PATCH 049/212] Update 05-finding_the_right_project.md slight tweak --- pages/student/05-finding_the_right_project.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/05-finding_the_right_project.md b/pages/student/05-finding_the_right_project.md index e62e7098..2074f1d6 100644 --- a/pages/student/05-finding_the_right_project.md +++ b/pages/student/05-finding_the_right_project.md @@ -6,7 +6,7 @@ permalink: student/finding-the-right-project.html sidebar: student_sidebar --- -Each organization will have a Project Ideas Page linked to from the official Google list of accepted organizations. Browse the list of project ideas for each of the organizations for which you are interested. The ideas should give you a clear sense of the range and depth of projects being targeted and the expectations in terms of prior experience and programming skills. In addition to the list of project ideas, many organizations encourage original ideas proposed by students. +Each organization will have a Project Ideas Page linked to from the official Google list of accepted organizations. Browse the list of project ideas for each of the organizations for which you are interested. The ideas should give you a clear sense of the range and depth of projects being targeted and the expectations in terms of prior experience and programming skills. In addition to the list of project ideas, many organizations encourage original ideas proposed by potential GSoC contributors. ## Shortlist @@ -24,7 +24,7 @@ Once you've researched the shortlisted projects and got your questions answered, You've narrowed down your search of organizations and projects, you've made first contact, and you've started communicating directly with potential mentors. Now it's time for the critical process of turning a project idea into a project plan. -In most cases, your potential mentor(s) will have lots of ideas and preconceptions about each project that were not included in its original description on the Project Ideas page. Discuss and research the project idea in as much detail as possible. You may even consider preparing mock-ups (illustrations, powerpoint, or websites) to help clarify your understanding and vision of the project. You will want to discuss the scope of the project idea, including which parts are critical versus optional for the summer timeline. This process will directly feed into your application and ideally distinguish it from all the others. Just think about it: if you've helped clarify the project idea and contributed to an actual plan of action, it makes it an easy process for mentors to evaluate your proposal and give it a high ranking! +In most cases, your potential mentor(s) will have lots of ideas and preconceptions about each project that were not included in its original description on the Project Ideas page. Discuss and research the project idea in as much detail as possible. You may even consider preparing mock-ups (illustrations, powerpoint, or websites) to help clarify your understanding and vision of the project. You will want to discuss the scope of the project idea, including which parts are critical versus optional for the program timeline. This process will directly feed into your application and ideally distinguish it from all the others. Just think about it: if you've helped clarify the project idea and contributed to an actual plan of action, it makes it an easy process for mentors to evaluate your proposal and give it a high ranking! **Pro Tip:** The earlier you apply, the better. Submitting your proposal early helps you get early feedback. From b0298d28080c1e486ea44f67222026e42700449f Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 14:27:08 -0800 Subject: [PATCH 050/212] Update 06-writing_a_proposal.md minor tweaks for 2022 --- pages/student/06-writing_a_proposal.md | 32 ++++++++++---------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/pages/student/06-writing_a_proposal.md b/pages/student/06-writing_a_proposal.md index 5cd4dd01..d9310db6 100644 --- a/pages/student/06-writing_a_proposal.md +++ b/pages/student/06-writing_a_proposal.md @@ -6,13 +6,13 @@ permalink: student/writing-a-proposal.html sidebar: student_sidebar --- -This is a competitive program, each year Google turns down many more students than it funds. While pre-proposal activities are key to improving your chances of success, a poorly-written proposal is an easy way to fail. There is much you can do to ensure that your project proposal catches the attention of organization reviewers *in a positive way.* +This is a competitive program, each year Google turns down many more applicants than it funds. While pre-proposal activities are key to improving your chances of success, a poorly-written proposal is an easy way to fail. There is much you can do to ensure that your project proposal catches the attention of organization reviewers *in a positive way.* ## The Basics First and foremost, make sure you meet Google's formal requirements for participation in Summer of Code. Also be sure you are eligible to participate in a program like GSoC with your visa, etc. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. -Inventory your time. Figure out how many hours per week are already spoken for outside of your GSoC commitment, including time spent volunteering for other projects and activities, a part-time job or counting credit-hours of academic instruction. In any case, be completely clear about outside time commitments as part of your proposal. If you know you need to take a week off because of finals or a wedding, etc. be upfront with the mentors, we have added some flexibility into the 2021 program so this should be fine, you just need to let your mentor know as soon as you know the details. Do not surprise an organization with your time commitments later on. +Inventory your time. Figure out how many hours per week are already spoken for outside of your GSoC commitment, including time spent volunteering for other projects and activities, a part-time job or counting credit-hours of academic instruction. In any case, be completely clear about outside time commitments as part of your proposal. If you know you need to take a couple of weeks off because of finals or a wedding, etc. be upfront with the mentors, we have added some flexibility into the 2022 program so this should be fine, you just need to let your mentor know as soon as you know the details. Do not surprise an organization with your time commitments later on. It may be possible to extend the end date of your project if your org will allow it. But this should be discussed early on so everyone can be on the same page. Make sure that you are able to be in regular close contact with organization mentors via the usual open source means (email, chat, etc) for the duration of the summer. It is not necessary (or likely possible) that you be geographically near your mentor. However, if you are not sure you will have good Internet connectivity continuously over the summer, GSoC is not for you. @@ -56,31 +56,23 @@ Keep your personal info brief. Be sure to communicate personal experiences and s Most organizations accept only plain text applications. Most organizations have a required application format. Many organizations have application length limits. In general, organizations *will* throw out your proposal if you fail to conform to these guidelines. If you feel you *must* have graphical or interactive content associated with your application, put just this content (not a copy of your proposal) on the web and provide an easy-to-type URL. Do not expect reviewers to follow this link. -## Submit a Draft Proposal early +## Submit a Proposal early -Submit your draft proposal early during the application period so that the organization mentors can review it and ask you questions or request more detail on aspects of your proposal before the final deadline. +Submit your proposal early during the application period so that the organization mentors can review it and ask you questions or request more detail on aspects of your proposal before the final deadline. You can edit the proposal as many times as you wish before the application deadline. You may even want to label the proposal as a draft so it is clear you are looking for feedback before submitting the final proposal. -Remember, thousands of students are submitting proposals so it can take organizations a few days or even a week+ to get back to you if they have questions. So the earlier you submit a well written draft proposal, the more time they have to give you feedback on it so you can make it stronger and understand more of what they are looking for. +Remember, thousands of potential GSoC contributors are submitting proposals so it can take organizations a few days or even a week+ to get back to you if they have questions. So the earlier you submit a well written draft proposal, the more time they have to give you feedback on it so you can make it stronger and understand more of what they are looking for. -Follow the instructions from the organizations on the content and format of your proposal and use the GSoC program site instructions on successfully submitting and sharing a draft to the organization. You must create the draft and write an abstract before sharing the draft with the organization. - -You can edit the draft as many times as you wish before the application deadline. - -## Submitting a Final PDF Proposal - -**Before the application period closes you must submit a Final PDF Proposal** - this must be done for your proposal to be considered for the GSoC program. If you only submit a draft and fail to submit the Final PDF Proposal the organizations will not be able to see your proposal and therefore will not be able to accept you - it is an automatic reject from the system. - -Follow the instructions on the GSoC site and the process is quite straightforward. +Follow the instructions from the organizations on the content and format of your proposal. ## Outside the Project List -Some organizations allow students to propose work that is not on their official Ideas Page. This can be a great opportunity to get your proposal on the top of the stack. Reviewers tend to get excited about a student that goes beyond a direct response and enthusiastically proposes work that is novel and creative. +Some organizations allow GSoC contributors to propose work that is not on their official Ideas Page. This can be a great opportunity to get your proposal on the top of the stack. Reviewers tend to get excited about a GSoC contributor that goes beyond a direct response and enthusiastically proposes work that is novel and creative. However, original proposals are also riskier; their flaws will be much more apparent. Here's some of the ways that such proposals fail: **Projects without a mentor** -Try to make sure that someone in the organization would be competent to work with you. +Try to make sure that someone in the organization would be willing and competent to work with you. **Projects that better belong with other Summer of Code organizations** @@ -88,11 +80,11 @@ Open source organizations try hard to avoid stepping on each other's turf. Try t **Projects that represent too large a scope** -The time flies by quickly. If you have a large project, break it into small, coherent pieces and propose to get the first couple of them done. That way the organization can be confident that they will get at least one good piece of work out of you. +The time flies by quickly. If you have a large project, break it into small, coherent pieces and propose to get the first couple of them done. That way the organization can be confident that you can complete a project in the allotted time and the project isn't left incomplete indefinitely. **Incoherent proposals** -The organization needs to see a clearly delimited, contained piece of work. If the organization can't understand or define the work, the proposal will be thrown out. +The organization needs to see a clearly contained piece of work. If the organization can't understand or define the work, the proposal will be thrown out. **Projects that are "inappropriate" for legal or social reasons** @@ -100,7 +92,7 @@ If your proposal is near the boundary, make sure you clear it with your target o **Boring projects** -For the mentor and the organization, half the fun is helping a student do something novel and cool. Infrastructure *per se* isn't necessarily boring, but it should be part of a luminous vision. +For the mentor and the organization, half the fun is helping a GSoC contributor do something novel and cool. Infrastructure *per se* isn't necessarily boring, but it should be part of a luminous vision. **Stuff that's already been done to death** @@ -116,4 +108,4 @@ Most organizations are risk averse. It is better for everyone if your project is Integrate and leverage existing open source code in your project. Only propose to write something yourself if you cannot get it any other way. -The "Pencils Down" deadline for your project to be complete is usually sometime in mid-August. This will come sooner than you think. +The "Pencils Down" deadline for your project to be completed will come sooner than you think. From 6bd32fb267cea179e7e75f8b05462eec2ab75922 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 14:33:28 -0800 Subject: [PATCH 051/212] Update 07-being_turned_down.md 2022 minor tweaks --- pages/student/07-being_turned_down.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pages/student/07-being_turned_down.md b/pages/student/07-being_turned_down.md index 53f05c8e..cf87b313 100644 --- a/pages/student/07-being_turned_down.md +++ b/pages/student/07-being_turned_down.md @@ -27,21 +27,23 @@ Just like in job interviews, gathering information about why your proposal wasn' Following up and getting more information about what you might be able to do differently next time is a great pathway to success. +Keep in mind some organizations receive over 100 proposals so they may not be able to give direct feedback to you but it is okay to politely ask for it - even short feedback can be helpful. + **Approach an organization about doing the project anyway** -For those students with the drive to forge ahead without GSoC financial support, you may find that a community really is interested in your project anyway. Don't be afraid to approach your community, GSoC org admin or mentors you communicated with about future contribution. +For those GSoC contributors with the drive to forge ahead without GSoC financial support, you may find that a community really is interested in your project anyway. Don't be afraid to approach your community, GSoC org admin or mentors you communicated with about future contribution. Perhaps you can work on a smaller portion of your idea over a longer period of time on your own, or find another project better suited. -Some successful students have even found business sponsorship of their work later on. +Some successful GSoC contributors have even found business sponsorship of their work later on. "This story is about how after about one year and half I became a Linux Kernel Maintainer [of] the Bluetooth Subsystem. On the 2009's GSoC, I worked in important new feature in the kernel side of the Bluetooth stack. The work was too big and I wasn't able to finish it, then after some months a big company hired the company I worked with to have me finish that work. [Now] all work is merged in the Linux tree." -Gustavo Padovan, BlueZ, GSoC Student 2009, 2010 +Gustavo Padovan, BlueZ, GSoC Student **Stay connected** -If you've already invested time and energy getting to know a community, stay involved! Subscribe to relevant mailing lists, participate in IRC or fix small bugs that you have time for. +If you've already invested time and energy getting to know a community, stay involved! Subscribe to relevant mailing lists, participate in chat channels, or fix small bugs that you have time for. There are also many non-code ways you can contribute to software. If you're interested in documentation, graphic design, release testing, public relations or marketing, most projects welcome contributions in these areas. Taking on small non-code projects can be a great way to stay connected and build a reputation in a community. @@ -51,7 +53,7 @@ Maybe that project wasn't the right fit! Part of selecting a project is selectin "I had a look and approached many organizations, and finally decided to hook up with Sakai Foundation. The mentors and the people I interacted with from the community really encouraged me and I felt very comfortable with their coding practices [and] the programming languages." -Ashish Mittal, Sakai Foundation, GSoC Student 2010 +Ashish Mittal, Sakai Foundation, GSoC Student **Keep trying** @@ -59,4 +61,4 @@ Just keep trying. The next proposal just might be accepted... "*Never* give up. It took me 3 years and 12 proposals to finally get into the program. If none of your proposals gets accepted, sit back and relax. You have a whole year ahead to improve your role with the open-source community by writing more code." -Kamran Khan, Ubuntu, GSoC Student 2010 +Kamran Khan, Ubuntu, GSoC Student From 02e038be7dc54fa0f6ebd5855d3ac1774fd29436 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 15:12:16 -0800 Subject: [PATCH 052/212] Update 02-am_i_good_enough.md removing trailing spaces --- pages/student/02-am_i_good_enough.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/student/02-am_i_good_enough.md b/pages/student/02-am_i_good_enough.md index 34762158..c230a220 100644 --- a/pages/student/02-am_i_good_enough.md +++ b/pages/student/02-am_i_good_enough.md @@ -34,7 +34,7 @@ Do you think you already know everything about everything in the world of open s **You can communicate effectively** -Communication is key to GSoC. We will mention this many times in this guide. Being a successful GSoC contributor requires you to communicate with your mentor and the community regularly. Much of the time the comunication is via chat or email but you may also have weekly video chats with your mentor or community. If you are behind schedule or you are stuck on implementing something but have tried to find the answer to no avail, reach out to the community and your mentor, don't stay stuck. +Communication is key to GSoC. We will mention this many times in this guide. Being a successful GSoC contributor requires you to communicate with your mentor and the community regularly. Much of the time the comunication is via chat or email but you may also have weekly video chats with your mentor or community. If you are behind schedule or you are stuck on implementing something but have tried to find the answer to no avail, reach out to the community and your mentor, don't stay stuck. ## The technical stuff @@ -50,10 +50,10 @@ If your computer regularly dies, or you don't have dedicated access to a compute Depending on the project, the skills necessary will range from beginner to expert, but you do need some experience. One of the great things about GSoC is that there is a large variety of organizations and projects to choose from. Chances are very good that you can find a project that meets you at your level, even if you are a beginner! If the project primarily uses Linux for development and distribution, then you need to be comfortable with basic Linux usage. Sometimes, you'll see projects looking to expand onto other platforms, in which case you may be able to bring in new expertise. -Every project has additional characteristics that they look for when selecting contributors and projects - however, if you meet the above basic criteria - chances are good that there are GSoC projects and organizations to which you can feel comfortable applying. +Every project has additional characteristics that they look for when selecting contributors and projects - however, if you meet the above basic criteria - chances are good that there are GSoC projects and organizations to which you can feel comfortable applying. **Pro Tip: Read the organization's requirements or skills they are looking for in potential GSoC Contributors** -Be aware that some requirements are likely to be firm and you must meet those requirements for the organization to consider your application. For example, many organizations require potential GSoC contributors to submit pull requests as part of their application, or they require you to have a chat with someone in the community about your idea before submitting your proposal. More complicated projects will likely require familiarity with particular programming languages, processes or techniques. It is also possible some organizations may be looking for students who are earlier in their development, while other organizations may be looking for applicants more advanced in their skills. +Be aware that some requirements are likely to be firm and you must meet those requirements for the organization to consider your application. For example, many organizations require potential GSoC contributors to submit pull requests as part of their application, or they require you to have a chat with someone in the community about your idea before submitting your proposal. More complicated projects will likely require familiarity with particular programming languages, processes or techniques. It is also possible some organizations may be looking for students who are earlier in their development, while other organizations may be looking for applicants more advanced in their skills. -However, some of the requirements may be less stringent and could be things you can learn quickly, just be sure to mention that you are working on these skills, etc. when you are discussing your proposal with the organization. +However, some of the requirements may be less stringent and could be things you can learn quickly, just be sure to mention that you are working on these skills, etc. when you are discussing your proposal with the organization. From abe65461bb7016094d08129de5fc56565df2f53b Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 15:14:27 -0800 Subject: [PATCH 053/212] Update 03-making_first_contact.md remove trailing space --- pages/student/03-making_first_contact.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/03-making_first_contact.md b/pages/student/03-making_first_contact.md index fdbfc95e..1e39a3b6 100644 --- a/pages/student/03-making_first_contact.md +++ b/pages/student/03-making_first_contact.md @@ -12,7 +12,7 @@ Interacting with an open source group is sort of like walking in on a party wher If you're the type of person that would walk right up and introduce yourself at a party, then the best approach to getting started is to do what you'd do in real life. Contact the project, introduce yourself and ask questions related to your project. -However, if you're more likely to hang back and watch people for a while, spend some time observing community interactions before you jump in. Have a look at the organization's ideas page for hints on where to go for help. GSoC Organizations have listed their preferred contact methods for GSoC contributors to use on their program homepage and they are ready to welcome you through these channels. +However, if you're more likely to hang back and watch people for a while, spend some time observing community interactions before you jump in. Have a look at the organization's ideas page for hints on where to go for help. GSoC Organizations have listed their preferred contact methods for GSoC contributors to use on their program homepage and they are ready to welcome you through these channels. ## How to observe community interactions From 3b60838716d725282f10c0735c96fe31dc0de01a Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 15:15:55 -0800 Subject: [PATCH 054/212] Update 00-what_is_google_summer_of_code.md remove trailing space --- pages/student/00-what_is_google_summer_of_code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/00-what_is_google_summer_of_code.md b/pages/student/00-what_is_google_summer_of_code.md index e5c65eff..e110fb6b 100644 --- a/pages/student/00-what_is_google_summer_of_code.md +++ b/pages/student/00-what_is_google_summer_of_code.md @@ -8,7 +8,7 @@ sidebar: student_sidebar You've heard people talking about it, you've seen flyers and blog posts on it and now you want to know more! So here we go... -Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2020 was focused on bringing university students into open source. Starting in 2021, we have expanded the program to welcome all new contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! +Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2020 was focused on bringing university students into open source. Starting in 2021, we have expanded the program to welcome all new contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! Accepted GSoC Contributors gain exposure to real-world software development while having their mentor(s) ready to help integrate them into the community and help them become stronger developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! From 59048fc013458efc577f6fc9ac7a4455b24bb18a Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 15:33:08 -0800 Subject: [PATCH 055/212] Update 08-how_gsoc_works.md 2022 updates --- pages/student/08-how_gsoc_works.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pages/student/08-how_gsoc_works.md b/pages/student/08-how_gsoc_works.md index 0f2a4724..af3fd839 100644 --- a/pages/student/08-how_gsoc_works.md +++ b/pages/student/08-how_gsoc_works.md @@ -6,42 +6,42 @@ permalink: student/how-gsoc-works.html sidebar: student_sidebar --- -Google Summer of Code moves in phases after you are accepted. The first phase is the Community Bonding Period in which you get to know your community and get familiar with their code base and work style. The next phase is the initial phase of coding (Phase 1) which is evaluated with Phase 1 evaluation 5 weeks into the Google Summer of Code term. The final phase is your time to complete your project (the last 5 weeks of the program). There will be a final evaluation at the end of the term; you will also need to submit a URL to your work product. +Google Summer of Code moves in phases after you are accepted. The first phase is the Community Bonding Period (~3 weeks) in which you get to know your community and get familiar with their code base and work style. The next phase is the initial phase of coding (Phase 1) which is evaluated with a midterm evaluation from your mentor halfway through the Google Summer of Code term. The final phase is your time to complete your project (the final half of the program). There will be a final evaluation at the end of the term; you will also need to submit a URL to your work product. **Evaluations** -Evaluations are not as daunting as they may sound. This is an opportunity for you to evaluate your mentor and your mentor to evaluate you, not a quiz on your coding abilities. Some mentors even choose to review their evaluations afterward with the student in order to integrate the feedback into the coding process for the rest of the term. Be honest about your experiences with the program. This helps GSoC improve in future years. Remember, you must complete your evaluation of your mentor at the final phase or you will receive an automatic fail. +Evaluations are not as daunting as they may sound. This is an opportunity for you to evaluate your mentor and your mentor to evaluate you, not a quiz on your coding abilities. Some mentors even choose to review their evaluations afterward with the GSoC contributor in order to integrate the feedback into the coding process for the rest of the term. Be honest about your experiences with the program. This helps GSoC improve in future years. Remember, you must complete your evaluation of your mentor at the final phase or you will receive an automatic fail. **Payments** -Payment is in two pieces. The first payment is sent shortly after you pass the Phase 1 evaluation. The final payment is sent once you pass your final evaluation. Both of these payments take a few business days to become active on your card or in your bank account if you choose direct deposit. +Payment is in two pieces. The first payment is sent shortly after you pass the midterm evaluation. The final payment is sent once you pass your final evaluation. Both of these payments can take a few business days to become active in your Payoneer account (which can be linked to your bank account). **Certificate of Completion** You may receive a digital certificate of completion at the end of the program if you successfully pass GSoC. -The rest of your experience with the program will be determined by your interactions with the community within your mentoring organization. Most students consider the interactions with their mentor and the rest of the open source community they're involved with to be the most important part of the Google Summer of Code experience. +The rest of your experience with the program will be determined by your interactions with the community within your mentoring organization. Most GSoC contributors consider the interactions with their mentor and the rest of the open source community they're involved with to be the most important part of the Google Summer of Code experience. ## Participant Roles There are four roles in the Google Summer of Code program: -**Student** +**GSoC contributor** -This is you! A student participant in GSoC is typically a college or university student; the only academic requirement is that the accepted applicants be enrolled in a post-secondary academic program. Students must be at least 18 years of age to participate. Students come from a variety of academic backgrounds, and though most students are enrolled in some sort of Computer Science program there is no requirement that they be studying CS. Past students have come from disciplines as varied as Ecology, Medicine, and Music. +This is you! A GSoC contributor is a new contributor to open source. This person could be a university student, a recent graduate, a person switching careers, a developer early in their career, person returning to the workforce, etc. GSoC Contributors come from a variety of academic backgrounds - many are university students or graduates of coding schools or programs, while others are self-taught. **Organization Administrator** -Org admins are the "cat herders" for GSoC open source projects. Some org admins also mentor students during GSoC. Org admins are the final authority about matters such as which student projects will be accepted and who will mentor whom. If you're having difficulties communicating with your mentor or making progress, an org admin can help. +Org admins are the "cat herders" for GSoC open source projects. Some org admins also mentor GSoC contributors during GSoC. Org admins are the final authority about matters such as which GSoC contributor projects will be accepted and who will mentor whom. If you're having difficulties communicating with your mentor or making progress, an org admin can help. **Mentor** -Mentors are people from the community who volunteer to work with a student. Mentors provide guidance such as pointers to useful documentation, code reviews, setting milestones for the student, etc. In addition to providing students with feedback and pointers, a mentor acts as an ambassador to help student contributors integrate into their project's community. +Mentors are people from the community who volunteer to work with a GSoC contributor. Mentors provide guidance such as pointers to useful documentation, code reviews, setting milestones for the GSoC contributor, etc. In addition to providing GSoC contributors with feedback and pointers, a mentor acts as an ambassador to help GSoC contributors integrate into their project's community. **Program Administrator** -Program administrators are employees of Google's Open Source Programs Office who run the program. These folks do a variety of tasks: select the participating open source projects each year, create and analyze the program evaluations, administer the program mailing lists, ensure that participants are paid, respond to inquiries about the program. Program administrators do not select which student proposals are accepted into Google Summer of Code. +Program administrators are employees of Google's Open Source Programs Office who run the program. These folks do a variety of tasks: select the participating open source projects each year, create and analyze the program evaluations, administer the program mailing lists, ensure that participants are paid, respond to inquiries about the program. Program administrators do not select which GSoC contributor proposals are accepted into Google Summer of Code. ## Afterward -It is a primary goal of Google Summer of Code that the student participants stick around long after the program has ended and continue contributing to their project communities. Great mentors continue working with their students and encourage them to do so. In the end, mentors and students take a well-deserved break before the GSoC cycle starts again. +It is a primary goal of Google Summer of Code that the GSoC contributors stick around long after the program has ended and continue contributing to their project communities. Great mentors continue working with their GSoC contributors and encourage them to stay actively involved and may help them find a new, fun project to tackle in their community. In the end, mentors and GSoC contributors take a well-deserved break before the GSoC cycle starts again. From 496bf5e604b4b24047cec1833e8ec4af04ed0255 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 18:33:25 -0800 Subject: [PATCH 056/212] Update 09-what_does_community_mean.md slight term edits --- pages/student/09-what_does_community_mean.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/student/09-what_does_community_mean.md b/pages/student/09-what_does_community_mean.md index e9b68038..d45914d7 100644 --- a/pages/student/09-what_does_community_mean.md +++ b/pages/student/09-what_does_community_mean.md @@ -8,9 +8,9 @@ sidebar: student_sidebar The word "community" gets thrown around a lot in open source. So what does it mean? -People involved with open source community have differing political, social, economic and ethnic backgrounds. They range from elementary school students to the elderly. They work across timezones, languages, and cultures. +People involved with open source community have differing political, social, economic and ethnic backgrounds. They range from elementary school students to the older adults. They work across timezones, languages, and cultures. -Some developers may work on only a small part of the project codebase, while others know every line from memory. Communities also include people who don't work on the source code directly, such as graphic designers or testers. +Some developers may work on only a small part of the project codebase, while others know every line from memory. Communities also include people who may not work on the source code directly, such as graphic designers, testers, tech writers and community managers. When talking about community, it helps to focus in on political and social structure. The project participants you talk to may or may not formally represent the project. Assume, unless otherwise stated, that people represent and speak only for themselves when you interact with them. However, identifying the leaders and the project structure can help you to better interact with all members of the project team. @@ -24,7 +24,7 @@ Many projects start with a single developer. As time goes on, this person, often **Many committers, rough consensus** -Some projects allow almost anyone to change their codebase. These groups are likely to give commit access to GSoC students as part of a project. When deciding which features to work on or what code is committed to the master code repo, decisions may be made by the group or left to a few trusted individuals. When there's conflict, majority approval may be requested before further action is taken. +Some projects allow almost anyone to change their codebase. These groups are likely to give commit access to GSoC contributors as part of a project. When deciding which features to work on or what code is committed to the main code repo, decisions may be made by the group or left to a few trusted individuals. When there's conflict, majority approval may be requested before further action is taken. Decisions are often made based on who has working code, rather than on a theoretical basis. Groups may not formally document how they make decisions. In this case, a little time spent with the group can help you learn the culture and how to work together. If you end up working with a group like this, your mentor will help you acclimate! From f2c032cb87eff668c77f2af0ca7e419aae02f751 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 18:40:04 -0800 Subject: [PATCH 057/212] Update 11-communication_best_practices.md one slight term update --- pages/student/11-communication_best_practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/11-communication_best_practices.md b/pages/student/11-communication_best_practices.md index dc87667e..4c3751a8 100644 --- a/pages/student/11-communication_best_practices.md +++ b/pages/student/11-communication_best_practices.md @@ -49,7 +49,7 @@ The Fedora Project has a great FAQ on how to use IRC. Read it! Some additional guidelines: -* Include your real name in your IRC signature information. +* Include your preferred name in your IRC signature information. * Never private-message (pm) someone that you don't know without first asking if it is OK in the public channel. * Read the topic before asking questions. * Stay on-topic for the channel. From 21f4e12f8a78f4cd637ca572db5ca96aa3e6ab6a Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 18:50:01 -0800 Subject: [PATCH 058/212] Update 12-how_to_get_a_head_start.md adding in 2022 updates --- pages/student/12-how_to_get_a_head_start.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pages/student/12-how_to_get_a_head_start.md b/pages/student/12-how_to_get_a_head_start.md index 9a218d42..ec6bc53e 100644 --- a/pages/student/12-how_to_get_a_head_start.md +++ b/pages/student/12-how_to_get_a_head_start.md @@ -32,19 +32,19 @@ Look through the projects bug database and read through the user list to underst ## Start Interacting -Take advantage of the community bonding period to connect with your mentor, and other students in the program. Set up a blog, get involved on relevant forums and mailing lists and in general, start interacting with the development community. Make sure you have what you need to succeed, and if you don't, ask your mentor for help. +Take advantage of the community bonding period to connect with your mentor, and other GSoC contributors. Set up a blog, get involved on relevant forums and mailing lists and in general, start interacting with the development community. Make sure you have what you need to succeed, and if you don't, ask your mentor for help. -## Start Working with Your Fellow Students +## Start Working with Your Fellow GSoC contributors -GSoC is not only about working with your mentor. There's this amazing group of outstanding and motivated students too. +GSoC is not only about working with your mentor. There's this amazing group of outstanding and motivated GSoC contributors too. -**Student mailing list** +**GSoC Contributor/Student mailing list** -Google has a private mailing list for the GSoC students. The mailing list also has GSoC participants from earlier lists. Use the student mailing list as an additional resource. Your questions can be technical or non-technical. Of course, remember not to be a bullhorn and be mindful of the mailing list etiquette. +Google has a private mailing list for the GSoC contributors/students. From 2005-2021 GSoC was focused on students hence keeping the student in the list name. The mailing list also has GSoC participants from earlier lists. Use the GSoC contributor/student mailing list as an additional resource. Your questions can be technical or non-technical. Of course, remember not to be a bullhorn and be mindful of the mailing list etiquette. Please don't "+1" on the mailing list as you are spamming thousands of people and will likely have the message moderated. **They're just like me!** -There are many students who have faced or are facing the problems like you. Don't be scared to ask your questions. This is more true for the students who have been accepted to the same organizations as yours. You can ask them about how they got their dev setup working. Help each other out on the irc and mailing lists. Don't be afraid to ask and don't be afraid to answer! +There are many GSoC contributors who have faced or are facing problems like you. Don't be scared to ask your questions. This is more true for the GSoC contributors who have been accepted to the same organizations as yours. You can ask them about how they got their dev setup working. Help each other out on the chat channels and mailing lists. Don't be afraid to ask and don't be afraid to answer! **Make friends around the world** @@ -52,7 +52,7 @@ GSoC is a great opportunity that helps people and communities collaborate across **Meetup and discussion groups** -You can always find students who are excited by the same ideas as yours. Use your GSoC contacts to organize meetups and discussion groups. You can meet up with people who are. It's always good to put a face on the names that you've been friends with. Help each other out with coding problems. +You can always find GSoC contributors who are excited by the same ideas as yours. Use your GSoC contacts to organize meetups and discussion groups. You can meet up with people who are interested in the same things as you. It's always good to put a face to the names that you've been friends with. Help each other out with coding problems. **Organize Student Chapters** @@ -60,4 +60,4 @@ You can even consider starting a local student chapter for your community if you ## Review Your Project Plan -Do you have a good project schedule? Have you informed your mentor of any planned absences? Make any project adjustments you may now recognize as necessary based upon getting your dev environment setup and your new understanding of how the project works. +Do you have a good project schedule? Have you informed your mentor of any planned absences? Make any project adjustments you may now recognize as necessary based upon getting your dev environment setup and your new understanding of how the project works. With the flexibility in extending your program timeline that is being offered in 2022, this is a crucial time to let your mentor know if your plans changed since you first wrote your proposal and now you will have limited availability for X weeks for whatever reason. Communicate with your mentor. They want you to succeed but you have to let them know you have some varying availabilty during the summer. It's okay as long as you let them know as soon as you can so you both can work on a reasonable schedule and project milestones together. From dfd00a99d9afafeac036ac8090498a0da81c0469 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:02:24 -0800 Subject: [PATCH 059/212] Update 14-time_management_for_students.md added wording around timing flexibility --- pages/student/14-time_management_for_students.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pages/student/14-time_management_for_students.md b/pages/student/14-time_management_for_students.md index 3297b088..0317e218 100644 --- a/pages/student/14-time_management_for_students.md +++ b/pages/student/14-time_management_for_students.md @@ -6,17 +6,19 @@ permalink: student/time-management-for-students.html sidebar: student_sidebar --- -Well, 10 weeks isn't a lot of time to write all the code and have all the fun that you're supposed to have during GSoC. Efficient time management goes a long way in helping you make the most of your GSoC experience. Even though Google puts out a timeline for making sure that things do happen on time, you and your mentor should come up with a custom time line that fits in well with your project requirements and also with your plans for the summer. +Well, 12 weeks isn't a lot of time to write all the code and have all the fun that you're supposed to have during GSoC. Efficient time management goes a long way in helping you make the most of your GSoC experience. Even though Google puts out a timeline for making sure that things do happen on time, you and your mentor should come up with a custom time line that fits in well with your project requirements and also with your plans for the summer. + +Beginning in 2022, you and your mentor can decide together (with the organization administrator's approval) that you wish to extend the project longer than the standard 12 weeks for up to 22 weeks. Be sure you have a clear path and expectations on how the work will be divided over this new adjusted timeframe. Maybe there is a full month in the middle where you have finals or are expecting a child and know you won't be able to fully commit to GSoC during that time, that can be okay as long as you and your mentor have agreed on a plan together. The following are some suggestions that can help you to manage your time well: **Community Bonding Period** -There's already a complete section in the guide on this. (It is *that* important.) Use this time to get familiar with your community, setup your development environment and get an early start on the code development. This is time where you're getting to know your mentor and other students. Chat with them on IRC, ask questions and share ideas on projects and get ready to begin the fun ride ahead. +There's already a complete section in the guide on this. (It is *that* important.) Use this time to get familiar with your community, setup your development environment and get an early start on the code development. This is time where you're getting to know your mentor and other GSoC contributors. Chat with them in chat rooms, ask questions and share ideas on projects and get ready to begin the fun ride ahead. **Be upfront about your time commitment** -GSoC needs an investment of about 18 hours a week. If you know in advance that you'll need to take a few days of vacation/break during the Summer of Code, you should communicate that with your mentor beforehand and plan to make up for lost days. You and your mentor have the opportunity to add some flexibility into your 10 week schedule, you both will need to agree on any planned breaks, etc. +GSoC needs an investment of about 175 hours for medium size projects and 350 hours for large projects. If you know in advance that you'll need to take a few days or even weeks of vacation/break during the Summer of Code, you should communicate that with your mentor beforehand and plan to make up for lost days by extending the standard 12 week program or having heavier coding weeks to accomdate the missed time. You and your mentor have the opportunity to add some flexibility into your schedule up to a point. However, you both will need to agree on any planned breaks, an adjusted end date for your project, etc. **Regular meetings with your mentor** From 94425552a93980be7ed4fc44922e592d27ecfeea Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:09:57 -0800 Subject: [PATCH 060/212] Update 15-evaluations.md updated eval info --- pages/student/15-evaluations.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pages/student/15-evaluations.md b/pages/student/15-evaluations.md index f5324316..4b14d001 100644 --- a/pages/student/15-evaluations.md +++ b/pages/student/15-evaluations.md @@ -6,7 +6,7 @@ permalink: student/evaluations.html sidebar: student_sidebar --- -Evaluations occur two times (after 5 weeks and at the end of the 10th week of the coding period). They are your opportunity to evaluate your mentor and your mentoring organization's performance. This is also your mentor's opportunity to evaluate you. +Evaluations occur two times: at the midpoint of the program and at the end of the program after you submit your final work product. For the standard 12 week project your first evaluation will be at the end of 6 weeks and the end final evaluation will be after the 12th week of the coding period. The evaluations are your opportunity to evaluate your mentor and your mentoring organization's performance. This is also your mentor's opportunity to evaluate you. The pass or fail decision from an evaluation should not come as a surprise. You and your mentor will already be communicating, and you should be discussing the quality of your code, your participation in the community and your progress on your project to that point. If you aren't getting this feedback, ask for it. @@ -14,11 +14,11 @@ The pass or fail decision from an evaluation should not come as a surprise. You Evaluations are a survey that both you and your mentor fill in during the evaluation period. Google publishes the evaluation questions for both students and mentors in advance. -Evaluations are administered via the webapp you used to submit your project proposal at the start of the term. Evaluations will take about 10-15 minutes to complete. The questions focus on the scope of your project, the quality of your interactions with your mentor and your community. You, your mentor and org admins will receive an email after the evaluation window closes that tells you whether you've passed. +Evaluations are administered via the webapp you used to submit your project proposal at the start of the term. Evaluations will take about 10-15 minutes to complete. The questions focus on the scope of your project, the quality of your interactions with your mentor and your community. You, your mentor, and org admins will receive an email after the evaluation window closes that tells you whether you've passed. -Your evaluations are only visible to your mentoring org admins and program administrators from Google. In some cases, Google's program administrators may need to share some details of evaluations with you and your mentor. This may happen, for example, when evaluations indicate a payment should not be made. +Your evaluations have multiple questions on them that are clearly marked who can view the answers. In most cases only Google program administrators can see your responses. There are a few clearly labeled questions that the organization administrators of your organization can see to help them understand if the mentors are fulfilling their roles and responsibilities to you. In very rare cases, Google's program administrators may need to share some details of evaluations with you and your mentor. This may happen, for example, when evaluations indicate a payment should not be made (a GSoC contributor should be failed). -You are encouraged to complete both evaluations but you are only required to complete the final evaluation, if you do not complete the final evaluation which also includes your link to your work product you will fail the program. Failing an evaluation means you are immediately removed from the GSoC program. +You are encouraged to complete both evaluations but you are only required to complete the final evaluation. If you do not complete the final evaluation which also includes your link to your work product you will fail the program. Failing an evaluation means you are immediately removed from the GSoC program without receiving a stipend. ## Final Evaluations and Work Product Submission @@ -28,4 +28,4 @@ Depending on what portions of code are included in the scope of your project, yo ## Payments - Be Patient -Successful completion of your evaluations triggers the payments to your account or your payment card. This takes a few business days to process. Please be patient. +Successful completion of your evaluations triggers the payments to your Payoneer account. This can take a few business days to process. Please be patient. From 5e886e4edc88222532147475927c083a38758a3c Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:10:55 -0800 Subject: [PATCH 061/212] Update 14-time_management_for_students.md remove trailing space --- pages/student/14-time_management_for_students.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/14-time_management_for_students.md b/pages/student/14-time_management_for_students.md index 0317e218..1b242cfc 100644 --- a/pages/student/14-time_management_for_students.md +++ b/pages/student/14-time_management_for_students.md @@ -6,7 +6,7 @@ permalink: student/time-management-for-students.html sidebar: student_sidebar --- -Well, 12 weeks isn't a lot of time to write all the code and have all the fun that you're supposed to have during GSoC. Efficient time management goes a long way in helping you make the most of your GSoC experience. Even though Google puts out a timeline for making sure that things do happen on time, you and your mentor should come up with a custom time line that fits in well with your project requirements and also with your plans for the summer. +Well, 12 weeks isn't a lot of time to write all the code and have all the fun that you're supposed to have during GSoC. Efficient time management goes a long way in helping you make the most of your GSoC experience. Even though Google puts out a timeline for making sure that things do happen on time, you and your mentor should come up with a custom time line that fits in well with your project requirements and also with your plans for the summer. Beginning in 2022, you and your mentor can decide together (with the organization administrator's approval) that you wish to extend the project longer than the standard 12 weeks for up to 22 weeks. Be sure you have a clear path and expectations on how the work will be divided over this new adjusted timeframe. Maybe there is a full month in the middle where you have finals or are expecting a child and know you won't be able to fully commit to GSoC during that time, that can be okay as long as you and your mentor have agreed on a plan together. From 97ed6ff89eb87cbf5f6521ec399a879a809e638a Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:12:30 -0800 Subject: [PATCH 062/212] Update 16-strategies_for_getting_your_code_committed.md remove student terminology --- pages/student/16-strategies_for_getting_your_code_committed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/16-strategies_for_getting_your_code_committed.md b/pages/student/16-strategies_for_getting_your_code_committed.md index 138582ca..b2f6d5e4 100644 --- a/pages/student/16-strategies_for_getting_your_code_committed.md +++ b/pages/student/16-strategies_for_getting_your_code_committed.md @@ -19,4 +19,4 @@ A key goal of GSoC is to produce useful code that is integrated into the code ba There's something really satisfying and fulfilling about getting your code accepted and seeing it used by many others. Getting your code submitted is your first step towards achieving that accomplishment! More importantly, it helps you in honing your skills as a great developer and contributor. -**Pro Tip**: You can also ask other students to review your code for you and give you feedback. Use other students in your community and the GSoC program as a resource. +**Pro Tip**: You can also ask other GSoC contributors to review your code for you and give you feedback. Use other students in your community and the GSoC program as a resource. From e74e4af3f62fc7f6e0ad04a51bf2998c95a17ab7 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:15:10 -0800 Subject: [PATCH 063/212] Update 17-staying_engaged_with_your_community.md switch student to Contributor --- pages/student/17-staying_engaged_with_your_community.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/student/17-staying_engaged_with_your_community.md b/pages/student/17-staying_engaged_with_your_community.md index d96acbf4..d12cc07a 100644 --- a/pages/student/17-staying_engaged_with_your_community.md +++ b/pages/student/17-staying_engaged_with_your_community.md @@ -14,7 +14,7 @@ You worked on a wonderful project during the summer. You can't abandon it just b "Please do the communities a favour by not abandoning your projects after the GSoC results are announced, or the boogeyman will get you.[!!!] " -Lalith Suresh P., Network Simulator 3, GSoC Student 2010 +Lalith Suresh P., Network Simulator 3, GSoC Student ## New Projects @@ -34,12 +34,12 @@ You can present your project at some of the open source conferences. The open so ## Next Summer -There are so many ways that you can help your organization and the open source community for the next Google Summer of Code. You can submit project ideas, apply again as a student or even become a mentor for a project. You can even contribute by just idling in the IRC channels, helping out the new students who come looking for advice. +There are so many ways that you can help your organization and the open source community for the next Google Summer of Code. You can submit project ideas, apply again as a GSoC contributor or even become a mentor for a project. You can even contribute by just idling in the IRC channels, helping out the new folks who come looking for advice. ## Stay connected -Everyone likes to hear back from friends and people they've worked with. Be sure to stay in touch with your mentors, other students and the many great friends that you've made during GSoC. +Everyone likes to hear back from friends and people they've worked with. Be sure to stay in touch with your mentors, other GSoC contributors and the many great friends that you've made during GSoC. "GSoC may be over, but I'm really hoping my contribution to the Congress application will go beyond that. I'll be sure to stay in touch with Eric and the Sunlight Foundation. " -Evelina Vrabie, SunLight Foundation, GSoC Student 2010 +Evelina Vrabie, SunLight Foundation, GSoC Student From 6f75531a952cdc9bb2dbc8484c52f77297dc86bd Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:18:35 -0800 Subject: [PATCH 064/212] Update 18-about_this_manual.md 2022 updates --- pages/student/18-about_this_manual.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pages/student/18-about_this_manual.md b/pages/student/18-about_this_manual.md index 40b21f3a..0dea03eb 100644 --- a/pages/student/18-about_this_manual.md +++ b/pages/student/18-about_this_manual.md @@ -17,6 +17,9 @@ An update of the manual was done in December 2017 and what was quite impressive is how few changes had to be made as all of the advice the original authors gave in this manual still stand today. +Another update was done in November 2021 to reflect the eligibility and +flexibility changes to the GSoC program for 2022. + In October 2017, the guide moved from to GitHub. ## How to Contribute to This Manual From 6a5faafc805255310e58a514042c1110af89066b Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:30:23 -0800 Subject: [PATCH 065/212] Update 19-history_of_gsoc.md updated stats and clarified changes. --- pages/student/19-history_of_gsoc.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/student/19-history_of_gsoc.md b/pages/student/19-history_of_gsoc.md index 4b3a1aa2..18731782 100644 --- a/pages/student/19-history_of_gsoc.md +++ b/pages/student/19-history_of_gsoc.md @@ -14,6 +14,8 @@ The perfect answer came from encouraging students to participate in open source A cash stipend from Google allowed students to focus on their development work rather than getting a job unrelated to their academic pursuits. The final part of the puzzle was finding projects who were excited to find new contributors and to provide helpers to get these new folks up to speed both technically and socially. The first year 40 projects participated; 400 students began the experiment. -In 2020, the sixteenth Google Summer of Code wrapped up with more than 94% of the 1198 student participants in the program successfully completing the program. Best of all, most of the organizations participating over the past sixteen years reported that the program helped them find new community members and active committers. +In 2021, the seventeenth Google Summer of Code wrapped up with more than 94% of the 1198 student participants in the program successfully completing the program. Best of all, most of the organizations participating over the past seventeen years reported that the program helped them find new community members and active committers. 99% of 2021 students said they planned to continue to controbute to open source post-GSoC. + +In 2022, we are opening the program to non-student developers as well and we are excited to see what great things our new GSoC contributors will do with our open source organizations. We also have multiple size project options available for folks, with the understanding not everyone can dedicate 350 hours to an open source project during GSoC so there will also be 175 hour projects available for GSoC contributors to work on in 2022. The final update to the program is more flexibility around the schedule for a GSoC contributor project. Instead of everyone having to complete the project in 12 weeks, GSoC contributors and their mentors can decide to extend the end date of their project to better fit the GSoC contributor's committments for the summer. We look forwad to these updates helping even more people excited to learn about open source under the guidance of dedicated mentors participate in GSoC. You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: From f664b15fbf46ce25e552f9183a63fc43a58affd9 Mon Sep 17 00:00:00 2001 From: Dmitry Volodin Date: Wed, 10 Nov 2021 22:54:32 +0300 Subject: [PATCH 066/212] docs: Fix typos in "Am I good enough?" doc --- pages/student/02-am_i_good_enough.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/02-am_i_good_enough.md b/pages/student/02-am_i_good_enough.md index c230a220..c1dd442c 100644 --- a/pages/student/02-am_i_good_enough.md +++ b/pages/student/02-am_i_good_enough.md @@ -6,7 +6,7 @@ permalink: student/am-i-good-enough.html sidebar: student_sidebar --- -Do you have *some* programming experience and are comfortable in at least one or two programming langauges? Then, yes, you are good enough! No, you don't need to be a Computer Science or IT major or have been coding for 5 years. Have work experience programming but spend your time studying philosophy? Yes, you are good enough to be a GSoC contributor! +Do you have *some* programming experience and are comfortable in at least one or two programming languages? Then, yes, you are good enough! No, you don't need to be a Computer Science or IT major or have been coding for 5 years. Have work experience programming but spend your time studying philosophy? Yes, you are good enough to be a GSoC contributor! "Although at first I was a little inexperienced in the world of mobile applications and a bit overwhelmed by the challenge, I can positively say that four months later I've gradually overcome all the obstacles. I had a great mentor, that's for sure!" @@ -34,7 +34,7 @@ Do you think you already know everything about everything in the world of open s **You can communicate effectively** -Communication is key to GSoC. We will mention this many times in this guide. Being a successful GSoC contributor requires you to communicate with your mentor and the community regularly. Much of the time the comunication is via chat or email but you may also have weekly video chats with your mentor or community. If you are behind schedule or you are stuck on implementing something but have tried to find the answer to no avail, reach out to the community and your mentor, don't stay stuck. +Communication is key to GSoC. We will mention this many times in this guide. Being a successful GSoC contributor requires you to communicate with your mentor and the community regularly. Much of the time the communication is via chat or email but you may also have weekly video chats with your mentor or community. If you are behind schedule or you are stuck on implementing something but have tried to find the answer to no avail, reach out to the community and your mentor, don't stay stuck. ## The technical stuff From 3939e5fba3f3b4d9efb458417f274eebbba0e1cf Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 12:19:47 -0800 Subject: [PATCH 067/212] Update 00-what_is_google_summer_of_code.md --- pages/student/00-what_is_google_summer_of_code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/00-what_is_google_summer_of_code.md b/pages/student/00-what_is_google_summer_of_code.md index e110fb6b..4123fa60 100644 --- a/pages/student/00-what_is_google_summer_of_code.md +++ b/pages/student/00-what_is_google_summer_of_code.md @@ -8,7 +8,7 @@ sidebar: student_sidebar You've heard people talking about it, you've seen flyers and blog posts on it and now you want to know more! So here we go... -Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2020 was focused on bringing university students into open source. Starting in 2021, we have expanded the program to welcome all new contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! +Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2021 was focused on bringing university students into open source. Starting in 2022, we have expanded the program to welcome all new contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! Accepted GSoC Contributors gain exposure to real-world software development while having their mentor(s) ready to help integrate them into the community and help them become stronger developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! From 282f9e095431d32e5887efc3380efbf5062828a8 Mon Sep 17 00:00:00 2001 From: Dmitry Volodin Date: Wed, 10 Nov 2021 23:21:25 +0300 Subject: [PATCH 068/212] docs: Fix typo in "Time management" doc --- pages/student/14-time_management_for_students.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/14-time_management_for_students.md b/pages/student/14-time_management_for_students.md index 1b242cfc..35ed27f5 100644 --- a/pages/student/14-time_management_for_students.md +++ b/pages/student/14-time_management_for_students.md @@ -18,7 +18,7 @@ There's already a complete section in the guide on this. (It is *that* important **Be upfront about your time commitment** -GSoC needs an investment of about 175 hours for medium size projects and 350 hours for large projects. If you know in advance that you'll need to take a few days or even weeks of vacation/break during the Summer of Code, you should communicate that with your mentor beforehand and plan to make up for lost days by extending the standard 12 week program or having heavier coding weeks to accomdate the missed time. You and your mentor have the opportunity to add some flexibility into your schedule up to a point. However, you both will need to agree on any planned breaks, an adjusted end date for your project, etc. +GSoC needs an investment of about 175 hours for medium size projects and 350 hours for large projects. If you know in advance that you'll need to take a few days or even weeks of vacation/break during the Summer of Code, you should communicate that with your mentor beforehand and plan to make up for lost days by extending the standard 12 week program or having heavier coding weeks to accommodate the missed time. You and your mentor have the opportunity to add some flexibility into your schedule up to a point. However, you both will need to agree on any planned breaks, an adjusted end date for your project, etc. **Regular meetings with your mentor** From c2c6dd2ee08c2ae1e3b3ee896342730c78086cc8 Mon Sep 17 00:00:00 2001 From: Dmitry Volodin Date: Wed, 10 Nov 2021 23:27:47 +0300 Subject: [PATCH 069/212] docs: Fix typos in "History of GSoC" doc --- pages/student/19-history_of_gsoc.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/student/19-history_of_gsoc.md b/pages/student/19-history_of_gsoc.md index 18731782..84e19442 100644 --- a/pages/student/19-history_of_gsoc.md +++ b/pages/student/19-history_of_gsoc.md @@ -14,8 +14,8 @@ The perfect answer came from encouraging students to participate in open source A cash stipend from Google allowed students to focus on their development work rather than getting a job unrelated to their academic pursuits. The final part of the puzzle was finding projects who were excited to find new contributors and to provide helpers to get these new folks up to speed both technically and socially. The first year 40 projects participated; 400 students began the experiment. -In 2021, the seventeenth Google Summer of Code wrapped up with more than 94% of the 1198 student participants in the program successfully completing the program. Best of all, most of the organizations participating over the past seventeen years reported that the program helped them find new community members and active committers. 99% of 2021 students said they planned to continue to controbute to open source post-GSoC. +In 2021, the seventeenth Google Summer of Code wrapped up with more than 94% of the 1198 student participants in the program successfully completing the program. Best of all, most of the organizations participating over the past seventeen years reported that the program helped them find new community members and active committers. 99% of 2021 students said they planned to continue to contribute to open source post-GSoC. -In 2022, we are opening the program to non-student developers as well and we are excited to see what great things our new GSoC contributors will do with our open source organizations. We also have multiple size project options available for folks, with the understanding not everyone can dedicate 350 hours to an open source project during GSoC so there will also be 175 hour projects available for GSoC contributors to work on in 2022. The final update to the program is more flexibility around the schedule for a GSoC contributor project. Instead of everyone having to complete the project in 12 weeks, GSoC contributors and their mentors can decide to extend the end date of their project to better fit the GSoC contributor's committments for the summer. We look forwad to these updates helping even more people excited to learn about open source under the guidance of dedicated mentors participate in GSoC. +In 2022, we are opening the program to non-student developers as well and we are excited to see what great things our new GSoC contributors will do with our open source organizations. We also have multiple size project options available for folks, with the understanding not everyone can dedicate 350 hours to an open source project during GSoC so there will also be 175 hour projects available for GSoC contributors to work on in 2022. The final update to the program is more flexibility around the schedule for a GSoC contributor project. Instead of everyone having to complete the project in 12 weeks, GSoC contributors and their mentors can decide to extend the end date of their project to better fit the GSoC contributor's commitments for the summer. We look forward to these updates helping even more people excited to learn about open source under the guidance of dedicated mentors participate in GSoC. You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: From a94e06fc3c2d9832a3266f1f3303f585c98cbf8c Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 19:53:55 -0800 Subject: [PATCH 070/212] Update 00-what_is_google_summer_of_code.md updates for 2022 --- .../00-what_is_google_summer_of_code.md | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/pages/mentor/00-what_is_google_summer_of_code.md b/pages/mentor/00-what_is_google_summer_of_code.md index 5cb9a95c..5941b73b 100644 --- a/pages/mentor/00-what_is_google_summer_of_code.md +++ b/pages/mentor/00-what_is_google_summer_of_code.md @@ -6,45 +6,46 @@ permalink: mentor/index sidebar: mentor_sidebar --- -Google Summer of Code (GSoC) is a program that matches mentoring organizations with college and university student developers who are paid to write open source code. Each year, Google works with many open source, free software and technology-related groups to identify and fund proposals for student open source projects. +Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2021 was focused on bringing university students into open source. Starting in 2022, we have expanded the program to welcome all new contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! -GSoC pairs accepted student applicants with mentors from participating projects. Accepted students gain exposure to real-world software development and an opportunity for employment in areas related to their academic pursuits. In turn, participating organizations are able to identify and bring in new developers more easily. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. +Accepted GSoC Contributors gain exposure to real-world software development while having their mentor(s) ready to help integrate them into the community and help them become stronger developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! -This program has brought together thousands of students and mentors from over 130 countries worldwide. Over 715 open source projects, from areas as diverse as operating systems and community services, have participated as mentor organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. +Since 2005, GSoC has brought together 35,000 students and mentors from over 130 countries worldwide. As of November 2021, 746 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. Many past students continue to be involved in GSoC by becoming mentors themselves and helping new contributors learn about the exciting things their community is working on and the satisfaction that comes with being a part of a community of dedicated developers in open source. ## Goals of the Program -The program has several goals: +The GSoC program has several goals: -* Get more open source code written and released for the benefit of all. -* Inspire young developers to begin participating in open source development. +* Inspire developers to begin participating in open source development. * Help open source projects identify and bring in new developers. -* Provide students the opportunity to do work related to their academic pursuits during the summer: "flip bits, not burgers." -* Give students more exposure to real-world software development (for example, distributed development and version control, software licensing issues, and mailing list etiquette). +* Get more open source code written and released for the benefit of all. +* Give newer developers more exposure to real-world software development (for example, distributed development and version control, software licensing issues, testing, and communication best practices). ## A Brief History of Google Summer of Code -Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the fifteenth Google Summer of Code in 2020, over 17,000 students have been accepted into the program. Best of all, most of the organizations participating have reported that the program helped them find new community members and active committers. +Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC’s first year, 40 projects and 400 students participated. By the conclusion of the 17th Google Summer of Code in 2021, over 18,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 17 years reported that the program helped them find new community members and active committers. + +GSoC has grown immensely over the last 17 years and in the process helped students make the most of their summer by working on exciting open source projects. -See the appendix for a more extensive history of the program. +You can take a look at the appendix if you’re interested in a more extensive history of the program. ## Participant Roles There are four roles in the Google Summer of Code program: -**Program Administrator**: Program administrators are employees of Google's Open Source Programs Office who run the program. These folks do a variety of tasks: select the participating open source projects each year, create and analyze the program evaluations, administer the program mailing lists, ensure that participants are paid. Program administrators do not select which student proposals are accepted into Google Summer of Code. +**Program Administrator**: Program administrators are employees of Google's Open Source Programs Office who run the program. These folks do a variety of tasks: select the participating open source projects each year, create and analyze the program evaluations, administer the program mailing lists, and ensure that participants are paid, maintain the web application, etc. Program administrators do not select which proposals are accepted into Google Summer of Code. -More broadly, program administrators provide useful advice to both new and seasoned participants in a variety of areas, relying on their experience with the program and mentoring process. Not sure how to handle a disappearing student? Don't know which mailing list has the latest information on payments? Wondering how to best improve your organization's application for the program? Find a program administrator and ask away! +More broadly, program administrators provide useful advice to both new and seasoned participants in a variety of areas, relying on their experience with the program and mentoring process. Not sure how to handle a disappearing student? Wondering how to best improve your organization's application for the program? Find a program administrator and ask away! -**Organization Administrator**: Org admins are the "cat herders" for GSoC open source projects. These people submit the organization's application to participate in the program to Google, ensure that mentors fill out evaluations in a timely fashion, and generally organize their project's participation in GSoC. The org admin acts as Google's go-to person if any issues arise. There are also some trivial administrative tasks in GSoC's online system that can only be completed by organization administrators. Some org admins also mentor students during GSoC, and that's perfectly fine; it is just highly recommended that folks know they have enough time to execute both roles simultaneously. +**Organization Administrator**: Org admins are the "cat herders" for GSoC open source projects. These people submit the organization's application to participate in the program to Google, including making sure the Project Ideas list is solid, ensuring that mentors fill out evaluations in a timely fashion, and generally organize their project's participation in GSoC. The org admin acts as Google's go-to person if any issues arise. There are also some administrative tasks in GSoC's online system that can only be completed by organization administrators. Some org admins also mentor GSoC contributors during GSoC, and that's perfectly fine; it is just highly recommended that folks know they have enough time to execute both roles simultaneously. -Org admins are the final authority about matters such as which student projects will be accepted and who will mentor whom. On the social side, if a mentor and student have difficulties communicating or making progress, an org admin will often step in as a neutral party to help the two work together more effectively. Org admins also help track down disappearing participants, whether mentors or students. +Org admins are the final authority about matters such as which GSoC contributor projects will be accepted, who will mentor whom, and what the end date will be for a coding project. On the social side, if a mentor and GSoC contributor have difficulties communicating or making progress, an org admin will often step in as a neutral party to help the two work together more effectively. Org admins also help track down disappearing participants, whether mentors or GSoC contributors. -**Mentor**: Mentors are people from the community who volunteer to work with a student. Mentors provide guidance such as pointers to useful documentation, code reviews, etc. In addition to providing students with feedback and pointers, a mentor acts as an ambassador to help student contributors integrate into their project's community. Some organizations choose to assign more than one mentor to each of their students. Many members of the community provide guidance to their project's GSoC students without mentoring in an "official" capacity, much as they would answer anyone's questions on the project's mailing list or IRC channel. +**Mentor**: Mentors are people from the community who volunteer to work with a GSoC contributor. Mentors provide guidance such as pointers to useful documentation, code reviews, etc. In addition to providing GSoC contributors with feedback and pointers, a mentor acts as an ambassador to help GSoC contributors integrate into their project's community. Some organizations choose to assign more than one mentor to each of their GSoC contributors. Many members of the community provide guidance to their project's GSoC contributors without mentoring in an "official" capacity, much as they would answer anyone's questions on the project's mailing list or chat channel. -**Student**: A student participant in GSoC is typically a college or university student; the only academic requirement is that the accepted applicants be enrolled in an accredited academic institution. Students must also be at least 18 years of age in order to participate. Students come from a variety of academic backgrounds, and though most students are enrolled in a Computer Science program there is no requirement that they be studying CS; past student participants in GSoC have come from disciplines as varied as Ecology, Medicine, and Music. +**GSoC contributor**: A GSoC contributor is a person new to open source development who is excited to learn more about the community. GSoC contributors must be at least 18 years of age in order to participate (and from a non-US embargoed country). This person could be a university student, a recent graduate, a person switching careers, a developer early in their career, person returning to the workforce, etc. GSoC Contributors come from a variety of academic backgrounds - many are university students or graduates of coding schools or programs, while others are self-taught. -Students submit project proposals to the various organizations participating in GSoC. The organizations select which student proposals they would like to see funded by Google. Many student participants have gone on to become important members of the open source community. Many students have also gone on to become mentors and even org admins for the program. +Potential GSoC contributors submit project proposals to the various organizations participating in GSoC. The organizations select which proposals they would like to see funded by Google. Many GSoC contributors have gone on to become important members of the open source community. Many GSoC contributors have also gone on to become mentors and even org admins for the program. ## Program Structure @@ -52,20 +53,20 @@ All of the program rules are enumerated in the GSoC Program Rules and Term docum **Organization Applications**: The GSoC program is announced each year on the [Google Open Source Blog](https://opensource.googleblog.com/) among other places, and this announcement provides application deadlines for projects. Each organization must apply to participate. Organizations usually have about 3 weeks to apply for the program. Google's program administrators then select which organizations will participate in that year's Google Summer of Code. -**Student Applications**: Students are encouraged to begin talking to the participating organizations as soon as the list of accepted organizations is published. Prior to the opening of applications, it is important to take some time to talk to potential student applicants. This helps them refine their ideas so that they will produce a better quality proposal. Each organization is asked to provide a proposal template, but the best student applications go far beyond the template and an organization's ideas list. Students are given about 2 weeks to complete their applications. +**GSoC contributor Applications**: Potential GSoC contributors are encouraged to begin talking to the participating organizations as soon as the list of accepted organizations is published. Prior to the opening of applications, it is important to take some time to talk to potential applicants. This helps them refine their ideas so that they will produce a better quality proposal. Each organization is asked to provide a proposal template, but the best applications go far beyond the template and an organization's ideas list. Applicants are given about 2 weeks to complete their applications. -Following the student application deadline, organizations begin reviewing the proposals they received. During the review phase, organizations maintain an open dialogue with their student applicants. This may involve clarifying questions in regards to the final proposals to ensure students and organizations have the same understanding of the proposal. It is important to note a student's proposal can't be altered after the final submission deadline, and mentor orgnizations should not attempt to do so during the review period. +Following the GSoC contributor application deadline, organizations begin reviewing the proposals they received. During the review phase, organizations maintain an open dialogue with their applicants. This may involve clarifying questions in regards to the final proposals to ensure applicants and organizations have the same understanding of the proposal. It is important to note an applicant's proposal can't be altered after the final submission deadline, and mentor orgnizations should not attempt to do so during the review period. -Organizations may also conduct further interviews to determine which students are most likely to be a good fit for the community and work required. Over the course of several weeks, each organization prioritizes its list of proposals. Google lets each organization know how many student proposals it will fund, and organizations select their top proposals. +Organizations may also conduct further interviews to determine which applicants are most likely to be a good fit for the community and work required. Over the course of several weeks, each organization prioritizes its list of proposals, ranking them and then submitting their requests for slots to Google. Google will let each organization know how many slots it will fund, and based on ranked order those proposals will be automatically selected (if given 5 slots, those propopsals ranked 1-5 will be selected). -Sometimes a student has proposals accepted by more than one organization. Google leaves it to the organizations to decide which organization the student will work with during the course of the program. +Sometimes an applicant has proposals accepted by more than one organization. Google leaves it to the organizations to decide which organization the student will work with during the course of the program. -**Community Bonding Period**: Before students are expected to start working, there is a three-four week period built into the program to allow them to get up to speed without the pressure to execute on their proposals. During this time, students are expected to get to know their project communities and participate in project discussion. During this time, students should also set up their development environments, learn how their project's source control works, refine their project plans, read any necessary documentation, and otherwise prepare to complete their project proposals. Mentors should spend this time helping their students understand which resources will be most useful to them, introducing them to the members of the community who will be most helpful with their projects, and generally acculturating them. +**Community Bonding Period**: Before GSoC contributors are expected to start working, there is a three week period built into the program to allow them to get up to speed without the pressure to execute on their proposals. During this time, GSoC contributors are expected to get to know their project communities and participate in project discussion. During this time, GSoC contributors should also set up their development environments, learn how their project's source control works, refine their project plans, read any necessary documentation, and otherwise prepare to complete their project proposals. Mentors should spend this time helping their GSoC contributors understand which resources will be most useful to them, introducing them to the members of the community who will be most helpful with their projects, and generally acculturating them. -For 2021 there is increased flexibility in the planning for the milestones - students have 10 weeks to complete their 175 hour project. This opens it up for the student and mentor to decide together how they want to break up the project. Some folks may choose to stick to a 17-18 hour a week schedule with their students, others may factor in a couple of breaks during the program (for student and mentor) and some may have students focus 30 hours a week on their project so they wrap up in 6 weeks. This also makes it a lot easier for students with finals or other commitments (weddings, etc.) to adjust their schedules. But the most important thing to remember is that both the student and mentor should agree on a schedule and sign off on it early on during the community bonding period so there is no confusion later on. +For 2022 there is increased flexibility in the timeline for projects. When proposals are submitted they will be selected as a medium (175 hour) or large (350 hour) project. The standard coding period will be 12 weeks. However, GSoC contributors can request (in their proposal) to have a longer coding period to complete their project as they know they may have various other commitments or certain weeks when they will not be able to commit as much time to their GSoC project (up to a 22 week coding period is allowed). This opens it up for the GSoC contributors and mentor to decide together how they want to break up the project. Some folks may choose to stick to a certain number of hours a week schedule with their GSoC contributors, others may factor in a couple of breaks during the program (for GSoC contributor and mentor). This also makes it a lot easier for GSoC contributors with finals or other commitments (weddings, moving across the country, etc.) to adjust their schedules. But the most important thing to remember is that both the GSoC contributor and mentor should agree on a schedule and sign off on it early on during the community bonding period so there is no confusion later on. -**Start of Coding**: Start of coding is the date the program officially begins; students are expected to start executing on their project proposals. At this point, students should begin regular check-ins and regular patch submissions. +**Start of Coding**: Start of coding is the date the program officially begins; GSoC contributors are expected to start executing on their project proposals. At this point, GSoC contributors should begin regular check-ins and regular patch submissions. -**Coding Ends**: At the final deadline for coding, students are welcome and encouraged to continue work on their projects, but only work done before this date can be evaluated. Google suggests that all work be complete about a week earlier to give the student time for last-minute improvements and corrections, as well as preparing their work for delivery. Students also need to submit mentor evaluations during this time and a link to their code. +**Coding Ends**: At the final deadline for coding, GSoC contributors are welcome and encouraged to continue work on their projects, but only work done before this date can be evaluated. Google suggests that all work be complete about a week earlier to give the GSoC contributor time for last-minute improvements and corrections, as well as preparing their work for delivery. GSoC contributors also need to submit mentor evaluations during this time and a link to their code. -It's a primary goal of Google Summer of Code that the student participants stick around long after the program has ended and continue contributing to their project communities. Great mentors continue working with their students to encourage them to do so. It's also customary during this time for organizations to publish a post-GSoC wrap up report. Mentors and students take a well-deserved break, but energetic organizations begin planning for the next GSoC during this time. +It's a primary goal of Google Summer of Code that the GSoC contributors stick around long after the program has ended and continue contributing to their project communities. Great mentors continue working with their GSoC contributors to encourage them to do so. It's also customary during this time for organizations to publish a post-GSoC wrap up report. Mentors and GSoC contributors take a well-deserved break, but energetic organizations begin planning for the next GSoC during this time. From 6370206ed6dfeccce6024c816a19c7c1d3fc516c Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 20:03:51 -0800 Subject: [PATCH 071/212] Update 02-notes_for_first_year_organizations.md updates for 2022 --- .../02-notes_for_first_year_organizations.md | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/pages/mentor/02-notes_for_first_year_organizations.md b/pages/mentor/02-notes_for_first_year_organizations.md index 0f14b192..acdba473 100644 --- a/pages/mentor/02-notes_for_first_year_organizations.md +++ b/pages/mentor/02-notes_for_first_year_organizations.md @@ -12,9 +12,9 @@ Congrats! We know you're excited to participate in GSoC. We also know it can be General: -* This is about building the STUDENT'S experience. Getting code in your project is a nice side effect. +* This is about building the GSOC CONTRIBUTOR'S experience. Getting code in your project is a nice side effect. -* Know and meet the deadlines for every part of participation: organization administration, student participation, and mentor participation. Use Google Calendars' alert feature. +* Know and meet the deadlines for every part of participation: organization administration, GSoC contributor participation, and mentor participation. Use Google Calendars' alert feature and look at your GSoC dashboard at least once a week to remind you of upcoming deadlines. * Search the site and the Resources section in particular, but don't be afraid to ask questions on the appropriate mailing list, particularly the GSoC Mentor List. @@ -22,39 +22,43 @@ General: * Spread (don't spam) the word that your organization is participating in GSoC. -Students, mentors, and slots: +GSoC contributors, mentors, and slots: -* Students are not experienced project members and will take longer to write code than the core team. Plan accordingly. +* GSoC contributors are not experienced project members and will take longer to write code than the core team. Plan accordingly. -* Mentors should expect to spend about 2-3 hours a week for each student. Some weeks may be more, some weeks less. More time spent during the community bonding period and the first few weeks of the program have led to more successful and engaged students. +* Mentors should expect to spend about 2-4 hours a week for each GSoC contributor. Some weeks may be more, some weeks less. More time spent during the community bonding period and the first few weeks of the program have led to more successful and engaged GSoC contributors. -* The mentor/student process is: +* The mentor/GSoC contributor process is: * OAs invite mentors to their organization. - * Talk with students about project ideas (some orgs give students a task they need to complete, that is up to you). + * Talk with potential GSoC contributors about project ideas (some orgs give applicants a task they need to complete, that is up to you). - * Receive and review student applications. + * Receive and review GSoC contributor applications. - * Request a minimum and a maximum number of requested slots for students. (OAs submit requests) + * Determine which mentors are fully committed to mentor a proposal. + + * Rank your proposals with dedicated mentors. + + * Request slots for GSoC contributor projects. (OAs submit requests) * Receive confirmation from Program Administrators with your organization's number of slots. - * Select students and mentors for each project. + * The number of slots will determine which ranked proposals are automatically selected. If your org asks for 7 slots but is given 5, ranked proposals #1-#5 will automatically be selected as your org's GSoC contributor projects. -* The application process is a great initial test of the student's dedication and skills, so don't offer students too much help during it. Feedback is good but if you have to hand hold them now, it will be worse during the program. +* The application process is a great initial test of the GSoC contributor's dedication and skills, so don't offer too much help during it. Feedback is good but if you have to hand hold them now, it will be worse during the program. -* Use code tests and personal conversation to help select students. The student with the best proposal might not be the student who can produce the best code. +* Use code tests and personal conversation to help select GSoC contributors. The applicant with the best proposal might not be the applicant who can produce the best code. -* Request 1 student slot for every 2 mentors you have. As a first year organization you will probably receive fewer than 3 students. THIS IS A GOOD THING. Use your first year to get used to the process. Expand in your second year. +* Request 1 GSoC contributor slot for every 2 mentors you have. As a first year organization you will probably receive fewer than 3 students. THIS IS A GOOD THING. Use your first year to get used to the process. Expand in your second year. Coding, community, and communication: -* Treat the student like a core contributor. Private repos or branches can prevent the student from blocking releases, but can also isolate the student from the rest of the project. +* Treat the GSoC contributor like a core contributor. Private repos or branches can prevent the GSoC contributors from blocking releases, but can also isolate them from the rest of the project. -* Publish weekly or daily goals. This helps to keep scope, show progress, and keep students active. +* Publish weekly or daily goals. This helps to keep scope, show progress, and keep GSoC contributors active. -* It's okay to fail a student. If a student doesn't meet agreed deadlines or doesn't communicate, he or she should be failed. +* It's okay to fail a GSoC contributor. If a GSoC contributor doesn't meet agreed deadlines or doesn't communicate, they should be failed. * Make all communication public. If it didn't happen in public, it didn't happen. From 900b42c0ebf2e3a41e4ce854558214d7b3109252 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 20:05:52 -0800 Subject: [PATCH 072/212] Update 00-what_is_google_summer_of_code.md trailing space removed --- pages/mentor/00-what_is_google_summer_of_code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/00-what_is_google_summer_of_code.md b/pages/mentor/00-what_is_google_summer_of_code.md index 5941b73b..a093f668 100644 --- a/pages/mentor/00-what_is_google_summer_of_code.md +++ b/pages/mentor/00-what_is_google_summer_of_code.md @@ -57,7 +57,7 @@ All of the program rules are enumerated in the GSoC Program Rules and Term docum Following the GSoC contributor application deadline, organizations begin reviewing the proposals they received. During the review phase, organizations maintain an open dialogue with their applicants. This may involve clarifying questions in regards to the final proposals to ensure applicants and organizations have the same understanding of the proposal. It is important to note an applicant's proposal can't be altered after the final submission deadline, and mentor orgnizations should not attempt to do so during the review period. -Organizations may also conduct further interviews to determine which applicants are most likely to be a good fit for the community and work required. Over the course of several weeks, each organization prioritizes its list of proposals, ranking them and then submitting their requests for slots to Google. Google will let each organization know how many slots it will fund, and based on ranked order those proposals will be automatically selected (if given 5 slots, those propopsals ranked 1-5 will be selected). +Organizations may also conduct further interviews to determine which applicants are most likely to be a good fit for the community and work required. Over the course of several weeks, each organization prioritizes its list of proposals, ranking them and then submitting their requests for slots to Google. Google will let each organization know how many slots it will fund, and based on ranked order those proposals will be automatically selected (if given 5 slots, those propopsals ranked 1-5 will be selected). Sometimes an applicant has proposals accepted by more than one organization. Google leaves it to the organizations to decide which organization the student will work with during the course of the program. From bc0da4fc6c1c737748d17fb2e330f45a9e71806c Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:19:20 -0800 Subject: [PATCH 073/212] Update 02-notes_for_first_year_organizations.md trailing space --- pages/mentor/02-notes_for_first_year_organizations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/02-notes_for_first_year_organizations.md b/pages/mentor/02-notes_for_first_year_organizations.md index acdba473..104bd3e5 100644 --- a/pages/mentor/02-notes_for_first_year_organizations.md +++ b/pages/mentor/02-notes_for_first_year_organizations.md @@ -44,7 +44,7 @@ GSoC contributors, mentors, and slots: * Receive confirmation from Program Administrators with your organization's number of slots. - * The number of slots will determine which ranked proposals are automatically selected. If your org asks for 7 slots but is given 5, ranked proposals #1-#5 will automatically be selected as your org's GSoC contributor projects. + * The number of slots will determine which ranked proposals are automatically selected. If your org asks for 7 slots but is given 5, ranked proposals #1-#5 will automatically be selected as your org's GSoC contributor projects. * The application process is a great initial test of the GSoC contributor's dedication and skills, so don't offer too much help during it. Feedback is good but if you have to hand hold them now, it will be worse during the program. From bdaa2e65097760635272da799e4356579ba07acf Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:29:38 -0800 Subject: [PATCH 074/212] Update 03-what_makes_a_good_mentor.md GSoC contributor updates --- pages/mentor/03-what_makes_a_good_mentor.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pages/mentor/03-what_makes_a_good_mentor.md b/pages/mentor/03-what_makes_a_good_mentor.md index a267df99..50687607 100644 --- a/pages/mentor/03-what_makes_a_good_mentor.md +++ b/pages/mentor/03-what_makes_a_good_mentor.md @@ -6,30 +6,30 @@ permalink: mentor/what-makes-a-good-mentor.html sidebar: mentor_sidebar --- -Mentoring a student can be a very rewarding experience. However, being a good mentor is *not* just a matter of winding up the student and watching them go. Quality mentoring requires a substantial time commitment and the willingness and ability to take a leadership role. +Mentoring a GSoC contributor can be a very rewarding experience. However, being a good mentor is *not* just a matter of winding up the GSoC contributor and watching them go. Quality mentoring requires a substantial time commitment and the willingness and ability to take a leadership role. There are specific skills that you can work on in order to be more effective; even experienced mentors can improve. This chapter highlights some of the capabilities of top mentors, by suggesting some self-assessment questions that can help you to evaluate your strengths and weaknesses in this role. -**Are you already part of the developer community?** If you are not then you are going to be less effective at introducing a student to the local culture and practices. Similarly, you are less likely to be able to propose, guide and integrate successful projects relevant to the larger effort. If you are new to the community, working as a backup mentor on a project may be an excellent way to get involved. Note that some projects are more community-oriented than others; assess the community skillset needed for your target group. +**Are you already part of the developer community?** If you are not then you are going to be less effective at introducing a GSoC contributor to the local culture and practices. Similarly, you are less likely to be able to propose, guide and integrate successful projects relevant to the larger effort. If you are new to the community, working as a backup mentor on a project may be an excellent way to get involved. Note that some projects are more community-oriented than others; assess the community skillset needed for your target group. **Do you have a real interest in potential GSoC projects?** As a GSoC mentor you will be taking ownership of a project idea and seeing it through the summer. If you are not excited about the project, mentoring will be more difficult. You are an integral part of the process from project proposal to delivery. **Are you willing to dedicate significant time?** While the time requirements for mentoring vary, you should seriously consider your prior mentoring experiences and your available time before committing to this role. If you really don't want to mentor, or really won't have a reasonable amount of time each week, *then don't offer.* -**Are you keenly interested in mentoring students?** A main goal of GSoC is mentoring students. Mentoring is important to the future of open source software, our immediate projects and the overall culture. Mentoring a student requires a combination of passion, responsibility and patience. A good mentor is willing to engage with students throughout their learning process. +**Are you keenly interested in mentoring GSoC contributors?** A main goal of GSoC is mentoring GSoC contributors. Mentoring is important to the future of open source software, our immediate projects and the overall culture. Mentoring a GSoC contributor requires a combination of passion, responsibility and patience. A good mentor is willing to engage with GSoC contributors throughout their learning process. ## Be Prepared to Seek Help -At all times don't forget that you have access to people, tools and resources that can make your job much easier *and* make you a better mentor. Make use of your org admin when you are not sure what is expected of you or have a difficult situation with your student. Make use of other mentors in your organization and the thousands of mentors on the mentor mailing list. Though it may be an annoying list at times *(don't feed the trolls!)*, it is a valuable resource. The GSoC admins are another important resource. They set the tone and standards for the entire program. They have heard it all, so don't hesitate to contact them when a problem arises. +At all times don't forget that you have access to people, tools and resources that can make your job much easier *and* make you a better mentor. Make use of your org admin when you are not sure what is expected of you or have a difficult situation with your GSoC contributor. Make use of other mentors in your organization and the thousands of mentors on the mentor mailing list. Though it may be an annoying list at times *(don't feed the trolls!)*, it is a valuable resource. The GSoC admins are another important resource. They set the tone and standards for the entire program. They have heard it all, so don't hesitate to contact them when a problem arises. ## What To Expect From Under-Mentoring -**The student's project is never properly defined.** The project goals and deliverables are unclear, and the work schedule is not set. The consequences of this are serious and impact the project if left unchecked. +**The GSoC contributor's project is never properly defined.** The project goals and deliverables are unclear, and the work schedule is not set. The consequences of this are serious and impact the project if left unchecked. -**The mentor has little idea what the student is doing.** The state of the project is unclear, and its progress is uncertain. Evaluation is impossible to do well. +**The mentor has little idea what the GSoC contributor is doing.** The state of the project is unclear, and its progress is uncertain. Evaluation is impossible to do well. -**The student produces code that isn't useful.** The student starts off on 'the wrong path', failing to use existing functions or established project idioms. Rather than fixing problems as they arise they keep on adding more. The code is never integrated into the main codebase because it doesn't work well enough and would require more work to fix than it is worth. +**The GSoC contributor produces code that isn't useful.** The GSoC contributor starts off on 'the wrong path', failing to use existing functions or established project idioms. Rather than fixing problems as they arise they keep on adding more. The code is never integrated into the main codebase because it doesn't work well enough and would require more work to fix than it is worth. -**The student gets stuck.** The student seems to be engaged, and to be working hard, but no apparent progress is being made. Alternatively, the student's communications are infrequent and terse, and seem to always be on the same issue or milestone. +**The GSoC contributor gets stuck.** The GSoC contributor seems to be engaged, and to be working hard, but no apparent progress is being made. Alternatively, the GSoC contributor's communications are infrequent and terse, and seem to always be on the same issue or milestone. -**The student disappears, perhaps for days or weeks at a time.** If the student is under-mentored, it may be difficult to determine when this period began, and thus to know when to panic. Insufficient information is available for evaluation; thus it becomes impossible to fairly evaluate the student. +**The GSoC contributor disappears, perhaps for days or weeks at a time.** If the GSoC contributor is under-mentored, it may be difficult to determine when this period began, and thus to know when to panic. Insufficient information is available for evaluation; thus it becomes impossible to fairly evaluate the GSoC contributor. From 6398a27463ae4aa2b6a0ce12916392b0447c6d75 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:51:46 -0800 Subject: [PATCH 075/212] Update 04-defining_a_project__ideas_list.md 2022 updates --- .../04-defining_a_project__ideas_list.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pages/mentor/04-defining_a_project__ideas_list.md b/pages/mentor/04-defining_a_project__ideas_list.md index 6133e84f..29615d4a 100644 --- a/pages/mentor/04-defining_a_project__ideas_list.md +++ b/pages/mentor/04-defining_a_project__ideas_list.md @@ -10,11 +10,11 @@ The process of defining ideal GSoC projects is not just a "summertime" activity. Putting together a well-defined GSoC project also forces you to think about your project from a new point of view. This is a valuable exercise for defining the current scope of, and potential new avenues for, your work. In other words, it can be much more than just getting help with your existing workload. -Your goal for GSoC is to generate a list of project ideas that capture the development needs of your organization, attract the interest of students, and help you get things done. This is often done as a community effort that involves as many potential mentors as possible, helps create buy-in from these mentors, and gives a broad range of perspectives on organizational needs. Creating your list of project ideas should also be part of an ongoing long-term strategy, rather than a rushed act to meet the application deadline. Many organizations maintain such project lists year-round. +Your goal for GSoC is to generate a list of project ideas that capture the development needs of your organization, attract the interest of potential GSoC contributors, and help you get things done. This is often done as a community effort that involves as many potential mentors as possible, helps create buy-in from these mentors, and gives a broad range of perspectives on organizational needs. Creating your list of project ideas should also be part of an ongoing long-term strategy, rather than a rushed act to meet the application deadline. Many organizations maintain such project lists year-round. -There is an art to writing a project description that leads to good student applications. It is tempting to write a detailed project plan for the student to follow. However, students tend to echo such plans in their applications, making it difficult to evaluate their quality. It is better to briefly describe a general high-level need, and the motivation behind that need. Keeping the scope modest helps encourage more applicants, while adding a "stretch" goal to the project description may encourage stronger students to take on the challenge of meeting it. +There is an art to writing a project description that leads to good applications. It is tempting to write a detailed project plan for the GSoC contributor to follow. However, GSoC contributors tend to echo such plans in their applications, making it difficult to evaluate their quality. It is better to briefly describe a general high-level need, and the motivation behind that need. Keeping the scope modest helps encourage more applicants, while adding a "stretch" goal to the project description may encourage stronger GSoC contributors to take on the challenge of meeting it. -One strategy is to leave an opening for students to propose their own original project ideas. Some great ideas can come out of this process. Emphasize that the student proposing something original must engage with the community strongly before or during the application period to get feedback and guidance to improve the proposal. +One strategy is to leave an opening for GSoC contributors to propose their own original project ideas. Some great ideas can come out of this process. Emphasize that the GSoC contributors proposing something original must engage with the community strongly before or during the application period to get feedback and guidance to improve the proposal. **Writing a Good Ideas List** @@ -22,16 +22,16 @@ Note that the quality of the project descriptions on an organization's "Ideas li When Google Administrators review the hundreds of organization applications the primary thing they look at is the quality of the Ideas list. An Ideas list should follow these guidelines: -1. Each project on the Ideas list should include: a) a project title/description b) more detailed description of the project (2-5 sentences) c) expected outcomes d) skills required/preferred e) possible mentors. And if possible, an easy, medium or hard rating of each project. -1. Projects should take ~175 hours for students to complete. We understand some students will take less time (if they have more knowledge of the topic or codebase) while other students could spend more time. -1. Have multiple ideas. Even if you are a new organization and only want one or two students showing that you have multiple ideas (a bare minimum of 4 solid ideas) is vital. And for an organization hoping for 4 or more students you should have at least 8-10 ideas and having them categorized is a nice touch if you have subcategories of topics within your project. +1. Each project on the Ideas list should include: a) a project title/description b) more detailed description of the project (2-5 sentences) c) expected outcomes d) skills required/preferred e) possible mentors f) expected size of project (175 or 350 hour). And if possible, an easy, medium or hard rating of each project. +1. Projects should take ~175 hours or ~350 hours for GSoC contributors to complete. We understand some GSoC contributors will take less time (if they have more knowledge of the topic or codebase) while others could spend more time. It is also possible that a given project idea could be 175 hours or 350 hours depending on the scope of the idea. If the GSoC contributor proposes to do a smaller scope of the idea then it might be a 175 hr project versus if they propose doing more work with their proposal it could be a 350 hour project. +1. Have multiple ideas. Even if you are a new organization and only want one or two GSoC contributors showing that you have multiple ideas (a bare minimum of 4 solid ideas) is vital. And for an organization hoping for 4 or more GSoC contributors you should have at least 8-10 ideas and having them categorized is a nice touch if you have subcategories of topics within your project. 1. Make it easy for Administrators to find your Ideas list. When reviewing many hundreds of organizations Program Admins can only spend a certain amount of time looking for your Ideas list. Many organizations are rejected because Program Admins couldn't find the actual Ideas list because the URL the org gave had a bunch of other unrelated information on it and wasn't clear where to find the actual Ideas list. -1. Make sure to update your Project Ideas. Even if you plan to use some of the ideas that weren't chosen from a previous year at least put effort into changing the page to say 20XX Ideas list. It is not encouraging for Program Admins to see an outdated list. It also makes it seem like your project might be stale as you don't have new ideas for students to work on if it still shows ideas from the previous year or even two years before and is marked as such. -1. **Never link to just a bug tracker**. This is almost always an automatic rejection. When Admins open the issue tracker if there is an expanded description of the project with the items listed in #1 above that is acceptable. If an org can't take the time to create a document or a page with their Ideas List fleshed out then why would Google expect they would be willing to mentor students for 3 hours a week for the next 3 months? +1. Make sure to update your Project Ideas. Even if you plan to use some of the ideas that weren't chosen from a previous year at least put effort into changing the page to say 20XX Ideas list. It is not encouraging for Program Admins to see an outdated list. It also makes it seem like your project might be stale as you don't have new ideas for GSoC contributors to work on if it still shows ideas from the previous year or even two years before and is marked as such. +1. **Never link to just a bug tracker**. This is almost always an automatic rejection. When Admins open the issue tracker if there is an expanded description of the project with the items listed in #1 above that is acceptable. If an org can't take the time to create a document or a page with their Ideas List fleshed out then why would Google expect they would be willing to mentor GSoC contributors for 3+ hours a week for the next 3 months? 1. Don't be vague about the ideas. Be sure to write a few sentences describing what you need accomplished and not just an overall theoretical version of what you might want. 1. Be sure the URL you link to for your Ideas list works. Have someone else test it as well before you submit your application. Sometimes people don't have permissions set correctly or paste an incorrect URL which will also mean a rejection. -There are many ways to define a good GSoC project--probably as many ways as there are student-mentor pairings. Here are just a few: +There are many ways to define a good GSoC project--probably as many ways as there are GSoC contributors-mentor pairings. Here are just a few: **Low-hanging fruit**: These projects require minimal familiarity with the codebase and basic technical knowledge. They are relatively short, with clear goals. @@ -41,9 +41,9 @@ There are many ways to define a good GSoC project--probably as many ways as ther **Core development**: These projects derive from the ongoing work from the core of your development team. The list of features and bugs is never-ending, and help is always welcome. -**Infrastructure/Automation**: These projects are the code that your organization uses to get its development work done; for example, projects that improve the automation of releases, regression tests and automated builds. This is a category in which a GSoC student can be really helpful, doing work that the development team has been putting off while they focus on core development. +**Infrastructure/Automation**: These projects are the code that your organization uses to get its development work done; for example, projects that improve the automation of releases, regression tests and automated builds. This is a category in which a GSoC contributor can be really helpful, doing work that the development team has been putting off while they focus on core development. -The project you propose will define the tone and scope of your organization's participation in GSoC. It is a key part of your organization's application. Further, it may be the first impression made on a potential student applicant. +The projects you propose will define the tone and scope of your organization's participation in GSoC. It is a key part of your organization's application. Further, it may be the first impression made on a potential applicant. **Pro Tip**: Maintain an "ideas page" with a running list of entry projects year-round. This can benefit your development effort throughout the year. It can also make your organization's GSoC application easier to put together the following summer. From 028cd0f740f3e403f43822e0f9f3ec06311c5650 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 22:40:35 -0800 Subject: [PATCH 076/212] Update 05-selecting_a_student.md 2022 updates --- pages/mentor/05-selecting_a_student.md | 62 +++++++++++++------------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/pages/mentor/05-selecting_a_student.md b/pages/mentor/05-selecting_a_student.md index 2a284005..c8783d39 100644 --- a/pages/mentor/05-selecting_a_student.md +++ b/pages/mentor/05-selecting_a_student.md @@ -1,71 +1,73 @@ --- -title: Selecting a Student +title: Selecting a GSoC contributor section: Getting Started order: 5 permalink: mentor/selecting-a-student.html sidebar: mentor_sidebar --- -Successful participation in GSoC is based on a three-way fit between mentor, student, and project. As a mentor, your role in finding that fit is two-fold: to help the organization identify and select strong students appropriate for your projects, and to find a pairing between yourself and a student that is productive and pleasant. Fortunately, these goals are quite compatible. +Successful participation in GSoC is based on a three-way fit between mentor, GSoC contributor, and project. As a mentor, your role in finding that fit is two-fold: to help the organization identify and select strong GSoC contributors appropriate for your projects, and to find a pairing between yourself and a GSoC contributor that is productive and pleasant. Fortunately, these goals are quite compatible. -## Understanding Student Motivations +## Understanding GSoC contributor Motivations -A helpful starting point for finding, evaluating and selecting students is to look at the process from their point of view. Why do students apply to GSoC? +A helpful starting point for finding, evaluating and selecting GSoC contributors is to look at the process from their point of view. Why do developers apply to GSoC? -**"I want to be rich."** The stipend that students can earn for the summer is an important motivator for many. One of Google's explicit goals is to enable students to spend the summer coding "instead of flipping burgers". +**"I want to be rich."** The stipend that GSoC contributors can earn for the summer is an important motivator for many. -**"I want to be famous."** Being a GSoC student carries a certain amount of prestige. However, the desire for fame is not always a sustaining long-term motivation. Be aware of the difference between a student who wants to be "accepted" versus "successful". +**"I want to be famous."** Being a GSoC contributor carries a certain amount of prestige. However, the desire for fame is not always a sustaining long-term motivation. Be aware of the difference between a GSoC contributor who wants to be "accepted" versus "successful". -**"I want to learn."** Students may want to learn various things as part of their GSoC experience, such as how to work in the organization's project, how to do open source development in general. It is important as a mentor that you are cognizant of the basic skill set required for the project. +**"I want to learn."** GSoC contributors may want to learn various things as part of their GSoC experience, such as how to work in the organization's project, how to do open source development in general. It is important as a mentor that you are cognizant of the basic skill set required for the project. -Students should want to participate because they have something to contribute to the organization's project. This is obviously an exciting and promising kind of GSoC applicant to receive. Assuming that the student has good technical skills and can interact well, a good result is almost inevitable. +GSoC contributors should want to participate because they have something to contribute to the organization's project. This is obviously an exciting and promising kind of GSoC applicant to receive. Assuming that the GSoC contributor has good technical skills and can interact well, a good result is almost inevitable. -## Selecting a Student +## Selecting a GSoC contributor -There are some student qualifications that are important for any successful GSoC experience. The student needs to be technically skilled, needs to have good communication skills, and needs to be a hard worker with sufficient available time to succeed. Given only a brief application document and some tiny amount of remote interaction, determining whether a student has the necessary qualifications is exceedingly difficult. Hopefully the organization has an application process in place that helps. However, as a mentor you will normally be expected to assist in the evaluation that will ultimately decide who gets accept to GSoC from your organization. +There are some GSoC contributor qualifications that are important for any successful GSoC experience. The GSoC contributor needs to be technically skilled, needs to have good communication skills, and needs to be a hard worker with sufficient available time to succeed. Given only a brief application document and some tiny amount of remote interaction, determining whether a GSoC contributor has the necessary qualifications is exceedingly difficult. Hopefully the organization has an application process in place that helps. However, as a mentor you will normally be expected to assist in the evaluation that will ultimately decide who gets accept to GSoC from your organization. -You have several techniques at your disposal for helping your organization evaluate students. First and foremost, your expertise is key in evaluating student proposals. Is a given proposal technically realistic? Is it useful to the organization? Does it meet the organization's overall goals for GSoC? +You have several techniques at your disposal for helping your organization evaluate applicants. First and foremost, your expertise is key in evaluating proposals. Is a given proposal technically realistic? Is it useful to the organization? Does it meet the organization's overall goals for GSoC? -Check out [Tips for finding the 'right' GSoC student for your org](https://docs.google.com/document/d/1HrCuijYNfDZGaQ9Eyp0HQ6iXuELRmDSimrSkrJRtwug/edit?usp=sharing), compiled by mentors and org admins. +Check out [Tips for finding the 'right' GSoC contributor for your org](https://docs.google.com/document/d/1HrCuijYNfDZGaQ9Eyp0HQ6iXuELRmDSimrSkrJRtwug/edit?usp=sharing), compiled by mentors and org admins. -Some of the student applications your organization receives will be obvious winners, about which little discussion is needed. Many more will be obvious losers that need no discussion at all. Applications that fail to conform to the organization submission rules, are extremely short, or are difficult to read or understand almost inevitably come from students who would fail miserably if accepted. The middle ground in student applications is where the action is. There are several techniques for assessing these promising but troubled applications: +Some of the proposals your organization receives will be obvious winners, about which little discussion is needed. Many more will be obvious losers that need no discussion at all. Proposals that fail to conform to the organization submission rules, are extremely short, or are difficult to read or understand almost inevitably come from applicants who would fail miserably if accepted. The middle ground in applications is where the action is. There are several techniques for assessing these promising but troubled applications: -**Send an early query to the student asking for more information.** Failure to respond well or in a timely fashion almost guarantees problems with the student later on. +**Send an early query to the applicant asking for more information.** Failure to respond well or in a timely fashion almost guarantees problems with the person later on. -**Watch the student's community interaction.** The best students interact with your organization's community during or even well before the application period. A mediocre application is much less concerning if it looks like the student is already moving forward. +**Watch the applicant's community interaction.** The best GSoC contributors interact with your organization's community during or even well before the application period. A mediocre proposal is much less concerning if it looks like the applicant is already moving forward. -**Inquire about the student's GSoC history.** A student who has participated in GSoC before may be easy to figure out. Past performance is usually an indicator of future GSoC success. This information could be included in your organization's student application template, or obtained from a general web search. +**Inquire about the applicant's GSoC history.** A GSoC contributor who has participated in GSoC before may be easy to figure out. Past performance is usually an indicator of future GSoC success. This information could be included in your organization's proposal template, or obtained from a general web search. -**Find out where else the student has applied.** Does the student have other GSoC applications? Did they copy-paste the same application over and over? There are often opportunities for negotiation with other organizations around a student who has applied to several places. +**Find out where else the applicant has applied.** Does the applicant have other GSoC proposals? Did they copy-paste the same proposal over and over? There are often opportunities for negotiation with other organizations around someone who has applied to several places. -**Look at the student's other summer plans.** A student who at least claims to be solely focused on GSoC is more likely to be successful. +**Look at the applicant's other summer plans.** You are looking for an applicant who is up front about possible other commitments during GSoC. If they have other commitments and are planning to do a 350 hour project in 12 weeks that could be a concern. However, if they are doing a 175 hour project in 12 weeks and are taking a class or have another part-time commitment it could likely be fine. ## Finding a Match -As a mentor you want to do more than just help your organization select the best students. You also want to ensure that they select a student and project that you will enjoy working with. +As a mentor you want to do more than just help your organization select the best GSoC contributor. You also want to ensure that they select a GSoC contributor and project that you will enjoy working with. -This may involve more than just finding a bright student with the right area of expertise. It is worthwhile to look at the personality type and work style a student application reflects. If you are a methodical, organized person, for example, a loose and casual student style might not be an ideal fit for you. Mentoring a student geographically far from you can be a bit challenging, but also quite enlightening. Be aware of timezone differences that might require early morning or late night schedules for live meetings, which are critical for effective mentoring. +This may involve more than just finding a bright GSoC contributor with the right area of expertise. It is worthwhile to look at the personality type and work style a proposal reflects. If you are a methodical, organized person, for example, a loose and casual style might not be an ideal fit for you. Mentoring a GSoC contributor geographically far from you can be a bit challenging, but also quite enlightening. Be aware of timezone differences that might require early morning or late night schedules for live meetings, which are critical for effective mentoring. -For those unfortunate students that don't make the cut for logistical reasons (e.g., not enough mentors or funded slots), consider providing feedback to let them know their applications were valued. This is a service both to the student and to the organization. These students will be more likely to stay engaged, possibly even contributing outside of the official GSoC program, and returning next year with an even stronger application. +For those unfortunate applicants that don't make the cut for logistical reasons (e.g., not enough mentors or funded slots), consider providing feedback to let them know their proposals were valued. This is a service both to the applicant and to the organization. These applicants will be more likely to stay engaged, possibly even contributing outside of the official GSoC program, and returning next year with an even stronger proposal. ## Google's Selection Process -The Google Open Source Program Office (OSPO) has an internal process to select mentoring organizations and allocate GSoC student slots; understanding it may help you make better student selections. +The Google Open Source Program Office (OSPO) has an internal process to select mentoring organizations and allocate GSoC contributor slots; understanding it may help you make better GSoC contributor selections. -Each mentoring organization will review the applications they receive (outside of the program site) and determine the best projects using the criteria agreed upon by their organization. Next the Org Admins will make sure those "best projects" have at least one mentor confirmed to mentor that project. Then the Org Admin will enter a minimum and a maximum number of student "slots" they wish to receive. The minimum is based on the projects that are so amazing they really want to see these projects occur over the summer and the maximum number should be the number of solid and amazing projects they wish to mentor over the summer. +Each mentoring organization will review the applications they receive (outside of the program site) and determine the best projects using the criteria agreed upon by their organization. Next the Org Admins will make sure those "best projects" have at least one mentor confirmed to mentor that project. Then the Org Admin will rank the proposals with cofnirmed mentors using the organization's agreed upon criteria. ((Note: Google is looking for a mixture of medium and large projects, not just large projects from an org when possible). Next the Org Admin will submit the ranked GSoC contributor "slots" they wish to receive. -Next, Google OSPO will allocate each organization a number of student slots. It is then up to the Org admins and mentors to decide which of their student proposals will become their organization's accepted student slots. The Org Admin will then select the student proposals on the program site. +Next, Google OSPO will allocate each organization a number of slots. The number of slots will lock in the top ranked proposals for the organization. If an organization received 5 slots then their #1-#5 ranked proposals will automatically become GSoC contributor projects. -You should also understand how student selection and mentoring can affect the eligibility of an organization. In particular, note that a poor job of mentoring may lead to a poor outcome, making it less likely that your organization will be selected in future years. But failing a student does not mean that Google will consider that organization poorly for future programs, we encourage organizations to fail if the student is not doing the work, generally 12-15% of students fail their project in a given year at some point in the program. +Google will let organizations know how many slots they receive a day or two before we announce the accepted projects publicly so organizations and mentors can prepare. + +You should also understand how GSoC contributor selection and mentoring can affect the eligibility of an organization. In particular, note that a poor job of mentoring may lead to a poor outcome, making it less likely that your organization will be selected in future years. But failing a GSoC contributor does not mean that Google will consider that organization poorly for future programs, we encourage organizations to fail if the GSoC contributor is not doing the work, historicaly 8-15% of students fail or withdraw from the program in a given year. ## Starting at the Beginning -A successful GSoC project begins with a successful initiation. Finding the right three-way fit between mentor, student and organization can make success incredibly easy. Conversely, failing to find this fit makes it difficult or impossible for the project to succeed. +A successful GSoC project begins with a successful initiation. Finding the right three-way fit between mentor, GSoC contributor and organization can make success incredibly easy. Conversely, failing to find this fit makes it difficult or impossible for the project to succeed. -Once a fit is found, the project is ready to be elaborated. You and your student are prepared to embark upon a grand adventure. Excelsior! +Once a fit is found, the project is ready to be elaborated. You and your GSoC contributor are prepared to embark upon a grand adventure. Excelsior! -**Pro Tip**: One temptation to be avoided is to give a promising student excessive help in rewriting their proposal. It is likely that the result will be a proposal stronger than the student it represents. Students' communication, organization and logical thinking skills rarely improve over the course of a summer. +**Pro Tip**: One temptation to be avoided is to give a promising GSoC contributor excessive help in rewriting their proposal. It is likely that the result will be a proposal stronger than the GSoC contributor it represents. Students' communication, organization and logical thinking skills rarely improve over the course of a summer. -**Pro Tip**: If in doubt about a student applicant's final ranking after allocation, err on the side of rejecting. Limited program budget and mentor time can most certainly be better spent on another student in your or another organization. +**Pro Tip**: If in doubt about an applicant's final ranking, err on the side of rejecting. Limited program budget and mentor time can most certainly be better spent on another applicant in your or another organization. -**Don't Be That Person**: Don't even think about selecting a student with whom you've had no contact. You should establish an active back-and-forth prior to making a decision. If you or your student have failed to make this happen, *do not proceed*. +**Don't Be That Person**: Don't even think about selecting a GSoC contributor with whom you've had no contact. You should establish an active back-and-forth prior to making a decision. If you or your GSoC contributor have failed to make this happen, *do not proceed*. From cfa528b3c9e88e358a472c960be5c0495bf30fd8 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 22:41:14 -0800 Subject: [PATCH 077/212] Update 04-defining_a_project__ideas_list.md --- pages/mentor/04-defining_a_project__ideas_list.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/04-defining_a_project__ideas_list.md b/pages/mentor/04-defining_a_project__ideas_list.md index 29615d4a..35453312 100644 --- a/pages/mentor/04-defining_a_project__ideas_list.md +++ b/pages/mentor/04-defining_a_project__ideas_list.md @@ -23,7 +23,7 @@ Note that the quality of the project descriptions on an organization's "Ideas li When Google Administrators review the hundreds of organization applications the primary thing they look at is the quality of the Ideas list. An Ideas list should follow these guidelines: 1. Each project on the Ideas list should include: a) a project title/description b) more detailed description of the project (2-5 sentences) c) expected outcomes d) skills required/preferred e) possible mentors f) expected size of project (175 or 350 hour). And if possible, an easy, medium or hard rating of each project. -1. Projects should take ~175 hours or ~350 hours for GSoC contributors to complete. We understand some GSoC contributors will take less time (if they have more knowledge of the topic or codebase) while others could spend more time. It is also possible that a given project idea could be 175 hours or 350 hours depending on the scope of the idea. If the GSoC contributor proposes to do a smaller scope of the idea then it might be a 175 hr project versus if they propose doing more work with their proposal it could be a 350 hour project. +1. Projects should take ~175 hours or ~350 hours for GSoC contributors to complete. We understand some GSoC contributors will take less time (if they have more knowledge of the topic or codebase) while others could spend more time. It is also possible that a given project idea could be 175 hours or 350 hours depending on the scope of the idea. If the GSoC contributor proposes to do a smaller scope of the idea then it might be a 175 hr project versus if they propose doing more work with their proposal it could be a 350 hour project. 1. Have multiple ideas. Even if you are a new organization and only want one or two GSoC contributors showing that you have multiple ideas (a bare minimum of 4 solid ideas) is vital. And for an organization hoping for 4 or more GSoC contributors you should have at least 8-10 ideas and having them categorized is a nice touch if you have subcategories of topics within your project. 1. Make it easy for Administrators to find your Ideas list. When reviewing many hundreds of organizations Program Admins can only spend a certain amount of time looking for your Ideas list. Many organizations are rejected because Program Admins couldn't find the actual Ideas list because the URL the org gave had a bunch of other unrelated information on it and wasn't clear where to find the actual Ideas list. 1. Make sure to update your Project Ideas. Even if you plan to use some of the ideas that weren't chosen from a previous year at least put effort into changing the page to say 20XX Ideas list. It is not encouraging for Program Admins to see an outdated list. It also makes it seem like your project might be stale as you don't have new ideas for GSoC contributors to work on if it still shows ideas from the previous year or even two years before and is marked as such. From 13623ff06f81e3b331c799f8a26ff04a839b0316 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 22:46:39 -0800 Subject: [PATCH 078/212] Update 05-selecting_a_student.md --- pages/mentor/05-selecting_a_student.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/mentor/05-selecting_a_student.md b/pages/mentor/05-selecting_a_student.md index c8783d39..989a403d 100644 --- a/pages/mentor/05-selecting_a_student.md +++ b/pages/mentor/05-selecting_a_student.md @@ -12,7 +12,7 @@ Successful participation in GSoC is based on a three-way fit between mentor, GSo A helpful starting point for finding, evaluating and selecting GSoC contributors is to look at the process from their point of view. Why do developers apply to GSoC? -**"I want to be rich."** The stipend that GSoC contributors can earn for the summer is an important motivator for many. +**"I want to be rich."** The stipend that GSoC contributors can earn for the summer is an important motivator for many. **"I want to be famous."** Being a GSoC contributor carries a certain amount of prestige. However, the desire for fame is not always a sustaining long-term motivation. Be aware of the difference between a GSoC contributor who wants to be "accepted" versus "successful". @@ -54,7 +54,7 @@ The Google Open Source Program Office (OSPO) has an internal process to select m Each mentoring organization will review the applications they receive (outside of the program site) and determine the best projects using the criteria agreed upon by their organization. Next the Org Admins will make sure those "best projects" have at least one mentor confirmed to mentor that project. Then the Org Admin will rank the proposals with cofnirmed mentors using the organization's agreed upon criteria. ((Note: Google is looking for a mixture of medium and large projects, not just large projects from an org when possible). Next the Org Admin will submit the ranked GSoC contributor "slots" they wish to receive. -Next, Google OSPO will allocate each organization a number of slots. The number of slots will lock in the top ranked proposals for the organization. If an organization received 5 slots then their #1-#5 ranked proposals will automatically become GSoC contributor projects. +Next, Google OSPO will allocate each organization a number of slots. The number of slots will lock in the top ranked proposals for the organization. If an organization received 5 slots then their #1-#5 ranked proposals will automatically become GSoC contributor projects. Google will let organizations know how many slots they receive a day or two before we announce the accepted projects publicly so organizations and mentors can prepare. From 83f5f066bb1bd7de8512832e72929869181796d3 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 22:51:23 -0800 Subject: [PATCH 079/212] Update 06-community_basics.md 2022 updates --- pages/mentor/06-community_basics.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pages/mentor/06-community_basics.md b/pages/mentor/06-community_basics.md index bb94063a..f51786c3 100644 --- a/pages/mentor/06-community_basics.md +++ b/pages/mentor/06-community_basics.md @@ -6,22 +6,22 @@ permalink: mentor/community-basics.html sidebar: mentor_sidebar --- -Your community is the collection of people who work on or with your project. Helping your student become familiar with those people makes them a more effective contributor during GSoC and helps to make them feel part of your community, which encourages involvement after their GSoC project is completed. +Your community is the collection of people who work on or with your project. Helping your GSoC contributor become familiar with those people makes them a more effective contributor during GSoC and helps to make them feel part of your community, which encourages involvement after their GSoC project is completed. ## Set the Tone -As a mentor, you can really help to set the tone for your student's initial experiences by facilitating community. Encourage your student to introduce themselves on mailing lists and IRC, and invite comments on their proposal. If your project maintains biographical information on contributors, ask your student to read through this information, and spend some time talking with your student about the people with whom they may interact. +As a mentor, you can really help to set the tone for your GSoC contributors's initial experiences by facilitating community. Encourage your GSoC contributor to introduce themselves on mailing lists and chat, and invite comments on their proposal. If your project maintains biographical information on contributors, ask your GSoC contributor to read through this information, and spend some time talking with your student about the people with whom they may interact. -Once a student has a feeling for who's who in the community, they are more likely to communicate and seek advice from others. This increases their chances of getting issues resolved more quickly and effectively than if they relied on only their mentor for help. +Once a GSoC contributor has a feeling for who's who in the community, they are more likely to communicate and seek advice from others. This increases their chances of getting issues resolved more quickly and effectively than if they relied on only their mentor for help. ## Encourage Questions Asking effective questions is a skill, not an innate talent. There are many resources for learning how to ask questions effectively, and Eric Raymond's classic [How to ask good questions](http://catb.org/~esr/faqs/smart-questions.html) is a great place for students to start. Another useful resource is Simon Tatham's [How to Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html) which isn't explicitly about asking questions, but does cover aspects of effective communication about technical issues. -Before your student asks a question, it's often helpful for them to take a minute to struggle with it and attempt to find the answer on their own. That extra effort often helps your student to solve their own problem. If not, it sharpens the question they ultimately ask. +Before your GSoC contributor asks a question, it's often helpful for them to take a minute to struggle with it and attempt to find the answer on their own. That extra effort often helps your GSoC contributor to solve their own problem. If not, it sharpens the question they ultimately ask. ## Criticism Happens -Discussion in open source communities can be very direct. People will often criticize the bad points of a patch or suggestion, but fail to praise what is good about it. Explain to the student that comments aren't meant to be critical of them as a person, but are aimed toward improving the patch or idea and the project in general. Making potential new contributors feel welcome in your community is also important outside of GSoC. +Discussion in open source communities can be very direct. People will often criticize the bad points of a patch or suggestion, but fail to praise what is good about it. Explain to the GSoC contributors that comments aren't meant to be critical of them as a person, but are aimed toward improving the patch or idea and the project in general. Making potential new contributors feel welcome in your community is also important outside of GSoC. -**Pro Tip**: When you announce to the community that you're taking part in GSoC, make a point of explicitly asking people to make the students feel welcome. +**Pro Tip**: When you announce to the community that you're taking part in GSoC, make a point of explicitly asking people to make the GSoC contributors feel welcome. From 251ebe63ca296afcc94bf25324ba2482914512ca Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 23:13:25 -0800 Subject: [PATCH 080/212] Update 07-best_practices.md 2022 updates --- pages/mentor/07-best_practices.md | 50 +++++++++++++++---------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/pages/mentor/07-best_practices.md b/pages/mentor/07-best_practices.md index 79272968..c37c5204 100644 --- a/pages/mentor/07-best_practices.md +++ b/pages/mentor/07-best_practices.md @@ -6,41 +6,41 @@ permalink: mentor/best-practices.html sidebar: mentor_sidebar --- -Effective communication between mentor and student is absolutely vital to a successful and rewarding GSoC experience. Here are some tips for encouraging good communication: +Effective communication between mentor and GSoC contributor is absolutely vital to a successful and rewarding GSoC experience. Here are some tips for encouraging good communication: -**Share contact details**: Swap contact information with your student and org admin early on. If your contact information changes, be sure to tell people, and make sure your student does too. Be sure to keep the org admin informed about when you may be unavailable to your student, so that they are not caught unaware when your student contacts them. +**Share contact details**: Swap contact information with your GSoC contributor and org admin early on. If your contact information changes, be sure to tell people, and make sure your GSoC contributor does too. Be sure to keep the org admin informed about when you may be unavailable to your GSoC contributor, so that they are not caught unaware when your GSoC contributor contacts them. -You need to take care if you are planning a trip during the summer, especially if it is more than a few days, or near milestones in the GSoC timeline. If you coordinate with your student beforehand and give them sufficient work to chew on, it can go smoothly. What you don't want is for your student to be blocked on something while you are inaccessible and do nothing until you return. Make sure to give your student many different tasks to work on, so that she can work on something else if you are not available. This is a great time to utilize a secondary mentor to act as a backup in your absence. Be sure another mentor (or org admin) is available to complete the evaluation if you unavailable. +You need to take care if you are planning a trip during the summer, especially if it is more than a few days, or near milestones in the GSoC timeline. If you coordinate with your GSoC contributor beforehand and give them sufficient work to chew on, it can go smoothly. What you don't want is for your GSoC contributor to be blocked on something while you are inaccessible and do nothing until you return. Make sure to give your GSoC contributor many different tasks to work on, so that they can work on something else if you are not available. This is a great time to utilize a secondary mentor to act as a backup in your absence. Be sure another mentor (or org admin) is available to complete the evaluation if you unavailable. -**Choose communication channels**: Decide upfront how you are going to communicate with your student and what type of technology or medium you are going to use. Don't wait until mid-way through GSoC to figure out that one of you can't get your microphone working on your desktop for voice chat. +**Choose communication channels**: Decide upfront how you are going to communicate with your GSoC contributor and what type of technology or medium you are going to use. Don't wait until mid-way through GSoC to figure out that one of you can't get your microphone working on your desktop for voice chat. It's good to make use of multiple means of communication, as different platforms can complement each other. Instant methods like IRC or IM or Slack channels are great for getting a quick answer or for interactive discussion, but require both parties to be available at once. Public communications are generally preferable to private ones. -Although some people prefer text-only communication, it is very helpful to talk on the phone or video-chat with your student at least once at the beginning of the program. Hearing a voice or seeing a face can help people feel more connected, creating a sense of mutual respect and responsibility. +Although some people prefer text-only communication, it is very helpful to talk on the phone or video-chat with your GSoC contributor at least once at the beginning of the program and again midway through. Hearing a voice or seeing a face can help people feel more connected, creating a sense of mutual respect and responsibility. Feedback from GSoC contributors has made it clear they really enjoy having weekly or bi-weekly video chats with their mentors or community members. -**Decide on the frequency of reports**: Discuss and decide the frequency and form of status reports upfront. Many organizations require students to deliver weekly status reports, some require daily reports. Make sure you clearly delineate in what format the reports should be delivered and what information needs to be included. Providing an outline or template can be helpful**.** +**Decide on the frequency of reports**: Discuss and decide the frequency and form of status reports upfront. Many organizations require GSoC contributors to deliver weekly status reports, some require daily reports. Do not wait until the midterm to get a status report, that never ends well. Make sure you clearly delineate in what format the reports should be delivered and what information needs to be included. Providing an outline or template can be helpful. -**Establish frequent chatter**: You really want to be hearing from your student more often than once a week, as this is a long time for a student to be stuck or heading up a blind alley. Be sure to encourage and instigate communication throughout the week. +**Establish frequent chatter**: You really want to be hearing from your GSoC contributor more often than once a week, as this is a long time for a GSoC contributor to be stuck or heading up a blind alley. Be sure to encourage and instigate communication throughout the week. -**Provide a safe environment**: Create an environment in which your student feels comfortable enough to ask questions that may sound "stupid". This will help the student to avoid getting stuck, and foster positive mentor-student and student-community relationships. Good relationships are extremely important for GSoC success, and for fostering and encouraging long-term contributors. +**Provide a safe environment**: Create an environment in which your GSoC contributor feels comfortable enough to ask questions that may sound "stupid". This will help the GSoC contributor to avoid getting stuck, and foster positive mentor-GSoC contributor and GSoC contributor-community relationships. Good relationships are extremely important for GSoC success, and for fostering and encouraging long-term contributors. -Here are some ways to help your student understand that her question is valuable: +Here are some ways to help your GSoC contributor understand that her question is valuable: -**Avoid gruff "RTFM" replies**: It's likely the student will ask questions which are answered somewhere in your project's documentation. However, do take a few moments extra to politely point to the information, or you'll risk the student feeling reluctant to ask next time he has a question. +**Avoid gruff "RTFM" replies**: It's likely the GSoC contributor will ask questions which are answered somewhere in your project's documentation. However, do take a few moments extra to politely point to the information, or you'll risk the GSoC contributor feeling reluctant to ask next time they have a question. -**Ask some stupid questions yourself**: Chances are your student knows some things you don't know or that you've just forgotten. Don't be afraid to ask your student questions. +**Ask some stupid questions yourself**: Chances are your GSoC contributor knows some things you don't know or that you've just forgotten. Don't be afraid to ask your GSoC contributor questions. -**Be inclusive**: If you're asked a question which someone else in your project could answer better, put your student in touch with them. Invite your student to participate in your community events, not just the core development processes. Invite your student to attend group retreats or related conferences. +**Be inclusive**: If you're asked a question which someone else in your project could answer better, put your GSoC contributor in touch with them. Invite your GSoC contributor to participate in your community events, not just the core development processes. Invite your GSoC contributor to attend group retreats or related conferences. -**Introduce your student to the community's communication style**: Many groups have developed codes of conduct, such as the [Fedora IRC Helpers Code of Conduct](http://fedoraproject.org/wiki/IRC_helpers_code_of_conduct), which help initiate new members and guide the interactions of existing members. You are encouraged to read the code of conduct and think about which issues and solutions might apply to your group. Please also check out [Google's Community guidelines](https://opensource.google/conduct/). +**Introduce your GSoC contributor to the community's communication style**: Many groups have developed codes of conduct, such as the [Fedora IRC Helpers Code of Conduct](http://fedoraproject.org/wiki/IRC_helpers_code_of_conduct), which help initiate new members and guide the interactions of existing members. You are encouraged to read the code of conduct and think about which issues and solutions might apply to your group. Please also check out [Google's Community guidelines](https://opensource.google/conduct/). -**Follow mailing list etiquette**: The GSoC mentors mailing list has more than 9500 subscribers. If you have a question for the Google team, mail gsoc-support@google.com instead of the list. Please take a moment to review list [etiquette](https://www.google.com/search?q=mailing+list+etiquette). +**Follow mailing list etiquette**: The GSoC mentors mailing list has more than 10000 subscribers. If you have a question for the Google team, mail gsoc-support@google.com instead of the list. Please take a moment to review list [etiquette](https://www.google.com/search?q=mailing+list+etiquette). -**Address communication disconnects**: When working with people for the first time, a best practice is to assume that they do not mean any harm. If your student makes a comment via email that offends another member of the community, it's appropriate and constructive to speak up and address the issue. Assuming that the comment was the result of misunderstanding, rather a result of malice, allows you to ask questions and help your student adjust to your community's communication style. +**Address communication disconnects**: When working with people for the first time, a best practice is to assume that they do not mean any harm. If your GSoC contributor makes a comment via email that offends another member of the community, it's appropriate and constructive to speak up and address the issue. Assuming that the comment was the result of misunderstanding, rather a result of malice, allows you to ask questions and help your GSoC contributor adjust to your community's communication style. -After asking questions, you can then offer an explanation to a person or a suggestion on how they could behave or phrase their comments differently in the future. When offering coaching on how to behave, be mindful of embarrassing your student in public about what's happened, or demanding apologies. If possible, talk to your student one on one, using an immediate communication medium like IM, IRC, the telephone or a face-to-face conversation. This is better than sending email. Remember that you're telling someone that they did something wrong; keep in mind how you'd feel if someone was telling you that you'd made a mistake. +After asking questions, you can then offer an explanation to a person or a suggestion on how they could behave or phrase their comments differently in the future. When offering coaching on how to behave, be mindful of embarrassing your GSoC contributor in public about what's happened, or demanding apologies. If possible, talk to your GSoC contributor one on one, using an immediate communication medium like IM, IRC, the telephone or a face-to-face conversation. This is better than sending email. Remember that you're telling someone that they did something wrong; keep in mind how you'd feel if someone was telling you that you'd made a mistake. -**Apologize Effectively**: Making apologies is a fact of human life, and open source communities are no exception. In the event that you or a student finds themselves needing to make an apology, there are a few things that might help you apologize effectively: +**Apologize Effectively**: Making apologies is a fact of human life, and open source communities are no exception. In the event that you or a GSoC contributor finds themselves needing to make an apology, there are a few things that might help you apologize effectively: * Make the apology as soon as possible * Make it clear in the subject line that you're apologizing @@ -48,24 +48,24 @@ After asking questions, you can then offer an explanation to a person or a sugge ## Giving and Receiving Criticism -Mailing list culture and public code review can be a rude awakening for newcomers. Submitting a patch to a mailing list might be a student's first experience with public critique of their code. +Mailing list culture and public code review can be a rude awakening for newcomers. Submitting a patch to a mailing list might be a GSoC contributor's first experience with public critique of their code. Project policies vary widely on how contributions are treated. Some encourage committing early and often, hopefully maintaining a stable branch for bug-fixes. Others refuse to commit code to the core repository until a patch is fully discussed, tested and documented. Most projects lie somewhere in between. All projects engage in some form of code review and the inevitable criticism. Having people look at and ask questions about your code is a fact of working in the open source world. Direct code review is one of the great strengths of open source development. Direct review helps people hone their coding skills and learn rapidly from others. Bugs are found quickly and fixed. The whole process is documented in source control repositories and mailing lists and made available online. -Here are some ways that you can help students prepare for code review: +Here are some ways that you can help GSoC contributors prepare for code review: * Provide example mailing list threads or a list of the types of questions that are asked about code. -* Direct students to review coding standards that apply to your project. -* Go through an example code review on the student's first code sample submission that matches as closely as possible the process that your project normally uses. +* Direct GSoC contributors to review coding standards that apply to your project. +* Go through an example code review on the GSoC contributor's first code sample submission that matches as closely as possible the process that your project normally uses. -People are more likely to respond positively to criticism from those that they trust and respect. Try introducing students to the people that are likely to comment on their code, and explaining the role that those people play in the group. Also, encourage students to both defend technical decisions, and be gracious in admitting mistakes. +People are more likely to respond positively to criticism from those that they trust and respect. Try introducing GSoC contributors to the people that are likely to comment on their code, and explaining the role that those people play in the group. Also, encourage GSoC contributors to both defend technical decisions, and be gracious in admitting mistakes. -Code, in addition to being mathematical and scientific, has been compared to poetry or creative writing. Most developers associate a sense of ownership and creative discovery with their code. You may have "gotten over" the bruised ego you received the first time that someone criticized your variable name or algorithm choice. However, your student may be experiencing this pain for the first time. A simple "thank you" when students publish code, send email to a mailing list or make other contributions goes a long way. +Code, in addition to being mathematical and scientific, has been compared to poetry or creative writing. Most developers associate a sense of ownership and creative discovery with their code. You may have "gotten over" the bruised ego you received the first time that someone criticized your variable name or algorithm choice. However, your GSoC contributor may be experiencing this pain for the first time. A simple "thank you" when GSoC contributors publish code, send email to a mailing list or make other contributions goes a long way. -Make an effort to assist a student in their first steps into your community. Offer to proofread emails, blog posts, or patches. You don't want to do all the work for them, but you can help students feel confident in their communication, especially when they're just starting out. +Make an effort to assist a GSoC contributor in their first steps into your community. Offer to proofread emails, blog posts, or patches. You don't want to do all the work for them, but you can help GSoC contributors feel confident in their communication, especially when they're just starting out. **Pro Tip**: A good status report should include a few items that went well during the previous period, and a few problems that were encountered and how they were addressed. -**Don't Be That Person**: Don't ever give your student the impression that you think that only stupid people ask questions. Be nice. Remember that you were once a beginner. +**Don't Be That Person**: Don't ever give your GSoC contributor the impression that you think that only stupid people ask questions. Be nice. Remember that you were once a beginner. From c98832dd154546cce2ad6d58fbc88eb0c0fb1fcf Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Wed, 10 Nov 2021 23:22:43 -0800 Subject: [PATCH 081/212] Update 08-warning_signs.md 2022 changes --- pages/mentor/08-warning_signs.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pages/mentor/08-warning_signs.md b/pages/mentor/08-warning_signs.md index 570e8c3c..c27bec45 100644 --- a/pages/mentor/08-warning_signs.md +++ b/pages/mentor/08-warning_signs.md @@ -8,28 +8,28 @@ sidebar: mentor_sidebar As a GSoC mentor, you are in the best position to identify "red flags" and warning signs early on. This is critical to addressing problems before they get out of hand. Learn from the mistakes of others, and learn how to identify and mitigate the following warning signs. -**Not enough hours in the day**: If your student has a full-time job or is attempting to defend a graduate thesis during the summer, that is probably going to not work. Even though your student thinks they will have enough extra time, don't believe them. They won't. If your student has every single minute of every day completely booked, any unexpected event, such as getting sick or a family emergency, derails this plan beyond repair. If your student cannot commit to a specified time schedule, this is an immediate red flag that they need serious help with time management. +**Not enough hours in the day**: If your GSoC contributor has a full-time job or is attempting to defend a graduate thesis during the summer, that is probably going to not work if they are trying to do a 350 hour project. Even though your GSoC contributor thinks they will have enough extra time, don't believe them. They won't. If your GSoC contributor has every single minute of every day completely booked, any unexpected event, such as getting sick or a family emergency, derails this plan beyond repair. If your GSoC contributor cannot commit to a specified time schedule, this is an immediate red flag that they need serious help with time management. -**Missing student**: Missing a predefined meeting is a serious warning sign that your student is not taking the process seriously and this should be remedied as early as possible. If your student was in such a deep "coding zone" that they forget the meeting, and you have it later on, that might be acceptable. +**Missing GSoC contributor**: Missing a predefined meeting is a serious warning sign that your GSoC contributor is not taking the process seriously and this should be remedied as early as possible. If your GSoC contributor was in such a deep "coding zone" that they forget the meeting, and you have it later on, that might be acceptable. -**"My village was invaded by aliens"**: What is a valid excuse? Students have been known to come up with outlandish excuses as to why they are not meeting their milestones. *(You did agree on milestones beforehand, right?)* If you think that your student is lying to you, that is a huge warning that things are going sour. Make sure to remind them that "real life just got in the way, I will redouble my efforts next week" is always better than "my village was invaded by aliens." +**"My village was invaded by aliens"**: What is a valid excuse? GSoC contributors have been known to come up with outlandish excuses as to why they are not meeting their milestones. *(You did agree on milestones beforehand, right?)* If you think that your GSoC contributor is lying to you, that is a huge warning that things are going sour. Make sure to remind them that "real life just got in the way, I will redouble my efforts next week" is always better than "my village was invaded by aliens." -**Bad students happen to good mentors**: One thing to keep in mind: *Sometimes bad students happen to good mentors.* Don't take it personally. If a mentor tries their hardest and their student fails, this does not reflect badly on the mentor. +**Bad GSoC contributors happen to good mentors**: One thing to keep in mind: *Sometimes bad GSoC contributors happen to good mentors.* Don't take it personally. If a mentor tries their hardest and their GSoC contributor fails, this does not reflect badly on the mentor. ## "Actions Speak Louder Than Words" -This bit of folk wisdom is proven year after year during GSoC. A mentor will write to the mentors mailing list asking for advice about a student that has not performed or gone missing for a period of time. Mid-term evaluations are coming up and the student has reappeared, reinvigorated, with no shortage of excuses. Now the mentor must decide: "Should I pass this student?". +This bit of folk wisdom is proven year after year during GSoC. A mentor will write to the mentors mailing list asking for advice about a GSoC contributor that has not performed or has gone missing for a period of time. Mid-term evaluations are coming up and the GSoC contributor has reappeared, reinvigorated, with no shortage of excuses. Now the mentor must decide: "Should I pass this GSoC contributor?". -The GSoC mailing list contains story after story from other mentors who ignored the warning signs, only to be disappointed later. A mentor considers this advice, but focuses on the unique aspects of their particular situation and passes the student...and their story is added to the list the following year. +The GSoC mailing list contains story after story from other mentors who ignored the warning signs, only to be disappointed later. A mentor considers this advice, but focuses on the unique aspects of their particular situation and passes the GSoC contributor...and their story is added to the list the following year. Here are some specific scenarios to watch out for: -**The Disappearing Student**: A student submits a great proposal and is enthusiastic about discussing the project and getting started. You rank them high, they get accepted, and then they drop off the face of the earth. **Fail.** +**The Disappearing GSoC contributor**: A GSoC contributor submits a great proposal and is enthusiastic about discussing the project and getting started. You rank them high, they get accepted, and then they drop off the face of the earth. **Fail.** -**Underperformance**: The student sticks around for the community bonding period, but then it comes time to work. When it comes to actually writing code, they seriously under perform. They offer excuses when pressed, and offer scraps of code here and there. Then comes the mid-term evaluation and start committing like crazy. **Fail.** +**Underperformance**: The GSoC contributor sticks around for the community bonding period, but then it comes time to work. When it comes to actually writing code, they seriously under perform. They offer excuses when pressed, and offer scraps of code here and there. Then comes the mid-term evaluation and they start committing like crazy. **Fail.** -**Wrong Priorities**: The student passes the mid-term and then goes on an unscheduled holiday for two weeks or starts a part-time job and the quality or quantity of work is seriously affected. You discuss this with them immediately and they promise to reprioritize, but the work is not produced. **Fail.** +**Wrong Priorities**: The GSoC contributor passes the mid-term and then goes on an unscheduled holiday for two weeks or starts a part-time job and the quality or quantity of work is seriously affected. You discuss this with them immediately and they promise to reprioritize, but the work is not produced. **Fail.** -Depending on your personality type, some of these might seem harsh. You might also shoulder some of the blame because you think that if you had been a better mentor, more on top of the situation, it would have been avoided. But even if you are partly to blame, so is the student. And it is up to the student to perform when expectations are communicated and agreed upon. +Depending on your personality type, some of these might seem harsh. You might also shoulder some of the blame because you think that if you had been a better mentor, more on top of the situation, it would have been avoided. But even if you are partly to blame, so is the GSoC contributor. And it is up to the GSoC contributor to perform when expectations are communicated and agreed upon. -**Pro Tip**: In the event your student's boat is sinking, all mentors are equipped with emergency rocket-propelled jet skis. +**Pro Tip**: In the event your GSoC contributor's boat is sinking, all mentors are equipped with emergency rocket-propelled jet skis. From ebc83718413bb49d5dd5adef96bf788eba8db2a1 Mon Sep 17 00:00:00 2001 From: Dmitry Volodin Date: Thu, 11 Nov 2021 12:49:17 +0300 Subject: [PATCH 082/212] docs: Fix typos in "What is GSoC?" doc --- pages/mentor/00-what_is_google_summer_of_code.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/mentor/00-what_is_google_summer_of_code.md b/pages/mentor/00-what_is_google_summer_of_code.md index a093f668..96318528 100644 --- a/pages/mentor/00-what_is_google_summer_of_code.md +++ b/pages/mentor/00-what_is_google_summer_of_code.md @@ -55,9 +55,9 @@ All of the program rules are enumerated in the GSoC Program Rules and Term docum **GSoC contributor Applications**: Potential GSoC contributors are encouraged to begin talking to the participating organizations as soon as the list of accepted organizations is published. Prior to the opening of applications, it is important to take some time to talk to potential applicants. This helps them refine their ideas so that they will produce a better quality proposal. Each organization is asked to provide a proposal template, but the best applications go far beyond the template and an organization's ideas list. Applicants are given about 2 weeks to complete their applications. -Following the GSoC contributor application deadline, organizations begin reviewing the proposals they received. During the review phase, organizations maintain an open dialogue with their applicants. This may involve clarifying questions in regards to the final proposals to ensure applicants and organizations have the same understanding of the proposal. It is important to note an applicant's proposal can't be altered after the final submission deadline, and mentor orgnizations should not attempt to do so during the review period. +Following the GSoC contributor application deadline, organizations begin reviewing the proposals they received. During the review phase, organizations maintain an open dialogue with their applicants. This may involve clarifying questions in regards to the final proposals to ensure applicants and organizations have the same understanding of the proposal. It is important to note an applicant's proposal can't be altered after the final submission deadline, and mentor organizations should not attempt to do so during the review period. -Organizations may also conduct further interviews to determine which applicants are most likely to be a good fit for the community and work required. Over the course of several weeks, each organization prioritizes its list of proposals, ranking them and then submitting their requests for slots to Google. Google will let each organization know how many slots it will fund, and based on ranked order those proposals will be automatically selected (if given 5 slots, those propopsals ranked 1-5 will be selected). +Organizations may also conduct further interviews to determine which applicants are most likely to be a good fit for the community and work required. Over the course of several weeks, each organization prioritizes its list of proposals, ranking them and then submitting their requests for slots to Google. Google will let each organization know how many slots it will fund, and based on ranked order those proposals will be automatically selected (if given 5 slots, those proposals ranked 1-5 will be selected). Sometimes an applicant has proposals accepted by more than one organization. Google leaves it to the organizations to decide which organization the student will work with during the course of the program. From 2e019418034558b2a39009b131419e4155cd7230 Mon Sep 17 00:00:00 2001 From: Dmitry Volodin Date: Thu, 11 Nov 2021 13:09:18 +0300 Subject: [PATCH 083/212] docs: Fix typos in "Selecting a GSoC contrib" doc --- pages/mentor/05-selecting_a_student.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/mentor/05-selecting_a_student.md b/pages/mentor/05-selecting_a_student.md index 989a403d..19453c56 100644 --- a/pages/mentor/05-selecting_a_student.md +++ b/pages/mentor/05-selecting_a_student.md @@ -22,7 +22,7 @@ GSoC contributors should want to participate because they have something to cont ## Selecting a GSoC contributor -There are some GSoC contributor qualifications that are important for any successful GSoC experience. The GSoC contributor needs to be technically skilled, needs to have good communication skills, and needs to be a hard worker with sufficient available time to succeed. Given only a brief application document and some tiny amount of remote interaction, determining whether a GSoC contributor has the necessary qualifications is exceedingly difficult. Hopefully the organization has an application process in place that helps. However, as a mentor you will normally be expected to assist in the evaluation that will ultimately decide who gets accept to GSoC from your organization. +There are some GSoC contributor qualifications that are important for any successful GSoC experience. The GSoC contributor needs to be technically skilled, needs to have good communication skills, and needs to be a hard worker with sufficient available time to succeed. Given only a brief application document and some tiny amount of remote interaction, determining whether a GSoC contributor has the necessary qualifications is exceedingly difficult. Hopefully the organization has an application process in place that helps. However, as a mentor you will normally be expected to assist in the evaluation that will ultimately decide who gets accepted to GSoC from your organization. You have several techniques at your disposal for helping your organization evaluate applicants. First and foremost, your expertise is key in evaluating proposals. Is a given proposal technically realistic? Is it useful to the organization? Does it meet the organization's overall goals for GSoC? @@ -52,13 +52,13 @@ For those unfortunate applicants that don't make the cut for logistical reasons The Google Open Source Program Office (OSPO) has an internal process to select mentoring organizations and allocate GSoC contributor slots; understanding it may help you make better GSoC contributor selections. -Each mentoring organization will review the applications they receive (outside of the program site) and determine the best projects using the criteria agreed upon by their organization. Next the Org Admins will make sure those "best projects" have at least one mentor confirmed to mentor that project. Then the Org Admin will rank the proposals with cofnirmed mentors using the organization's agreed upon criteria. ((Note: Google is looking for a mixture of medium and large projects, not just large projects from an org when possible). Next the Org Admin will submit the ranked GSoC contributor "slots" they wish to receive. +Each mentoring organization will review the applications they receive (outside of the program site) and determine the best projects using the criteria agreed upon by their organization. Next the Org Admins will make sure those "best projects" have at least one mentor confirmed to mentor that project. Then the Org Admin will rank the proposals with confirmed mentors using the organization's agreed upon criteria. (Note: Google is looking for a mixture of medium and large projects, not just large projects from an org when possible). Next the Org Admin will submit the ranked GSoC contributor "slots" they wish to receive. Next, Google OSPO will allocate each organization a number of slots. The number of slots will lock in the top ranked proposals for the organization. If an organization received 5 slots then their #1-#5 ranked proposals will automatically become GSoC contributor projects. Google will let organizations know how many slots they receive a day or two before we announce the accepted projects publicly so organizations and mentors can prepare. -You should also understand how GSoC contributor selection and mentoring can affect the eligibility of an organization. In particular, note that a poor job of mentoring may lead to a poor outcome, making it less likely that your organization will be selected in future years. But failing a GSoC contributor does not mean that Google will consider that organization poorly for future programs, we encourage organizations to fail if the GSoC contributor is not doing the work, historicaly 8-15% of students fail or withdraw from the program in a given year. +You should also understand how GSoC contributor selection and mentoring can affect the eligibility of an organization. In particular, note that a poor job of mentoring may lead to a poor outcome, making it less likely that your organization will be selected in future years. But failing a GSoC contributor does not mean that Google will consider that organization poorly for future programs, we encourage organizations to fail if the GSoC contributor is not doing the work, historically 8-15% of students fail or withdraw from the program in a given year. ## Starting at the Beginning From 04d0295b43536c135e4824fd1090f3df74a3a581 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 11 Nov 2021 21:35:46 -0800 Subject: [PATCH 084/212] Update 10-mind_the_gap.md 2022 changes --- pages/mentor/10-mind_the_gap.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pages/mentor/10-mind_the_gap.md b/pages/mentor/10-mind_the_gap.md index 4015baef..b0e9bd26 100644 --- a/pages/mentor/10-mind_the_gap.md +++ b/pages/mentor/10-mind_the_gap.md @@ -8,19 +8,19 @@ sidebar: mentor_sidebar The community bonding period is the 3 weeks between GSoC student acceptance and the start of coding date. Here are some of the goals of this period: -* Prepare students to immediately start writing code at the official start of coding. -* Get students engaged socially in the project. -* Provide time for students to learn about the development practices of the organization. -* Ensure that students have a development environment set up. This includes getting set up with the project version control system and reading up on necessary documentation. -* Further refine the strategic plan for project completion. Be sure to have solid requirements for both phases particularly the end of the first phase so there is no confusion between your expectations and the student's. Other milestones for the final phase can be adjusted by discussing with the student as needed. -* This is a time for the student to get required forms filled out, such as the tax forms required by Google, any contributor license agreements, and any paperwork that your project requires. +* Prepare GSoC contributors to immediately start writing code at the official start of coding. +* Get GSoC contributor engaged socially in the project. +* Provide time for GSoC contributors to learn about the development practices of the organization. +* Ensure that GSoC contributors have a development environment set up. This includes getting set up with the project version control system and reading up on necessary documentation. +* Further refine the strategic plan for project completion. Be sure to have solid requirements for both phases particularly the end of the first phase so there is no confusion between your expectations and the GSoC contributor's. Other milestones for the final phase can be adjusted by discussing with the GSoC contributor as needed. +* This is a time for the GSoC contributor to get required forms filled out, such as the tax forms required by Google, any contributor license agreements, and any paperwork that your project requires. -This period was added in 2007 to help students integrate with their development community and so encourage them to become lifetime contributors. New contributors to a project outside of GSoC often lurk in a project's IRC channel and/or mailing lists for weeks or months before submitting their first patch. The community bonding period is an attempt to improve that experience. +This period was added in 2007 to help GSoC contributors integrate with their development community and so encourage them to become lifetime contributors. New contributors to a project outside of GSoC often lurk in a project's IRC channel and/or mailing lists for weeks or months before submitting their first patch. The community bonding period is an attempt to improve that experience. -Successful completion of your student's GSoC project depends a lot on the bonding period. Make sure that you and your student make good use of this time and make significant progress on preliminary tasks. The community bonding period is also a good chance for the students to start interacting with each other. Early connections can help the students support each other during coding. +Successful completion of your GSoC contributor's GSoC project depends a lot on the bonding period. Make sure that you and your GSoC contributor make good use of this time and make significant progress on preliminary tasks. The community bonding period is also a good chance for the GSoC contributors to start interacting with each other. Early connections can help the GSoC contributors support each other during coding. -Ideally students are ready to start writing code at the official start of coding, and are already engaged socially. During the community bonding period students are expected to learn about the development processes of their organization, ensure they have a development environment set up, get set up with the project version control system, read up on necessary documentation, and further refine the strategic plan for successful project completion. +Ideally GSoC contributors are ready to start writing code at the official start of coding, and are already engaged socially. During the community bonding period GSoC contributors are expected to learn about the development processes of their organization, ensure they have a development environment set up, get set up with the project version control system, read up on necessary documentation, and further refine the strategic plan for successful project completion. -Plan weekly activities for your student that only take an hour or two. The community bonding period occurs when students are likely to still be taking classes and have a full load of course work. It's unreasonable to expect that the student will be available full-time to work on GSoC at that point. +Plan weekly activities for your GSoC contributor that only take an hour or two. -**Pro Tip**: Students are meant to be "in good standing with their community" to continue in the program. If you don't hear anything at all from your accepted student during community bonding, or the student explicitly drops out, tell Google. +**Pro Tip**: GSoC contributors are meant to be "in good standing with their community" to continue in the program. If you don't hear anything at all from your accepted GSoC contributor during community bonding, or the GSoC contributor explicitly drops out, tell Google. From 4c37dcb261b3a237a241f49398e0295fbe5fe75b Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 11 Nov 2021 21:47:03 -0800 Subject: [PATCH 085/212] Update 11-setting_expectations.md GSoC 2022 updates --- pages/mentor/11-setting_expectations.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pages/mentor/11-setting_expectations.md b/pages/mentor/11-setting_expectations.md index 2bcc5c59..9bc5c884 100644 --- a/pages/mentor/11-setting_expectations.md +++ b/pages/mentor/11-setting_expectations.md @@ -6,28 +6,28 @@ permalink: mentor/setting-expectations.html sidebar: mentor_sidebar --- -Successful mentors set expectations at the start of their projects. This includes communication frequency, project goals, availability and ways of delivering feedback. While the mentor should take the lead in expectation setting, the process of creating and documenting the expectations must be collaborative. Students and mentors need to agree on what is expected, or success becomes quite difficult. +Successful mentors set expectations at the start of their projects. This includes communication frequency, project goals, availability and ways of delivering feedback. While the mentor should take the lead in expectation setting, the process of creating and documenting the expectations must be collaborative. GSoC contributors and mentors need to agree on what is expected, or success becomes quite difficult. ## Defining Success -Performance measures make it easier to provide feedback, to help your student get back on track if she veers off-course. Clearly stated measures also help you make a fair determination that a student needs to removed from the program. +Performance measures make it easier to provide feedback, to help your GSoC contributor get back on track if they veer off-course. Clearly stated measures also help you make a fair determination that a GSoC contributor needs to be removed from the program. -**Get student input:** Make sure your student has input into the types of performance measures used to determine success or failure. It is very important that your student helps create the performance measures to determine project success and failures. Your relationship should be a highly collaborative one. +**Get GSoC contributor input:** Make sure your GSoC contributor has input into the types of performance measures used to determine success or failure. It is very important that your GSoC contributor helps create the performance measures to determine project success and failures. Your relationship should be a highly collaborative one. -**Set achievable goals:** Help your student come up with manageable project goals. Rather than defining the project as one giant chunk, help your student break the project goals down into smaller pieces or "inchstones" that allow a change in direction if necessary. It is sad to work the entire summer on one giant deliverable, only find out in the last few weeks that the architecture or design is defective. +**Set achievable goals:** Help your GSoC contributor come up with manageable project goals. Rather than defining the project as one giant chunk, help your GSoC contributor break the project goals down into smaller pieces or "inchstones" that allow a change in direction if necessary. It is sad to work the entire summer on one giant deliverable, only to find out in the last few weeks that the architecture or design is defective. -**Anticipate time away:** Make sure to set expectations for known or planned time away from the project, such as course work, vacation trips or holiday time. Talk about how many hours or deliverables per week would be reachable goals and what amount would be a good stretch goal. +**Anticipate time away:** Make sure to set expectations for known or planned time away from the project, such as course work, vacation trips, holiday time, wedding, etc. Talk about how many hours or deliverables per week would be reachable goals and what amount would be a good stretch goal. With the new flexibility in the program allowing for extensions of the coding period it is reasonable to decide with your GSoC contributor that their coding period should be 16 weeks instead of the standard 12 weeks since they have a few weeks they know they will be very busy with other life happenings. Or the two of you can decide together to spread the expected hours per week over a longer period just as that is better for the GSoC contributor. For example, if the GSoC contributor is working on a 350 hour project then you both could decide to spread it over 18 weeks so the GSoC contributor would be coding ~20 hours a week, versus ~30 hours a week over a 12 week coding period. ## Managing Output -Decide in advance what happens when project goals aren't met. Remember to be flexible if your student has made good progress or has obviously worked hard but needs to re-scope the project at mid-term. Good project management is hard. Your performance measures will help you manage project modifications. +Decide in advance what happens when project goals aren't met. Remember to be flexible if your GSoC contributor has made good progress or has obviously worked hard but needs to re-scope the project at mid-term. Good project management is hard. Your performance measures will help you manage project modifications. -**Plan for Slippage**: Have a plan to deal with scope-creep and timeline slippage. What if something happens that prevents your student from working successfully for an extended period of time? At which point do you need to terminate the project? Have a plan in place for these scenarios. +**Plan for Slippage**: Have a plan to deal with scope-creep and timeline slippage. What if something happens that prevents your GSoC contributor from working successfully for an extended period of time? At which point do you need to terminate the project? Have a plan in place for these scenarios. -**Gather Feedback**: Your student's wishes and desires for a successful project are as important as the project goals. Make sure that you solicit and incorporate her feedback when coming up with initial goals, performance measures and communication methods. +**Gather Feedback**: Your GSoC contributor's wishes and desires for a successful project are as important as the project goals. Make sure that you solicit and incorporate their feedback when coming up with initial goals, performance measures and communication methods. -Overall, communicate and be reasonable when it comes to your students. Be ready to revise project plans if an unexpected requirement or bug occurs. +Overall, communicate and be reasonable when it comes to your GSoC contributors. Be ready to revise project plans if an unexpected requirement or bug occurs. -**Pro Tip**: Ask about the weather and local stability of public services. Is your student using the cafe down the street for Internet access? Are there seasonal weather conditions that may lead to flooding and the subsequent inability to turn-on one's computer? Work on a plan to address these types of environmental issues that can affect both communication and output. +**Pro Tip**: Ask about the weather and local stability of public services. Is your GSoC contributor using the cafe down the street for Internet access? Are there seasonal weather conditions that may lead to flooding and the subsequent inability to turn-on one's computer? Work on a plan to address these types of environmental issues that can affect both communication and output. -**Don't Be That Person**: No one likes dictators. Work with your student on the development of expectations, rather then barking out orders. +**Don't Be That Person**: No one likes dictators. Work with your GSoC contributor on the development of expectations, rather then barking out orders. From a7a0a3c585e2a2d840f221094d36991be48c801e Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 11 Nov 2021 21:49:09 -0800 Subject: [PATCH 086/212] Update 12-workflow.md GSoC 2022 updates --- pages/mentor/12-workflow.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/mentor/12-workflow.md b/pages/mentor/12-workflow.md index e2eaa5f0..b7de3ab5 100644 --- a/pages/mentor/12-workflow.md +++ b/pages/mentor/12-workflow.md @@ -6,7 +6,7 @@ permalink: mentor/workflow.html sidebar: mentor_sidebar --- -Make sure that your student is familiar with the workflow of your community as early as possible. Learning the toolchain a project uses, such as libraries, version control systems and bugtrackers, is high priority. Workflow also encompasses code review, talking with other developers about which algorithm is best for the problem at hand and other meta-questions about how to best get from specification to implemented solution. +Make sure that your GSoC contributor is familiar with the workflow of your community as early as possible. Learning the toolchain a project uses, such as libraries, version control systems and bugtrackers, is high priority. Workflow also encompasses code review, talking with other developers about which algorithm is best for the problem at hand and other meta-questions about how to best get from specification to implemented solution. The best kind of workflows for the GSoC projects are iterative. That means that small, quantifiable goals are defined and then acted upon. For instance, an example of an iterative workflow is: @@ -25,7 +25,7 @@ This iterative workflow is known as Test Driven Development (TDD). This workflow * Write tests the next 1/3rd of the summer * Write documentation for the last 1/3rd of the summer -This is almost always doomed to failure, since people are always optimistic about time estimates for completing something. Sometimes you must debug a weird issue. You can't predict how long it might take to resolve the issue. What usually happens in this workflow is that the code gets written, but takes longer, half the tests get written and no documentation is written because the students have run out of time. +This is almost always doomed to failure, since people are always optimistic about time estimates for completing something. Sometimes you must debug a weird issue. You can't predict how long it might take to resolve the issue. What usually happens in this workflow is that the code gets written, but takes longer, half the tests get written and no documentation is written because the GSoC contributors have run out of time. Take an approach which produces usable code even if parts of your plan fail, or are never attempted. Be humble and flexible about your development model. The student may teach you something! From 6c1552c014b2fa542b77dffa2c20d9045c802910 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 11 Nov 2021 21:51:09 -0800 Subject: [PATCH 087/212] Update 12-workflow.md one more update --- pages/mentor/12-workflow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/12-workflow.md b/pages/mentor/12-workflow.md index b7de3ab5..ccda3d3a 100644 --- a/pages/mentor/12-workflow.md +++ b/pages/mentor/12-workflow.md @@ -27,6 +27,6 @@ This iterative workflow is known as Test Driven Development (TDD). This workflow This is almost always doomed to failure, since people are always optimistic about time estimates for completing something. Sometimes you must debug a weird issue. You can't predict how long it might take to resolve the issue. What usually happens in this workflow is that the code gets written, but takes longer, half the tests get written and no documentation is written because the GSoC contributors have run out of time. -Take an approach which produces usable code even if parts of your plan fail, or are never attempted. Be humble and flexible about your development model. The student may teach you something! +Take an approach which produces usable code even if parts of your plan fail, or are never attempted. Be humble and flexible about your development model. The GSoC contributor may teach you something! **Pro Tip**: Progressive milestones may allow code to be merged progressively. From d2f75b2880c89f790316e91ac5536b31f3cf98d5 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 11 Nov 2021 21:59:41 -0800 Subject: [PATCH 088/212] Update 13-managing_the_plan.md 2022 updates --- pages/mentor/13-managing_the_plan.md | 32 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pages/mentor/13-managing_the_plan.md b/pages/mentor/13-managing_the_plan.md index 21b7e37f..a813df61 100644 --- a/pages/mentor/13-managing_the_plan.md +++ b/pages/mentor/13-managing_the_plan.md @@ -6,48 +6,48 @@ permalink: mentor/managing-the-plan.html sidebar: mentor_sidebar --- -The student and organization application process to GSoC helps all participants think about how to run the Google Summer of Code at a community level. One important tool is the creation of a strategic plan. The phrase "project plan" frequently elicits a Pavlovian response of groans, shrieks and malaise in techies. An even more severe reaction has been observed in open source communities. So let's talk about a "strategic plan" instead, and how it can help your student be successful. +The GSoC contributor and organization application process to GSoC helps all participants think about how to run the Google Summer of Code at a community level. One important tool is the creation of a strategic plan. The phrase "project plan" frequently elicits a Pavlovian response of groans, shrieks and malaise in techies. An even more severe reaction has been observed in open source communities. So let's talk about a "strategic plan" instead, and how it can help your GSoC contributor be successful. ## Creating a Strategic Plan -The GSoC application process assists in developing a good preliminary outline of a strategic plan for the student's accepted project. To increase the probability of program success you should spend time with your student, and your development community, refining the plan developed in the application period. This can be done during the community bonding period. +The GSoC application process assists in developing a good preliminary outline of a strategic plan for the GSoC contributor's accepted project. To increase the probability of program success you should spend time with your GSoC contributor, and your development community, refining the plan developed in the application period. This can be done during the community bonding period. -Please note that even though you and your student can decide to change the project from what was originally proposed, **both** of you need to agree on the change. It is important to make sure that the student has the appropriate background knowledge for the new changes. Students will be able to edit their project title and abstract until the coding officially begins. +Please note that even though you and your GSoC contributor can decide to change the project from what was originally proposed, **both** of you need to agree on the change. It is important to make sure that the GSoC contributor has the appropriate background knowledge for the new changes. GSoC contributors will be able to edit their project title and abstract until the coding officially begins. A good strategic plan includes: -**A high-level design document**: Think about the architecture and design of the new feature or enhancements that you are making to your community's project. Take some time to teach your student to think about usability by writing a few quick use cases and scenarios, and consider the introduction of any new dependencies. +**A high-level design document**: Think about the architecture and design of the new feature or enhancements that you are making to your community's project. Take some time to teach your GSoC contributor to think about usability by writing a few quick use cases and scenarios, and consider the introduction of any new dependencies. -**Progressive milestones that build on the previous work**: At the completion of each milestone you and your student should take the opportunity to celebrate the accomplishment and reflect upon it. Using progressive milestones also gives you a good measure of how far you have come, which can be very useful during periods of frustration. Additionally, if you don't reach all of the final goals of the project, you will have tangible achievements to point to when reviewing progress with your student. Reinforcement of a student's tangible accomplishments encourages them to stick around and helps to create life-time contributors. +**Progressive milestones that build on the previous work**: At the completion of each milestone you and your GSoC contributor should take the opportunity to celebrate the accomplishment and reflect upon it. Using progressive milestones also gives you a good measure of how far you have come, which can be very useful during periods of frustration. Additionally, if you don't reach all of the final goals of the project, you will have tangible achievements to point to when reviewing progress with your GSoC contributor. Reinforcement of a GSoC contributor's tangible accomplishments encourages them to stick around and helps to create life-time contributors. -**Target completion dates for each milestone**: In reality, completion dates are going to move. Nonetheless, a target date gives you a time frame for closure and helps control "scope creep". Coach your students in how to recognize that a milestone is going to be missed, and to notify the project participants before the dates passes. +**Target completion dates for each milestone**: In reality, completion dates are going to move. Nonetheless, a target date gives you a time frame for closure and helps control "scope creep". Coach your GSoC contributors in how to recognize that a milestone is going to be missed, and to notify the project participants before the dates passes. -**Tasks associated with each milestone**: Because your milestones are most likely going to be chunks of code, each milestone needs to include both testing and documentation around that particular "chunk." This approach helps guarantee that you and your student don't end up with a pile of code that hasn't been tested or documented at the end of GSoC. +**Tasks associated with each milestone**: Because your milestones are most likely going to be chunks of code, each milestone needs to include both testing and documentation around that particular "chunk." This approach helps guarantee that you and your GSoC contributor don't end up with a pile of code that hasn't been tested or documented at the end of GSoC. ## Following the Plan After you create a strategic plan, you actually need to follow it. Some ways you can use your strategic plan to stay on track are: -**Collect regular status reports**: Status reports are an important communication tool. They are also important in making sure that time-line slippages and scope creep are addressed in a proactive manner. You do not want to find out two weeks after a milestone due date that your student has slipped the date because they have been unable to solve a simple problem. +**Collect regular status reports**: Status reports are an important communication tool. They are also important in making sure that time-line slippages and scope creep are addressed in a proactive manner. You do not want to find out two weeks after a milestone due date that your GSoC contributor has slipped the date because they have been unable to solve a simple problem. **Check off associated milestone tasks**: Find a way to keep track of tasks, and then indicate when they are completed. This can be as simple as keeping an informal to-do list in that is referenced in weekly status reports. You can also use the project management software that the rest of your organization uses. Do what works best within your community, but make sure you do something. -**Set an expectation of prior notification of missed deadlines**: Your student is going to miss project deadlines. Make sure that they understand that it is important to notify you of the missed deadline well in advance. Understanding how long something is going to take to complete is a valuable skill, but it is one that is learned through ongoing evaluation. +**Set an expectation of prior notification of missed deadlines**: Your GSoC contributor is going to miss project deadlines. Make sure that they understand that it is important to notify you of the missed deadline well in advance. Understanding how long something is going to take to complete is a valuable skill, but it is one that is learned through ongoing evaluation. -**If your student misses a deadline, make sure you discuss why**: Helping your student understand where they become bogged down or stuck helps with future strategic plan development. Remember that you are cultivating a long-time contributor. +**If your GSoC contributor misses a deadline, make sure you discuss why**: Helping your GSoC contributor understand where they become bogged down or stuck helps with future strategic plan development. Remember that you are cultivating a long-time contributor. -**Be a good example**: If you, the mentor, need to miss a deadline, make sure you communicate this to your student well in advance. +**Be a good example**: If you, the mentor, need to miss a deadline, make sure you communicate this to your GSoC contributor well in advance. ## Delivering Feedback -Throughout the project you should be delivering effective feedback to your student about their code, communication, and documentation. +Throughout the project you should be delivering effective feedback to your GSoC contributor about their code, communication, and documentation. -**Deliver feedback early**: Don't wait until several issues have come up, or until your student has impressed you multiple times with their efficiency. Let them know right away what you think about their work. +**Deliver feedback early**: Don't wait until several issues have come up, or until your GSoC contributor has impressed you multiple times with their efficiency. Let them know right away what you think about their work. -**Make a point to give positive feedback**: The open source community parcels out compliments all too frugally. When a student completes a task on time, and especially when they exceed your expectations, let them know! Early praise is a far better motivator than late criticism. +**Make a point to give positive feedback**: The open source community parcels out compliments all too frugally. When a GSoC contributor completes a task on time, and especially when they exceed your expectations, let them know! Early praise is a far better motivator than late criticism. -**Don't avoid critique, but don't be a jerk**: Try to put yourself in your student's shoes, and consider how you might want to hear constructive criticism. Phrase suggestions positively. If criticism is personal in nature (i.e. tone of an email, timeliness or other non-code issues), deliver it in private rather than in a public forum. When in doubt, ask for advice from more experienced mentors or from your organization's administrator. +**Don't avoid critique, but don't be a jerk**: Try to put yourself in your GSoC contributor's shoes, and consider how you might want to hear constructive criticism. Phrase suggestions positively. If criticism is personal in nature (i.e. tone of an email, timeliness or other non-code issues), deliver it in private rather than in a public forum. When in doubt, ask for advice from more experienced mentors or from your organization's administrator. **Pro Tip**: Don't let the development of your design document become your GSoC project. It's useful to set a date for completion of your strategic plan and add a "Start of Coding" milestone. -**Don't Be That Person**: Don't be overly-critical of date slippage. It happens. Fanatical adherence to dates does not lead to successful project completion, nor does it make your student feel excited to contribute to your community long-term. +**Don't Be That Person**: Don't be overly-critical of date slippage. It happens. Fanatical adherence to dates does not lead to successful project completion, nor does it make your GSoC contributor feel excited to contribute to your community long-term. From e526294e005f6aadf96f6d88af91f661b88dd1cf Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 11 Nov 2021 22:28:41 -0800 Subject: [PATCH 089/212] Update 14-evaluations.md 2022 updates --- pages/mentor/14-evaluations.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pages/mentor/14-evaluations.md b/pages/mentor/14-evaluations.md index 39baf0cf..c17f7d88 100644 --- a/pages/mentor/14-evaluations.md +++ b/pages/mentor/14-evaluations.md @@ -6,37 +6,37 @@ permalink: mentor/evaluations.html sidebar: mentor_sidebar --- -Evaluations are a critical component of the GSoC program. Throughout the program evaluations serve to expose process flaws, assess performance, and precipitate pass/fail decisions. Taking time to evaluate the progress and workflow of the project provides an opportunity to correct course and address underlying issues. Most importantly, it provides a structure in which to give valuable criticism and praise to the students. After all, they are supposed to be actively learning (not just working) and effective learning requires evaluation. +Evaluations are a critical component of the GSoC program. Throughout the program evaluations serve to expose process flaws, assess performance, and precipitate pass/fail decisions. Taking time to evaluate the progress and workflow of the project provides an opportunity to correct course and address underlying issues. Most importantly, it provides a structure in which to give valuable criticism and praise to the GSoC contributors. After all, they are supposed to be actively learning (not just working) and effective learning requires evaluation. -Unlike code critique, which happens openly on mailing lists or other public forums, performance evaluations are personal in nature. Delivering the mentor-student evaluations should be done privately. And more generally, remember the maxim: criticize in private, praise in public. +Unlike code critique, which happens openly on mailing lists or other public forums, performance evaluations are personal in nature. Delivering the mentor-GSoC contributor evaluations should be done privately. And more generally, remember the maxim: criticize in private, praise in public. There are two types of evaluations: -**Student evaluations**: Each student fills out two evaluations: after 5 weeks of coding and at the end of the 10 week program, pertaining to their experience and their interaction with mentors. +**GSoC contributor evaluations**: Each GSoC contributor fills out two evaluations: at the halfway point of coding and at the end of the program, pertaining to their experience and their interaction with mentors. -**Mentor evaluations**: Mentor fills out two evaluations: after 5 weeks of coding and at the end of the 10 week coding period, covering their participation and their student's performance. If there are multiple mentors, only one mentor will complete the evaluation (decide amongst yourselves who that will be beforehand). +**Mentor evaluations**: Mentor fills out two evaluations: at the halfway point of coding and at the end of the coding period after the GSoC contributor has submitted their final work product. Both evaluations cover their participation and their GSoC contributor's performance. If there are multiple mentors, only one mentor will complete the evaluation (decide amongst yourselves who that will be beforehand). -These are provided online by Google at specified times with deadlines. The deadlines are important for organizing the payments to students based on the pass/fail decisions by their mentors, so you must ensure that you complete your evaluations on time. Remember, if a student fails to any evaluation, they will no longer be part of the program and will not receive any more payments from Google. +These are provided online by Google at specified times with deadlines. The deadlines are important for organizing the payments to GSoC contributors based on the pass/fail decisions by their mentors, so you must ensure that you complete your evaluations on time. Remember, if a GSoC contributor fails any evaluation, they will no longer be part of the program and will not receive any more payments from Google. -For 2021, we have added more flexibility into the scheduling of student's work - they have 10 weeks to complete their 175 hour project. This means students can work on their project an average of 17.5 hours each week of the 10 week program or they can work more hours certain weeks and then have some days/ weeks off as their exams/personal commitments occur. The main point to consider is that the mentor and student need to discuss the planned breaks and expectations early on - during the community bonding period to make sure they are on the same page. +For 2022, we have added more flexibility into the scheduling for GSoC contributor projects - the coding period can be the standard 12 weeks or with GSoC contributor, mentor and org admin agreement it can be extended to a maximum of 22 weeks. Mentors and GSoC contributors should discuss early on when GSoC contributors may need to step away for a bit for a planned break (exams, vacations, etc.). Ideally these will be discussed and agreed upon during the community bonding period to make sure they are on the same page. -While there is more flexibility for scheduling for 2021, the first and final evaluation deadlines remain the same and can not be changed. What this essentially means is that students will be expected to complete 40-50% of their project by the first evaluation which is the halfway point of the program (at the end of 5 weeks of coding) if they want to pass their evaluation. Also if a student completes their project 6 weeks into the 10 week GSoC 2021 program, that's great, but they still have to log back into their GSoC dashboard during the final evaluation period (week 10) to submit their final evaluation and work product URL in order to pass the program. +GSoC contributors will be expected to complete 40-50% of their project by the first evaluation which is the halfway point of the program (at the end of 6 weeks for a standard timed project) if they want to pass their evaluation. Also if a GSoC contributor completes their project 8 weeks into the 12 week GSoC 2022 program, that's great, but they still have to log back into their GSoC dashboard during the final evaluation period to submit their final evaluation and work product URL in order to pass the program. ## They Won't Know Unless You Tell Them -It is important to note that other than the pass/fail status, students do not have direct access to the evaluations of their performance. Mentors are welcome to make a copy of their evaluation and share it with students directly. Students are welcome to do the same, but it is not required for either the mentor or student to share their evaluations with the other. Make sure to thoroughly check the topics covered by the evaluations regardless of your choice to share them with one another. +It is important to note that other than the pass/fail status, GSoC contributors do not have direct access to the evaluations of their performance. Mentors are welcome to make a copy of their evaluation and share it with GSoC contributors directly. GSoC contributors are welcome to do the same, but it is not required for either the mentor or GSoC contributor to share their evaluations with the other. Make sure to thoroughly check the topics covered by the evaluations regardless of your choice to share them with one another. -Mentors may not have access to student evaluations. Org admins have access to all evaluations submitted by their org's mentors and students. Mentors have access only to their own evaluations, not to the evaluations submitted by their student. Thus, if you want to give feedback to your student (and you should!) you need to send this feedback directly to them. There is a field on the evaluation form where you can make a direct comment that will be sent to the student's email. It is important for mentors and org admins to coordinate in assessing the student and mentor evaluations and taking appropriate follow-up action. +Org admins have access to all evaluations submitted by their org's mentors. Mentors have access only to their own evaluations, not to the evaluations submitted by their GSoC contributor. There is a field on the evaluation form where you can make a direct comment that will be sent to the GSoC contributor's email. It is important for mentors and org admins to coordinate in assessing the GSoC contributor and mentor evaluations and taking appropriate follow-up action. There are a few questions on the GSoC contributor evaluations that can be seen only by org admins (ratings of their mentor, etc.). These fields are clearly marked on the GSoC contributor dashboard so they know who can or can not see them. -Evaluations should result in a direct review of the student's progress and should be conducted using a real-time communication medium. This can be by phone, your favorite voice-over-IP service, or in person. The discussion should be frank and in the context of periodic review so that the student is prepared for criticism and to work with you to revise workflows, timelines and habits. Take time to explain the value of learning how to take criticism and praise in a professional setting. +Evaluations should result in a direct review of the GSoC contributor's progress and should be conducted using a real-time communication medium. This can be by phone, your favorite voice-over-IP service, or in person. The discussion should be frank and in the context of periodic review so that the student is prepared for criticism and to work with you to revise workflows, timelines and habits. Take time to explain the value of learning how to take criticism and praise in a professional setting. -When delivering reviews of student performance, be specific about both positive and negative aspects of a student's performance. Make the suggestions for change or improvement relevant to what your student is currently working on, and provide specific examples. As you prepare for your student's review, you might write it out as though you were sending an email; this will help you to frame your thoughts and to ensure that you are providing a balanced perspective. Make the student aware of the review schedule well in advance. If you provide a written copy of the review, schedule time for discussion immediately after the student reads it. +When delivering reviews of GSoC contributor performance, be specific about both positive and negative aspects of a GSoC contributor's performance. Make the suggestions for change or improvement relevant to what your GSoC contributor is currently working on, and provide specific examples. As you prepare for your GSoC contributor's review, you might write it out as though you were sending an email; this will help you to frame your thoughts and to ensure that you are providing a balanced perspective. Make the GSoC contributor aware of the review schedule well in advance. If you provide a written copy of the review, schedule time for discussion immediately after the GSoC contributor reads it. ## When in Doubt, Fail the Student Early -This is harsh-sounding advice. However, GSoC stats show that more than 80% of the students who are reported as marginal at or before the first evaluation eventually fail GSoC. Whatever problems your student is currently having, they are likely to be worse than you currently appreciate, and to get worse rather than better over time. You are not doing your student, much less yourself, a service by prolonging the agony. Most GSoC students and their mentors have a great time and get a lot done. If you are having the other kind of experience, cut your losses and try again next year. Remember there are hundreds of students diligently working on their projects and if you give a student a pass simply because you feel guilty failing them (even though they are not meeting deadlines or communicating) then you are doing a disservice to all of the other hardworking students. +This is harsh-sounding advice. However, GSoC stats show that more than 80% of the students who are reported as marginal at or before the first evaluation eventually fail or withdraw from GSoC. Whatever problems your GSoC contributor is currently having, they are likely to be worse than you currently appreciate, and to get worse rather than better over time. You are not doing your GSoC contributor, much less yourself, a service by prolonging the agony. Most GSoC GSoC contributors and their mentors have a great time and get a lot done. If you are having the other kind of experience, cut your losses and try again next year. Remember there are hundreds of GSoC contributors diligently working on their projects and if you give a GSoC contributor a pass simply because you feel guilty failing them (even though they are not meeting deadlines or communicating) then you are doing a disservice to all of the other hardworking GSoC contributors. -Note that GSoC gives mentoring orgs quite a bit of flexibility and cuts them a lot of slack. Students need to understand that they are being evaluated from before they are accepted to the end of the program, and that you take the GSoC experience seriously and expect them to do likewise. +Note that GSoC gives mentoring orgs quite a bit of flexibility and cuts them a lot of slack. GSoC contributors need to understand that they are being evaluated from before they are accepted to the end of the program, and that you take the GSoC experience seriously and expect them to do likewise. ## It's Not *Impossible* to Turn Things Around @@ -50,10 +50,10 @@ Additionally, a second mentor was brought in, so that a mentor would always be a By the final evaluation, the student was almost back on his original project plan, and had completed all the required goals. -It is possible to rescue a failing student, but you need to really consider the issues, and come up with a plan to address them which everyone involved buys into. You also need to be prepared for the project to fail, and be okay with the extra energy you have invested not resulting in the outcome you wanted. +It is possible to rescue a failing GSoC contributor, but you need to really consider the issues, and come up with a plan to address them which everyone involved buys into. You also need to be prepared for the project to fail, and be okay with the extra energy you have invested not resulting in the outcome you wanted. ## Mentor, Heal Thyself -This is also an important time for self-evaluation. Are you managing your time adequately? Do you know where the project is at and where it is going? Are you enforcing the deadlines you set? Are you integrating your student into your community? +This is also an important time for self-evaluation. Are you managing your time adequately? Do you know where the project is at and where it is going? Are you enforcing the deadlines you set? Are you integrating your GSoC contributor into your community? -Take the evaluation period as an opportunity to get feedback from students. Is there any way that you could have helped the student more? How does the student think you might be more effective as a mentor? Ask your student directly for feedback. +Take the evaluation period as an opportunity to get feedback from GSoC contributors. Is there any way that you could have helped the GSoC contributor more? How does the GSoC contributor think you might be more effective as a mentor? Ask your GSoC contributor directly for feedback. From 15fa3fcb688ab8a103b52704a556dc8dc73148cb Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Thu, 11 Nov 2021 22:32:16 -0800 Subject: [PATCH 090/212] Update 15-special_circumstances.md 2022 updates --- pages/mentor/15-special_circumstances.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pages/mentor/15-special_circumstances.md b/pages/mentor/15-special_circumstances.md index 174280e2..05494be5 100644 --- a/pages/mentor/15-special_circumstances.md +++ b/pages/mentor/15-special_circumstances.md @@ -8,7 +8,7 @@ sidebar: mentor_sidebar GSoC participants, being human, will sometimes get sick or have something come up in their life (i.e. death in the family) during GSoC and this can affect -their performance. A student's (or mentor's) health is more important than a +their performance. A GSoC contributor's (or mentor's) health is more important than a GSoC project. Do's: @@ -20,15 +20,15 @@ Dont's: + Pry into the details of the situation. It's none of your business. + Ask for a doctor's note or proof. -+ Make promises about extensions outside the normal GSoC dates. -+ Require students to withdraw. This is their choice. ++ Make promises about extensions outside the normal GSoC dates. With the extensions available in 2022, the max of 22 weeks should be more than enough if you and your org choose to allow the GSoC contributor to extend their final deadline. ++ Require GSoC contributors to withdraw. This is their choice. -When evaluating students, be cognizant of the amount of time they have put in. -A student who has produced good work for most of an evaluation period may be -passed. A student who has only spent a few days working shouldn't be passed. If -a student needs to take a week off, that shouldn't be an automatic fail. -Evaluate the big picture. Students should only be passed for work they've -already done, not work they might do. Failing a student who has a special +When evaluating GSoC contributors, be cognizant of the amount of time they have put in. +A GSoC contributor who has produced good work for most of an evaluation period may be +passed. A GSoC contributor who has only spent a few days working shouldn't be passed. If +a GSoC contributor needs to take a week off, that shouldn't be an automatic fail. +Evaluate the big picture. GSoC contributors should only be passed for work they've +already done, not work they might do. Failing a GSoC contributor who has a special circumstance isn't easy, but might be the right thing to do. -Note: Students must still complete their final evaluation in order to be passed. +Note: GSoC contributors must still complete their final evaluation in order to be passed. From 2fe953fbbb0e0b7d153b1b84bff8b697562ca92d Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Fri, 12 Nov 2021 12:49:01 -0800 Subject: [PATCH 091/212] Update 16-upstream_integration.md add GSoC contributor terminology --- pages/mentor/16-upstream_integration.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pages/mentor/16-upstream_integration.md b/pages/mentor/16-upstream_integration.md index 13b1a0ac..d690e053 100644 --- a/pages/mentor/16-upstream_integration.md +++ b/pages/mentor/16-upstream_integration.md @@ -12,27 +12,27 @@ Every project wants to get useful code. And once you get that code, you'd love t ## Recruit Committers Early -Typically, one or more committers to your project will be involved in GSoC. For very large projects, it can be helpful to alert all committers to upcoming student submissions. You can ask for them to be a second reviewer on patches from students, or simply keep them informed of your student's work schedule. This helps them know approximately when to expect code submissions. +Typically, one or more committers to your project will be involved in GSoC. For very large projects, it can be helpful to alert all committers to upcoming GSoC contributor submissions. You can ask for them to be a second reviewer on patches from GSoC contributors, or simply keep them informed of your GSoC contributor's work schedule. This helps them know approximately when to expect code submissions. ## Get The Code -It's best if you can get the code committed to your project's repository as early as possible. Whether you commit this to your project's equivalent of HEAD, to a development branch or a feature-specific branch, getting student's code into a publicly available and canonical location early is a good thing. +It's best if you can get the code committed to your project's repository as early as possible. Whether you commit this to your project's equivalent of HEAD, to a development branch or a feature-specific branch, getting a GSoC contributor's code into a publicly available and canonical location early is a good thing. -Even if your organization is unwilling to have student code drop directly into a released or releasable version of the org's project, it is a good idea to make sure that it is captured by the organization somehow. This ensures that you and your organization has a backup copy of the student's work. Getting the student's code into an unstable version or feature branch at the start of GSoC ensures that everything of value will be captured, decreases the eventual integration burden, and provides a better mechanism for community review of student code. +Even if your organization is unwilling to have GSoC contributor code drop directly into a released or releasable version of the org's project, it is a good idea to make sure that it is captured by the organization somehow. This ensures that you and your organization has a backup copy of the GSoC contributor's work. Getting the GSoC contributor's code into an unstable version or feature branch at the start of GSoC ensures that everything of value will be captured, decreases the eventual integration burden, and provides a better mechanism for community review of GSoC contributor code. ## Dividing Up Patches -Many organizations take student code submissions in the form of patches. It is considered best practice to keep patches confined to a single feature at a time. Sometimes this is not possible, but encouraging students to submit their changes as they are working is always better than a massive "patch bomb" at the end of the program. +Many organizations take GSoC contributor code submissions in the form of patches. It is considered best practice to keep patches confined to a single feature at a time. Sometimes this is not possible, but encouraging GSoC contributors to submit their changes as they are working is always better than a massive "patch bomb" at the end of the program. -You can help your student by talking with them about how to divide their code into reasonable submissions to the project. This should include setting time-based milestones, grouping certain features and implementation details together and requiring that tests or specifications be written first. Using pseudocode, rapid prototyping and iterative design methodologies can be helpful in structuring your student's work and keeping you in the loop. +You can help your GSoC contributor by talking with them about how to divide their code into reasonable submissions to the project. This should include setting time-based milestones, grouping certain features and implementation details together and requiring that tests or specifications be written first. Using pseudocode, rapid prototyping and iterative design methodologies can be helpful in structuring your GSoC contributor's work and keeping you in the loop. -Be sure to set aside some time to teach your students how to use your revision control system, and especially its code merge tools, during the bonding period. This is both for their benefit and to save your time. If the student already knows how to test merging their changes before submitting them, it is far more likely that less time will be spent fixing patches which don't apply. +Be sure to set aside some time to teach your GSoC contributors how to use your revision control system, and especially its code merge tools, during the bonding period. This is both for their benefit and to save your time. If the GSoC contributor already knows how to test merging their changes before submitting them, it is far more likely that less time will be spent fixing patches which don't apply. ## Patch Review -Make review of submitted patches an explicit task. By doing so, you make it easier to hand some or all of the review off to another member of your community. This kind of delegation makes the student more a part of your development community, and reduces the overall work that is required from you. +Make review of submitted patches an explicit task. By doing so, you make it easier to hand some or all of the review off to another member of your community. This kind of delegation makes the GSoC contributor more a part of your development community, and reduces the overall work that is required from you. -Ultimately, you'll be responsible for understanding and performing a final review of the code for the student's GSoC evaluation. However, there's nothing wrong with bringing other people into the process. +Ultimately, you'll be responsible for understanding and performing a final review of the code for the GSoC contributor's GSoC evaluation. However, there's nothing wrong with bringing other people into the process. Some projects have a documented review process. A good example is on the [PostgreSQL Developers Wiki](http://wiki.postgresql.org/wiki/Reviewing_a_Patch), some of which was used as a reference for this section. From fe0bbaa1b7680a6e39dfd36cd21e2e26362c768a Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Fri, 12 Nov 2021 12:57:02 -0800 Subject: [PATCH 092/212] Update 17-building_a_lifetime_contributor.md 2022 updates --- .../17-building_a_lifetime_contributor.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pages/mentor/17-building_a_lifetime_contributor.md b/pages/mentor/17-building_a_lifetime_contributor.md index 73370b85..5f175a1d 100644 --- a/pages/mentor/17-building_a_lifetime_contributor.md +++ b/pages/mentor/17-building_a_lifetime_contributor.md @@ -6,24 +6,24 @@ permalink: mentor/building-a-lifetime-contributor.html sidebar: mentor_sidebar --- -The work of transforming your summer students into lifetime contributors begins on the first day. Actually, it begins even earlier with the preparation of your development community for student participation and inclusion. In as many ways as possible, you should aim to make the students full members of their community by the end of the program. Actively encourage students to attend community meetings and retreats. Highlight their work within your community. Part of being a mentor is being a cheerleader. +The work of transforming your GSoC contributors into lifetime contributors begins on the first day. Actually, it begins even earlier with the preparation of your development community for GSoC contributor participation and inclusion. In as many ways as possible, you should aim to make the GSoC contributors full members of their community by the end of the program. Actively encourage GSoC contributors to attend community meetings and retreats. Highlight their work within your community. Part of being a mentor is being a cheerleader. -**Say "thank you" often**: People like to be thanked for their contributions--publicly and privately. Creating an environment of appreciation makes students want to keep contributing. +**Say "thank you" often**: People like to be thanked for their contributions--publicly and privately. Creating an environment of appreciation makes GSoC contributors want to keep contributing. **Be gentle with criticism**: Remember that you are cultivating a long-time contributor. Positive, constructive comments are the most useful as well as the most pleasant to receive. -**Don't airbrush your community**: If you want a student to stick around, you might as well make the experience as realistic as possible. Creating a bubble for the student takes a lot of effort. When it inevitably bursts, they will be disillusioned. +**Don't airbrush your community**: If you want a GSoC contributor to stick around, you might as well make the experience as realistic as possible. Creating a bubble for the GSoC contributor takes a lot of effort. When it inevitably bursts, they will be disillusioned. -**Credit where due**: Open source has something of a "reputation economy". Create a "CREDITS" file in your code repository dedicated to identifying those people who have contributed to your project, and make sure that they are mentioned by name in the release notes. As these contributions are credited, mention this publicly on a mailing list or in a blog post. Remember to also acknowledge contributions in public: when your student completes important project milestones, announce their successes to your development community. +**Credit where due**: Open source has something of a "reputation economy". Create a "CREDITS" file in your code repository dedicated to identifying those people who have contributed to your project, and make sure that they are mentioned by name in the release notes. As these contributions are credited, mention this publicly on a mailing list or in a blog post. Remember to also acknowledge contributions in public: when your GSoC contributor completes important project milestones, announce their successes to your development community. -**Solicit talks at conferences**: Recommend that students present their work at open source conferences. If you can, offer to co-present with them and help with designing their talks. If your organization can offer travel support for the student, this is quite helpful. If you know people who do work that your student is interested in, or that your student would be impressed to be introduced to, take the time to make introductions. +**Solicit talks at conferences**: Recommend that GSoC contributors present their work at open source conferences. If you can, offer to co-present with them and help with designing their talks. If your organization can offer travel support for the GSoC contributor, this is quite helpful. If you know people who do work that your GSoC contributor is interested in, or that your student would be impressed to be introduced to, take the time to make introductions. -**Professional development**: If appropriate, offer written professional recommendations to students. Your help in career advice, job searches or referrals can be invaluable for a student. +**Professional development**: If appropriate, offer written professional recommendations to GSoC contributors. Your help in career advice, job searches or referrals can be invaluable for a GSoC contributor. -**Retreats and hackfests**: If your organization is having a retreat or hosting a hackfest, invite your students along! Find ways of integrating them into your group the same way you would any other contributor. +**Retreats and hackfests**: If your organization is having a retreat or hosting a hackfest, invite your GSoC contributors along! Find ways of integrating them into your group the same way you would any other contributor. -**Stay in contact**: Open source organizations typically sustain themselves through the personal connections developers have to each other. Many contributors consider each other friends, and communicate non-technical information to each other. Remember though, that this is a student and GSoC is their job, so when in doubt err on the side of communicating professionally--no matter how informal the tone of your overall community. +**Stay in contact**: Open source organizations typically sustain themselves through the personal connections developers have to each other. Many contributors consider each other friends, and communicate non-technical information to each other. Remember though, that during GSoC the mentor and GSoC contributor relationship requires the mentor to be a leader, so when in doubt err on the side of communicating professionally--no matter how informal the tone of your overall community. Communicate early and communicate often! Try sending periodic emails to check in, pass on an interesting link or share a photo. Social networks can be useful for maintaining contact without a lot of overhead. Examples include: Identi.ca, Flickr, and GitHub. Use what works for you, and don't feel pressured to get involved with a social network. The telephone is also a valualbe resource; studies of open source communications have shown that VOIP technology is used with surprising frequency in open source projects, and it is a very personal and friendly form of communication. -**Don't Be That Person**: Be socially and culturally sensitive. If you and your student don't share the same cultural background, ask respectful questions so you get to know about the similarities and differences a bit more. Also, make sure to maintain appropriate boundaries in your communications. For example, a student calling in the middle of the night to ask for relationship advice is not a pleasant situation for anyone; leave those conversations for their college friends. +**Don't Be That Person**: Be socially and culturally sensitive. If you and your GSoC contributor don't share the same cultural background, ask respectful questions so you get to know about the similarities and differences a bit more. Also, make sure to maintain appropriate boundaries in your communications. For example, a student calling in the middle of the night to ask for relationship advice is not a pleasant situation for anyone; leave those conversations for their friends. From e5b3e50150793820388f3d468d92bebd77770f1d Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Fri, 12 Nov 2021 13:00:42 -0800 Subject: [PATCH 093/212] Update 18-making_your_ideas_page.md 2022 updates --- pages/mentor/18-making_your_ideas_page.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/mentor/18-making_your_ideas_page.md b/pages/mentor/18-making_your_ideas_page.md index 24afa359..92b5ebc0 100644 --- a/pages/mentor/18-making_your_ideas_page.md +++ b/pages/mentor/18-making_your_ideas_page.md @@ -6,17 +6,17 @@ permalink: mentor/making-your-ideas-page.html sidebar: mentor_sidebar --- -It all begins with the "Ideas Page". This is where you compile a list of possible summer projects for your organization. The Ideas Page is a major piece of your organization's application to Google. It also serves as a recruiting and selection tool for students and mentors alike. +It all begins with the "Ideas Page". This is where you compile a list of possible summer projects for your organization. The Ideas Page is a major piece of your organization's application to Google. It also serves as a recruiting and selection tool for GSoC contributors and mentors alike. Depending on how your organization operates, the source of material for your Ideas Page may come from an existing list of projects maintained by your community year-round, from potential mentors as they are recruited, or from the org admin. Regardless of how it is generated, an Ideas Page should have the following: -* Brief descriptions of projects that can be completed in about 10 weeks and requiring about 175 hours of the average student's time. +* Brief descriptions of projects that can be completed in ~175 hours or ~350 hours of your GSoC contributor's time (and labeled appropriately). * For each project, a list of prerequisites, description of programming skills needed and estimation of difficulty level. * A list of potential mentors. * It must NOT be a link to your bug tracker. The best pages include links to more detailed descriptions and related materials for each project. They might even include actual use cases! -*Keep in mind that this page is often the first view of your organization by Google and potential student applicants**.*** A link to your bug tracker does not an Ideas Page make. Put your best foot forward. In addition to a basic list, you might also consider providing links to relevant resources for mentors and students, particular FAQ entries, the timeline, etc. You might include a section on communication, giving specific advice on which mailing lists, channels and emails to use and how to use them. If your organization puts together an application template for students, you should include that on your page as well. Think of your Ideas Page as the GSoC portal to your organization. +*Keep in mind that this page is often the first view of your organization by Google and potential GSoC contributor applicants**.*** A link to your bug tracker does not an Ideas Page make. Put your best foot forward. In addition to a basic list, you might also consider providing links to relevant resources for mentors and GSoC contributors, particular FAQ entries, the timeline, etc. You might include a section on communication, giving specific advice on which mailing lists, channels and emails to use and how to use them. If your organization puts together an application template for GSoC contributors, you should include that on your page as well. Think of your Ideas Page as the GSoC portal to your organization. ***Pro Tip:*** Maintain an Ideas Page year-round to continually recruit new contributors and cultivate community involvement. From 7b5c7a56c8d7492ecec507c81dfaf0088001bc39 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 13:40:51 -0800 Subject: [PATCH 094/212] Update 18-making_your_ideas_page.md updates --- pages/mentor/18-making_your_ideas_page.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/mentor/18-making_your_ideas_page.md b/pages/mentor/18-making_your_ideas_page.md index 92b5ebc0..89cd7b1d 100644 --- a/pages/mentor/18-making_your_ideas_page.md +++ b/pages/mentor/18-making_your_ideas_page.md @@ -12,6 +12,7 @@ Depending on how your organization operates, the source of material for your Ide * Brief descriptions of projects that can be completed in ~175 hours or ~350 hours of your GSoC contributor's time (and labeled appropriately). * For each project, a list of prerequisites, description of programming skills needed and estimation of difficulty level. +* If your organization plans to focus on mostly student level potential GSoC contributors for all projects that is fine, but please state it explicitly on your Ideas Page. Or if a given project idea is geared more toward a student level or a more advanced developer please state it clearly in the project idea so there is no confusion for applicants. * A list of potential mentors. * It must NOT be a link to your bug tracker. From 80f0ff3deb2dfb9283f9093511772fbcc87cace9 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 14:01:34 -0800 Subject: [PATCH 095/212] Update 19-selecting_students_and_mentors.md 2022 updates --- .../19-selecting_students_and_mentors.md | 44 ++++++++++--------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/pages/mentor/19-selecting_students_and_mentors.md b/pages/mentor/19-selecting_students_and_mentors.md index 8b74c3d2..35350ac9 100644 --- a/pages/mentor/19-selecting_students_and_mentors.md +++ b/pages/mentor/19-selecting_students_and_mentors.md @@ -6,60 +6,64 @@ permalink: mentor/selecting-students-and-mentors.html sidebar: mentor_sidebar --- -A key activity for org admins is setting up and supervising the process by which student proposals are prioritized and matched with mentors. There are many good ways to do this. There are also a few common ways to proceed that are not so good. In any case, understanding how organizations commonly approach student and mentor selection can help to ensure a better outcome from this critical step. +A key activity for org admins is setting up and supervising the process by which GSoC contributor proposals are prioritized and matched with mentors. There are many good ways to do this. There are also a few common ways to proceed that are not so good. In any case, understanding how organizations commonly approach GSoC contributor and mentor selection can help to ensure a better outcome from this critical step. ## The Formal Process -Conceptually, the process of selecting students and mentors is simple. In practice, the process of prioritizing proposals and assigning mentors can be difficult and contentious. +Conceptually, the process of selecting GSoC contributors and mentors is simple. In practice, the process of prioritizing proposals and assigning mentors can be difficult and contentious. -During the student application period, organizations prioritize the student proposals, discard proposals unworthy of consideration and investigate proposals further. At some point, Google tells the organization how many "slots" the organization will be allowed to fund. The organization administrator will select the org's choices on the program site at the close of the student selection period and they will be funded ("slotted") by Google. Mentors must be assigned to all projects that the organization wants considered for slotting, preferably as early in the process as possible. +During the GSoC contributor application period, organizations prioritize the GSoC contributor proposals, discard proposals unworthy of consideration and investigate proposals further. The organization administrator will reach out to the mentors and together they will prioritize the proposals and rank them. Then the organization administrator will submit their organization's requested number of project "slots" on their program dashboard. Committed mentors must be assigned to all projects that the organization wants considered. Additional mentors can be added later but a minimum of one mentor must be assigned to a proposal or it can not be ranked. + +GSoC contributor slot selections will be based on the rank an organization gives the proposals. Proposal volumes tend to be high, and the nature of the activity can lead to disagreements and bruised egos. Make the process for deciding on projects clear early, and be consistent. ## Slot Count -Google asks your organization how many slots you want slighty before slot allocation, after you have had time to review the student proposals that your organization received. The organization administrator is asked to enter both a minimum number of slots requested and a maximum number of slots requested. When deciding on your top proposals you should also be sure there is at least one mentor that has committed to mentor that project. +Google asks your organization how many slots you want after you have had time to review the GSoC contributor proposals that your organization received. -The actual number of slots Google assigns to each organization depends on the number of organizations and the number of students Google is going to fund that year. Then the slots are distributed amongst the accepted organizations by Google. Every accepted organization is allocated at least one slot. First-year organizations rarely get more than two slots. No organization ever receives more slots than they asked for. +The actual number of slots Google assigns to each organization depends on the number of organizations and the number of GSoC contributors Google is going to fund that year. Then the slots are distributed amongst the accepted organizations by Google. Every accepted organization is allocated at least one slot. First-year organizations rarely get more than two slots. No organization ever receives more slots than they asked for. -There is no net advantage to getting as many slots as possible. Sure, more students get paid, and the org gets paid a little more. However, accepting less-than-great applications has a huge cost in time and grief. Google's process for choosing organizations includes the pass/fail ratio. Poor ratios may endanger future participation in GSoC. And if you request more slots than you need you are essentially taking those slots away from other organizations who could have used them for some of the excellent student proposals they received. +There is no net advantage to getting as many slots as possible. Sure, more GSoC contributors might get paid, and the org gets paid a little more. However, accepting less-than-great applications has a huge cost in time and grief. Google's process for choosing organizations includes the pass/fail ratio. Poor ratios may endanger future participation in GSoC. And if you request more slots than you need you are taking those slots away from other organizations who could have used them for some of the excellent GSoC contributor proposals they received. -If you discover that you haven't received the number of slots you were hoping for then choose the best proposals to match the number of slots you have been given. And be sure to do a great job with those students so that in the next year of GSoC Google may be able to give you a couple more slots the next time around. +When Google assigns an organization its slots, that number will automatically consider the ranking your organization administrator gave the proposals. For example, if an organization requests 7 slots and is given 5, the proposals that were ranked 1,2,3,4 and 5 will automatically become your accepted GSoC contributor projects. If you ask for a certain number of slots and are given that number but then realize you don't have enough mentors to cover all of the projects you have essentially wasted that slot and taken it out of the hands of another organization that didn't receive the number of slots they requested relative to their excellent proposals. There is no way to trade unused slots with other organizations. -## Students selected by multiple orgs +You can not substitute in other proposals after you have ranked your proposals and received the slot allocations. + +## GSoC contributors selected by multiple orgs -Students are allowed to submit up to 3 proposals each year, and they can be to multiple organizations. When organizations have chosen their desired students based on the number of slots they were given, it is inevitably the case that a few students are sought by more than one organization. Starting in 2016, when an organization chooses their student that another organization has already chosen, the second organization's administrators will receive the contact information for the Organization Administrator with the first organization that chose the student. Then if they wish to plead their case for the first organization to release the student so the second organization can have them for a very important project they can. Ultimately it is up to the first organization that chose the student to decide if they want to release that student and let the second organization have that student. If the first organization releases that student they then can choose another student to fill that slot. +GSoC contributors are allowed to submit up to 3 proposals each year, and they can be to multiple organizations. When organizations have chosen their desired GSoC contributors based on their ranked slot allocations, it is inevitably the case that a few GSoC contributors are sought by more than one organization. -This process involves interaction with peer open source organizations. It is critically important that you are polite and cordial, and put the needs of the student first. Whenever possible, student preferences should be honored. Keep in mind that you may have to work with these organizations outside GSoC; generating ill will here is not worth it. Also keep in mind that Google's program admins emphatically do not want to have to deal with hostility and conflict here. Don't endanger your future participation in GSoC just because some other organization wants some student as much as you do. Be nice and get out of the way. +{Process for 2022 still being developed with new webapp - more details coming soon.} ## Acquiring and Assigning Mentors -Building a mentor pool and matching mentors with projects and students is one of the most challenging tasks for the org admin. For many organizations, the mentor will be selected by project when the ideas page is constructed. For others, mentors will be assigned once students have been selected and matched to projects. +Building a mentor pool and matching mentors with projects and GSoC contributors is one of the most challenging tasks for the org admin. For many organizations, the mentor will be selected by project when the ideas page is constructed. For others, mentors will be assigned once proposals have been received and right before ranking of slot requests begins. -Look critically at mentor volunteers. Wanting the job is not a sufficient qualification. The mentor should be well-known to the community, and known to be someone reasonable and collegial. The best technical person is not necessarily the best mentor; look for teaching and...well..mentoring skills. +Look critically at mentor volunteers. Wanting the role is not a sufficient qualification. The mentor should be well-known to the community, and known to be someone reasonable and patient. The best technical person is not necessarily the best mentor; look for teaching and...well...mentoring skills. -Do not be afraid to reach out to folks in the organization who have not volunteered. The ideal mentor for a project may not have heard of GSoC, or may not have considered herself a candidate for mentoring. She may be flattered to be asked. +Do not be afraid to reach out to folks in the organization who have not volunteered. The ideal mentor for a project may not have heard of GSoC, or may not have considered themself a candidate for mentoring. They may be flattered to be asked. Make sure you have enough mentors, including quite a few spares. Folks who would be capable of mentoring a variety of projects are especially welcome. Strongly consider having enough backup or secondary mentors that every project has an alternate of some sort. -If you (or the mentor) are insecure about their qualifications having them join the project as a back-up mentor is a great strategy to encourage future participation. +If you (or the mentor) are insecure about their qualifications having them join the project as a backup mentor is a great strategy to encourage future participation. ## Cheating and Proposals From Outer Space -Avoid spending time on proposals that were not tailored to your project by using the "ignore" feature for student proposals. +Avoid spending time on proposals that were not tailored to your project by using the "ignore" feature for GSoC contributor proposals. -Occasionally a student does not understand the importance of attribution when drawing on material from outside sources. Make sure she understands, early on, that plagiarism is not tolerated. In blatant cases, a good response is to reject the proposal and consider informing the administration at the academic institution the student is affiliated with. The article has some context to avoid surprises. +Occasionally a GSoC contributor does not understand the importance of attribution when drawing on material from outside sources. Make sure they understand, early on, that plagiarism is not tolerated. The article has some context to avoid surprises. ## Selection Strategies Probably the best that can be done in suggesting selection strategies is to provide a few simple ideas that organizations have used effectively in the past. Your organization will build its own selection process over time; these ideas are just a starting point: -**Get outsider help.** Having a perspective from outside the "GSoC bubble" may help you see student proposals in a new light. Sometimes, even folks from outside your organization can provide useful review, especially if they have relevant technical expertise. +**Get outsider help.** Having a perspective from outside the "GSoC bubble" may help you see GSoC contributor proposals in a new light. Sometimes, even folks from outside your organization can provide useful review, especially if they have relevant technical expertise. -**Use your mentors wisely.** The mentors are in the best position to select students and proposals for themselves. After all, it is they who will have to work with these students. Be careful, though, of mentors who may be less experienced in the ways that GSoC students and projects can go wrong. A few well-chosen war stories can be helpful in this situation. +**Use your mentors wisely.** The mentors are in the best position to select GSoC contributors and proposals for themselves. After all, it is they who will have to work with these GSoC contributors. Be careful, though, of mentors who may be less experienced in the ways that GSoC GSoC contributors and projects can go wrong. A few well-chosen war stories can be helpful in this situation. -**Interact with the students during the proposal period.** There should be no remaining questions by the time students are slotted. Finding out that a student will not interact, or cannot interact well, is absolutely crucial. +**Interact with the GSoC contributors during the proposal period.** There should be no remaining questions by the time GSoC contributors are slotted. Finding out that a GSoC contributor will not interact, or cannot interact well, is absolutely crucial. -**Don't be afraid to take charge.** At the end of the day, the org admin is responsible for the student and mentor selection decisions. If your org doesn't give you full veto power, or gives you grief about executive decisions, consider stepping down. Sometimes somebody has to make the final decision. +**Don't be afraid to take charge.** At the end of the day, the org admin is responsible for the GSoC contributor and mentor selection decisions. If your org doesn't give you full veto power, or gives you grief about executive decisions, consider stepping down. Sometimes somebody has to make the final decision. From 0c11a32692c903f873390f930c33a037db9bd9b0 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 14:03:28 -0800 Subject: [PATCH 096/212] Update 19-selecting_students_and_mentors.md removed trailing spaces --- pages/mentor/19-selecting_students_and_mentors.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/mentor/19-selecting_students_and_mentors.md b/pages/mentor/19-selecting_students_and_mentors.md index 35350ac9..20e01a0e 100644 --- a/pages/mentor/19-selecting_students_and_mentors.md +++ b/pages/mentor/19-selecting_students_and_mentors.md @@ -20,7 +20,7 @@ Proposal volumes tend to be high, and the nature of the activity can lead to dis ## Slot Count -Google asks your organization how many slots you want after you have had time to review the GSoC contributor proposals that your organization received. +Google asks your organization how many slots you want after you have had time to review the GSoC contributor proposals that your organization received. The actual number of slots Google assigns to each organization depends on the number of organizations and the number of GSoC contributors Google is going to fund that year. Then the slots are distributed amongst the accepted organizations by Google. Every accepted organization is allocated at least one slot. First-year organizations rarely get more than two slots. No organization ever receives more slots than they asked for. @@ -34,9 +34,9 @@ You can not substitute in other proposals after you have ranked your proposals a ## GSoC contributors selected by multiple orgs -GSoC contributors are allowed to submit up to 3 proposals each year, and they can be to multiple organizations. When organizations have chosen their desired GSoC contributors based on their ranked slot allocations, it is inevitably the case that a few GSoC contributors are sought by more than one organization. +GSoC contributors are allowed to submit up to 3 proposals each year, and they can be to multiple organizations. When organizations have chosen their desired GSoC contributors based on their ranked slot allocations, it is inevitably the case that a few GSoC contributors are sought by more than one organization. -{Process for 2022 still being developed with new webapp - more details coming soon.} +{Process for 2022 still being developed with new webapp - more details coming soon.} ## Acquiring and Assigning Mentors From 5857b31091c0df58820b8572bfb646f75946577e Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 14:37:23 -0800 Subject: [PATCH 097/212] Update 20-org_application.md 2022 updates --- pages/mentor/20-org_application.md | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pages/mentor/20-org_application.md b/pages/mentor/20-org_application.md index 526224bd..50d5a907 100644 --- a/pages/mentor/20-org_application.md +++ b/pages/mentor/20-org_application.md @@ -8,19 +8,21 @@ sidebar: mentor_sidebar Successful applications can come in many forms. You should approach the organization application like you would a resume: this is the avenue through which you convince Google's program administrators that you are qualified for the job of mentoring students. -The most important part of GSoC is providing the students an excellent experience over the summer, and Google chooses organizations that they feel confident can do this based on their application. +The most important part of GSoC is providing the GSoC contributor an excellent experience over the summer, and Google chooses organizations that they feel confident can do this based on their application. ## The Ideas Page -The ideas page is the most important part of the organization application. Please see the Ideas Page chapter of this guide for more information. Be sure to adjust any project ideas from 2020 or before to adjust for the smaller scope and time allowances for 2021 (175 hours for 2021 versus 350 hours for 2020 and before). +The ideas page is the most important part of the organization application. Please see the Ideas Page chapter of this guide for more information. Be sure to adjust any project ideas from 2021 or before to adjust for the medium (175 hour) and large (350 hour) scope for 2022. ## Past Success -One question Google consistently asks of an organization on the application is whether they have participated in previous years, and if so, what their students' pass/fail ratio was. While pass/fail ratio is but one indicator of the success of the previous year, it does weigh against other components of the application. Orgs who never fail a student are also red flags as that can indicate being too lenient on student evaluations. There is a healthy balance. +One question Google consistently asks of an organization on the application is whether they have participated in previous years, and if so, what their GSoC contributors' pass/fail ratio was. While pass/fail ratio is but one indicator of the success of the previous year, it does weigh against other components of the application. Orgs who never fail a GSoC contributor are also red flags as that can indicate being too lenient on evaluations. There is a healthy balance. + +And even more important is the question: how many of your GSoC contributors from the previous year are still active in your community? This is a question that is important for Google and for your organization to consider. As an organization are you engaging the GSoC contributors and getting them excited about staying in your community? Are you selecting the right GSoC contributors for your community who are interested in staying after their GSoC program ends? If your percentage of long term contributors from GSoC is consistently low what can your organization do to adjust? The program is about bringing contributors into your community and getting them to stay long after GSoC ends, thus keeping your your ecosystem healthy. It is okay if your numbers are low, but your goal is to increase the number year after year, and adjustments are likely going to be necessary from your organization to successfully retain more of your GSoC contributors long term. ## New Orgs vs. Returning Orgs -Every year Google tries to make room for new organizations in the open source world who can provide a different perspective or different opportunities to the students who participate in GSoC. This can often mean rejecting an org that has successfully participated in years past to allow space for new organizations. Often these decisions are very difficult for Google to make, because they don't have much to do with the returning orgs' success in previous years. Also sometimes Google chooses to let an organization that has been participating for many years have a year off to let a new organization participate. It doesn't mean that Google is upset wit that veteran organization, there just needs to be new blood and things need to get mixed up every now and then. The veteran should certainly apply again for the next year's program. +Every year Google tries to make room for new organizations in the open source world who can provide a different perspective or different opportunities to the students who participate in GSoC. This can often mean rejecting an org that has successfully participated in years past to allow space for new organizations. Often these decisions are very difficult for Google to make, because they don't have much to do with the returning orgs' success in previous years. Also sometimes Google chooses to let an organization that has been participating for many years have a year off to let a new organization participate. It doesn't mean that Google is upset wit that veteran organization, there just needs to be new blood and things need to get mixed up every now and then. The veteran organization should certainly apply again for the next year's program. ## What Not to Do @@ -28,11 +30,11 @@ Incomplete applications are common and result in an automatic rejection by Googl ## Just Because You Did Everything Right -...doesn't mean you'll be accepted. Every year Google receives many more applications for organizations that want to participate in GSoC than it has capacity to accommodate. Some of the decisions about which organizations are accepted and which aren't come down entirely to space available in the program. Google receives 500+ applications from open source organizations each year that wish to be a part of GSoC and usually only accept around 200 organization applications. Thus more than 50% of the organizations that apply each year will be rejected. +...doesn't mean you'll be accepted. Every year Google receives many more applications for organizations that want to participate in GSoC than it has capacity to accommodate. Some of the decisions about which organizations are accepted and which aren't come down entirely to space available in the program. Google receives 450+ applications from open source organizations each year that wish to be a part of GSoC and usually only accept around 200 organization applications. Thus more than 50% of the organizations that apply each year will be rejected. ## A Note on Umbrella Orgs -Google's program administrators actually look quite fondly on the umbrella organizations that participate each year. It serves a dual purpose: it allows Google to accept more organizations in the "space" of just one, and also gives an opportunity to accept a marginally-topical org by putting it under the umbrella of a related org. +Umbrella organizations are organizations that have many sub-projects underneath them. Think Python Software Foundation, Apache Software Foundation, etc. Umbrella orgs serve a dual purpose: they allows Google to accept more organizations in the "space" of just one, and also gives an opportunity to accept a marginally-topical org by putting it under the umbrella of a related org. Also the heavy load of organization administration is handled by the often experienced and veteran organization administrators of the umbrella org, allowing the smaller sub-project to focus on mentoring and their GSoC contributors. If your application is rejected, the following you may want to consider reaching out to an accepted umbrella org that might be able to accommodate you. @@ -41,13 +43,12 @@ If your application is rejected, the following you may want to consider reaching The questions vary from year to year, but will be similar to: * Why does your org want to participate in GSoC? -* How many potential mentors have agreed to mentor this year? -* How will you keep mentors engaged with their students? -* How will you help your students stay on schedule to complete their projects? -* How will you get your students involved in your community during GSoC? -* How will you keep students involved with your community after GSoC? +* What would your organization consider to be a successful GSoC for your org? +* How will you keep mentors engaged with their GSoC contributors? +* How will you help your GSoC contributors stay on schedule to complete their projects? +* How will you keep your GSoC contributors involed in your community during and after GSoC? * Has your org been accepted as a mentor org in GSoC? -* What year was your project started? +* If so, when and how many GSoC contributors are still actively involved in your community today? * Where does your source code live? * Link to your Ideas List (this is the most important part of the application!) From 4b234fac0421a3b1d7060d3ca4d6386ef1145677 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 14:43:14 -0800 Subject: [PATCH 098/212] Update 21-managing_your_mentors.md 2022 updates --- pages/mentor/21-managing_your_mentors.md | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pages/mentor/21-managing_your_mentors.md b/pages/mentor/21-managing_your_mentors.md index 809eba80..7dbf7694 100644 --- a/pages/mentor/21-managing_your_mentors.md +++ b/pages/mentor/21-managing_your_mentors.md @@ -10,43 +10,43 @@ As an org admin, your primary responsibilities are managing the GSoC program adm ## Establish a Private Communication Channel -It is important for mentors and org admins to have a communication channel that does not involve students, so org admins can speak candidly with mentors. This usually takes the form of a private mailing list or IRC channel, but any agreed-upon medium will work. +It is important for mentors and org admins to have a communication channel that does not involve GSoC contributors, so org admins can speak candidly with mentors. This usually takes the form of a private mailing list or IRC channel, but any agreed-upon medium will work. ## Managing across Timezones -Org admins should have a list of mentors and students along with their timezones and preferred contact information and availability. This is essential for umbrella organizations, which sometimes have so many people spread across so many countries and time zones that it is impossible for an org admin to keep track. +Org admins should have a list of mentors and GSoC contributors along with their timezones and preferred contact information and availability. This is essential for umbrella organizations, which sometimes have so many people spread across so many countries and time zones that it is impossible for an org admin to keep track. GSoC is often the first time people ever have to collaboratively work with others across many timezones, so it is worth taking time in the beginning of the summer to figure out these details. The fact that Daylight Savings Time is different depending on where people are complicates things even more. Usually it is best to set times in UTC so that DST will not complicate things. The World Clock website () is also a good resource for determining the time in a certain location. ## Setting Expectations -As an org admin, you need to rely on your mentors to manage the day-to-day activities related to student projects. This means you should have a discussion before students are accepted--if possible before you even apply for GSoC--about how you are going to handle some basic logistical items that are essential for a smoothly running and effective program. +As an org admin, you need to rely on your mentors to manage the day-to-day activities related to GSoC contributor projects. This means you should have a discussion before GSoC contributors are accepted--if possible before you even apply for GSoC--about how you are going to handle some basic logistical items that are essential for a smoothly running and effective program. -### Set up-front guidelines on how students, projects and mentors are selected +### Set up-front guidelines on how GSoC contributors, projects and mentors are selected -Occasionally, you'll find yourself with mentors for projects with no students and good project ideas with no mentors. Figure out up front how you plan to evaluate and accept students, projects and mentors. Make sure that your open source community concurs and the guidelines are clearly posted in your community GSoC documentation. See the chapter on *Selecting Students and Mentors*for details. +Occasionally, you'll find yourself with mentors for projects with no GSoC contributors and good project ideas with no mentors. Figure out up front how you plan to evaluate and accept GSoC contributors, projects and mentors. Make sure that your open source community concurs and the guidelines are clearly posted in your community GSoC documentation. See the chapter on *Selecting GSoC contributors and Mentors*for details. -### Determine a schedule and format for regular student project updates +### Determine a schedule and format for regular GSoC contributor project updates -Regular student progress reports to the open source project community are a great tool for keeping your development community engaged and helpful to the students. It also helps provide documentation if there is any doubt about a student's progress, and can help your community identify problem areas for newcomers. Weekly reports via a blog or mailing list post are best; at the very least ask for bi-weekly student reports to your community. Discuss report format and submission timelines before the student application period opens and make sure your potential students understand their reporting responsibilities. +Regular GSoC contributors progress reports to the open source project community are a great tool for keeping your development community engaged and helpful to the GSoC contributors. It also helps provide documentation if there is any doubt about a GSoC contributor's progress, and can help your community identify problem areas for newcomers. Weekly reports via a blog or mailing list post are best; at the very least ask for bi-weekly GSoC contributor reports to your community. Discuss report format and submission timelines before the GSoC contributors application period opens and make sure your potential GSoC contributors understand their reporting responsibilities. -Make sure the mentors understand they are primarily responsible for encouraging their students to submit regular reports. +Make sure the mentors understand they are primarily responsible for encouraging their GSoC contributors to submit regular reports. ### Establish up-front guidelines for mentor time involvement -How often should mentors meet with their students? What happens if a mentor needs to be unavailable for several weeks during GSoC? Make sure the mentors understand expected time commitments before they are assigned to a student, and how to arrange for backup if they need to go missing for a bit. +How often should mentors meet with their GSoC contributors? What happens if a mentor needs to be unavailable for several weeks during GSoC? Make sure the mentors understand expected time commitments before they are assigned to a GSoC contributor, and how to arrange for backup if they need to go missing for a bit. ### Clearly communicate mentor GSoC administrative responsibilities -Mentors at the very minimum are responsible for submitting timely student evaluations at midterms and finals. Make sure your mentor team is clear about when they need to submit evaluations and what to do if they are not available to submit the evaluations. +On the administrative front, mentors at the very minimum are responsible for submitting timely GSoC contributor evaluations at the midterm and final. Make sure your mentor team is clear about when they need to submit evaluations and what to do if they are not available to submit the evaluations. -### Create a decision process for determining if a student should pass or fail +### Create a decision process for determining if a GSoC contributor should pass or fail -Unfortunately, at some point your organization is probably going to encounter a situation where you need to determine if you should fail a student at midterms or finals. Talk to your mentors before the GSoC program begins about criteria for passing and failing a student. Communicate clearly who makes the final decision about whether a student pass or fails. +Unfortunately, at some point your organization is probably going to encounter a situation where you need to determine if you should fail a GSoC contributor at the midterm or final. Talk to your mentors before the GSoC program begins about criteria for passing and failing a GSoC contributor. Communicate clearly who makes the final decision about whether a GSoC contributor pass or fails. ## Sorting Out Conflicts -At some point in your org admin career you are going to need to step in to help resolve conflicts. Sometimes these are mentor-student conflicts, cross-project conflicts or mentor-mentor conflicts; they may be something completely unexpected. Here are a few guidelines to help you find the best-approach for resolution: +At some point in your org admin career you are going to need to step in to help resolve conflicts. Sometimes these are mentor-GSoC contributor conflicts, cross-project conflicts or mentor-mentor conflicts; they may be something completely unexpected. Here are a few guidelines to help you find the best-approach for resolution: * Get involved early, before things spiral out of control. * Discuss the conflict privately and separately with those involved. From 89d5ddf4e324d0d11147762ddba601eb7f501913 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 17:39:40 -0800 Subject: [PATCH 099/212] Update 22-student_-_mentor_facilitation.md 2022 updates --- pages/mentor/22-student_-_mentor_facilitation.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pages/mentor/22-student_-_mentor_facilitation.md b/pages/mentor/22-student_-_mentor_facilitation.md index 7b1845d1..4fbfbddb 100644 --- a/pages/mentor/22-student_-_mentor_facilitation.md +++ b/pages/mentor/22-student_-_mentor_facilitation.md @@ -1,17 +1,17 @@ --- -title: Student - Mentor Facilitation +title: GSoC contributor - Mentor Facilitation section: Org Admin order: 22 -permalink: mentor/student-mentor-facilitation.html +permalink: mentor/GSoC contributor-mentor-facilitation.html sidebar: mentor_sidebar --- -The key to a successful GSoC experience is good communication. It is both a challenge and an opportunity. You are often dealing with students who have never participated in open source or collaborative development. Your mentors may be volunteering time they don't have. Neither may have worked across the time and cultural spans commonly found in GSoC. +The key to a successful GSoC experience is good communication. It is both a challenge and an opportunity. You are often dealing with GSoC contributors who have never participated in open source or collaborative development. Your mentors may be volunteering time they don't have. Neither may have worked across the time and cultural spans commonly found in GSoC. -It is up to the org admin to stress communication strategies and expectations for both students and mentors. +It is up to the org admin to stress communication strategies and expectations for both GSoC contributors and mentors. -* Make sure your mentors set expectations for time commitment, meetings, reports and code check-ins, and that these have been clearly communicated (if not collaboratively developed) with their students. -* Make sure both mentors and students have established more than one channel of communication with each other. -* Create internal contact groups for all your mentors and all your students. Use these email lists for general statements and advice regarding who should be doing what and when, and for asking, "Do you know where your student [or mentor] is?" +* Make sure your mentors set expectations for time commitment, meetings, reports and code check-ins, and that these have been clearly communicated (if not collaboratively developed) with their GSoC contributors. +* Make sure both mentors and GSoC contributors have established more than one channel of communication with each other. +* Create internal contact groups for all your mentors and all your GSoC contributors. Use these email lists for general statements and advice regarding who should be doing what and when, and for asking, "Do you know where your GSoC contributor [or mentor] is?" -The number one reason why projects fail is poor communication. It is often the first sign of a project in trouble. Poor communication may originate as much with the mentor as with the student. A big part of your role as org admin is to lay out guidelines and advice at the start of the program, and then to keep track of progress. The org admin should be aware of communication problems early on. The only way to make sure you know what's going on is to periodically check-in with individual students and mentors. The week before evaluations is a good time to make contact and ensure there are no surprises coming. You should also stress to your mentors and students that they should contact you whenever there is a communication breakdown. +The number one reason why projects fail is poor communication. It is often the first sign of a project in trouble. Poor communication may originate as much with the mentor as with the GSoC contributor. A big part of your role as org admin is to lay out guidelines and advice at the start of the program, and then to keep track of progress. The org admin should be aware of communication problems early on. The only way to make sure you know what's going on is to periodically check-in with individual GSoC contributors and mentors. The week before evaluations is a good time to make contact and ensure there are no surprises coming. You should also stress to your mentors and GSoC contributors that they should contact you whenever there is a communication breakdown. From 70f138f0bd2cb5d0be6e93004a508bf30b9dee8f Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 17:41:02 -0800 Subject: [PATCH 100/212] Update 23-other_possible_issues.md 2022 updates --- pages/mentor/23-other_possible_issues.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/mentor/23-other_possible_issues.md b/pages/mentor/23-other_possible_issues.md index 85b4e445..00f1ed78 100644 --- a/pages/mentor/23-other_possible_issues.md +++ b/pages/mentor/23-other_possible_issues.md @@ -14,12 +14,12 @@ Here are some things that might go wrong during the program, and how you can han Sometimes "life" happens and things don't go according to plan. It is best to come up with a plan at the beginning of the summer to deal with a mentor that suddenly don't have as much free time as he thought he would, or even worse, a mentor that goes missing. -Having additional mentors assigned to each student is a very good idea, and helps with situations where the primary mentor is not available. Google does not have a policy on additional mentors, so this is something that an org admin needs to decide to have--the earlier the better. +Having additional mentors assigned to each GSoC contributor is a very good idea, and helps with situations where the primary mentor is not available. Google does not have a policy on additional mentors, so this is something that an org admin needs to decide to have--the earlier the better. **Issue: Communication between participants breaks down.** **Solution: Stage an intervention** -First off, it is important to create a schedule for communication before coding begins. The org admin and mentors should agree on a frequency of communication that is appropriate for communicating with students and each other. This should be at least once per week, because it is very easy to let a few weeks slip by and then realize that the timeline for the project is nearly impossible to follow. +First off, it is important to create a schedule for communication before coding begins. The org admin and mentors should agree on a frequency of communication that is appropriate for communicating with GSoC contributors and each other. This should be at least once per week, because it is very easy to let a few weeks slip by and then realize that the timeline for the project is nearly impossible to follow. If, in spite of all your best efforts, you have to deal with a communication breakdown, you will need to step in and restart communication yourself. Meet separately with the parties using the most personal medium available, and then make sure they meet with each other. Reestablish a regular schedule of communication, and find a way to monitor it. From f269ee0e3048998351dd0a78bb9d14e06651e850 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 17:42:26 -0800 Subject: [PATCH 101/212] Update 24-end_of_year_report.md 2022 updates --- pages/mentor/24-end_of_year_report.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pages/mentor/24-end_of_year_report.md b/pages/mentor/24-end_of_year_report.md index 31f6094a..45e7f90c 100644 --- a/pages/mentor/24-end_of_year_report.md +++ b/pages/mentor/24-end_of_year_report.md @@ -8,8 +8,6 @@ sidebar: mentor_sidebar Phew! You made it. There may have been some rough spots along the way, perhaps even some failures, but you made it. Your work is *almost* done. It's time to take a look back and produce an End-of-Year Report. Make it fun and it'll be painless. Heck, people might even read it! -The report should be written for a general audience, so include an introduction to your organization and your main goals. You might mention how many years you've participated in GSoC and the number of students you've mentored. Depending on how many projects you ran, you should highlight what they were about, how much code was written, and code integration plans. Were there any special events or face-to-face meetings over the summer? Any positive surprises? +The report should be written for a general audience, so include an introduction to your organization and your main goals. You might mention how many years you've participated in GSoC and the number of GSoC contributors you've mentored. Depending on how many projects you ran, you should highlight what they were about, how much code was written, and code integration plans. Were there any special events or face-to-face meetings over the summer? Any positive surprises? -In the end, the report is all about the students. Be sure to mention any blogs that were maintained by your students, and any public references to their work. Links to screenshots or video demonstrations are quite effective. Including student quotes is a fun way to represent not only their experience but also your organization, through the eyes of new contributors. - -You can also tailor the report to be good blog fodder for the Google Open Source blog post your organization administrators might want to submit to Google program administrators. That blog post should have some fun stories about the work the student did or quotes from the students or mentors to make it more interesting to the reader. +In the end, the report is all about the GSoC contributors. Be sure to mention any blogs that were maintained by your GSoC contributors, and any public references to their work. Links to screenshots or video demonstrations are quite effective. Including GSoC contributor quotes is a fun way to represent not only their experience but also your organization, through the eyes of new contributors. From 2657033b14eaeb8cc6a3c6c49b51f0ea2c4cae2e Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 17:44:32 -0800 Subject: [PATCH 102/212] Update 25-about_this_manual.md 2022 update --- pages/mentor/25-about_this_manual.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/mentor/25-about_this_manual.md b/pages/mentor/25-about_this_manual.md index 10bf7871..ef23171b 100644 --- a/pages/mentor/25-about_this_manual.md +++ b/pages/mentor/25-about_this_manual.md @@ -12,7 +12,9 @@ maintenance of the manual is an ongoing process to which you may wish to contribute. A second sprint occurred in 2010 to update the manual (adding the Org Admin section) and write the Students Guide ("Flipping Bits not Burgers"). Additional brief edits occurred February 2017 and November 2019 to update and reflect the -new website and program changes. +new website and program changes. A more comprehensive edit occurred in November 2021 to reflect the +changes for the upcoming 2022 program updates and the new webapp by the GSoC Program Administrator, +Stephanie Taylor. ## How to Contribute to This Guide From 0d79fcf5717d75489b8c93146f2251b2602c7342 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 17:52:11 -0800 Subject: [PATCH 103/212] Update 26-the_quick_guide.md 2022 updates --- pages/mentor/26-the_quick_guide.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pages/mentor/26-the_quick_guide.md b/pages/mentor/26-the_quick_guide.md index df2c0c3b..03454a7b 100644 --- a/pages/mentor/26-the_quick_guide.md +++ b/pages/mentor/26-the_quick_guide.md @@ -6,25 +6,25 @@ permalink: mentor/the-quick-guide.html sidebar: mentor_sidebar --- -The process begins with proposing projects and selecting students over about a four week period. This is followed by 3-4 weeks of community bonding. The coding phase runs for twelve weeks. +The process begins with proposing projects and selecting GSoC contributors over about a four week period. This is followed by 3 weeks of community bonding. The standard coding period runs for twelve weeks (with optional extensions up to 22 weeks available starting in 2022). -* During the student selection phase the mentor will be responsible for helping find a fit between project, student proposal and mentor. This will include defining the proposal process, assisting in the evaluation of proposals, querying the students, providing them feedback about their proposals and ultimately finding a student proposal to mentor. -* During the community bonding phase, the mentor and student will further define the student's project and prepare for development. An important part of this phase, as the name implies, is to get the student connected with both the mentoring organization and the larger open source community. -* During the coding phase the student will be implementing the project. The mentor will be providing advice not just on the technical aspects of development, but on issues related to the interaction of the student's work with the organization. At midterm the mentor will evaluate the student's progress to determine whether the student will continue with the project and be issued a payment by Google. -* During the final phase the mentor will help the student submit their code to Google. The mentor will also perform an evaluation of the student's work to determine whether Google should issue a final payment. +* During the GSoC contributor selection phase the mentor will be responsible for helping find a fit between project, GSoC contributor proposal and mentor. This will include defining the proposal process, assisting in the evaluation of proposals, querying the GSoC contributors, providing them feedback about their proposals and ultimately finding a GSoC contributor proposal to mentor. +* During the community bonding phase, the mentor and GSoC contributor will further define the GSoC contributor's project and prepare for development. An important part of this phase, as the name implies, is to get the GSoC contributor connected with both the mentoring organization and the larger open source community. +* During the coding phase the GSoC contributor will be implementing the project. The mentor will be providing advice not just on the technical aspects of development, but on issues related to the interaction of the GSoC contributor's work with the organization. At midterm the mentor will evaluate the GSoC contributor's progress to determine whether the GSoC contributor will continue with the project and be issued a payment by Google. +* During the final phase the mentor will help the GSoC contributor submit their code to their organization. The mentor will also perform an evaluation of the GSoC contributor's work to determine whether Google should issue a final payment. ## Quick Tips on Effective Mentoring The tips in this section are no substitute for reading this book. However, they may serve as an introduction to the material herein. -**Project Definition**: An ideas page is the starting point for project definition. You should include projects that you are interested in mentoring for the summer and that appeal to students and to your organization. +**Project Definition**: An ideas page is the starting point for project definition. You should include projects that you are interested in mentoring for the summer and that appeal to GSoC contributors and to your organization. -**Selecting Students**: Students come with many motivations; try to understand why your applicant is applying. It is better to give up a student slot than to select a student whose performance is likely to be poor. +**Selecting GSoC contributors**: GSoC contributors come with many motivations; try to understand why your applicant is applying. It is better to give up a GSoC contributor slot than to select a GSoC contributor whose performance is likely to be poor. -**Communication**: Engage with your student as early as possible. Integrate the student into your community and its communication channels. Make sure that communication with your student is frequent and regular. +**Communication**: Engage with your GSoC contributor as early as possible. Integrate the GSoC contributor into your community and its communication channels. Make sure that communication with your GSoC contributor is frequent and regular. -**Collaboration**: Start by working with your student to set solid expectations and goals for the project. Develop a detailed project plan, with deadlines and milestones. Be prepared for slippage, and be willing to revise the plan as necessary, especially at midterm. Student learning is a primary goal of GSoC, so try to provide a learning experience. +**Collaboration**: Start by working with your GSoC contributor to set solid expectations and goals for the project. Develop a detailed project plan, with deadlines and milestones. Be prepared for slippage, and be willing to revise the plan as necessary, especially at midterm. GSoC contributor learning is a primary goal of GSoC, so try to provide a learning experience. -**Evaluation**: Keep your student evaluations objective; base them on your project plan. Keep in mind that it is better to fail a student earlier rather than later--data shows that students doing poorly at midterm rarely complete a GSoC project. Make sure your students hear your evaluations: deliver praise in public, and criticism in private. +**Evaluation**: Keep your GSoC contributor evaluations objective; base them on your project plan. Keep in mind that it is better to fail a GSoC contributor earlier rather than later--data shows that GSoC contributors doing poorly at midterm rarely complete a GSoC project. Make sure your GSoC contributors hear your evaluations: deliver praise in public, and criticism in private. -If you follow the above advice, and the rest of the advice given in this book, you have a good chance to have a successful experience. Positive outcomes might include recruiting a permanent developer to your community, developing a lifelong relationship with your student, and helping the open source community grow and thrive. +If you follow the above advice, and the rest of the advice given in this book, you have a good chance to have a successful experience. Positive outcomes might include recruiting a permanent developer to your community, developing a lifelong relationship with your GSoC contributor, and helping the open source community grow and thrive. From 6a5d370d5e21dc6b2be0d9034c0c160f3dadd8a4 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 17:56:43 -0800 Subject: [PATCH 104/212] Update 29-glossary.md 2022 updates --- pages/mentor/29-glossary.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/mentor/29-glossary.md b/pages/mentor/29-glossary.md index 07e4316a..720a3cf1 100644 --- a/pages/mentor/29-glossary.md +++ b/pages/mentor/29-glossary.md @@ -21,7 +21,7 @@ An individual who has special rights in an open source project. While the scope ## Community Bonding Period -The period of time between when accepted students are announced for a particular year of GSoC and the time these students are expected to start coding. This time is an excellent one to introduce students to the community, get them on the right mailing lists, etc. See the "Mind the Gap" section for more details. +The period of time between when accepted GSoC contributors are announced for a particular year of GSoC and the time these GSoC contributors are expected to start coding. This time is an excellent one to introduce students to the community, get them on the right mailing lists, etc. See the "Mind the Gap" section for more details. ## DVCS @@ -61,7 +61,7 @@ Someone who helps a student with their project proposal. See the What is GSoC se ## Organization -An open source, free software or technology-related project that mentors students for Google Summer of Code. Also known as a mentoring organization. +An open source, free software or technology-related project that mentors GSoC contributors for Google Summer of Code. Also known as a mentoring organization. ## Organization Admin (Org Admin) @@ -77,7 +77,7 @@ Google employees who run the program. See the What is GSoC section for more deta ## Secondary Mentor -A person who helps out a student's assigned mentor. At time of writing this guide, the GSoC online system only allows one mentor to be officially assigned to a student proposal, as one person must be responsible for submitting evaluations, etc. However, it is quite common to have multiple mentors for one student. +A person who helps out a GSoC contributor's assigned mentor. At time of writing this guide, the GSoC online system only allows one mentor to be officially assigned to a GSoC contributor proposal, as one person must be responsible for submitting evaluations, etc. However, it is quite common to have multiple mentors for one GSoC contributor. ## SMOP @@ -85,7 +85,7 @@ Simple Matter of Programming ## Summer -Not so much a season as a state of being. While the program is run during the Northern Hemisphere's Spring and Summer, the "Summer" in Google Summer of Code is actually a play on the "Summer of Love. +Not so much a season as a state of being. While the program is run during the Northern Hemisphere's Spring and Summer, the "Summer" in Google Summer of Code is actually a play on the "Summer" of Love. ## TDD From d0e1d6a3ba3c49d643a993238c1d08e037693aba Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 17:59:21 -0800 Subject: [PATCH 105/212] Update 28-additional_resources.md 2022 updates --- pages/mentor/28-additional_resources.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pages/mentor/28-additional_resources.md b/pages/mentor/28-additional_resources.md index 69d70fba..cdd26d23 100644 --- a/pages/mentor/28-additional_resources.md +++ b/pages/mentor/28-additional_resources.md @@ -10,7 +10,7 @@ We've collected our favorite and most useful resources specific to GSoC here. ## General Resources -If your organization has participated in GSoC previously, chances are there are mailing lists already set up and useful information in their archives; take a moment to look through them, especially around the launch times (February to March), community bonding period (April to May) and evaluation times (mid-July and end of August), for more details. The archives of the program mailing lists, particularly the private mentors list (below), are also quite useful. +If your organization has participated in GSoC previously, chances are there are mailing lists already set up and useful information in their archives; take a moment to look through them, especially around the launch times (February to March), community bonding period (May) and evaluation times (mid-July and end of August), for more details. The archives of the program mailing lists, particularly the private mentors list (below), are also quite useful. No matter what, you want to take a look at the Program Rules each year to make sure you have a good idea of the rules for the program for both yourself and your students. There's a wealth of information included in the FAQs each year, even for experienced participants. You can always find the latest information, including a link to the FAQs, at . @@ -20,9 +20,9 @@ Additionally, these resources are quite helpful: **Blog Posts**: You can find material related to GSoC on the Google Open Source Blog at . Your project may have a blog or newsletter where GSoC information was published in the past, as well. -**Knowledge Base**: If you're looking for advice for mentors or students, program promotional materials, presentations about GSoC, etc., start with the program site , particularly the Resources section. +**Knowledge Base**: If you're looking for advice for mentors or GSoC contributors, program promotional materials, presentations about GSoC, etc., start with the program site , particularly the Resources section. -**Mentor Summit Wiki**: Google has traditionally held an annual mentor summit after GSoC wraps up each year. During the summit, many great discussions are held on all sorts of topics regarding the program and open source overall. +**Mentor Summit**: Google has traditionally held an annual mentor summit after GSoC wraps up each year. During the summit, many great discussions are held on all sorts of topics regarding the program and open source overall. **List of Organizations**: You can see a list of the mentoring organizations that participated in previous years of the program by going to the program site and looking at the Archive site: @@ -48,7 +48,7 @@ Written by Karl Fogel. Excellent guide to Open Source development. Its available -**Google Summer of Code Students Guide** +**Google Summer of Code Contributor/Student Guide** @@ -62,6 +62,6 @@ irc : freenode #teachingopensource ## What to Do When the Unexpected Happens? -**Contact your Organization Administrator**: He or she can help you figure out what to do next or contact Google for more help. +**Contact your Organization Administrator**: They can help you figure out what to do next or contact Google for more help. **Talk to Google's Program Administrators**: They have plenty of experience with all the corner cases and strange issues that can arise during GSoC. Email gsoc-support@google.com for help. From 83941eea1bcfefacb8c18a8825b3caedd2724047 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 15 Nov 2021 18:01:49 -0800 Subject: [PATCH 106/212] Update 27-the_history_of_gsoc.md 2022 updates --- pages/mentor/27-the_history_of_gsoc.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pages/mentor/27-the_history_of_gsoc.md b/pages/mentor/27-the_history_of_gsoc.md index db5e9bcd..c588b65e 100644 --- a/pages/mentor/27-the_history_of_gsoc.md +++ b/pages/mentor/27-the_history_of_gsoc.md @@ -6,16 +6,16 @@ permalink: mentor/the-history-of-gsoc.html sidebar: mentor_sidebar --- -Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. Larry Page, one of Google's co-founders, was pondering the age-old problem of scholastic backsliding: students work hard and learn a great deal during the academic year, but without the right employment opportunities and other pursuits outside of school, technical skills atrophy rather than get honed and expanded. Larry wanted Google to help solve this problem. +Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. Larry Page, one of Google’s co-founders, was pondering the age-old problem of scholastic backsliding: students work hard and learn a great deal during the academic year, but without the right employment opportunities or other pursuits outside of school, technical skills atrophy rather than get honed and expanded. Larry wanted Google to help solve this problem. -The obvious solutions failed on geographical grounds. If a student wasn't in the optimal location, obtaining a useful internship could be difficult or impossible. Finances were also a problem; many internships are low paying or entirely unpaid, making it difficult for students to take the right job while still paying the bills. Finally, even if a job was available in a technical field, it would not necessarily introduce a student to the broad set of skills required to do software development well. For example, creating a website for a local non-profit requires technical skill and would no doubt be personally gratifying, but wouldn't necessarily require using an IDE, checking into source control, or creating tests. +The obvious solutions failed on geographical grounds. If a student wasn’t in the optimal location, obtaining a useful internship could be difficult if not impossible. Finances were also a problem; many internships are low paying or entirely unpaid, making it difficult for students to take the right job while still paying the bills. Finally, even if a job was available in a technical field, it would not necessarily introduce a student to the broad set of skills required to do software development well. For example, creating a website for a local non-profit requires technical skill and would no doubt be personally gratifying, but wouldn’t necessarily require using an IDE, checking into source control, or creating tests. -The perfect answer? Encourage students to participate in open source projects. Open source development occurs online, solving the geography problem and giving students the chance to work in a globally distributed team. Working on an open source project provides exposure to the entire software development process and toolchain. Students enjoy the benefit of having a body of reference work available to future employers and university admissions committees. Even better, students get the chance to work on a codebase under active development rather than a lab project or other single-use assignment. +The perfect answer came from encouraging students to participate in open source projects. Open source development occurs online, both solving the geography problem and giving students the chance to work in a globally distributed team. Working on an open source project provides exposure to the entire software development process and tool chain. Students could enjoy the added benefit of having a body of reference work available to future employers or committees. Even better, students would get the chance to work on a code base under active development rather than a lab project or other single use assignment. -The Google Summer of Code program provides a cash stipend from Google to students for work with recognized open source communities. This stipend allows students to focus on their development work rather than getting a job unrelated to their academic pursuits. A key piece of the puzzle is finding projects that are excited to find new contributors and to provide helpers to get new student contributors up to speed both technically and socially. +A cash stipend from Google allowed students to focus on their development work rather than getting a job unrelated to their academic pursuits. The final part of the puzzle was finding projects who were excited to find new contributors and to provide helpers to get these new folks up to speed both technically and socially. The first year 40 projects participated; 400 students began the experiment. -The first year 40 projects participated--400 students began the experiment. +In 2021, the seventeenth Google Summer of Code wrapped up with more than 94% of the 1198 student participants in the program successfully completing the program. Best of all, most of the organizations participating over the past seventeen years reported that the program helped them find new community members and active committers. 99% of 2021 students said they planned to continue to contribute to open source post-GSoC. -In 2019, the 15th Google Summer of Code wrapped up with more than 89% of the 1,267 student participants in the program successfully completing their projects. Best of all, most of the 686 organizations participating over the past 15 years reported that the program helped them find new community members and active committers. +In 2022, we are opening the program to non-student developers as well and we are excited to see what great things our new GSoC contributors will do with our open source organizations. We also have multiple size project options available for folks, with the understanding not everyone can dedicate 350 hours to an open source project during GSoC so there will also be 175 hour projects available for GSoC contributors to work on in 2022. The final update to the program is more flexibility around the schedule for a GSoC contributor project. Instead of everyone having to complete the project in 12 weeks, GSoC contributors and their mentors can decide to extend the end date of their project to better fit the GSoC contributor’s commitments for the summer. We look forward to these updates helping even more people excited to learn about open source under the guidance of dedicated mentors participate in GSoC. -You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: +You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: https://developers.google.com/open-source/gsoc/resources/stats From ec0a172b1da737b6d95c0203fd746aed4883f8de Mon Sep 17 00:00:00 2001 From: David Sanders Date: Thu, 27 Jan 2022 16:25:28 -0800 Subject: [PATCH 107/212] Fix typo in "Selecting Students and Mentors" doc --- pages/mentor/19-selecting_students_and_mentors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/19-selecting_students_and_mentors.md b/pages/mentor/19-selecting_students_and_mentors.md index 20e01a0e..74d43339 100644 --- a/pages/mentor/19-selecting_students_and_mentors.md +++ b/pages/mentor/19-selecting_students_and_mentors.md @@ -62,7 +62,7 @@ Probably the best that can be done in suggesting selection strategies is to prov **Get outsider help.** Having a perspective from outside the "GSoC bubble" may help you see GSoC contributor proposals in a new light. Sometimes, even folks from outside your organization can provide useful review, especially if they have relevant technical expertise. -**Use your mentors wisely.** The mentors are in the best position to select GSoC contributors and proposals for themselves. After all, it is they who will have to work with these GSoC contributors. Be careful, though, of mentors who may be less experienced in the ways that GSoC GSoC contributors and projects can go wrong. A few well-chosen war stories can be helpful in this situation. +**Use your mentors wisely.** The mentors are in the best position to select GSoC contributors and proposals for themselves. After all, it is they who will have to work with these GSoC contributors. Be careful, though, of mentors who may be less experienced in the ways that GSoC contributors and projects can go wrong. A few well-chosen war stories can be helpful in this situation. **Interact with the GSoC contributors during the proposal period.** There should be no remaining questions by the time GSoC contributors are slotted. Finding out that a GSoC contributor will not interact, or cannot interact well, is absolutely crucial. From c0d9519c237275686660cfd28b586ee793db0e72 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 27 Jan 2022 16:37:37 -0800 Subject: [PATCH 108/212] Reword pointer to historical information. (Mostly to get rid of lint warning.) --- pages/mentor/27-the_history_of_gsoc.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/mentor/27-the_history_of_gsoc.md b/pages/mentor/27-the_history_of_gsoc.md index c588b65e..abf9fe40 100644 --- a/pages/mentor/27-the_history_of_gsoc.md +++ b/pages/mentor/27-the_history_of_gsoc.md @@ -18,4 +18,6 @@ In 2021, the seventeenth Google Summer of Code wrapped up with more than 94% of In 2022, we are opening the program to non-student developers as well and we are excited to see what great things our new GSoC contributors will do with our open source organizations. We also have multiple size project options available for folks, with the understanding not everyone can dedicate 350 hours to an open source project during GSoC so there will also be 175 hour projects available for GSoC contributors to work on in 2022. The final update to the program is more flexibility around the schedule for a GSoC contributor project. Instead of everyone having to complete the project in 12 weeks, GSoC contributors and their mentors can decide to extend the end date of their project to better fit the GSoC contributor’s commitments for the summer. We look forward to these updates helping even more people excited to learn about open source under the guidance of dedicated mentors participate in GSoC. -You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: https://developers.google.com/open-source/gsoc/resources/stats +[Past participants](https://summerofcode.withgoogle.com/archive) +and [statistics](https://developers.google.com/open-source/gsoc/resources/stats) +are tracked available on the program website. From 813fa72c0547dca7c01243b09e28db5f9b02d786 Mon Sep 17 00:00:00 2001 From: David Sanders Date: Thu, 27 Jan 2022 16:44:12 -0800 Subject: [PATCH 109/212] Fix make build-image --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 47d1fda6..a0cac8e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ RUN apt-get update RUN apt-get install -y \ nodejs \ - python-pygments + python3-pygments RUN apt-get clean \ && rm -rf /var/lib/apt/lists/ From 02aff7478c4b99115d81196346850ff116b78a55 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 27 Jan 2022 17:21:14 -0800 Subject: [PATCH 110/212] Use GitHub's concurrency controls instead of the skip-duplicate-actions action. --- .github/workflows/markdownlint.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index d1d88ac3..d6aea514 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -8,15 +8,12 @@ on: #env: +concurrency: + # https://docs.github.com/en/actions/using-jobs/using-concurrency + group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} + cancel-in-progress: true + jobs: - # Cancel duplicate jobs: https://github.com/fkirc/skip-duplicate-actions#option-3-cancellation-only - cancel_duplicates: - name: Cancel duplicate jobs - runs-on: ubuntu-latest - steps: - - uses: fkirc/skip-duplicate-actions@master - with: - github_token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} build: name: markdownlint From 06cb9872c8d2e659ebeabd77540bde23feceadd4 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 27 Jan 2022 17:21:49 -0800 Subject: [PATCH 111/212] Upgrade to markdown lint action v3.0.1 --- .github/workflows/markdownlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index d6aea514..6f0b72ce 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v2 - name: markdownlint-cli - uses: nosborn/github-action-markdown-cli@v2.0.0 + uses: nosborn/github-action-markdown-cli@v3.0.1 with: files: . config_file: ".markdownlint.yaml" From 8889ede9b19e79f9d7c5135ba0133a2c69572ca9 Mon Sep 17 00:00:00 2001 From: David Sanders Date: Thu, 27 Jan 2022 17:04:59 -0800 Subject: [PATCH 112/212] Fix "Contributor - Mentor Facilitation" sidebar link --- _data/sidebars/mentor_sidebar.yml | 2 +- pages/mentor/22-student_-_mentor_facilitation.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_data/sidebars/mentor_sidebar.yml b/_data/sidebars/mentor_sidebar.yml index 4f34866b..a5e7cb1e 100644 --- a/_data/sidebars/mentor_sidebar.yml +++ b/_data/sidebars/mentor_sidebar.yml @@ -86,7 +86,7 @@ entries: - title: Managing Your Mentors url: managing-your-mentors output: web - - title: Student - Mentor Facilitation + - title: Contributor - Mentor Facilitation url: student-mentor-facilitation output: web - title: Other Possible Issues diff --git a/pages/mentor/22-student_-_mentor_facilitation.md b/pages/mentor/22-student_-_mentor_facilitation.md index 4fbfbddb..d6a1c735 100644 --- a/pages/mentor/22-student_-_mentor_facilitation.md +++ b/pages/mentor/22-student_-_mentor_facilitation.md @@ -2,7 +2,7 @@ title: GSoC contributor - Mentor Facilitation section: Org Admin order: 22 -permalink: mentor/GSoC contributor-mentor-facilitation.html +permalink: mentor/student-mentor-facilitation.html sidebar: mentor_sidebar --- From bbb98488f9855cf199ef1b5165fc2b57d11ff9d2 Mon Sep 17 00:00:00 2001 From: David Sanders Date: Thu, 27 Jan 2022 19:29:19 -0800 Subject: [PATCH 113/212] Fix typos in "Org Application" doc --- pages/mentor/20-org_application.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/mentor/20-org_application.md b/pages/mentor/20-org_application.md index 50d5a907..a8828dbb 100644 --- a/pages/mentor/20-org_application.md +++ b/pages/mentor/20-org_application.md @@ -18,15 +18,15 @@ The ideas page is the most important part of the organization application. Pleas One question Google consistently asks of an organization on the application is whether they have participated in previous years, and if so, what their GSoC contributors' pass/fail ratio was. While pass/fail ratio is but one indicator of the success of the previous year, it does weigh against other components of the application. Orgs who never fail a GSoC contributor are also red flags as that can indicate being too lenient on evaluations. There is a healthy balance. -And even more important is the question: how many of your GSoC contributors from the previous year are still active in your community? This is a question that is important for Google and for your organization to consider. As an organization are you engaging the GSoC contributors and getting them excited about staying in your community? Are you selecting the right GSoC contributors for your community who are interested in staying after their GSoC program ends? If your percentage of long term contributors from GSoC is consistently low what can your organization do to adjust? The program is about bringing contributors into your community and getting them to stay long after GSoC ends, thus keeping your your ecosystem healthy. It is okay if your numbers are low, but your goal is to increase the number year after year, and adjustments are likely going to be necessary from your organization to successfully retain more of your GSoC contributors long term. +And even more important is the question: how many of your GSoC contributors from the previous year are still active in your community? This is a question that is important for Google and for your organization to consider. As an organization are you engaging the GSoC contributors and getting them excited about staying in your community? Are you selecting the right GSoC contributors for your community who are interested in staying after their GSoC program ends? If your percentage of long term contributors from GSoC is consistently low what can your organization do to adjust? The program is about bringing contributors into your community and getting them to stay long after GSoC ends, thus keeping your ecosystem healthy. It is okay if your numbers are low, but your goal is to increase the number year after year, and adjustments are likely going to be necessary from your organization to successfully retain more of your GSoC contributors long term. ## New Orgs vs. Returning Orgs -Every year Google tries to make room for new organizations in the open source world who can provide a different perspective or different opportunities to the students who participate in GSoC. This can often mean rejecting an org that has successfully participated in years past to allow space for new organizations. Often these decisions are very difficult for Google to make, because they don't have much to do with the returning orgs' success in previous years. Also sometimes Google chooses to let an organization that has been participating for many years have a year off to let a new organization participate. It doesn't mean that Google is upset wit that veteran organization, there just needs to be new blood and things need to get mixed up every now and then. The veteran organization should certainly apply again for the next year's program. +Every year Google tries to make room for new organizations in the open source world who can provide a different perspective or different opportunities to the students who participate in GSoC. This can often mean rejecting an org that has successfully participated in years past to allow space for new organizations. Often these decisions are very difficult for Google to make, because they don't have much to do with the returning orgs' success in previous years. Also sometimes Google chooses to let an organization that has been participating for many years have a year off to let a new organization participate. It doesn't mean that Google is upset with that veteran organization, there just needs to be new blood and things need to get mixed up every now and then. The veteran organization should certainly apply again for the next year's program. ## What Not to Do -Incomplete applications are common and result in an automatic rejection by Google. Don't submit an Ideas List or a document Google administrators don't have access to. Do not make your Ideas list a link to a list of bug tracker issues, that will be a rejection. Google doesn't have the time or capacity to iterate with you on your application. Take the time to create a thoughtful proposal. +Incomplete applications are common and result in an automatic rejection by Google. Don't submit an Ideas List or a document Google administrators don't have access to. Do not make your Ideas List a link to a list of bug tracker issues, that will be a rejection. Google doesn't have the time or capacity to iterate with you on your application. Take the time to create a thoughtful proposal. ## Just Because You Did Everything Right @@ -46,7 +46,7 @@ The questions vary from year to year, but will be similar to: * What would your organization consider to be a successful GSoC for your org? * How will you keep mentors engaged with their GSoC contributors? * How will you help your GSoC contributors stay on schedule to complete their projects? -* How will you keep your GSoC contributors involed in your community during and after GSoC? +* How will you keep your GSoC contributors involved in your community during and after GSoC? * Has your org been accepted as a mentor org in GSoC? * If so, when and how many GSoC contributors are still actively involved in your community today? * Where does your source code live? From c88cd0c0dcd1af96d218ac7702bf60b1d5fb085e Mon Sep 17 00:00:00 2001 From: David Sanders Date: Fri, 28 Jan 2022 20:01:53 -0800 Subject: [PATCH 114/212] Fix typos --- pages/mentor/17-building_a_lifetime_contributor.md | 2 +- pages/student/12-how_to_get_a_head_start.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/mentor/17-building_a_lifetime_contributor.md b/pages/mentor/17-building_a_lifetime_contributor.md index 5f175a1d..65b87386 100644 --- a/pages/mentor/17-building_a_lifetime_contributor.md +++ b/pages/mentor/17-building_a_lifetime_contributor.md @@ -24,6 +24,6 @@ The work of transforming your GSoC contributors into lifetime contributors begin **Stay in contact**: Open source organizations typically sustain themselves through the personal connections developers have to each other. Many contributors consider each other friends, and communicate non-technical information to each other. Remember though, that during GSoC the mentor and GSoC contributor relationship requires the mentor to be a leader, so when in doubt err on the side of communicating professionally--no matter how informal the tone of your overall community. -Communicate early and communicate often! Try sending periodic emails to check in, pass on an interesting link or share a photo. Social networks can be useful for maintaining contact without a lot of overhead. Examples include: Identi.ca, Flickr, and GitHub. Use what works for you, and don't feel pressured to get involved with a social network. The telephone is also a valualbe resource; studies of open source communications have shown that VOIP technology is used with surprising frequency in open source projects, and it is a very personal and friendly form of communication. +Communicate early and communicate often! Try sending periodic emails to check in, pass on an interesting link or share a photo. Social networks can be useful for maintaining contact without a lot of overhead. Examples include: Identi.ca, Flickr, and GitHub. Use what works for you, and don't feel pressured to get involved with a social network. The telephone is also a valuable resource; studies of open source communications have shown that VOIP technology is used with surprising frequency in open source projects, and it is a very personal and friendly form of communication. **Don't Be That Person**: Be socially and culturally sensitive. If you and your GSoC contributor don't share the same cultural background, ask respectful questions so you get to know about the similarities and differences a bit more. Also, make sure to maintain appropriate boundaries in your communications. For example, a student calling in the middle of the night to ask for relationship advice is not a pleasant situation for anyone; leave those conversations for their friends. diff --git a/pages/student/12-how_to_get_a_head_start.md b/pages/student/12-how_to_get_a_head_start.md index ec6bc53e..f077557a 100644 --- a/pages/student/12-how_to_get_a_head_start.md +++ b/pages/student/12-how_to_get_a_head_start.md @@ -60,4 +60,4 @@ You can even consider starting a local student chapter for your community if you ## Review Your Project Plan -Do you have a good project schedule? Have you informed your mentor of any planned absences? Make any project adjustments you may now recognize as necessary based upon getting your dev environment setup and your new understanding of how the project works. With the flexibility in extending your program timeline that is being offered in 2022, this is a crucial time to let your mentor know if your plans changed since you first wrote your proposal and now you will have limited availability for X weeks for whatever reason. Communicate with your mentor. They want you to succeed but you have to let them know you have some varying availabilty during the summer. It's okay as long as you let them know as soon as you can so you both can work on a reasonable schedule and project milestones together. +Do you have a good project schedule? Have you informed your mentor of any planned absences? Make any project adjustments you may now recognize as necessary based upon getting your dev environment setup and your new understanding of how the project works. With the flexibility in extending your program timeline that is being offered in 2022, this is a crucial time to let your mentor know if your plans changed since you first wrote your proposal and now you will have limited availability for X weeks for whatever reason. Communicate with your mentor. They want you to succeed but you have to let them know you have some varying availability during the summer. It's okay as long as you let them know as soon as you can so you both can work on a reasonable schedule and project milestones together. From 249a87365941ee7615b815a931f2bb145f752795 Mon Sep 17 00:00:00 2001 From: David Perez-Suarez Date: Sat, 19 Feb 2022 17:26:28 +0000 Subject: [PATCH 115/212] Update titles of sections and side bars to refer to contributors --- README.md | 2 +- _data/sidebars/mentor_sidebar.yml | 4 ++-- _data/sidebars/student_sidebar.yml | 4 ++-- pages/index.md | 2 +- pages/mentor/19-selecting_students_and_mentors.md | 2 +- pages/student/14-time_management_for_students.md | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0b1ad657..1926b533 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Google Summer of Code Guides -This project contains the Google Summer of Code Mentor Guide and Student Guide. +This project contains the Google Summer of Code Mentor Guide and Contributor Guide. ## Template diff --git a/_data/sidebars/mentor_sidebar.yml b/_data/sidebars/mentor_sidebar.yml index a5e7cb1e..73205cab 100644 --- a/_data/sidebars/mentor_sidebar.yml +++ b/_data/sidebars/mentor_sidebar.yml @@ -23,7 +23,7 @@ entries: - title: Defining a Project (Ideas List) url: defining-a-project-ideas-list output: web - - title: Selecting a Student + - title: Selecting a Contributor url: selecting-a-student output: web - title: Communication @@ -77,7 +77,7 @@ entries: - title: Making Your Ideas Page url: making-your-ideas-page output: web - - title: Selecting Students and Mentors + - title: Selecting Contributors and Mentors url: selecting-students-and-mentors output: web - title: Org Application diff --git a/_data/sidebars/student_sidebar.yml b/_data/sidebars/student_sidebar.yml index 32618c69..8c52a2a1 100644 --- a/_data/sidebars/student_sidebar.yml +++ b/_data/sidebars/student_sidebar.yml @@ -1,6 +1,6 @@ entries: - title: sidebar - product: Student Guide + product: Contributor Guide folders: - title: Introduction output: web @@ -56,7 +56,7 @@ entries: - title: Working With Your Mentor url: working-with-your-mentor output: web - - title: Time management for students + - title: Time management for contributors url: time-management-for-students output: web - title: Evaluations diff --git a/pages/index.md b/pages/index.md index 605b9cc7..1449e44f 100644 --- a/pages/index.md +++ b/pages/index.md @@ -4,4 +4,4 @@ permalink: index.html --- * [Mentor Guide](mentor/) -* [Student Guide](student/) +* [Contributor Guide](student/) diff --git a/pages/mentor/19-selecting_students_and_mentors.md b/pages/mentor/19-selecting_students_and_mentors.md index 74d43339..a9815c1a 100644 --- a/pages/mentor/19-selecting_students_and_mentors.md +++ b/pages/mentor/19-selecting_students_and_mentors.md @@ -1,5 +1,5 @@ --- -title: Selecting Students and Mentors +title: Selecting Contributors and Mentors section: Org Admin order: 19 permalink: mentor/selecting-students-and-mentors.html diff --git a/pages/student/14-time_management_for_students.md b/pages/student/14-time_management_for_students.md index 35ed27f5..00eae3c3 100644 --- a/pages/student/14-time_management_for_students.md +++ b/pages/student/14-time_management_for_students.md @@ -1,5 +1,5 @@ --- -title: Time management for students +title: Time management for contributors section: Let The Coding Begin order: 14 permalink: student/time-management-for-students.html From 9d97770a975799b9d53b9fe356a38ab4a76a1e87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 26 Feb 2022 03:30:47 +0000 Subject: [PATCH 116/212] Bump nokogiri from 1.12.5 to 1.13.3 Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.12.5 to 1.13.3. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.12.5...v1.13.3) --- updated-dependencies: - dependency-name: nokogiri dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 711dcf20..2590a505 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -205,15 +205,15 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.6.1) + mini_portile2 (2.8.0) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.14.4) multipart-post (2.1.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) + nokogiri (1.13.3) + mini_portile2 (~> 2.8.0) racc (~> 1.4) octokit (4.20.0) faraday (>= 0.9) @@ -221,7 +221,7 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.6) - racc (1.5.2) + racc (1.6.0) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) From a46d86d8748ab8e483aa6eccab168a099ab51a7c Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Tue, 8 Mar 2022 09:42:55 -0800 Subject: [PATCH 117/212] bundle update github-pages --- Gemfile.lock | 170 ++++++++++++++++++++++++++++----------------------- 1 file changed, 94 insertions(+), 76 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2590a505..33650323 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.3.6) + activesupport (6.0.4.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -14,36 +14,54 @@ GEM execjs coffee-script-source (1.11.1) colorator (1.1.0) - commonmarker (0.17.13) - ruby-enum (~> 0.5) - concurrent-ruby (1.1.8) - dnsruby (1.61.5) + commonmarker (0.23.4) + concurrent-ruby (1.1.9) + dnsruby (1.61.9) simpleidn (~> 0.1) - em-websocket (0.5.2) + em-websocket (0.5.3) eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - ethon (0.12.0) - ffi (>= 1.3.0) + http_parser.rb (~> 0) + ethon (0.15.0) + ffi (>= 1.15.0) eventmachine (1.2.7) - execjs (2.7.0) - faraday (1.3.0) + execjs (2.8.1) + faraday (1.10.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.3) multipart-post (>= 1.2, < 3) - ruby2_keywords faraday-net_http (1.0.1) - ffi (1.15.0) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + ffi (1.15.5) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (214) - github-pages-health-check (= 1.17.0) + github-pages (225) + github-pages-health-check (= 1.17.9) jekyll (= 3.9.0) jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.1.6) + jekyll-commonmark-ghpages (= 0.2.0) jekyll-default-layout (= 0.1.4) jekyll-feed (= 0.15.1) jekyll-gist (= 1.5.0) jekyll-github-metadata (= 2.13.0) + jekyll-include-cache (= 0.2.1) jekyll-mentions (= 1.6.0) jekyll-optional-front-matter (= 0.3.2) jekyll-paginate (= 1.1.0) @@ -52,22 +70,22 @@ GEM jekyll-relative-links (= 0.6.1) jekyll-remote-theme (= 0.4.3) jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.7.1) + jekyll-seo-tag (= 2.8.0) jekyll-sitemap (= 1.4.0) jekyll-swiss (= 1.0.0) - jekyll-theme-architect (= 0.1.1) - jekyll-theme-cayman (= 0.1.1) - jekyll-theme-dinky (= 0.1.1) - jekyll-theme-hacker (= 0.1.2) - jekyll-theme-leap-day (= 0.1.1) - jekyll-theme-merlot (= 0.1.1) - jekyll-theme-midnight (= 0.1.1) - jekyll-theme-minimal (= 0.1.1) - jekyll-theme-modernist (= 0.1.1) - jekyll-theme-primer (= 0.5.4) - jekyll-theme-slate (= 0.1.1) - jekyll-theme-tactile (= 0.1.1) - jekyll-theme-time-machine (= 0.1.1) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) jekyll-titles-from-headings (= 0.5.3) jemoji (= 0.12.0) kramdown (= 2.3.1) @@ -75,19 +93,19 @@ GEM liquid (= 4.0.3) mercenary (~> 0.3) minima (= 2.5.1) - nokogiri (>= 1.10.4, < 2.0) + nokogiri (>= 1.12.5, < 2.0) rouge (= 3.26.0) terminal-table (~> 1.4) - github-pages-health-check (1.17.0) + github-pages-health-check (1.17.9) addressable (~> 2.3) dnsruby (~> 1.60) octokit (~> 4.0) - public_suffix (>= 2.0.2, < 5.0) + public_suffix (>= 3.0, < 5.0) typhoeus (~> 1.3) html-pipeline (2.14.0) activesupport (>= 2) nokogiri (>= 1.4) - http_parser.rb (0.6.0) + http_parser.rb (0.8.0) i18n (0.9.5) concurrent-ruby (~> 1.0) jekyll (3.9.0) @@ -108,12 +126,12 @@ GEM jekyll-coffeescript (1.1.1) coffee-script (~> 2.2) coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.3.1) - commonmarker (~> 0.14) - jekyll (>= 3.7, < 5.0) - jekyll-commonmark-ghpages (0.1.6) - commonmarker (~> 0.17.6) - jekyll-commonmark (~> 1.2) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.2.0) + commonmarker (~> 0.23.4) + jekyll (~> 3.9.0) + jekyll-commonmark (~> 1.4.0) rouge (>= 2.0, < 4.0) jekyll-default-layout (0.1.4) jekyll (~> 3.0) @@ -124,6 +142,8 @@ GEM jekyll-github-metadata (2.13.0) jekyll (>= 3.4, < 5.0) octokit (~> 4.0, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) jekyll-mentions (1.6.0) html-pipeline (~> 2.3) jekyll (>= 3.7, < 5.0) @@ -143,50 +163,50 @@ GEM rubyzip (>= 1.3.0, < 3.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-seo-tag (2.7.1) + jekyll-seo-tag (2.8.0) jekyll (>= 3.8, < 5.0) jekyll-sitemap (1.4.0) jekyll (>= 3.7, < 5.0) jekyll-swiss (1.0.0) - jekyll-theme-architect (0.1.1) - jekyll (~> 3.5) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.1.1) - jekyll (~> 3.5) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.1.1) - jekyll (~> 3.5) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.1.2) + jekyll-theme-hacker (0.2.0) jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.1.1) - jekyll (~> 3.5) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.1.1) - jekyll (~> 3.5) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.1.1) - jekyll (~> 3.5) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.1.1) - jekyll (~> 3.5) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.1.1) - jekyll (~> 3.5) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.5.4) + jekyll-theme-primer (0.6.0) jekyll (> 3.5, < 5.0) jekyll-github-metadata (~> 2.9) jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.1.1) - jekyll (~> 3.5) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.1.1) - jekyll (~> 3.5) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.1.1) - jekyll (~> 3.5) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) jekyll-titles-from-headings (0.5.3) jekyll (>= 3.3, < 5.0) @@ -201,7 +221,7 @@ GEM kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) - listen (3.5.1) + listen (3.7.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) @@ -210,27 +230,25 @@ GEM jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.14.4) + minitest (5.15.0) multipart-post (2.1.1) nokogiri (1.13.3) mini_portile2 (~> 2.8.0) racc (~> 1.4) - octokit (4.20.0) + octokit (4.22.0) faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.6) racc (1.6.0) - rb-fsevent (0.10.4) + rb-fsevent (0.11.1) rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.5) rouge (3.26.0) - ruby-enum (0.9.0) - i18n - ruby2_keywords (0.0.4) - rubyzip (2.3.0) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -251,9 +269,9 @@ GEM thread_safe (~> 0.1) unf (0.1.4) unf_ext - unf_ext (0.0.7.7) - unicode-display_width (1.7.0) - zeitwerk (2.4.2) + unf_ext (0.0.8) + unicode-display_width (1.8.0) + zeitwerk (2.5.4) PLATFORMS ruby From f6fc060e14576fef5bead49d77212dfa432a2268 Mon Sep 17 00:00:00 2001 From: Kevin Samuel Date: Tue, 15 Mar 2022 21:28:28 +0100 Subject: [PATCH 118/212] grammar: fix typo its ~ possessive pronoun: the X of it it's ~ contraction of "it is" --- pages/student/04-choosing_an_organization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/04-choosing_an_organization.md b/pages/student/04-choosing_an_organization.md index 4edfa411..baea3a24 100644 --- a/pages/student/04-choosing_an_organization.md +++ b/pages/student/04-choosing_an_organization.md @@ -26,4 +26,4 @@ The very first requirement for a successful GSoC experience is finding a project After the GSoC program is announced each year, a list of accepted organizations is published on the GSoC website (usually in February). Compile a list of organizations based on your answers above. The projects are also tagged with categories of programming language, platforms, topics and applications. Use the tags to filter organizations based on your skills and interests. -For each organization, take some time to learn more about what they do (i.e., Google them!). The organization's mission, it's size and range of applications may all influence your interest in working with them. Realize that through GSoC you will be joining an open source community. Ideally, you'll find an organization that you are enthusiastic to be a part of for many years to come! +For each organization, take some time to learn more about what they do (i.e., Google them!). The organization's mission, its size and range of applications may all influence your interest in working with them. Realize that through GSoC you will be joining an open source community. Ideally, you'll find an organization that you are enthusiastic to be a part of for many years to come! From e662687ee27ae2d8eb5250878af104521b788688 Mon Sep 17 00:00:00 2001 From: Kevin Samuel Date: Tue, 15 Mar 2022 21:28:28 +0100 Subject: [PATCH 119/212] (student/proposal): clarify and link formal rules the portion about "visa" is a bit ambiguous for GSoC 2022, where general public contributors are welcomed. also: fix typos --- pages/student/06-writing_a_proposal.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pages/student/06-writing_a_proposal.md b/pages/student/06-writing_a_proposal.md index d9310db6..064be843 100644 --- a/pages/student/06-writing_a_proposal.md +++ b/pages/student/06-writing_a_proposal.md @@ -6,17 +6,17 @@ permalink: student/writing-a-proposal.html sidebar: student_sidebar --- -This is a competitive program, each year Google turns down many more applicants than it funds. While pre-proposal activities are key to improving your chances of success, a poorly-written proposal is an easy way to fail. There is much you can do to ensure that your project proposal catches the attention of organization reviewers *in a positive way.* +This is a competitive program, each year Google turns down many more applicants than it funds. While pre-proposal activities are key to improving your chances of success, a poorly-written proposal is an easy way to fail. There is much you can do to ensure that your project proposal catches the attention of organization reviewers _in a positive way._ ## The Basics -First and foremost, make sure you meet Google's formal requirements for participation in Summer of Code. Also be sure you are eligible to participate in a program like GSoC with your visa, etc. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. +First and foremost, make sure you meet [Google's formal requirements](https://summerofcode.withgoogle.com/rules#:~:text=for%20the%20duration%20of%20the%20Program%2C%20be%20eligible%20to%20work%20in%20the%20country%20in%20which%20they%20reside%3B%20and) for participation in Summer of Code. This includes ensuring that you are **eligible to work** in the country where you reside for the duration of the program. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. Inventory your time. Figure out how many hours per week are already spoken for outside of your GSoC commitment, including time spent volunteering for other projects and activities, a part-time job or counting credit-hours of academic instruction. In any case, be completely clear about outside time commitments as part of your proposal. If you know you need to take a couple of weeks off because of finals or a wedding, etc. be upfront with the mentors, we have added some flexibility into the 2022 program so this should be fine, you just need to let your mentor know as soon as you know the details. Do not surprise an organization with your time commitments later on. It may be possible to extend the end date of your project if your org will allow it. But this should be discussed early on so everyone can be on the same page. Make sure that you are able to be in regular close contact with organization mentors via the usual open source means (email, chat, etc) for the duration of the summer. It is not necessary (or likely possible) that you be geographically near your mentor. However, if you are not sure you will have good Internet connectivity continuously over the summer, GSoC is not for you. -This program is the Google Summer of *Code.* If you are less than fluent in the programming languages that your target organization uses, you might want to skip the work of writing an application. If you do decide to proceed, be clear about your level of ability, so that the organization can make an informed decision. +This program is the Google Summer of _Code._ If you are less than fluent in the programming languages that your target organization uses, you might want to skip the work of writing an application. If you do decide to proceed, be clear about your level of ability, so that the organization can make an informed decision. ## Elements of a Quality Proposal @@ -38,7 +38,7 @@ If the format allows, start your proposal with a short summary, designed to conv **Benefits to Community** -Don't forget to make your case for a benefit to the organization, not just to yourself. Why would Google and your organization be proud to sponsor this work? How would open source or society as a whole benefit? What cool things would be demonstrated? +Don't forget to make your case for a benefit to the organization, not just to yourself. Why would Google and your organization be proud to sponsor this work? How would open source or society as a whole benefit? What cool things would be demonstrated? **Deliverables** @@ -54,7 +54,7 @@ Keep your personal info brief. Be sure to communicate personal experiences and s **Follow the Rules** -Most organizations accept only plain text applications. Most organizations have a required application format. Many organizations have application length limits. In general, organizations *will* throw out your proposal if you fail to conform to these guidelines. If you feel you *must* have graphical or interactive content associated with your application, put just this content (not a copy of your proposal) on the web and provide an easy-to-type URL. Do not expect reviewers to follow this link. +Most organizations accept only plain text applications. Most organizations have a required application format. Many organizations have application length limits. In general, organizations _will_ throw out your proposal if you fail to conform to these guidelines. If you feel you _must_ have graphical or interactive content associated with your application, put just this content (not a copy of your proposal) on the web and provide an easy-to-type URL. Do not expect reviewers to follow this link. ## Submit a Proposal early @@ -92,7 +92,7 @@ If your proposal is near the boundary, make sure you clear it with your target o **Boring projects** -For the mentor and the organization, half the fun is helping a GSoC contributor do something novel and cool. Infrastructure *per se* isn't necessarily boring, but it should be part of a luminous vision. +For the mentor and the organization, half the fun is helping a GSoC contributor do something novel and cool. Infrastructure _per se_ isn't necessarily boring, but it should be part of a luminous vision. **Stuff that's already been done to death** From aafc916d5a8c633250656083546c21d0298a4d57 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Tue, 12 Apr 2022 09:29:46 -0700 Subject: [PATCH 120/212] update deps: nokogiri, etc.. to fix https://github.com/google/gsocguides/security/dependabot/4 --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 33650323..0804c6ca 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.4.6) + activesupport (6.0.4.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -15,7 +15,7 @@ GEM coffee-script-source (1.11.1) colorator (1.1.0) commonmarker (0.23.4) - concurrent-ruby (1.1.9) + concurrent-ruby (1.1.10) dnsruby (1.61.9) simpleidn (~> 0.1) em-websocket (0.5.3) @@ -102,7 +102,7 @@ GEM octokit (~> 4.0) public_suffix (>= 3.0, < 5.0) typhoeus (~> 1.3) - html-pipeline (2.14.0) + html-pipeline (2.14.1) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) @@ -232,7 +232,7 @@ GEM jekyll-seo-tag (~> 2.1) minitest (5.15.0) multipart-post (2.1.1) - nokogiri (1.13.3) + nokogiri (1.13.4) mini_portile2 (~> 2.8.0) racc (~> 1.4) octokit (4.22.0) @@ -240,7 +240,7 @@ GEM sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.6) + public_suffix (4.0.7) racc (1.6.0) rb-fsevent (0.11.1) rb-inotify (0.10.1) @@ -269,7 +269,7 @@ GEM thread_safe (~> 0.1) unf (0.1.4) unf_ext - unf_ext (0.0.8) + unf_ext (0.0.8.1) unicode-display_width (1.8.0) zeitwerk (2.5.4) From 2b8f98021293ce6823b2a1acdd59b64ef76c662d Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 9 May 2022 11:16:34 -0700 Subject: [PATCH 121/212] Update 19-selecting_students_and_mentors.md updated tie-breaker information --- pages/mentor/19-selecting_students_and_mentors.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/mentor/19-selecting_students_and_mentors.md b/pages/mentor/19-selecting_students_and_mentors.md index a9815c1a..88de8452 100644 --- a/pages/mentor/19-selecting_students_and_mentors.md +++ b/pages/mentor/19-selecting_students_and_mentors.md @@ -36,7 +36,9 @@ You can not substitute in other proposals after you have ranked your proposals a GSoC contributors are allowed to submit up to 3 proposals each year, and they can be to multiple organizations. When organizations have chosen their desired GSoC contributors based on their ranked slot allocations, it is inevitably the case that a few GSoC contributors are sought by more than one organization. -{Process for 2022 still being developed with new webapp - more details coming soon.} +Ranking is taken into account when slots are allocated to projects. The higher your organization ranks a proposal the more likely your organization will receive it, in the case another organization also ranks a proposal from the same contributor. If a tie breaker is necessary, then Google's AI will select which org will receive the proposal. + +If you "lose" the project due to another org ranking it higher, Google will contact you to see which project you would like to replace that slot with. The system will automatically select the next ranked proposal (if your org did not receive all the slots you asked for) but the OA will have a day or so to let Google Admins know if they would prefer to adjust that project slot to a different contributor. ## Acquiring and Assigning Mentors From ba1e03fb443bd24543b9a5ff624c8826a243c734 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 9 May 2022 11:22:01 -0700 Subject: [PATCH 122/212] Update 19-selecting_students_and_mentors.md updating ignore text. --- pages/mentor/19-selecting_students_and_mentors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/19-selecting_students_and_mentors.md b/pages/mentor/19-selecting_students_and_mentors.md index 88de8452..beb6b202 100644 --- a/pages/mentor/19-selecting_students_and_mentors.md +++ b/pages/mentor/19-selecting_students_and_mentors.md @@ -54,7 +54,7 @@ If you (or the mentor) are insecure about their qualifications having them join ## Cheating and Proposals From Outer Space -Avoid spending time on proposals that were not tailored to your project by using the "ignore" feature for GSoC contributor proposals. +Avoid spending time on proposals that were not tailored to your project by ignoring them. Some folks use the star feature to mark their favorites or to mark the proposals they are going to ignore. Stars are only visible to the user and can not be seen by others. Occasionally a GSoC contributor does not understand the importance of attribution when drawing on material from outside sources. Make sure they understand, early on, that plagiarism is not tolerated. The article has some context to avoid surprises. From 0d6724cc129e5cd427e378b159a920c0a5ed1a2c Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 19 May 2022 15:51:03 -0700 Subject: [PATCH 123/212] bundle update github-pages to upgrade nokogiri to fix https://github.com/google/gsocguides/security/dependabot/7 --- Gemfile.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0804c6ca..39b18c9c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.4.7) + activesupport (6.0.5) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -51,9 +51,9 @@ GEM ffi (1.15.5) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (225) + github-pages (226) github-pages-health-check (= 1.17.9) - jekyll (= 3.9.0) + jekyll (= 3.9.2) jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) jekyll-commonmark-ghpages (= 0.2.0) @@ -88,12 +88,12 @@ GEM jekyll-theme-time-machine (= 0.2.0) jekyll-titles-from-headings (= 0.5.3) jemoji (= 0.12.0) - kramdown (= 2.3.1) + kramdown (= 2.3.2) kramdown-parser-gfm (= 1.1.0) liquid (= 4.0.3) mercenary (~> 0.3) minima (= 2.5.1) - nokogiri (>= 1.12.5, < 2.0) + nokogiri (>= 1.13.4, < 2.0) rouge (= 3.26.0) terminal-table (~> 1.4) github-pages-health-check (1.17.9) @@ -108,7 +108,7 @@ GEM http_parser.rb (0.8.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jekyll (3.9.0) + jekyll (3.9.2) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -216,7 +216,7 @@ GEM gemoji (~> 3.0) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) - kramdown (2.3.1) + kramdown (2.3.2) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) @@ -232,7 +232,7 @@ GEM jekyll-seo-tag (~> 2.1) minitest (5.15.0) multipart-post (2.1.1) - nokogiri (1.13.4) + nokogiri (1.13.6) mini_portile2 (~> 2.8.0) racc (~> 1.4) octokit (4.22.0) From 00aad5e24f3ab192e3be694c319c5b4c773fa1aa Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Thu, 21 Jul 2022 19:17:47 -0700 Subject: [PATCH 124/212] Update dependencies. (bundle update) --- Gemfile.lock | 56 +++++++++++++++++----------------------------------- 1 file changed, 18 insertions(+), 38 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 39b18c9c..f37d16ed 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.5) + activesupport (6.0.5.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -14,7 +14,7 @@ GEM execjs coffee-script-source (1.11.1) colorator (1.1.0) - commonmarker (0.23.4) + commonmarker (0.23.5) concurrent-ruby (1.1.10) dnsruby (1.61.9) simpleidn (~> 0.1) @@ -25,33 +25,14 @@ GEM ffi (>= 1.15.0) eventmachine (1.2.7) execjs (2.8.1) - faraday (1.10.0) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0) - faraday-multipart (~> 1.0) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - faraday-retry (~> 1.0) + faraday (2.3.0) + faraday-net_http (~> 2.0) ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) - faraday-multipart (1.0.3) - multipart-post (>= 1.2, < 3) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - faraday-retry (1.0.3) + faraday-net_http (2.0.3) ffi (1.15.5) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (226) + github-pages (227) github-pages-health-check (= 1.17.9) jekyll (= 3.9.2) jekyll-avatar (= 0.7.0) @@ -93,7 +74,7 @@ GEM liquid (= 4.0.3) mercenary (~> 0.3) minima (= 2.5.1) - nokogiri (>= 1.13.4, < 2.0) + nokogiri (>= 1.13.6, < 2.0) rouge (= 3.26.0) terminal-table (~> 1.4) github-pages-health-check (1.17.9) @@ -102,7 +83,7 @@ GEM octokit (~> 4.0) public_suffix (>= 3.0, < 5.0) typhoeus (~> 1.3) - html-pipeline (2.14.1) + html-pipeline (2.14.2) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) @@ -230,14 +211,13 @@ GEM jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.15.0) - multipart-post (2.1.1) - nokogiri (1.13.6) + minitest (5.16.2) + nokogiri (1.13.7) mini_portile2 (~> 2.8.0) racc (~> 1.4) - octokit (4.22.0) - faraday (>= 0.9) - sawyer (~> 0.8.0, >= 0.5.3) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.7) @@ -255,9 +235,9 @@ GEM sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.2) + sawyer (0.9.2) addressable (>= 2.3.5) - faraday (> 0.8, < 2.0) + faraday (>= 0.17.3, < 3) simpleidn (0.2.1) unf (~> 0.1.4) terminal-table (1.8.0) @@ -265,13 +245,13 @@ GEM thread_safe (0.3.6) typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.9) + tzinfo (1.2.10) thread_safe (~> 0.1) unf (0.1.4) unf_ext - unf_ext (0.0.8.1) + unf_ext (0.0.8.2) unicode-display_width (1.8.0) - zeitwerk (2.5.4) + zeitwerk (2.6.0) PLATFORMS ruby From b12c6b7c5c6e4139e0f2a1549a7d0e2dab0384e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Sep 2022 02:23:08 +0000 Subject: [PATCH 125/212] Bump commonmarker from 0.23.5 to 0.23.6 Bumps [commonmarker](https://github.com/gjtorikian/commonmarker) from 0.23.5 to 0.23.6. - [Release notes](https://github.com/gjtorikian/commonmarker/releases) - [Changelog](https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md) - [Commits](https://github.com/gjtorikian/commonmarker/compare/v0.23.5...v0.23.6) --- updated-dependencies: - dependency-name: commonmarker dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f37d16ed..3284596a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,7 +14,7 @@ GEM execjs coffee-script-source (1.11.1) colorator (1.1.0) - commonmarker (0.23.5) + commonmarker (0.23.6) concurrent-ruby (1.1.10) dnsruby (1.61.9) simpleidn (~> 0.1) From 9250901c26aeced6e0abdbe9d817ad01c7179c03 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Fri, 21 Oct 2022 14:36:56 -0700 Subject: [PATCH 126/212] Upgrade dependencies. Supercedes PR#91 --- Gemfile.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3284596a..9c735591 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,14 +1,14 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.5.1) + activesupport (6.0.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) coffee-script (2.4.1) coffee-script-source execjs @@ -25,10 +25,10 @@ GEM ffi (>= 1.15.0) eventmachine (1.2.7) execjs (2.8.1) - faraday (2.3.0) - faraday-net_http (~> 2.0) + faraday (2.6.0) + faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) - faraday-net_http (2.0.3) + faraday-net_http (3.0.1) ffi (1.15.5) forwardable-extended (2.6.0) gemoji (3.0.1) @@ -83,7 +83,7 @@ GEM octokit (~> 4.0) public_suffix (>= 3.0, < 5.0) typhoeus (~> 1.3) - html-pipeline (2.14.2) + html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) @@ -211,8 +211,8 @@ GEM jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.16.2) - nokogiri (1.13.7) + minitest (5.16.3) + nokogiri (1.13.9) mini_portile2 (~> 2.8.0) racc (~> 1.4) octokit (4.25.1) @@ -222,7 +222,7 @@ GEM forwardable-extended (~> 2.6) public_suffix (4.0.7) racc (1.6.0) - rb-fsevent (0.11.1) + rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.5) @@ -251,7 +251,7 @@ GEM unf_ext unf_ext (0.0.8.2) unicode-display_width (1.8.0) - zeitwerk (2.6.0) + zeitwerk (2.6.1) PLATFORMS ruby From 0241705ace828f92d18aa81bf5a036e37b932e67 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 25 Oct 2022 20:15:54 -0700 Subject: [PATCH 127/212] Update 11-setting_expectations.md Whole section explaining project length and project size --- pages/mentor/11-setting_expectations.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pages/mentor/11-setting_expectations.md b/pages/mentor/11-setting_expectations.md index 9bc5c884..2b1871a2 100644 --- a/pages/mentor/11-setting_expectations.md +++ b/pages/mentor/11-setting_expectations.md @@ -31,3 +31,16 @@ Overall, communicate and be reasonable when it comes to your GSoC contributors. **Pro Tip**: Ask about the weather and local stability of public services. Is your GSoC contributor using the cafe down the street for Internet access? Are there seasonal weather conditions that may lead to flooding and the subsequent inability to turn-on one's computer? Work on a plan to address these types of environmental issues that can affect both communication and output. **Don't Be That Person**: No one likes dictators. Work with your GSoC contributor on the development of expectations, rather then barking out orders. + +## Project Size vs Project Length + +In 2022, Google introduced 2 new features to allow more flexibility to the program: 1) multiple project sizes and 2) multiple possible project lengths. These are very different features and aren't correlated to one another, despite what most folks think. :) A medium project (175 hours) could be a 22 week project if that is what the Mentor, GSoC Contributor, and Org Admin agree to. And a large project (350 hours) could be 10 weeks if agreed upon by all. + +**Project Size**: Projects can be designed to be ~175 hour projects or ~350 hour projects. When a potential GSoC Contributor submits their proposal to an organization they indicate the size of the project: medium (~175 hours) or large (~350 hours). An Org Admin can not change the size of the project from medium to large but they can contact Google Program Admins to downsize a project from large to medium as needed. + +**Project Length**: The Coding period of a GSoC Contributor project can be 10-22 weeks. The standard coding project length is 12 weeks regardless of the project size (medium or large). +All projects by default are 12 week projects. If a Mentor and GSoC Contributor agree that they want a project to be a different length, for example, 16 weeks, then they ask the Org Admin to adjust the Project Timeline on the GSoC webapp. Adjustments to a project's timeline (and thus length) must be done before an evaluation phase begins. An Org Admin can not change a midterm evaluation deadline once the midterm evaluation period has begun (same with final submission period). +Sometimes a project is extended to the 18 or 20 weeks because the GSoC Contributor is unable to really get their project going until a few weeks or so later into the coding period due to other commitments (exams, graduation, wedding, etc.). This is why we have designed the program to allow a medium or large project to be anywhere in the 10-22 week period. +Google Admins have given guidance on the dates for a project to make it as easy as possible for an Org Admin to be sure they are giving the evaluation periods the appropriate number of days for all participants. The dates can be found as a link when the Org Admin opens a project under the timeline section. +Reminder emails are sent to all Assigned Mentors on a project and to the GSoC Contributors based on the Project's length. Each Mentor and GSoC Contributor will receive a reminder email 10 days before their evaluation period begins and another reminder the day their evaluation period opens. If a Mentor or GSoC Contributor has not submitted their evaluation (or final submission) 24 hours before their deadline they will receive a final reminder email. +Important Note: Org Admins have the final say in whether they want to allow various project lengths or if they want all of their projects to be the standard 12 week projects. While the flexibilty is great for many, it can be more cumbersome for the Org Admins as they have to keep track of the various dates for projects (available from their Org Admin view of all Projects for their org). From 389d507fdeb968a866064b169c9377ffc85c9d94 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Tue, 25 Oct 2022 20:34:22 -0700 Subject: [PATCH 128/212] Upgrade to latest versions of checkout and markdownlint actions. Pin to v3 for both, which will float to the latest v3 version. --- .github/workflows/markdownlint.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index 6f0b72ce..9dc6bec9 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -20,10 +20,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: markdownlint-cli - uses: nosborn/github-action-markdown-cli@v3.0.1 + uses: nosborn/github-action-markdown-cli@v3 with: files: . config_file: ".markdownlint.yaml" From d19512872a5b671d8a96860013511c8e2366848e Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 25 Oct 2022 20:56:25 -0700 Subject: [PATCH 129/212] Update 11-setting_expectations.md added paragraphs --- pages/mentor/11-setting_expectations.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pages/mentor/11-setting_expectations.md b/pages/mentor/11-setting_expectations.md index 2b1871a2..a0d8de68 100644 --- a/pages/mentor/11-setting_expectations.md +++ b/pages/mentor/11-setting_expectations.md @@ -38,9 +38,14 @@ In 2022, Google introduced 2 new features to allow more flexibility to the progr **Project Size**: Projects can be designed to be ~175 hour projects or ~350 hour projects. When a potential GSoC Contributor submits their proposal to an organization they indicate the size of the project: medium (~175 hours) or large (~350 hours). An Org Admin can not change the size of the project from medium to large but they can contact Google Program Admins to downsize a project from large to medium as needed. -**Project Length**: The Coding period of a GSoC Contributor project can be 10-22 weeks. The standard coding project length is 12 weeks regardless of the project size (medium or large). +**Project Length**: The Coding period of a GSoC Contributor project can be 10-22 weeks. The standard coding project length is 12 weeks regardless of the project size (medium or large). + All projects by default are 12 week projects. If a Mentor and GSoC Contributor agree that they want a project to be a different length, for example, 16 weeks, then they ask the Org Admin to adjust the Project Timeline on the GSoC webapp. Adjustments to a project's timeline (and thus length) must be done before an evaluation phase begins. An Org Admin can not change a midterm evaluation deadline once the midterm evaluation period has begun (same with final submission period). -Sometimes a project is extended to the 18 or 20 weeks because the GSoC Contributor is unable to really get their project going until a few weeks or so later into the coding period due to other commitments (exams, graduation, wedding, etc.). This is why we have designed the program to allow a medium or large project to be anywhere in the 10-22 week period. -Google Admins have given guidance on the dates for a project to make it as easy as possible for an Org Admin to be sure they are giving the evaluation periods the appropriate number of days for all participants. The dates can be found as a link when the Org Admin opens a project under the timeline section. -Reminder emails are sent to all Assigned Mentors on a project and to the GSoC Contributors based on the Project's length. Each Mentor and GSoC Contributor will receive a reminder email 10 days before their evaluation period begins and another reminder the day their evaluation period opens. If a Mentor or GSoC Contributor has not submitted their evaluation (or final submission) 24 hours before their deadline they will receive a final reminder email. + +Sometimes a project is extended to the 18 or 20 weeks because the GSoC Contributor is unable to really get their project going until a few weeks or so later into the coding period due to other commitments (exams, graduation, wedding, etc.). This is why we have designed the program to allow a medium or large project to be anywhere in the 10-22 week period. + +Google Admins have given guidance on the dates for a project to make it as easy as possible for an Org Admin to be sure they are giving the evaluation periods the appropriate number of days for all participants. The dates can be found as a link when the Org Admin opens a project under the timeline section. + +Reminder emails are sent to all Assigned Mentors on a project and to the GSoC Contributors based on the Project's length. Each Mentor and GSoC Contributor will receive a reminder email 10 days before their evaluation period begins and another reminder the day their evaluation period opens. If a Mentor or GSoC Contributor has not submitted their evaluation (or final submission) 24 hours before their deadline they will receive a final reminder email. + Important Note: Org Admins have the final say in whether they want to allow various project lengths or if they want all of their projects to be the standard 12 week projects. While the flexibilty is great for many, it can be more cumbersome for the Org Admins as they have to keep track of the various dates for projects (available from their Org Admin view of all Projects for their org). From 917f9ee35ae1aae50e9317939e96673a29384e4b Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Wed, 26 Oct 2022 15:38:36 -0700 Subject: [PATCH 130/212] cleanup: delete trailing whitespace --- pages/mentor/11-setting_expectations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/11-setting_expectations.md b/pages/mentor/11-setting_expectations.md index a0d8de68..08f1d720 100644 --- a/pages/mentor/11-setting_expectations.md +++ b/pages/mentor/11-setting_expectations.md @@ -48,4 +48,4 @@ Google Admins have given guidance on the dates for a project to make it as easy Reminder emails are sent to all Assigned Mentors on a project and to the GSoC Contributors based on the Project's length. Each Mentor and GSoC Contributor will receive a reminder email 10 days before their evaluation period begins and another reminder the day their evaluation period opens. If a Mentor or GSoC Contributor has not submitted their evaluation (or final submission) 24 hours before their deadline they will receive a final reminder email. -Important Note: Org Admins have the final say in whether they want to allow various project lengths or if they want all of their projects to be the standard 12 week projects. While the flexibilty is great for many, it can be more cumbersome for the Org Admins as they have to keep track of the various dates for projects (available from their Org Admin view of all Projects for their org). +Important Note: Org Admins have the final say in whether they want to allow various project lengths or if they want all of their projects to be the standard 12 week projects. While the flexibilty is great for many, it can be more cumbersome for the Org Admins as they have to keep track of the various dates for projects (available from their Org Admin view of all Projects for their org). From 0f88dbeeaa997f8c6fa56a77a9d81bfd6979da57 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 7 Nov 2022 09:50:30 -0800 Subject: [PATCH 131/212] Update 00-what_is_google_summer_of_code.md updated with 2022 numbers --- pages/student/00-what_is_google_summer_of_code.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/student/00-what_is_google_summer_of_code.md b/pages/student/00-what_is_google_summer_of_code.md index 4123fa60..5dfdbbe7 100644 --- a/pages/student/00-what_is_google_summer_of_code.md +++ b/pages/student/00-what_is_google_summer_of_code.md @@ -8,11 +8,11 @@ sidebar: student_sidebar You've heard people talking about it, you've seen flyers and blog posts on it and now you want to know more! So here we go... -Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2021 was focused on bringing university students into open source. Starting in 2022, we have expanded the program to welcome all new contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! +Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2021 was focused on bringing university students into open source. Starting in 2022, we have expanded the program to welcome students and all beginner contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! Accepted GSoC Contributors gain exposure to real-world software development while having their mentor(s) ready to help integrate them into the community and help them become stronger developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! -Since 2005, GSoC has brought together 35,000 students and mentors from over 130 countries worldwide. As of November 2021, 746 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. Many past students continue to be involved in GSoC by becoming mentors themselves and helping new contributors learn about the exciting things their community is working on and the satisfaction that comes with being a part of a community of dedicated developers in open source. +Since 2005, GSoC has brought together 36,000 students and mentors from over 133 countries worldwide. As of November 2022, over 800 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. Many past students and GSoC Contributors continue to be involved in GSoC by becoming mentors themselves and helping new contributors learn about the exciting things their community is working on and the satisfaction that comes with being a part of a community of dedicated developers in open source. ## Goals of the Program @@ -25,8 +25,8 @@ The GSoC program has several goals: ## A Brief History of Google Summer of Code -Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the 17th Google Summer of Code in 2021, over 18,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 17 years reported that the program helped them find new community members and active committers. +Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC's first year, 40 projects and 400 students participated. By the conclusion of the 18th Google Summer of Code in 2022, over 19,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 18 years reported that the program helped them find new community members and active committers. -GSoC has grown immensely over the last 17 years and in the process helped students make the most of their summer by working on exciting open source projects. +GSoC has grown immensely over the last 18 years and in the process helped students make the most of their summer by working on exciting open source projects. You can take a look at the appendix if you're interested in a more extensive history of the program. From 55d7cfee41107c48311559f29cfe2985fa2fe293 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 7 Nov 2022 17:59:30 -0800 Subject: [PATCH 132/212] Update 06-writing_a_proposal.md few additional notes for '23 --- pages/student/06-writing_a_proposal.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/student/06-writing_a_proposal.md b/pages/student/06-writing_a_proposal.md index 064be843..a5e735f5 100644 --- a/pages/student/06-writing_a_proposal.md +++ b/pages/student/06-writing_a_proposal.md @@ -10,11 +10,11 @@ This is a competitive program, each year Google turns down many more applicants ## The Basics -First and foremost, make sure you meet [Google's formal requirements](https://summerofcode.withgoogle.com/rules#:~:text=for%20the%20duration%20of%20the%20Program%2C%20be%20eligible%20to%20work%20in%20the%20country%20in%20which%20they%20reside%3B%20and) for participation in Summer of Code. This includes ensuring that you are **eligible to work** in the country where you reside for the duration of the program. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. +First and foremost, make sure you meet [Google's formal requirements](https://summerofcode.withgoogle.com/rules#:~:text=for%20the%20duration%20of%20the%20Program%2C%20be%20eligible%20to%20work%20in%20the%20country%20in%20which%20they%20reside%3B%20and) for participation in Summer of Code. This includes ensuring that you are **eligible to work** in the country where you reside for the duration of the program. Remember, if you are in a country on a student visa or another type of visa you could have restrictions on the number of hours you can participate in a program like GSoC or you may not be eligible to participate at all. Hopefully, you have already checked this by now, but be sure to double-check before you waste time and energy on a proposal. Inventory your time. Figure out how many hours per week are already spoken for outside of your GSoC commitment, including time spent volunteering for other projects and activities, a part-time job or counting credit-hours of academic instruction. In any case, be completely clear about outside time commitments as part of your proposal. If you know you need to take a couple of weeks off because of finals or a wedding, etc. be upfront with the mentors, we have added some flexibility into the 2022 program so this should be fine, you just need to let your mentor know as soon as you know the details. Do not surprise an organization with your time commitments later on. It may be possible to extend the end date of your project if your org will allow it. But this should be discussed early on so everyone can be on the same page. -Make sure that you are able to be in regular close contact with organization mentors via the usual open source means (email, chat, etc) for the duration of the summer. It is not necessary (or likely possible) that you be geographically near your mentor. However, if you are not sure you will have good Internet connectivity continuously over the summer, GSoC is not for you. +Make sure that you are able to be in regular close contact with organization mentors via the usual open source means (email, chat, etc) for the duration of the program. It is not necessary (or likely possible) that you be geographically near your mentor. However, if you are not sure you will have good Internet connectivity continuously over the summer, GSoC is not for you. This program is the Google Summer of _Code._ If you are less than fluent in the programming languages that your target organization uses, you might want to skip the work of writing an application. If you do decide to proceed, be clear about your level of ability, so that the organization can make an informed decision. @@ -26,11 +26,11 @@ There are certain elements of the proposal that should apply to every organizati **Name and Contact Information** -Putting your full name on the proposal is not enough. Provide full contact information, including email addresses, websites, IRC nick, and telephone number. +Putting your full name on the proposal is not enough. Provide full contact information, including your preferred name, email address, websites, etc. **Title** -Your title should be short, clear and interesting. The job of the title is to convince the reviewer to read your synopsis. +Your title should be short, clear and interesting. The job of the title is to convince the reviewer to read your synopsis. Do not put your name in the title. **Synopsis** From 55ebc33b2c1a43b8602ba14c769a542a1bd9a070 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 7 Nov 2022 18:03:09 -0800 Subject: [PATCH 133/212] Update 08-how_gsoc_works.md adjusting project deadlines note --- pages/student/08-how_gsoc_works.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/student/08-how_gsoc_works.md b/pages/student/08-how_gsoc_works.md index af3fd839..6d220b32 100644 --- a/pages/student/08-how_gsoc_works.md +++ b/pages/student/08-how_gsoc_works.md @@ -18,7 +18,7 @@ Payment is in two pieces. The first payment is sent shortly after you pass the m **Certificate of Completion** -You may receive a digital certificate of completion at the end of the program if you successfully pass GSoC. +You may receive a digital certificate of completion at the end of the program, available from your GSoC profile on the webapp if you successfully pass GSoC. The rest of your experience with the program will be determined by your interactions with the community within your mentoring organization. Most GSoC contributors consider the interactions with their mentor and the rest of the open source community they're involved with to be the most important part of the Google Summer of Code experience. @@ -28,11 +28,11 @@ There are four roles in the Google Summer of Code program: **GSoC contributor** -This is you! A GSoC contributor is a new contributor to open source. This person could be a university student, a recent graduate, a person switching careers, a developer early in their career, person returning to the workforce, etc. GSoC Contributors come from a variety of academic backgrounds - many are university students or graduates of coding schools or programs, while others are self-taught. +This is you! A GSoC contributor is a student or a new contributor to open source. This person could be a university student, a recent graduate, a person switching careers, a developer early in their career, person returning to the workforce, etc. GSoC Contributors come from a variety of academic backgrounds - many are university students or graduates of coding schools or programs, while others are self-taught. **Organization Administrator** -Org admins are the "cat herders" for GSoC open source projects. Some org admins also mentor GSoC contributors during GSoC. Org admins are the final authority about matters such as which GSoC contributor projects will be accepted and who will mentor whom. If you're having difficulties communicating with your mentor or making progress, an org admin can help. +Org admins are the "cat herders" for GSoC open source projects. Some org admins also mentor GSoC contributors during GSoC. Org admins are the final authority about matters such as which GSoC contributor projects will be accepted and who will mentor whom. They are also responsible for approving and adjusting any project deadlines requested by the mentor and GSoC contributor. If you're having difficulties communicating with your mentor or making progress, an org admin can help. **Mentor** From 0fe0ffd056bad0a972dd73563b3cd68d4f09ec47 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 7 Nov 2022 18:07:48 -0800 Subject: [PATCH 134/212] Update 10-open_source_culture.md --- pages/student/10-open_source_culture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/10-open_source_culture.md b/pages/student/10-open_source_culture.md index 15c61bed..73bf12a1 100644 --- a/pages/student/10-open_source_culture.md +++ b/pages/student/10-open_source_culture.md @@ -50,7 +50,7 @@ Donated time is the life blood of open source projects. Many individuals contrib Contributions to projects are often self-directed, with developers having a personal itch to scratch in the form of a new feature, by correcting a bug that they've encountered or by implementing something from a TODO list. Projects operating in this way may seem chaotic if you are only familiar with top-down management - where teachers, professors or bosses tell you what to do and when. Of course, some projects do have clearly defined project management, with milestones and tasks meted out carefully. -Because many (or in some cases all) contributors are volunteering, methods of coercion available to businesses are not available. The best way to collaborate is to behave in a way that encourages others, and ultimately, makes people want to contribute. Some easy ways to encourage volunteerism include: +Because many (or in some cases all) community members are volunteering, methods of coercion available to businesses are not available. The best way to collaborate is to behave in a way that encourages others, and ultimately, makes people want to contribute. Some easy ways to encourage volunteerism include: * Saying thank you * Giving compliments when they are deserved, regularly and in public From 5f20e66b28337b67327be2596445dad2ef5be8fe Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Mon, 7 Nov 2022 18:14:50 -0800 Subject: [PATCH 135/212] Update 17-staying_engaged_with_your_community.md --- pages/student/17-staying_engaged_with_your_community.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/student/17-staying_engaged_with_your_community.md b/pages/student/17-staying_engaged_with_your_community.md index d12cc07a..81ae0b13 100644 --- a/pages/student/17-staying_engaged_with_your_community.md +++ b/pages/student/17-staying_engaged_with_your_community.md @@ -34,7 +34,7 @@ You can present your project at some of the open source conferences. The open so ## Next Summer -There are so many ways that you can help your organization and the open source community for the next Google Summer of Code. You can submit project ideas, apply again as a GSoC contributor or even become a mentor for a project. You can even contribute by just idling in the IRC channels, helping out the new folks who come looking for advice. +There are so many ways that you can help your organization and the open source community for the next Google Summer of Code. You can submit project ideas, apply again as a GSoC contributor or even become a mentor for a project. You can even contribute by just idling in the chat channels, helping out the new folks who come looking for advice. ## Stay connected From ed76f057f61894e8ede4e03cbb6de7dc8112852e Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 15:26:52 -0800 Subject: [PATCH 136/212] Update 00-what_is_google_summer_of_code.md stats updates for 2022 --- pages/mentor/00-what_is_google_summer_of_code.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/mentor/00-what_is_google_summer_of_code.md b/pages/mentor/00-what_is_google_summer_of_code.md index 96318528..0ccd8839 100644 --- a/pages/mentor/00-what_is_google_summer_of_code.md +++ b/pages/mentor/00-what_is_google_summer_of_code.md @@ -6,11 +6,11 @@ permalink: mentor/index sidebar: mentor_sidebar --- -Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2021 was focused on bringing university students into open source. Starting in 2022, we have expanded the program to welcome all new contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! +Google Summer of Code (GSoC) is a global, online program that brings new contributors into open source software organizations. The program began in 2005 and until 2021 was focused on bringing university students into open source. Starting in 2022, we have expanded the program to welcome students and all beginner contributors to open source who are 18 years and older to apply to the program as GSoC Contributors. These GSoC Contributors will write code and become part of these open source communities while making some money along the way. The organizations provide mentors who act as guides through the entire process, from learning about the community, to helping GSoC Contributors become familiar with the code base and testing practices, to finally releasing their code for the world to use! The ultimate goal is that these GSoC Contributors will become excited about the communities they are involved with during the program and will continue to actively contribute to the communities long after their GSoC program ends - or maybe start their own open source project! Accepted GSoC Contributors gain exposure to real-world software development while having their mentor(s) ready to help integrate them into the community and help them become stronger developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use - how cool is that! -Since 2005, GSoC has brought together 35,000 students and mentors from over 130 countries worldwide. As of November 2021, 746 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. Many past students continue to be involved in GSoC by becoming mentors themselves and helping new contributors learn about the exciting things their community is working on and the satisfaction that comes with being a part of a community of dedicated developers in open source. +Since 2005, GSoC has brought together 35,000 students and mentors from over 133 countries worldwide. As of November 2022, over 800 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers. Many past students continue to be involved in GSoC by becoming mentors themselves and helping new contributors learn about the exciting things their community is working on and the satisfaction that comes with being a part of a community of dedicated developers in open source. ## Goals of the Program @@ -23,9 +23,9 @@ The GSoC program has several goals: ## A Brief History of Google Summer of Code -Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC’s first year, 40 projects and 400 students participated. By the conclusion of the 17th Google Summer of Code in 2021, over 18,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 17 years reported that the program helped them find new community members and active committers. +Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC’s first year, 40 projects and 400 students participated. By the conclusion of the 18th Google Summer of Code in 2022, over 19,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 18 years reported that the program helped them find new community members and active committers. -GSoC has grown immensely over the last 17 years and in the process helped students make the most of their summer by working on exciting open source projects. +GSoC has grown immensely over the last 18 years and in the process helped participants learn about real world software development while working on exciting open source projects. You can take a look at the appendix if you’re interested in a more extensive history of the program. From 8852d6d6c57b580793cbb26ea80a374a5f053de2 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 15:43:48 -0800 Subject: [PATCH 137/212] Update 02-notes_for_first_year_organizations.md additional context --- pages/mentor/02-notes_for_first_year_organizations.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pages/mentor/02-notes_for_first_year_organizations.md b/pages/mentor/02-notes_for_first_year_organizations.md index 104bd3e5..75374a85 100644 --- a/pages/mentor/02-notes_for_first_year_organizations.md +++ b/pages/mentor/02-notes_for_first_year_organizations.md @@ -22,7 +22,7 @@ General: * Spread (don't spam) the word that your organization is participating in GSoC. -GSoC contributors, mentors, and slots: +GSoC contributors, mentors, and project slot requests: * GSoC contributors are not experienced project members and will take longer to write code than the core team. Plan accordingly. @@ -38,9 +38,7 @@ GSoC contributors, mentors, and slots: * Determine which mentors are fully committed to mentor a proposal. - * Rank your proposals with dedicated mentors. - - * Request slots for GSoC contributor projects. (OAs submit requests) + * Rank your excellent proposals with dedicated mentors. (OAs submit requests) * Receive confirmation from Program Administrators with your organization's number of slots. @@ -58,7 +56,9 @@ Coding, community, and communication: * Publish weekly or daily goals. This helps to keep scope, show progress, and keep GSoC contributors active. -* It's okay to fail a GSoC contributor. If a GSoC contributor doesn't meet agreed deadlines or doesn't communicate, they should be failed. +* Communicate often and be sure to talk with your GSoC contributor about their roadblocks/delays. You may wish to extend the evaluation deadlines for your contributor by a few weeks if the contributor is behind schedule but putting in the effort. + +* It's okay to fail a GSoC contributor. If a GSoC contributor doesn't communicate, or they disappear for days/weeks on end, they write poor code and haven't shown signs of improvement or they aren't engaged in the community they should be failed. * Make all communication public. If it didn't happen in public, it didn't happen. From c4227f135db170d91cc4dc4a4dd05150968f0ae1 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 15:48:20 -0800 Subject: [PATCH 138/212] Update 04-defining_a_project__ideas_list.md slight edit --- pages/mentor/04-defining_a_project__ideas_list.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/04-defining_a_project__ideas_list.md b/pages/mentor/04-defining_a_project__ideas_list.md index 35453312..74eb0fab 100644 --- a/pages/mentor/04-defining_a_project__ideas_list.md +++ b/pages/mentor/04-defining_a_project__ideas_list.md @@ -27,7 +27,7 @@ When Google Administrators review the hundreds of organization applications the 1. Have multiple ideas. Even if you are a new organization and only want one or two GSoC contributors showing that you have multiple ideas (a bare minimum of 4 solid ideas) is vital. And for an organization hoping for 4 or more GSoC contributors you should have at least 8-10 ideas and having them categorized is a nice touch if you have subcategories of topics within your project. 1. Make it easy for Administrators to find your Ideas list. When reviewing many hundreds of organizations Program Admins can only spend a certain amount of time looking for your Ideas list. Many organizations are rejected because Program Admins couldn't find the actual Ideas list because the URL the org gave had a bunch of other unrelated information on it and wasn't clear where to find the actual Ideas list. 1. Make sure to update your Project Ideas. Even if you plan to use some of the ideas that weren't chosen from a previous year at least put effort into changing the page to say 20XX Ideas list. It is not encouraging for Program Admins to see an outdated list. It also makes it seem like your project might be stale as you don't have new ideas for GSoC contributors to work on if it still shows ideas from the previous year or even two years before and is marked as such. -1. **Never link to just a bug tracker**. This is almost always an automatic rejection. When Admins open the issue tracker if there is an expanded description of the project with the items listed in #1 above that is acceptable. If an org can't take the time to create a document or a page with their Ideas List fleshed out then why would Google expect they would be willing to mentor GSoC contributors for 3+ hours a week for the next 3 months? +1. **Never link to just a bug tracker**. This is almost always an automatic rejection. Yes, really. When Admins open the issue tracker if there is an expanded description of the project with the items listed in #1 above that is acceptable. If an org can't take the time to create a document or a page with their Ideas List fleshed out then why would Google expect they would be willing to mentor GSoC contributors for 3+ hours a week for the next 3 months? 1. Don't be vague about the ideas. Be sure to write a few sentences describing what you need accomplished and not just an overall theoretical version of what you might want. 1. Be sure the URL you link to for your Ideas list works. Have someone else test it as well before you submit your application. Sometimes people don't have permissions set correctly or paste an incorrect URL which will also mean a rejection. From d9907bb542c9a9be371bb02fb9d739dc07bbdd92 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 15:51:46 -0800 Subject: [PATCH 139/212] Update 05-selecting_a_student.md remove student --- pages/mentor/05-selecting_a_student.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/05-selecting_a_student.md b/pages/mentor/05-selecting_a_student.md index 19453c56..e6597ff5 100644 --- a/pages/mentor/05-selecting_a_student.md +++ b/pages/mentor/05-selecting_a_student.md @@ -66,7 +66,7 @@ A successful GSoC project begins with a successful initiation. Finding the right Once a fit is found, the project is ready to be elaborated. You and your GSoC contributor are prepared to embark upon a grand adventure. Excelsior! -**Pro Tip**: One temptation to be avoided is to give a promising GSoC contributor excessive help in rewriting their proposal. It is likely that the result will be a proposal stronger than the GSoC contributor it represents. Students' communication, organization and logical thinking skills rarely improve over the course of a summer. +**Pro Tip**: One temptation to be avoided is to give a promising GSoC contributor excessive help in rewriting their proposal. It is likely that the result will be a proposal stronger than the GSoC contributor it represents. A GSoC contributor's communication, organization and logical thinking skills rarely improve over the course of a summer. **Pro Tip**: If in doubt about an applicant's final ranking, err on the side of rejecting. Limited program budget and mentor time can most certainly be better spent on another applicant in your or another organization. From ef7a91a46cfd726bf67669fc7f8e360b9cbd65ef Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 15:55:12 -0800 Subject: [PATCH 140/212] Update 07-best_practices.md number update --- pages/mentor/07-best_practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/07-best_practices.md b/pages/mentor/07-best_practices.md index c37c5204..87c91702 100644 --- a/pages/mentor/07-best_practices.md +++ b/pages/mentor/07-best_practices.md @@ -34,7 +34,7 @@ Here are some ways to help your GSoC contributor understand that her question is **Introduce your GSoC contributor to the community's communication style**: Many groups have developed codes of conduct, such as the [Fedora IRC Helpers Code of Conduct](http://fedoraproject.org/wiki/IRC_helpers_code_of_conduct), which help initiate new members and guide the interactions of existing members. You are encouraged to read the code of conduct and think about which issues and solutions might apply to your group. Please also check out [Google's Community guidelines](https://opensource.google/conduct/). -**Follow mailing list etiquette**: The GSoC mentors mailing list has more than 10000 subscribers. If you have a question for the Google team, mail gsoc-support@google.com instead of the list. Please take a moment to review list [etiquette](https://www.google.com/search?q=mailing+list+etiquette). +**Follow mailing list etiquette**: The GSoC mentors mailing list has more than 16000 subscribers. If you have a question for the Google team, mail gsoc-support@google.com instead of the list. Please take a moment to review list [etiquette](https://www.google.com/search?q=mailing+list+etiquette). **Address communication disconnects**: When working with people for the first time, a best practice is to assume that they do not mean any harm. If your GSoC contributor makes a comment via email that offends another member of the community, it's appropriate and constructive to speak up and address the issue. Assuming that the comment was the result of misunderstanding, rather a result of malice, allows you to ask questions and help your GSoC contributor adjust to your community's communication style. From f90a9e83edd57ae83fa45ce75ebdf6c12e83f346 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 16:05:47 -0800 Subject: [PATCH 141/212] Update 10-mind_the_gap.md additional suggestions on community bonding --- pages/mentor/10-mind_the_gap.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/mentor/10-mind_the_gap.md b/pages/mentor/10-mind_the_gap.md index b0e9bd26..3c3398a2 100644 --- a/pages/mentor/10-mind_the_gap.md +++ b/pages/mentor/10-mind_the_gap.md @@ -6,16 +6,16 @@ permalink: mentor/mind-the-gap.html sidebar: mentor_sidebar --- -The community bonding period is the 3 weeks between GSoC student acceptance and the start of coding date. Here are some of the goals of this period: +The community bonding period is the 3 weeks between GSoC student acceptance and the start of coding date. This is a vital time to engage with your GSoC contributor and set them up for success. Feedback from some GSoC contributors in recent years has been that their mentors and organizations didn't do anything in the community bonding period and they didn't understand what they should have been doing. The Community Bonding Period is the organization's opportunity to set expectations and milestones, welcome the contributor to their community and give the GSoC contributor access to the tools they need to succeed during the coding period. Here are some of the goals of this period: * Prepare GSoC contributors to immediately start writing code at the official start of coding. -* Get GSoC contributor engaged socially in the project. +* Get GSoC contributor engaged socially in the project. GSoC contributors have given very positive feedback about orgs that have had welcome video calls with the community. Having all of your GSoC contributors and mentors on the same call is a big plus for everyone. And bonus if you have a previous GSoC contributor that is still active in your community join the call to briefly chat about their experience. * Provide time for GSoC contributors to learn about the development practices of the organization. * Ensure that GSoC contributors have a development environment set up. This includes getting set up with the project version control system and reading up on necessary documentation. * Further refine the strategic plan for project completion. Be sure to have solid requirements for both phases particularly the end of the first phase so there is no confusion between your expectations and the GSoC contributor's. Other milestones for the final phase can be adjusted by discussing with the GSoC contributor as needed. * This is a time for the GSoC contributor to get required forms filled out, such as the tax forms required by Google, any contributor license agreements, and any paperwork that your project requires. -This period was added in 2007 to help GSoC contributors integrate with their development community and so encourage them to become lifetime contributors. New contributors to a project outside of GSoC often lurk in a project's IRC channel and/or mailing lists for weeks or months before submitting their first patch. The community bonding period is an attempt to improve that experience. +This period was added in 2007 to help GSoC contributors integrate with their development community and so encourage them to become lifetime contributors. New contributors to a project outside of GSoC often lurk in a project's chat channel and/or mailing lists for weeks or months before submitting their first patch. The community bonding period is an attempt to improve that experience. Successful completion of your GSoC contributor's GSoC project depends a lot on the bonding period. Make sure that you and your GSoC contributor make good use of this time and make significant progress on preliminary tasks. The community bonding period is also a good chance for the GSoC contributors to start interacting with each other. Early connections can help the GSoC contributors support each other during coding. From 358358fdafb2ffeac2259a46b3564b6a7bba1757 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 16:06:50 -0800 Subject: [PATCH 142/212] Update 10-mind_the_gap.md update title to Community Bonding to be more obvious --- pages/mentor/10-mind_the_gap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/10-mind_the_gap.md b/pages/mentor/10-mind_the_gap.md index 3c3398a2..5412f0c9 100644 --- a/pages/mentor/10-mind_the_gap.md +++ b/pages/mentor/10-mind_the_gap.md @@ -1,5 +1,5 @@ --- -title: Mind the Gap +title: Community Bonding Period section: Mentoring order: 10 permalink: mentor/mind-the-gap.html From 428acf6d113fc2bdce6795e5858feaaba2e5115b Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 16:13:13 -0800 Subject: [PATCH 143/212] Update 10-mind_the_gap.md side link update --- pages/mentor/10-mind_the_gap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/mentor/10-mind_the_gap.md b/pages/mentor/10-mind_the_gap.md index 5412f0c9..3e774892 100644 --- a/pages/mentor/10-mind_the_gap.md +++ b/pages/mentor/10-mind_the_gap.md @@ -2,7 +2,7 @@ title: Community Bonding Period section: Mentoring order: 10 -permalink: mentor/mind-the-gap.html +permalink: mentor/community-bonding-period.html sidebar: mentor_sidebar --- From 35487250ab9090079ffaf324a660405ad8f99d3d Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 16:14:34 -0800 Subject: [PATCH 144/212] Rename 10-mind_the_gap.md to 10-community-bonding-period.md --- .../mentor/{10-mind_the_gap.md => 10-community-bonding-period.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pages/mentor/{10-mind_the_gap.md => 10-community-bonding-period.md} (100%) diff --git a/pages/mentor/10-mind_the_gap.md b/pages/mentor/10-community-bonding-period.md similarity index 100% rename from pages/mentor/10-mind_the_gap.md rename to pages/mentor/10-community-bonding-period.md From 90d975f930e67afc1687b72bc55d023c7eee049c Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 16:24:30 -0800 Subject: [PATCH 145/212] Rename 10-community-bonding-period.md to 10-community_bonding_period.md --- ...community-bonding-period.md => 10-community_bonding_period.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pages/mentor/{10-community-bonding-period.md => 10-community_bonding_period.md} (100%) diff --git a/pages/mentor/10-community-bonding-period.md b/pages/mentor/10-community_bonding_period.md similarity index 100% rename from pages/mentor/10-community-bonding-period.md rename to pages/mentor/10-community_bonding_period.md From 4f3e6e2950edb89a1b5516cde2f8d83f1f9f6913 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 16:36:06 -0800 Subject: [PATCH 146/212] Update mentor_sidebar.yml update Community bonding sidebar --- _data/sidebars/mentor_sidebar.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_data/sidebars/mentor_sidebar.yml b/_data/sidebars/mentor_sidebar.yml index 73205cab..6e01ab36 100644 --- a/_data/sidebars/mentor_sidebar.yml +++ b/_data/sidebars/mentor_sidebar.yml @@ -44,8 +44,8 @@ entries: - title: Mentoring output: web folderitems: - - title: Mind the Gap - url: mind-the-gap + - title: Community Bonding Period + url: community-bonding-period output: web - title: Setting Expectations url: setting-expectations From ffe668ac08cf2238b1286e7a60d45247ebf93ccb Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 16:37:29 -0800 Subject: [PATCH 147/212] Update mentor_sidebar.yml --- _data/sidebars/mentor_sidebar.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/sidebars/mentor_sidebar.yml b/_data/sidebars/mentor_sidebar.yml index 6e01ab36..1ea89349 100644 --- a/_data/sidebars/mentor_sidebar.yml +++ b/_data/sidebars/mentor_sidebar.yml @@ -45,7 +45,7 @@ entries: output: web folderitems: - title: Community Bonding Period - url: community-bonding-period + url: community_bonding_period output: web - title: Setting Expectations url: setting-expectations From 86e112c94f7c0e13e6c65d628c58bf0d1544b8b5 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 16:56:13 -0800 Subject: [PATCH 148/212] Update 18-making_your_ideas_page.md additional notes for ideas page --- pages/mentor/18-making_your_ideas_page.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/mentor/18-making_your_ideas_page.md b/pages/mentor/18-making_your_ideas_page.md index 89cd7b1d..fe8d1433 100644 --- a/pages/mentor/18-making_your_ideas_page.md +++ b/pages/mentor/18-making_your_ideas_page.md @@ -6,7 +6,7 @@ permalink: mentor/making-your-ideas-page.html sidebar: mentor_sidebar --- -It all begins with the "Ideas Page". This is where you compile a list of possible summer projects for your organization. The Ideas Page is a major piece of your organization's application to Google. It also serves as a recruiting and selection tool for GSoC contributors and mentors alike. +It all begins with the "Ideas Page". This is where you compile a list of possible GSoC projects for your organization. The Ideas Page is a major piece of your organization's application to Google. It also serves as a recruiting and selection tool for GSoC contributors and mentors alike. Depending on how your organization operates, the source of material for your Ideas Page may come from an existing list of projects maintained by your community year-round, from potential mentors as they are recruited, or from the org admin. Regardless of how it is generated, an Ideas Page should have the following: @@ -18,6 +18,8 @@ Depending on how your organization operates, the source of material for your Ide The best pages include links to more detailed descriptions and related materials for each project. They might even include actual use cases! +While the Ideas page doesn't have to be 'beautiful,' cluttered and ugly won't be attracting many participants to apply to your org either. Make it clean, which could mean more line breaks or some bold, bigger fonts when appropriate. Blocks of text are not welcoming. + *Keep in mind that this page is often the first view of your organization by Google and potential GSoC contributor applicants**.*** A link to your bug tracker does not an Ideas Page make. Put your best foot forward. In addition to a basic list, you might also consider providing links to relevant resources for mentors and GSoC contributors, particular FAQ entries, the timeline, etc. You might include a section on communication, giving specific advice on which mailing lists, channels and emails to use and how to use them. If your organization puts together an application template for GSoC contributors, you should include that on your page as well. Think of your Ideas Page as the GSoC portal to your organization. ***Pro Tip:*** Maintain an Ideas Page year-round to continually recruit new contributors and cultivate community involvement. From 7c32022e26ba5f4c97eb91b0dcf7ecfa545091e5 Mon Sep 17 00:00:00 2001 From: stephanietaylor <32550822+stephanietaylor@users.noreply.github.com> Date: Tue, 15 Nov 2022 17:10:41 -0800 Subject: [PATCH 149/212] Update 20-org_application.md more app tips --- pages/mentor/20-org_application.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pages/mentor/20-org_application.md b/pages/mentor/20-org_application.md index a8828dbb..74575868 100644 --- a/pages/mentor/20-org_application.md +++ b/pages/mentor/20-org_application.md @@ -12,21 +12,19 @@ The most important part of GSoC is providing the GSoC contributor an excellent e ## The Ideas Page -The ideas page is the most important part of the organization application. Please see the Ideas Page chapter of this guide for more information. Be sure to adjust any project ideas from 2021 or before to adjust for the medium (175 hour) and large (350 hour) scope for 2022. +The ideas page is the most important part of the organization application. Please see the Ideas Page chapter of this guide for more information. Be sure to adjust any project ideas from the previous year to adjust for the medium (175 hour) and large (350 hour) scope from 2022 onward. ## Past Success -One question Google consistently asks of an organization on the application is whether they have participated in previous years, and if so, what their GSoC contributors' pass/fail ratio was. While pass/fail ratio is but one indicator of the success of the previous year, it does weigh against other components of the application. Orgs who never fail a GSoC contributor are also red flags as that can indicate being too lenient on evaluations. There is a healthy balance. - -And even more important is the question: how many of your GSoC contributors from the previous year are still active in your community? This is a question that is important for Google and for your organization to consider. As an organization are you engaging the GSoC contributors and getting them excited about staying in your community? Are you selecting the right GSoC contributors for your community who are interested in staying after their GSoC program ends? If your percentage of long term contributors from GSoC is consistently low what can your organization do to adjust? The program is about bringing contributors into your community and getting them to stay long after GSoC ends, thus keeping your ecosystem healthy. It is okay if your numbers are low, but your goal is to increase the number year after year, and adjustments are likely going to be necessary from your organization to successfully retain more of your GSoC contributors long term. +Each year Google will ask the ever important question: how many of your GSoC contributors from the previous year (or your most recent GSoC participation) are still active in your community? This is a question that is important for Google and for your organization to consider. As an organization are you engaging the GSoC contributors and getting them excited about staying in your community? Are you selecting the right GSoC contributors for your community who are interested in staying after their GSoC program ends? If your percentage of long term contributors from GSoC is consistently low what can your organization do to adjust? The program is about bringing contributors into your community and getting them to stay long after GSoC ends, thus keeping your ecosystem healthy. It is okay if your numbers are low, but your goal is to increase the number year after year, and adjustments are likely going to be necessary from your organization to successfully retain more of your GSoC contributors long term. ## New Orgs vs. Returning Orgs -Every year Google tries to make room for new organizations in the open source world who can provide a different perspective or different opportunities to the students who participate in GSoC. This can often mean rejecting an org that has successfully participated in years past to allow space for new organizations. Often these decisions are very difficult for Google to make, because they don't have much to do with the returning orgs' success in previous years. Also sometimes Google chooses to let an organization that has been participating for many years have a year off to let a new organization participate. It doesn't mean that Google is upset with that veteran organization, there just needs to be new blood and things need to get mixed up every now and then. The veteran organization should certainly apply again for the next year's program. +Every year Google tries to make room for new organizations in the open source world who can provide a different perspective or different opportunities to the GSoC contributors. This can often mean rejecting an org that has successfully participated in years past to allow space for new organizations. Often these decisions are very difficult for Google to make, because they don't have much to do with the returning orgs' success in previous years. Also sometimes Google chooses to let an organization that has been participating for many years have a year off to let a new organization participate. It doesn't mean that Google is upset with that veteran organization, there just needs to be new blood and things need to get mixed up every now and then. The veteran organization should certainly apply again for the next year's program. ## What Not to Do -Incomplete applications are common and result in an automatic rejection by Google. Don't submit an Ideas List or a document Google administrators don't have access to. Do not make your Ideas List a link to a list of bug tracker issues, that will be a rejection. Google doesn't have the time or capacity to iterate with you on your application. Take the time to create a thoughtful proposal. +Incomplete applications are common and result in an automatic rejection by Google. Don't submit an Ideas List or a document Google administrators don't have access to. Do not make your Ideas List a link to a list of bug tracker issues, that will be a rejection. Google doesn't have the time or capacity to iterate with you on your application. Take the time to create a thoughtful proposal. Don't miss the application deadline, there are no extensions even if you just forgot to hit Save. ## Just Because You Did Everything Right From f0444e18ab92db357a15f5ac65d84f2e137a399b Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Wed, 30 Nov 2022 12:24:50 -0800 Subject: [PATCH 150/212] Fix sidebar link to Community Bonding Period Fixes #94 --- _data/sidebars/mentor_sidebar.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/sidebars/mentor_sidebar.yml b/_data/sidebars/mentor_sidebar.yml index 1ea89349..6e01ab36 100644 --- a/_data/sidebars/mentor_sidebar.yml +++ b/_data/sidebars/mentor_sidebar.yml @@ -45,7 +45,7 @@ entries: output: web folderitems: - title: Community Bonding Period - url: community_bonding_period + url: community-bonding-period output: web - title: Setting Expectations url: setting-expectations From fa5bb93ba86220c440a27f13d3fcf948ace24079 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Wed, 7 Dec 2022 20:19:33 -0800 Subject: [PATCH 151/212] periodic bundle update --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9c735591..1805b993 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -21,14 +21,14 @@ GEM em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) - ethon (0.15.0) + ethon (0.16.0) ffi (>= 1.15.0) eventmachine (1.2.7) execjs (2.8.1) - faraday (2.6.0) + faraday (2.7.1) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.1) + faraday-net_http (3.0.2) ffi (1.15.5) forwardable-extended (2.6.0) gemoji (3.0.1) @@ -212,7 +212,7 @@ GEM jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.16.3) - nokogiri (1.13.9) + nokogiri (1.13.10) mini_portile2 (~> 2.8.0) racc (~> 1.4) octokit (4.25.1) @@ -221,7 +221,7 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.7) - racc (1.6.0) + racc (1.6.1) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) @@ -251,7 +251,7 @@ GEM unf_ext unf_ext (0.0.8.2) unicode-display_width (1.8.0) - zeitwerk (2.6.1) + zeitwerk (2.6.6) PLATFORMS ruby From d39485c72dd1c07e6872bdef7f1ce82c33795234 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Fri, 27 Jan 2023 08:31:23 -0800 Subject: [PATCH 152/212] bundle update --- Gemfile.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1805b993..735e374f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.6) + activesupport (6.0.6.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -14,8 +14,8 @@ GEM execjs coffee-script-source (1.11.1) colorator (1.1.0) - commonmarker (0.23.6) - concurrent-ruby (1.1.10) + commonmarker (0.23.7) + concurrent-ruby (1.2.0) dnsruby (1.61.9) simpleidn (~> 0.1) em-websocket (0.5.3) @@ -25,7 +25,7 @@ GEM ffi (>= 1.15.0) eventmachine (1.2.7) execjs (2.8.1) - faraday (2.7.1) + faraday (2.7.4) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) @@ -202,17 +202,17 @@ GEM kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) - listen (3.7.1) + listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.8.0) + mini_portile2 (2.8.1) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.16.3) - nokogiri (1.13.10) + minitest (5.17.0) + nokogiri (1.14.0) mini_portile2 (~> 2.8.0) racc (~> 1.4) octokit (4.25.1) @@ -221,7 +221,7 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.7) - racc (1.6.1) + racc (1.6.2) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) From ed0d7f6e662fd0db8f174ce4101a8e7560f75945 Mon Sep 17 00:00:00 2001 From: Robert Spier Date: Fri, 27 Jan 2023 08:32:39 -0800 Subject: [PATCH 153/212] Add alt tag to logo img Fixes #92. --- _includes/topnav.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/topnav.html b/_includes/topnav.html index 064a7bc3..30715638 100644 --- a/_includes/topnav.html +++ b/_includes/topnav.html @@ -8,7 +8,7 @@ - {{site.topnav_title}} + Google Summer of Code Logo {{site.topnav_title}}