Difference between revisions of "GSoC"

From coreboot
Jump to: navigation, search
(Important dates)
(GSoC Student requirements)
 
(40 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Welcome to coreboot [http://www.google-melange.com/gsoc/homepage/google/gsoc2013 Google Summer of Code, 2013].  
+
Welcome to coreboot [https://summerofcode.withgoogle.com/about/ Google Summer of Code, 2016]!<br>
 +
'''coreboot has been accepted as a GSoC 2016 as mentoring organization.'''<br>
  
coreboot has many [[Project Ideas]] for various firmware ability levels. The coreboot project also hosts [http://flashrom.org/GSoC flashrom] and [http://serialice.com/GSoC SerialICE] projects.
+
coreboot has many [[Project Ideas]] for various ability levels. The coreboot project also hosts [https://flashrom.org/GSoC flashrom] and [http://serialice.com/GSoC SerialICE] projects.
 +
 
 +
Official student application period in 2016 is from March 14 to March 25.
  
 
__FORCETOC__
 
__FORCETOC__
Line 9: Line 12:
 
If you are interested in becoming a GSoC student, please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel <code>#coreboot</code> on [https://webchat.freenode.net irc.freenode.net].
 
If you are interested in becoming a GSoC student, please contact the coreboot [[Mailinglist|mailing list]] or visit our [[IRC]] channel <code>#coreboot</code> on [https://webchat.freenode.net irc.freenode.net].
  
If you need to contact someone directly, [mailto:marcj303@gmail.com Marc Jones] is the GSoC admin for coreboot.
+
If you need to contact someone directly, [[User:PatrickGeorgi|Patrick Georgi]] and [[User:MartinRoth|Martin Roth]] are the GSoC admins for coreboot in 2016.
<br/><br/>
+
  
= Why work on coreboot for GSoC 2013? =
+
= Why work on coreboot for GSoC 2016? =
  
 
* coreboot offers you the opportunity to work with modern technology “right on the iron”. coreboot supports current silicon from AMD and Intel.  
 
* coreboot offers you the opportunity to work with modern technology “right on the iron”. coreboot supports current silicon from AMD and Intel.  
 
* coreboot has a worldwide developer and user base.
 
* 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 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 students participating in GSoC 2013.
+
* 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 students participating in GSoC 2016.
 
* 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 changes that by providing a common framework for initial hardware initialization and you can help us succeed.
 
* 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 changes that by providing a common framework for initial hardware initialization and you can help us succeed.
<br/><br/>
 
  
 
= GSoC Student requirements =
 
= GSoC Student requirements =
Line 25: Line 26:
 
What will be required of you to be a coreboot GSoC student?
 
What will be required of you to be a coreboot GSoC student?
  
Google Summer of Code is a full (day)time job. This means we expect roughly 40 hours per week on your project, during the three months of coding. Obviously we have flexibility, but if your schedule (exams, courses) does not give you this amount of spare time, then maybe you should not apply.  
+
Google Summer of Code is a full (day)time job. This means we expect roughly 40 hours per week on your project, during the three months of coding. Obviously we have flexibility, but if your schedule (exams, courses) does not give you this amount of spare time, then maybe you should not apply. We expect to be able to see this level of effort in student output.
  
 
# Prior to project acceptance, you have demonstrated that you can work with the coreboot codebase.  
 
# Prior to project acceptance, you have demonstrated that you can work with the coreboot codebase.  
Line 34: Line 35:
 
#* You must have made progress and committed significant code before the mid-term point and by the final.
 
#* You must have made progress and committed significant code before the mid-term point and by the final.
 
# We require that accepted students to maintain a blog, where you will write about your project weekly. This is a way to measure progress and for the community at large to be able to help you. SoC is not a private contract between your mentor and you. http://blogs.coreboot.org/
 
# We require that accepted students to maintain a blog, where you will write about your project weekly. This is a way to measure progress and for the community at large to be able to help you. SoC is not a private contract between your mentor and you. http://blogs.coreboot.org/
# Student must be active on IRC and the mailing list.  
+
# Student must be active on IRC and the mailing list.
 +
# Students are expected to work on development publicly, and to push commits to the project on a regular basis. 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 students 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.
 
We don't expect our students 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.
<br/><br/>
 
  
 
= Projects =
 
= Projects =
 +
 
There are many development tasks available in coreboot. Please visit the following pages for some ideas or come up with your own idea.  
 
There are many development tasks available in coreboot. Please visit the following pages for some ideas or come up with your own idea.  
 
* [[Project Ideas|coreboot project ideas]]
 
* [[Project Ideas|coreboot project ideas]]
* [http://www.flashrom.org/GSoC flashrom project ideas]
+
* [https://www.flashrom.org/GSoC flashrom project ideas]
 
* [http://serialice.com/GSoC SerialICE project ideas]
 
* [http://serialice.com/GSoC SerialICE project ideas]
  
 
We keep a list of [[previous GSoC Projects]] which might be of interest to you to see what others have accomplished.
 
We keep a list of [[previous GSoC Projects]] which might be of interest to you to see what others have accomplished.
 
Similarly the [http://blogs.coreboot.org/blog/category/gsoc/ blog posts related to previous GSoC projects] might give some insights to what it is like to be a coreboot GSoC student.
 
Similarly the [http://blogs.coreboot.org/blog/category/gsoc/ blog posts related to previous GSoC projects] might give some insights to what it is like to be a coreboot GSoC student.
<br/><br/>
 
  
 
== Your own Project Ideas ==
 
== Your own Project Ideas ==
Line 54: Line 55:
  
 
But of course your application does not need to be based on any of the ideas listed. The opposite: Maybe you have a great idea that we just didn't think of yet. Please let us know!
 
But of course your application does not need to be based on any of the ideas listed. The opposite: Maybe you have a great idea that we just didn't think of yet. Please let us know!
<br/><br/>
 
  
 
= Mentors =
 
= Mentors =
  
The following coreboot developers have volunteered to be GSoC mentors. Please stop by IRC and say hi to them and ask them questions about coreboot.
+
The following coreboot developers have volunteered to be GSoC 2016 mentors. Please stop by IRC and say hi to them and ask them questions about coreboot. Please read the [http://en.flossmanuals.net/gsocmentoring/ GSoC Mentors Guide].
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Name !! Role !! Comms
+
! Name !! Role !! Comms !! AFK / Vacation MMDD-MMDD
 
|-
 
|-
| [[User:MJones|Marc Jones]] || coreboot: co-organizer and mentor || IRC: marcj
+
| [[User:PatrickGeorgi|Patrick Georgi]] || coreboot: co-organizer and mentor || IRC: patrickg, pgeorgi ||
 
|-
 
|-
| [[User:PatrickGeorgi|Patrick Georgi]] || coreboot: co-organizer and mentor || IRC: patrickg, pgeorgi
+
| [[User:MartinRoth|Martin Roth]] || coreboot: co-organizer and mentor || IRC: martinr ||
 
|-
 
|-
| [[User:Stepan|Stefan Reinauer]] || coreboot/serialice:  mentor  || IRC: stepan
+
| [[User:Stepan|Stefan Reinauer]] || coreboot/serialice:  mentor  || IRC: stepan ||
 
|-
 
|-
| [[User:Dhendrix|David Hendricks]] || flashrom: possible mentor || IRC: dhendrix, [http://www.flashrom.org/mailman/listinfo/flashrom flashrom ML]
+
| [[User:Rminnich|Ron Minnich]] || coreboot: mentor || IRC: rminnich ||
 
|-
 
|-
| [http://www.flashrom.org/User:Roysjosh Joshua Roys] || flashrom: possible mentor || IRC: roysjosh
+
| [https://www.flashrom.org/User:Stefanct Stefan Tauner] || flashrom: mentor || IRC: stefanct, [https://www.flashrom.org/mailman/listinfo/flashrom flashrom ML] || TBD
 
|-
 
|-
| [[User:ruik|Rudolf Marek]] || coreboot: possible mentor || IRC: ruik
+
| [[User:Dhendrix|David Hendricks]] || flashrom: possible mentor || IRC: dhendrix, [https://www.flashrom.org/mailman/listinfo/flashrom flashrom ML] ||
|-
+
| [[User:Jason Wang|QingPei Wang]] || coreboot: possible mentor || IRC:QingPei
+
|-
+
| [[User:MartinRoth|Martin Roth]] || coreboot: possible mentor || IRC: martinr
+
|-
+
| [http://www.flashrom.org/User:Hailfinger Carl-Daniel Hailfinger] || flashrom: possible mentor || IRC: carldani
+
 
|-
 
|-
 
|}
 
|}
  
 
'''Note to mentors:''' Each accepted project will have a lead mentor and a backup mentor. We will match mentors and students based on the project, experience level, and geographic location (native language, culture and time zone).
 
'''Note to mentors:''' Each accepted project will have a lead mentor and a backup mentor. We will match mentors and students based on the project, experience level, and geographic location (native language, culture and time zone).
<br/><br/>
 
  
 
= coreboot Summer of Code Application =
 
= coreboot Summer of Code Application =
  
 
Please complete the standard Google SoC application and project proposal. Prospective coreboot GSoC student should provide the following information as part of their application. If you are applying for a flashrom or SerialICE project use common sense when using the template below, this is part of the test. ;)
 
Please complete the standard Google SoC application and project proposal. Prospective coreboot GSoC student should provide the following information as part of their application. If you are applying for a flashrom or SerialICE project use common sense when using the template below, this is part of the test. ;)
 
 
:Name:
 
:Name:
 
:Email:
 
:Email:
 
:IM/IRC/Skype/other contact:
 
:IM/IRC/Skype/other contact:
 
+
:Web Page / Blog / Microblog / Portfolio:
 
:Country/Timezone:
 
:Country/Timezone:
 +
:Normal working hours(UTC):
 
:School:
 
:School:
 
:Degree Program:
 
:Degree Program:
 
:Expected graduation date:
 
:Expected graduation date:
 +
:Links to one or more patches submitted to the project you're applying for:
 +
:Resume (optional):
  
:Most students have some time off planned during GSoC. Do you have any vacations? When and how long?
 
  
coreboot welcomes students from all backgrounds and levels of experience. To be seriously considered for coreboot GSoC, we recommend joining the mailing list and IRC channel. Introduce yourself and mention that you are a prospective GSoC student. Ask questions and discuss the project that you are considering. Community involvement is a key component of coreboot development. By the time you have submitted your application, you should have downloaded, built a and booted coreboot in QEMU, SimNow, or on real hardware. Please, email your serial output results to the mailing list.  
+
coreboot welcomes students from all backgrounds and levels of experience. To be considered for coreboot GSoC, we recommend joining the mailing list and IRC channel. Introduce yourself and mention that you are a prospective GSoC student. Ask questions and discuss the project that you are considering. Community involvement is a key component of coreboot development. By the time you have submitted your application, you should have downloaded, built a and booted coreboot in QEMU, SimNow, or on real hardware.  
 +
Please, email your serial output results to the mailing list.
  
 
The following information will help coreboot match students with mentors and projects.
 
The following information will help coreboot match students with mentors and projects.
 
+
# Please comment on your software and firmware experience.
Please comment on your software and firmware experience.
+
# Have you participated in the coreboot community before?
 
+
# Have you contributed to an open source project? Which one? What was your experience?
Have you participated in the coreboot community before?
+
# Have you built and run coreboot? Did you have problems?
 
+
# Did you review and comment on coreboot code in Gerrit? Which patches?
Have you contributed to an open source project? Which one? What was your experience?
+
# Did you find and fix a coreboot bug? Did you send a patch to Gerrit? Please provide a link to the Gerrit page.
 
+
# Please provide an overview of your project (in your own words).
Have you built and run coreboot? Did you have problems?
+
## Provide break down of your project in small specific weekly goals. Think about the potential timeline.
 
+
## How will you accomplish this goal? What is your working style?
Did you find and fix a coreboot bug? Did you send a patch to Gerrit? Please provide a link to the Gerrit page.  
+
## Explain what risks or potential problems your project might experience.
 
+
## What would you expect as a minimum level of success?
Please provide an overview of your project and a break down of your project in small specific goals. Think about the potential timeline. 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?  
+
## Do you have a stretch goal?
<br/><br/>
+
# What are your other time commitments? Do you have a job, classes, vacations? When and how long?
  
 
== Advice on how to apply ==
 
== Advice on how to apply ==
Line 123: Line 118:
 
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. Mentors are your best resource in flushing 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.
 
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. Mentors are your best resource in flushing 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.
  
The Drupal project has a great page on [http://drupal.org/node/59037 how to write an SOC application].
+
* The Drupal project has a great page on [https://www.drupal.org/node/59037 how to write an SOC application].
 
+
* GSoC Student Guide: [http://en.flossmanuals.net/GSoCStudentGuide/]
Please also read Google's [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents Advice for Students].
+
* Secrets for GSoC success: [http://softwareswirl.blogspot.com/2014/03/my-secret-tip-for-gsoc-success.html]
<br/><br/>
+
  
 
== Important dates ==
 
== Important dates ==
  
* April 1–5: Google program administrators review organization applications.
+
The official timetable can be found [https://developers.google.com/open-source/gsoc/timeline here].
* April 8: List of accepted mentoring organizations published on the Google Summer of Code 2013 site.
+
* April 9–21: Would-be student participants discuss application ideas with mentoring organizations.
+
14 March: 19:00 UTC - Student application period opens.
* April 22: Student application period opens.
+
25 March: 19:00 UTC - Student application deadline.
* May 3: Student application deadline.
+
22 April: 19:00 UTC - Accepted student proposals announced on the Google Summer of Code 2016 site.
 
+
23 May - Students begin coding for their Google Summer of Code projects;
The official timetable can be found [http://www.google-melange.com/gsoc/events/google/gsoc2013 here].
+
27 June: 19:00 UTC - Mid-term evaluations deadline;
 
+
15-23 August - Suggested cleanup period. Take a week to scrub code, write tests, improve documentation, etc.
<font size= 1>All deadlines end at 19:00 [http://en.wikipedia.org/wiki/UTC UTC].</font size>
+
23 August: 19:00 UTC - Final (evaluation) deadline (for students)
 +
29 August: 19:00 UTC - Final evaluation deadline (for mentors)
  
=== Past deadlines ===
+
<font size= 1>All deadlines end at 19:00 [https://en.wikipedia.org/wiki/UTC UTC].</font size>
* March 29: Mentoring organization application deadline.
+

Latest revision as of 18:14, 20 March 2016

Welcome to coreboot Google Summer of Code, 2016!
coreboot has been accepted as a GSoC 2016 as mentoring organization.

coreboot has many Project Ideas for various ability levels. The coreboot project also hosts flashrom and SerialICE projects.

Official student application period in 2016 is from March 14 to March 25.


coreboot contact

If you are interested in becoming a GSoC student, please contact the coreboot mailing list or visit our IRC channel #coreboot on irc.freenode.net.

If you need to contact someone directly, Patrick Georgi and Martin Roth are the GSoC admins for coreboot in 2016.

Why work on coreboot for GSoC 2016?

  • coreboot offers you the opportunity to work with modern technology “right on the iron”. coreboot supports current silicon from AMD and Intel.
  • 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 students participating in GSoC 2016.
  • 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 changes that by providing a common framework for initial hardware initialization and you can help us succeed.

GSoC Student requirements

What will be required of you to be a coreboot GSoC student?

Google Summer of Code is a full (day)time job. This means we expect roughly 40 hours per week on your project, during the three months of coding. Obviously we have flexibility, but if your schedule (exams, courses) does not give you this amount of spare time, then maybe you should not apply. We expect to be able to see this level of effort in student output.

  1. Prior to project acceptance, you have demonstrated that you can work with the coreboot codebase.
    • By the time you have submitted your application, you should have downloaded, built and booted coreboot in QEMU, SimNow, or on real hardware. Please, email your serial output results to the mailing list.
    • Send a patch to Gerrit for review. Check Easy projects or ask for simple tasks on the mailing list or on IRC.
  2. 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 suggest you 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.
  3. We require that accepted students to maintain a blog, where you will write about your project weekly. This is a way to measure progress and for the community at large to be able to help you. SoC is not a private contract between your mentor and you. http://blogs.coreboot.org/
  4. Student must be active on IRC and the mailing list.
  5. Students are expected to work on development publicly, and to push commits to the project on a regular basis. 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 students 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. Please visit the following pages for some ideas or come up with your own idea.

We keep a list of previous GSoC Projects which might be of interest to you to see what others have accomplished. Similarly the blog posts related to previous GSoC projects might give some insights to what it is like to be a coreboot GSoC student.

Your own Project Ideas

We have come up with some ideas for cool Summer of Code projects. These are projects that we think can be managed in the short period of GSoC, and they cover areas where coreboot is trying to reach new users and new use cases.

But of course your application does not need to be based on any of the ideas listed. The opposite: Maybe you have a great idea that we just didn't think of yet. Please let us know!

Mentors

The following coreboot developers have volunteered to be GSoC 2016 mentors. Please stop by IRC and say hi to them and ask them questions about coreboot. Please read the GSoC Mentors Guide.

Name Role Comms AFK / Vacation MMDD-MMDD
Patrick Georgi coreboot: co-organizer and mentor IRC: patrickg, pgeorgi
Martin Roth coreboot: co-organizer and mentor IRC: martinr
Stefan Reinauer coreboot/serialice: mentor IRC: stepan
Ron Minnich coreboot: mentor IRC: rminnich
Stefan Tauner flashrom: mentor IRC: stefanct, flashrom ML TBD
David Hendricks flashrom: possible mentor IRC: dhendrix, flashrom ML

Note to mentors: Each accepted project will have a lead mentor and a backup mentor. We will match mentors and students based on the project, experience level, and geographic location (native language, culture and time zone).

coreboot Summer of Code Application

Please complete the standard Google SoC application and project proposal. Prospective coreboot GSoC student should provide the following information as part of their application. If you are applying for a flashrom or SerialICE project use common sense when using the template below, this is part of the test. ;)

Name:
Email:
IM/IRC/Skype/other contact:
Web Page / Blog / Microblog / Portfolio:
Country/Timezone:
Normal working hours(UTC):
School:
Degree Program:
Expected graduation date:
Links to one or more patches submitted to the project you're applying for:
Resume (optional):


coreboot welcomes students from all backgrounds and levels of experience. To be considered for coreboot GSoC, we recommend joining the mailing list and IRC channel. Introduce yourself and mention that you are a prospective GSoC student. Ask questions and discuss the project that you are considering. Community involvement is a key component of coreboot development. By the time you have submitted your application, you should have downloaded, built a and booted coreboot in QEMU, SimNow, or on real hardware. Please, email your serial output results to the mailing list.

The following information will help coreboot match students with mentors and projects.

  1. Please comment on your software and firmware experience.
  2. Have you participated in the coreboot community before?
  3. Have you contributed to an open source project? Which one? What was your experience?
  4. Have you built and run coreboot? Did you have problems?
  5. Did you review and comment on coreboot code in Gerrit? Which patches?
  6. Did you find and fix a coreboot bug? Did you send a patch to Gerrit? Please provide a link to the Gerrit page.
  7. Please provide an overview of your project (in your own words).
    1. Provide break down of your project in small specific weekly goals. Think about the potential timeline.
    2. How will you accomplish this goal? What is your working style?
    3. Explain what risks or potential problems your project might experience.
    4. What would you expect as a minimum level of success?
    5. Do you have a stretch goal?
  8. What are your other time commitments? Do you have a job, classes, vacations? When and how long?

Advice on how to apply

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. Mentors are your best resource in flushing 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.

Important dates

The official timetable can be found here.

14 March: 19:00 UTC - Student application period opens.
25 March: 19:00 UTC - Student application deadline.
22 April: 19:00 UTC - Accepted student proposals announced on the Google Summer of Code 2016 site.
23 May - Students begin coding for their Google Summer of Code projects;
27 June: 19:00 UTC - Mid-term evaluations deadline;
15-23 August - Suggested cleanup period. Take a week to scrub code, write tests, improve documentation, etc.
23 August: 19:00 UTC - Final (evaluation) deadline (for students)
29 August: 19:00 UTC - Final evaluation deadline (for mentors)

All deadlines end at 19:00 UTC.