Replace HTTP links with paths to Markdown files where possible. Change-Id: I0ecca6460105b10b81c4fc014f00235b5d9b861c Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/coreboot/+/62205 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
		
			
				
	
	
		
			250 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			250 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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]: ../community/forums.md
 | |
| [mailing list]: https://mail.coreboot.org/postorius/lists/coreboot.coreboot.org
 | |
| [Getting started]: ../getting_started/index.md
 | |
| [Tutorial]: ../tutorial/index.md
 | |
| [Flashing firmware tutorial]: ../flash_tutorial/index.md
 | |
| [Coding style]: coding_style.md
 | |
| [Code of Conduct]: ../community/code_of_conduct.md
 | |
| [Language style]: ../community/language_style.md
 | |
| [GSoC Contributor Guide]: https://google.github.io/gsocguides/student
 | |
| [GSoC Mentor Guide]: https://google.github.io/gsocguides/mentor
 |