UPSTREAM: Documentation/contributing: Add GSoC info site

Add a site containing general information for GSoC contributors and
mentors. It was initially copied from https://www.coreboot.org/GSoC.

(cherry picked from commit 05b66147d22103399675a02265765436b5f0e216)

Signed-off-by: Felix Singer <felixsinger@posteo.net>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61791
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Original-Change-Id: I5c21d026118cba571dc6b817e89cc4da296a1799
GitOrigin-RevId: 05b66147d22103399675a02265765436b5f0e216
Change-Id: Ifb34fe2bf707af99b66049deb4dfe9049686a471
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/coreboot/+/3474572
Tested-by: CopyBot Service Account <copybot.service@gmail.com>
Reviewed-by: Reka Norman <rekanorman@chromium.org>
Commit-Queue: Reka Norman <rekanorman@chromium.org>
diff --git a/Documentation/contributing/gsoc.md b/Documentation/contributing/gsoc.md
new file mode 100644
index 0000000..049c80a
--- /dev/null
+++ b/Documentation/contributing/gsoc.md
@@ -0,0 +1,249 @@
+# Google Summer of Code
+
+
+## Contacts
+
+If you are interested in participating in GSoC as a contributor or mentor,
+please have a look at our [community forums] and reach out to us. Working closely
+with the community is highly encouraged, as we've seen that our most successful
+contributors are generally very involved.
+
+Felix Singer, David Hendricks and Martin Roth are the coreboot GSoC admins for
+2022. Please feel free to reach out to them directly if you have any questions.
+
+
+## Why work on coreboot for GSoC?
+
+  * coreboot offers you the opportunity to work with various architectures
+    right on the iron. coreboot supports both current and older silicon for a
+    wide variety of chips and technologies.
+
+  * coreboot has a worldwide developer and user base.
+
+  * We are a very passionate team, so you will interact directly with the
+    project initiators and project leaders.
+
+  * We have a large, helpful community. coreboot has some extremely talented
+    and helpful experts in firmware involved in the project. They are ready to
+    assist and mentor contributors participating in GSoC.
+
+  * One of the last areas where open source software is not common is firmware.
+    Running proprietary firmware can have severe effects on user's freedom and
+    security. coreboot has a mission to change that by providing a common
+    framework for initial hardware initialization and you can help us succeed.
+
+
+## Contributor requirements & commitments
+
+Google Summer of Code is a significant time commitment for you. Medium-sized
+projects are estimated to take 175 hours, while large-sized projects are
+estimated to take 350 hours. Depending on the project size, this means we
+expect you to work roughly half-time or full-time on your project during the
+three months of coding. We expect to be able to see this level of effort in the
+results.
+
+The standard program duration is 12 weeks and in consultation with the mentor
+it can be extended up to 22 weeks. Please keep in mind that the actual number
+of hours you spend on the project highly depends on your skills and previous
+experience.
+
+Make sure that your schedule (exams, courses, day job) gives you a sufficient
+amount of spare time. If this is not the case, then you should not apply.
+
+
+### Before applying
+
+  * Join the [mailing list] and our other [community forums]. Introduce yourself
+    and mention that you are a prospective GSoC contributor. Ask questions and
+    discuss the project that you are considering. Community involvement is a
+    key component of coreboot development.
+
+  * You accept our [Code of Conduct] and [Language style].
+
+  * Demonstrate that you can work with the coreboot codebase.
+
+    * Look over some of the development processes guidelines: [Getting started],
+      [Tutorial], [Flashing firmware tutorial] and [Coding style].
+
+    * Download, build and boot coreboot in QEMU or on real hardware. Please email
+      your serial output results to the [mailing list].
+
+    * Look through some patches on Gerrit to get an understanding of the review
+      process and common issues.
+
+    * Get signed up for Gerrit and push at least one patch to Gerrit for review.
+      Check Easy projects or ask for simple tasks on the [mailing list] or on our
+      other [community forums] if you need ideas.
+
+
+### During the program
+
+  * To pass and to be paid by Google requires that you meet certain milestones.
+
+    * First, you must be in good standing with the community before the official
+      start of the program. We expect you to post some design emails to the
+      [mailing list], and get feedback on them, both before applying, and during
+      the "community bonding period" between acceptance and official start.
+
+    * You must have made progress and committed significant code before the
+      mid-term point and by the final.
+
+    * We require that accepted contributors to maintain a blog, where you are
+      expected to write about your project *WEEKLY*. This is a way to measure
+      progress and for the community at large to be able to help you. GSoC is
+      *NOT* a private contract between your mentor and you.
+
+  * You must be active in the community on IRC and the [mailing list].
+
+  * You are expected to work on development publicly, and to push commits to the
+    project on a regular basis. Depending on the project and what your mentor
+    agrees to, these can be published directly to the project or to a public
+    repository such as Gitlab or Github. If you are not publishing directly to
+    the project codebase, be aware that we do not want large dumps of code that
+    need to be rushed to meet the mid-term and final goals.
+
+We don't expect our contributors to be experts in our problem domain, but we
+don't want you to fail because some basic misunderstanding was in your way of
+completing the task.
+
+
+## Projects
+
+There are many development tasks available in coreboot. We prepared some ideas
+for Summer of Code projects. These are projects that we think can be managed in
+the timeline of GSoC, and they cover areas where coreboot is trying to reach
+new users and new use cases.
+
+Of course your application does not have to be based on any of the ideas listed.
+It is entirely possible that you have a great idea that we just didn't think of
+yet. Please let us know!
+
+The blog posts related to previous GSoC projects might give some insights to
+what it is like to be a coreboot GSoC contributor.
+
+
+## coreboot Summer of Code Application
+
+coreboot welcomes contributors from all backgrounds and levels of experience.
+
+Your application should include a complete project proposal. You should
+document that you have the knowledge and the ability to complete your proposed
+project. This may require a little research and understanding of coreboot prior
+to sending your application. The community and coreboot project mentors are your
+best resource in fleshing out your project ideas and helping with a project
+timeline. We recommend that you get feedback and recommendations on your
+proposal before the application deadline.
+
+Please complete the standard GSoC application and project proposal. Provide the
+following information as part of your application. Make sure to provide multiple
+ways of communicating in case your equipment (such as a laptop) is lost,
+damaged, or stolen, or in case of a natural disaster that disrupts internet
+service. You risk automatically failing if your mentor cannot contact you and if
+you cannot provide updates according to GSoC deadlines.
+
+** Personal Information **
+
+  * Name
+
+  * Email and contact options (IRC, Matrix, …)
+
+  * Phone number (optional, but recommended)
+
+  * Timezone, Usual working hours (UTC)
+
+  * School / University, Degree Program, expected graduation date
+
+  * Short bio / Overview of your background
+
+  * What are your other time commitments? Do you have a job, classes, vacations?
+    When and how long?
+
+** Software experience **
+
+If applicable, please provide the following information:
+
+  * Portfolio, Website, blog, microblog, Github, Gitlab, ...
+
+  * Links to one or more patches submitted
+
+  * Links to posts on the [mailing list] with the serial output of your build.
+
+  * Please comment on your software and firmware experience.
+
+  * Have you contributed to an open source project? Which one? What was your
+    experience?
+
+  * What was your experience while building and running coreboot? Did you have
+    problems?
+
+** Your project **
+
+  * Provide an overview of your project (in your own words).
+
+  * Provide a breakdown of your project in small specific weekly goals. Think
+    about the potential timeline.
+
+  * How will you accomplish this goal? What is your working style?
+
+  * Explain what risks or potential problems your project might experience.
+
+  * What would you expect as a minimum level of success?
+
+  * Do you have a stretch goal?
+
+** Other **
+
+  * Resume (optional)
+
+
+### Advice on how to apply
+
+  * [GSoC Contributor Guide]
+
+  * The Drupal project has a great page on how to write an GSoC application.
+
+  * Secrets for GSoC success: [2]
+
+
+## Mentors
+
+Each accepted project will have at least one mentor. We will match mentors and
+contributors based on the project and experience level. If possible, we also
+will try to match their time zones.
+
+Mentors are expected to stay in frequent contact with the contributor and
+provide guidance such as code reviews, pointers to useful documentation, etc.
+This should generally be a time commitment of several hours per week.
+
+Some projects might have more than one mentor, who can serve as a backup. They
+are expected to coordinate with each other and a contributor on a regular basis,
+and keep track of the contributor process. They should be able to take over
+mentoring duty if one of the mentors is unavailable (vacations, sickness,
+emergencies).
+
+
+### Volunteering to be a mentor
+
+If you'd like to volunteer to be a mentor, please read the [GSoC Mentor Guide].
+This will give you a better idea of expectations, and where to go for help.
+After that, contact Org Admins (see coreboot contacts section above).
+
+The following coreboot developers have volunteered to be GSoC 2022 mentors.
+Please stop by in our community forums and say hi to them and ask them
+questions.
+
+  * Tim Wawrzynczak
+  * Raul Rangel
+  * Ron Minnich
+
+
+[community forums]: https://doc.coreboot.org/community/forums.html
+[mailing list]: https://mail.coreboot.org/postorius/lists/coreboot.coreboot.org
+[Getting started]: https://doc.coreboot.org/getting_started/index.html
+[Tutorial]: https://doc.coreboot.org/tutorial/index.html
+[Flashing firmware tutorial]: https://doc.coreboot.org/flash_tutorial/index.html
+[Coding style]: https://doc.coreboot.org/contributing/coding_style.html
+[Code of Conduct]: https://doc.coreboot.org/community/code_of_conduct.html
+[Language style]: https://doc.coreboot.org/community/language_style.html
+[GSoC Contributor Guide]: https://google.github.io/gsocguides/student
+[GSoC Mentor Guide]: https://google.github.io/gsocguides/mentor
diff --git a/Documentation/index.md b/Documentation/index.md
index bdfb6bf..61ae05f 100644
--- a/Documentation/index.md
+++ b/Documentation/index.md
@@ -170,6 +170,7 @@
 * [Tutorial](tutorial/index.md)
 * [Coding Style](contributing/coding_style.md)
 * [Project Ideas](contributing/project_ideas.md)
+* [Google Summer of Code](contributing/gsoc.md)
 * [Documentation Ideas](contributing/documentation_ideas.md)
 * [Code of Conduct](community/code_of_conduct.md)
 * [Language style](community/language_style.md)