Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
summerofcodestudentchecklist [2019/05/06 22:14] – BrooksDavissummerofcodestudentchecklist [2023/05/05 17:07] (current) – Update for 2023 JosephMingrone
Line 1: Line 1:
-====== Student Checklist for FreeBSD Summer of Code Students ======+====== Checklist for FreeBSD Summer of Code Students ======
  
-This page collects ideas and best practices for students participating in [[SummerOfCode2015|Summer of Code 2015]] with the %%FreeBSD%% project.+This page collects ideas and best practices for students participating in [[SummerOfCode2023|Summer of Code 2023]] with the %%FreeBSD%% project.
  
 ===== Applying ===== ===== Applying =====
Line 9: Line 9:
   * Find a mentor.  You'll need to work closely with a %%FreeBSD%% developer who is willing to act as your %%GSoC%% mentor.  If you can find a developer who is willing to commit to helping you, that is a big boost.  Every year, we have to reject a handful of proposals because we cannot locate a suitable mentor.   * Find a mentor.  You'll need to work closely with a %%FreeBSD%% developer who is willing to act as your %%GSoC%% mentor.  If you can find a developer who is willing to commit to helping you, that is a big boost.  Every year, we have to reject a handful of proposals because we cannot locate a suitable mentor.
  
-  * Read the [[http://www.freebsd.org/community/mailinglists.html|mailing lists]].  By reading the mailing lists, you'll learn a lot about how the %%FreeBSD%% project operates and what kind of people participate.+  * Read the [[https://www.freebsd.org/community/mailinglists/|mailing lists]].  By reading the mailing lists, you'll learn a lot about how the %%FreeBSD%% project operates and what kind of people participate.
  
-  * Talk about your idea in public.  The [[http://lists.freebsd.org/mailman/listinfo/freebsd-hackers|freebsd-hackers@freebsd.org]] mailing list, in particular, is an open forum where many people share ideas about how to improve %%FreeBSD%%.  By discussing your idea there, you can get feedback that will help improve your proposal and demonstrate that there is interest in your idea.+  * Talk about your idea in public.  The [[https://lists.freebsd.org/subscription/freebsd-hackers|freebsd-hackers@freebsd.org]] mailing list, in particular, is an open forum where many people share ideas about how to improve %%FreeBSD%%.  By discussing your idea there, you can get feedback that will help improve your proposal and demonstrate that there is interest in your idea.
  
   * Contribute.  Send us a patch!  Even if it's not accepted, your patch will show us that you use %%FreeBSD%%, have the coding skills we need from %%GSoC%% students, and have looked at the source code.  If you plan to work on the ports collection, port some software to get familiar with the infrastructure.   * Contribute.  Send us a patch!  Even if it's not accepted, your patch will show us that you use %%FreeBSD%%, have the coding skills we need from %%GSoC%% students, and have looked at the source code.  If you plan to work on the ports collection, port some software to get familiar with the infrastructure.
Line 17: Line 17:
 ===== Community Bonding Period ===== ===== Community Bonding Period =====
  
-After applications are accepted, there is a period of a few weeks before the official start of coding on May 25th.  We require our participants to take a few simple steps during this period in preparation.+After applications are accepted, there is a period of a few weeks before the official start of coding on May 29.  We require our participants to take a few simple steps during this period in preparation.
  
   * Talk to your mentor.  You'll have to work out with your mentor how you'll communicate (email, IRC, etc), how often (some mentors require daily progress reports, for example), and how you'll work together.   * Talk to your mentor.  You'll have to work out with your mentor how you'll communicate (email, IRC, etc), how often (some mentors require daily progress reports, for example), and how you'll work together.
  
-  * You'll be automatically added to the soc-students@ mailing list.  You may also want to join either the [[http://lists.freebsd.org/mailman/listinfo/freebsd-hackers|freebsd-hackers@]] or [[http://lists.freebsd.org/mailman/listinfo/freebsd-current|freebsd-current@]] mailing lists to keep in touch with what the larger %%FreeBSD%% development community is doing.  Your mentor may also want you to join one or more lists specific to the area of your project (net@, embedded@).+  * You'll be automatically added to the soc-students@ mailing list.  You may also want to join either the [[https://lists.freebsd.org/subscription/freebsd-hackers|freebsd-hackers@]] or [[https://lists.freebsd.org/subscription/freebsd-current|freebsd-current@]] mailing lists to keep in touch with what the larger %%FreeBSD%% development community is doing.  Your mentor may also want you to join one or more lists specific to the area of your project (net@, embedded@).
  
   * Choose a name you would like to use for your @freebsd.org email address.  Your email address will be set up to forward to whichever email address we already have for you - most webmail providers (e.g. GMail) will then let you add that as a second email address so that you can also send email from the address.   * Choose a name you would like to use for your @freebsd.org email address.  Your email address will be set up to forward to whichever email address we already have for you - most webmail providers (e.g. GMail) will then let you add that as a second email address so that you can also send email from the address.
  
-  * [[AboutWiki|Get a wiki account]] so you can create a page about your project and keep it updated.  When choosing your wiki username, please stick to the FirstnameLastname format.  Your mentor can help you set up access, and they will need to add you to the ContributorsGroup before you can edit pages.  If you would prefer to use another site to post updates about your progress, that is OK, but you should still update the wiki with a basic project description and provide links to any blogs or external websites where you will post updates.+  * [[Wiki/About|Get a wiki account]] so you can create a page about your project and keep it updated.  When choosing your wiki username, please stick to the %%FirstnameLastname%% format.  Your mentor can help you set up access, and they will need to add you to the ContributorsGroup before you can edit pages.  If you would prefer to use another site to post updates about your progress, that is OK, but you should still update the wiki with a basic project description and provide links to any blogs or external websites where you will post updates.
  
   * Provide the above two pieces of information (your %%FreeBSD%%.org username and your wiki username) to both your mentor and soc-admins@   * Provide the above two pieces of information (your %%FreeBSD%%.org username and your wiki username) to both your mentor and soc-admins@
  
-  * Once you have a wiki account, follow the link for your project at [[SummerOfCode2019Projects]] and create a new page, based on the template provided at [[SummerOfCode/ProjectTemplate]] (click "edit" and copy/paste the source code).  If desired, create a short page about yourself at ''%%https://wiki.FreeBSD.org/FirstnameLastname%%'' (using the same name as your Wiki username) - this isn't required but is recommended as it helps people find out about you.+  * Once you have a wiki account, follow the link for your project at [[SummerOfCode2023Projects]] and create a new page, based on the template provided at [[SummerOfCode/ProjectTemplate]] (click "edit" and copy/paste the source code).  If desired, create a short page about yourself at ''%%FirstnameLastname%%'' (using the same name as your Wiki username) - this isn't required but is recommended as it helps people find out about you.
  
   * If you use IRC, ask your mentor about relevant %%FreeBSD%% related IRC channels for your project (IRC is not a requirement, some mentors and some students find IRC very helpful, and others do not).   * If you use IRC, ask your mentor about relevant %%FreeBSD%% related IRC channels for your project (IRC is not a requirement, some mentors and some students find IRC very helpful, and others do not).
Line 37: Line 37:
   * Talk with your mentor about any background reading of code, papers, or book chapters that will help provide context for your project.   * Talk with your mentor about any background reading of code, papers, or book chapters that will help provide context for your project.
  
-  * Especially if you are new to %%FreeBSD%%, expect to spend some time before the official start of coding becoming more familiar with %%FreeBSD%%:  Install it, use it, perform a full system upgrade from source code.  Projects based on the src tree will usually be developed on the top of the %%FreeBSD%% tree (known as "head"), upgrading to this (or at least preparing a VM running head) is recommended.+  * Especially if you are new to %%FreeBSD%%, expect to spend some time before the official start of coding becoming more familiar with %%FreeBSD%%:  Install it, use it, perform a full system upgrade from source code.  Projects based on the src tree will usually be developed on the top of the %%FreeBSD%% tree (known as "HEAD"), upgrading to this (or at least preparing a VM running head) is recommended.
  
 ===== First Third of the Summer, before mid-term evaluations ===== ===== First Third of the Summer, before mid-term evaluations =====
  
-  * If your school schedule does not permit you to start on May 27th, you should carefully negotiate this with your mentor.  If necessary, you can raise any concerns with soc-admins@freebsd.org.+  * If your school schedule does not permit you to start on May 29, you should carefully negotiate this with your mentor.  If necessary, you can raise any concerns with soc-admins@freebsd.org.
  
   * Talk to your mentor regularly.  Most mentors expect some interaction every day via email or IRC.  Make sure your mentor knows what you are doing and what problems you are having.  Consider having video calls with Google Hangouts or the like on a regular basis.   * Talk to your mentor regularly.  Most mentors expect some interaction every day via email or IRC.  Make sure your mentor knows what you are doing and what problems you are having.  Consider having video calls with Google Hangouts or the like on a regular basis.
Line 47: Line 47:
   * Submit weekly status reports to the soc-status@%%FreeBSD%%.org mailing list.   * Submit weekly status reports to the soc-status@%%FreeBSD%%.org mailing list.
  
-  * Find others in the community aside from your mentor that are working in similar areas or have a particular interest in your project.  If beneficial, send them a short introductory mail about yourself and your project.  They may be able to suggest things that you haven't yet considered.+  * Find others in the community aside from your mentor who are working in similar areas or have a particular interest in your project.  If beneficial, send them a short introductory mail about yourself and your project.  They may be able to suggest things that you haven't yet considered.
  
   * Push code regularly.  You should commit early and often.  You are working in an experimental Summer of Code repository or branch of the tree and it is not expected that code in this is in a finished state.  On days where you are actively working on your project it is hoped that you'll submit at least once a day.  Many students will make hundreds of commits over the course of the summer.   * Push code regularly.  You should commit early and often.  You are working in an experimental Summer of Code repository or branch of the tree and it is not expected that code in this is in a finished state.  On days where you are actively working on your project it is hoped that you'll submit at least once a day.  Many students will make hundreds of commits over the course of the summer.
Line 53: Line 53:
   * Keep your wiki page up to date whenever necessary.   * Keep your wiki page up to date whenever necessary.
  
-===== Reminder of the Summer, after first mid-term evaluation =====+===== Rest of the Summer, after first mid-term evaluation =====
  
   * Submit information about your project to a %%FreeBSD%% Developer Status Report to raise awareness of your work.  Submissions are expected to be works in progress, so no matter where you are in the process if you passed the mid-term evaluation you are more than far enough along to warrant publicizing your project in the status reports.   * Submit information about your project to a %%FreeBSD%% Developer Status Report to raise awareness of your work.  Submissions are expected to be works in progress, so no matter where you are in the process if you passed the mid-term evaluation you are more than far enough along to warrant publicizing your project in the status reports.
Line 67: Line 67:
 ===== After the summer ===== ===== After the summer =====
  
-  * You are encouraged to continue working on %%FreeBSD%% in any way you can.  Talk with your mentor and others in the community about follow up projects if you are interested in doing more work or becoming a full %%FreeBSD%% committer.+  * You are encouraged to continue working on %%FreeBSD%% in any way you can.  Talk with your mentor and others in the community about follow-up projects if you are interested in doing more work or becoming a full %%FreeBSD%% committer.
  
   * If your project addressed an idea from the %%FreeBSD%% ideas list, mail your mentor and the maintainers about adding a link to your work and/or removing this idea completely if the project is completed and there would be no need for others to do this.   * If your project addressed an idea from the %%FreeBSD%% ideas list, mail your mentor and the maintainers about adding a link to your work and/or removing this idea completely if the project is completed and there would be no need for others to do this.
 +
 +----
 +
 +{{tag>Gsoc}}
  
  • summerofcodestudentchecklist.1557180853.txt.gz
  • Last modified: 2019/05/06 22:14
  • by BrooksDavis