1# Google Summer of Code 2 3## Organization admins 4 5The *organization admins* are managing the GSoC program for the coreboot 6organization. 7 8The organization admins are: 9 10 * Felix Singer (primary) 11 * Martin Roth 12 * David Hendricks 13 14 15## Contacts 16 17If you are interested in participating in GSoC as a contributor or mentor, 18please have a look at our [community forums] and reach out to us. Working closely 19with the community is highly encouraged, as we've seen that our most successful 20contributors are generally very involved. 21 22 23## Why work on coreboot for GSoC? 24 25 * coreboot offers you the opportunity to work with various architectures 26 right on the iron. coreboot supports both current and older silicon for a 27 wide variety of chips and technologies. 28 29 * coreboot has a worldwide developer and user base. 30 31 * We are a very passionate team, so you will interact directly with the 32 project initiators and project leaders. 33 34 * We have a large, helpful community. coreboot has some extremely talented 35 and helpful experts in firmware involved in the project. They are ready to 36 assist and mentor contributors participating in GSoC. 37 38 * One of the last areas where open source software is not common is firmware. 39 Running proprietary firmware can have severe effects on user's freedom and 40 security. coreboot has a mission to change that by providing a common 41 framework for initial hardware initialization and you can help us succeed. 42 43 44## Collection of official GSoC guides & documents 45 46 * [Timeline][GSoC Timeline] 47 48 * [Roles and Responsibilities][GSoC Roles and Responsibilities] 49 50 * [Contributor Guide][GSoC Contributor Guide] 51 52 * [Contributor Advice][GSoC Contributor Advice] 53 54 * [Mentor Guide][GSoC Mentor Guide] 55 56 * [FAQ][GSoC FAQ] 57 58 * [Rules][GSoC Rules] 59 60 * [Glossary][GSoC Glossary] 61 62 * [Organization Admin Tips][GSoC Organization Admin Tips] 63 64 65## Contributor requirements & commitments 66 67Google Summer of Code is a significant time commitment for you. Medium-sized 68projects are estimated to take 175 hours, while large-sized projects are 69estimated to take 350 hours. Depending on the project size, this means we 70expect you to work roughly half-time or full-time on your project during the 71three months of coding. We expect to be able to see this level of effort in the 72results. 73 74The standard program duration is 12 weeks and in consultation with the mentor 75it can be extended up to 22 weeks. Please keep in mind that the actual number 76of hours you spend on the project highly depends on your skills and previous 77experience. 78 79Make sure that your schedule (exams, courses, day job) gives you a sufficient 80amount of spare time. If this is not the case, then you should not apply. 81 82 83### Before applying 84 85 * Join the [mailing list] and our other [community forums]. Introduce yourself 86 and mention that you are a prospective GSoC contributor. Ask questions and 87 discuss the project that you are considering. Community involvement is a 88 key component of coreboot development. 89 90 * You accept our [Code of Conduct] and [Language style]. 91 92 * Demonstrate that you can work with the coreboot codebase. 93 94 * Look over some of the development processes guidelines: [Getting started], 95 [Tutorial], [Flashing firmware tutorial] and [Coding style]. 96 97 * Download, build and boot coreboot in QEMU or on real hardware. Please email 98 your serial output results to the [mailing list]. 99 100 * Look through some patches on Gerrit to get an understanding of the review 101 process and common issues. 102 103 * Get signed up for Gerrit and push at least one patch to Gerrit for review. 104 Check the [small project list][Project ideas] or ask for simple tasks on 105 the [mailing list] or on our other [community forums] if you need ideas. 106 107 108### During the program 109 110 * To pass and to be paid by Google requires that you meet certain milestones. 111 112 * First, you must be in good standing with the community before the official 113 start of the program. We expect you to post some design emails to the 114 [mailing list], and get feedback on them, both before applying, and during 115 the "community bonding period" between acceptance and official start. 116 117 * You must have made progress and committed significant code before the 118 mid-term point and by the final. 119 120 * We require that accepted contributors to maintain a blog, where you are 121 expected to write about your project *WEEKLY*. This is a way to measure 122 progress and for the community at large to be able to help you. GSoC is 123 *NOT* a private contract between your mentor and you. 124 125 * You must be active in the community on IRC and the [mailing list]. 126 127 * You are expected to work on development publicly, and to push commits to the 128 project on a regular basis. Depending on the project and what your mentor 129 agrees to, these can be published directly to the project or to a public 130 repository such as Gitlab or Github. If you are not publishing directly to 131 the project codebase, be aware that we do not want large dumps of code that 132 need to be rushed to meet the mid-term and final goals. 133 134We don't expect our contributors to be experts in our problem domain, but we 135don't want you to fail because some basic misunderstanding was in your way of 136completing the task. 137 138 139## Projects 140 141There are many development tasks available in coreboot. We prepared some ideas 142for Summer of Code projects. These are projects that we think can be managed in 143the timeline of GSoC, and they cover areas where coreboot is trying to reach 144new users and new use cases. 145 146Of course your application does not have to be based on any of the ideas listed. 147It is entirely possible that you have a great idea that we just didn't think of 148yet. Please let us know! 149 150The blog posts related to previous GSoC projects might give some insights to 151what it is like to be a coreboot GSoC contributor. 152 153 154## coreboot Summer of Code Application 155 156coreboot welcomes contributors from all backgrounds and levels of experience. 157 158Your application should include a complete project proposal. You should 159document that you have the knowledge and the ability to complete your proposed 160project. This may require a little research and understanding of coreboot prior 161to sending your application. The community and coreboot project mentors are your 162best resource in fleshing out your project ideas and helping with a project 163timeline. We recommend that you get feedback and recommendations on your 164proposal before the application deadline. 165 166Please complete the standard GSoC application and project proposal. Provide the 167following information as part of your application. Make sure to provide multiple 168ways of communicating in case your equipment (such as a laptop) is lost, 169damaged, or stolen, or in case of a natural disaster that disrupts internet 170service. You risk automatically failing if your mentor cannot contact you and if 171you cannot provide updates according to GSoC deadlines. 172 173**Personal Information** 174 175 * Name 176 177 * Email and contact options (IRC, Matrix, …) 178 179 * Phone number (optional, but recommended) 180 181 * Timezone, Usual working hours (UTC) 182 183 * School / University, Degree Program, expected graduation date 184 185 * Short bio / Overview of your background 186 187 * What are your other time commitments? Do you have a job, classes, vacations? 188 When and how long? 189 190**Software experience** 191 192If applicable, please provide the following information: 193 194 * Portfolio, Website, blog, microblog, Github, Gitlab, ... 195 196 * Links to one or more patches submitted 197 198 * Links to posts on the [mailing list] with the serial output of your build. 199 200 * Please comment on your software and firmware experience. 201 202 * Have you contributed to an open source project? Which one? What was your 203 experience? 204 205 * What was your experience while building and running coreboot? Did you have 206 problems? 207 208**Your project** 209 210 * Provide an overview of your project (in your own words). 211 212 * Provide a breakdown of your project in small specific weekly goals. Think 213 about the potential timeline. 214 215 * How will you accomplish this goal? What is your working style? 216 217 * Explain what risks or potential problems your project might experience. 218 219 * What would you expect as a minimum level of success? 220 221 * Do you have a stretch goal? 222 223**Other** 224 225 * Resume (optional) 226 227 228### Advice on how to apply 229 230 * [GSoC Contributor Guide] 231 232 * The Drupal project has a great page on how to write an GSoC application. 233 234 * Secrets for GSoC success: [2] 235 236 237## Mentors 238 239Each accepted project will have at least one mentor. We will match mentors and 240contributors based on the project and experience level. If possible, we also 241will try to match their time zones. 242 243Mentors are expected to stay in frequent contact with the contributor and 244provide guidance such as code reviews, pointers to useful documentation, etc. 245This should generally be a time commitment of several hours per week. 246 247Some projects might have more than one mentor, who can serve as a backup. They 248are expected to coordinate with each other and a contributor on a regular basis, 249and keep track of the contributor process. They should be able to take over 250mentoring duty if one of the mentors is unavailable (vacations, sickness, 251emergencies). 252 253 254### Volunteering to be a mentor 255 256If you'd like to volunteer to be a mentor, please read the [GSoC Mentor Guide]. 257This will give you a better idea of expectations, and where to go for help. 258After that, contact Org Admins (see coreboot contacts section above). 259 260The following coreboot developers have volunteered to be GSoC 2022 mentors. 261Please stop by in our community forums and say hi to them and ask them 262questions. 263 264 * Tim Wawrzynczak 265 * Raul Rangel 266 * Ron Minnich 267 268 269[community forums]: ../community/forums.md 270[mailing list]: https://mail.coreboot.org/postorius/lists/coreboot.coreboot.org 271[Getting started]: ../getting_started/index.md 272[Tutorial]: ../tutorial/index.md 273[Flashing firmware tutorial]: ../tutorial/flashing_firmware/index.md 274[Coding style]: coding_style.md 275[Code of Conduct]: ../community/code_of_conduct.md 276[Language style]: ../community/language_style.md 277[Project ideas]: project_ideas.md 278[GSoC Timeline]: https://developers.google.com/open-source/gsoc/timeline 279[GSoC Roles and Responsibilities]: https://developers.google.com/open-source/gsoc/help/responsibilities 280[GSoC Contributor Guide]: https://google.github.io/gsocguides/student 281[GSoC Contributor Advice]: https://developers.google.com/open-source/gsoc/help/student-advice 282[GSoC Mentor Guide]: https://google.github.io/gsocguides/mentor 283[GSoC FAQ]: https://developers.google.com/open-source/gsoc/faq 284[GSoC Rules]: https://summerofcode.withgoogle.com/rules 285[GSoC Glossary]: https://developers.google.com/open-source/gsoc/resources/glossary 286[GSoC Organization Admin Tips]: https://developers.google.com/open-source/gsoc/help/oa-tips 287