aboutsummaryrefslogtreecommitdiff
path: root/website/content/en/projects/summerofcode.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'website/content/en/projects/summerofcode.adoc')
-rw-r--r--website/content/en/projects/summerofcode.adoc161
1 files changed, 98 insertions, 63 deletions
diff --git a/website/content/en/projects/summerofcode.adoc b/website/content/en/projects/summerofcode.adoc
index 6a2d3f4eb4..0465fabf8e 100644
--- a/website/content/en/projects/summerofcode.adoc
+++ b/website/content/en/projects/summerofcode.adoc
@@ -1,41 +1,57 @@
---
-title: "FreeBSD Summer Projects"
+title: "FreeBSD and Google Summer of Code"
sidenav: developers
---
-= FreeBSD Summer Projects
-
-The FreeBSD Project is looking forward to participating as a mentoring organization in https://summerofcode.withgoogle.com/[Google Summer of Code] (GSoC) 2022. This program offers GSoC contributors a stipend of https://developers.google.com/open-source/gsoc/help/student-stipends[up to $6,600 USD] to contribute to an open source project over the summer break. We have had over 200 successful GSoC contributors working on FreeBSD as part of this program since 2005.
-
-This page and the https://wiki.freebsd.org/SummerOfCodeIdeas[ideas lists] will be updated throughout the application period to include new information, such as project ideas, proposal information, and potential mentor contact information. If you don't see an idea that interests you, visit again in a couple of days! Additionally, we welcome proposals unrelated to the ideas listed here.
-
-* <<benefits,Benefits of Participating>>
-* <<contributors,Past Contributor Projects>>
-* <<ideas,Example Proposal Ideas>>
-* <<mentors,Possible Mentors>>
+Google Summer of Code or GSoC is an annual event sponsored by Google, Inc.
+It enables contributors to spend from 8 to 22 weeks over the summer "interning" with open source software projects.
+The work is done under the guidance of one or more mentors and the effort is rewarded with https://developers.google.com/open-source/gsoc/help/student-stipends[a stipend].
+FreeBSD has been a participating organization every year since 2005 and we hope to be awarded a spot as mentoring organization again in 2024.
+
+If you are interested in operating system development, "interning" with a longstanding and successful open source operating system like FreeBSD is an excellent opportunity.
+Founded in 1993, FreeBSD is an advanced operating system for server, desktop, and embedded computer platforms.
+It offers advanced networking, impressive security features, and high performance.
+It is the foundation for many commercial products, including Sony's Playstation, Nintendo's Switch, NetApp's OnTap/GX, Juniper's Junos operating system, and was the starting point for the core of Apple's OS X.
+The project consists of hundreds of "committers" and many more contributors who have experience in different parts of the operating system.
+Many of our past GSoC students have gone on to become FreeBSD developers.
+After the summer ends, contributors may be sponsored by Google or the FreeBSD Foundation to present on their work at conferences.
+This can be a great job networking opportunity!
+
+* <<steps,Important Steps>>
+* <<project,Finding a Project and a Mentor>>
* <<proposals,Proposal Guidelines>>
-* <<infrastructure,Infrastructure Provided to Contributors>>
+* <<communication,Communication and Openness>>
* <<faq,Frequently Asked Questions>>
-[[benefits]]
-== Benefit of Participating
+[[steps]]
+== Important Steps
-Google Summer of Code is an exciting opportunity for contributors to "intern" with an open source project for a summer. The FreeBSD Project, as one of the most successful and oldest open source projects, is an excellent place to do this internship. Founded in 1993, the project now consists of several hundred "committers" and tens of thousands of contributors. FreeBSD is the foundation for many commercial products, including Apple's Mac OS X, NetApp's OnTap/GX, Juniper's JunOS, as well countless other products, and is widely used in the Internet Service Provider and corporate IT worlds. Many of these sponsors participate daily in the FreeBSD community, and contributors have the opportunity to develop software ideas in an exciting environment with many real world applications, and under the mentorship of experienced developers.
+* Determine whether you https://summerofcode.withgoogle.com/get-started[qualify to participate in GSoC].
+* Stay on top of https://developers.google.com/open-source/gsoc/timeline[the timeline].
+* Find a project and a mentor.
+* Submit a proposal to Google.
-After the summer ends, contributors can be sponsored by Google or the FreeBSD Foundation to attend operating systems and open source conferences to present on their work, and a significant number go on to become FreeBSD developers. It's also a great job networking opportunity!
+[[project]]
+== Finding a Project and a Mentor
-[[ideas]]
-== Example Proposal Ideas
+A crucial step is to choose an appropriate project and mentor.
+If you want to be successful, start your search early.
+The https://wiki.FreeBSD.org/SummerOfCodeIdeas[list of project ideas] is a helpful starting point, but don't feel limited by those projects.
+You can try mailing one of the technical contacts listed on a project and/or mailing the hackers@FreeBSD.org list.
+Introduce yourself and describe your interests and experience.
+This may pique the interest of one or more developers who could suggest a project and mentor.
-The FreeBSD Project maintains a https://wiki.FreeBSD.org/SummerOfCodeIdeas[list of possible ideas] on our wiki. All projects listed are believed to be sized for a useful summer hacking, and have technical contacts who can help answer questions as you write your proposal. We also maintain a more generic https://wiki.FreeBSD.org/IdeasPage[Ideas Page]. These projects are less suitable as Summer of Code projects as they may be scoped larger or smaller than a summer, or might not have such a clear mentor - we suggest e-mailing our soc-admins@FreeBSD.org for help if you do decide to propose one of them. These pages exist to help provide inspiration. Contributors are also welcome, and are indeed encouraged to propose your own ideas, and if the proposal is strong, we'll try to match you with a mentor!
+We also maintain a more generic https://wiki.FreeBSD.org/IdeasPage[Ideas Page].
+These projects are less suitable as Summer of Code projects as they may be scoped larger or smaller than a summer, or might not have such a clear mentor.
+We suggest e-mailing our hackers@FreeBSD.org for help if you do decide to propose one of them.
+These pages exist to help provide inspiration.
+Another place to look for project ideas about upcoming development projects in FreeBSD is the link:../../status/[FreeBSD Status Reports].
+Contributors are also welcome, and are indeed encouraged, to propose your own ideas, and if the proposal is strong, we'll try to match you with a mentor!
-For additional ideas about upcoming development projects in FreeBSD, take a look at recent link:../status/[Developer Status Reports].
-
-[[contributors]]
-== Past Contributor Projects
-
-For a complete list of contributor projects from previous years, visit:
+For inspiration, you can have look at the contributor projects from previous years.
+* https://wiki.FreeBSD.org/SummerOfCode2023Projects[Summer of Code 2023 FreeBSD Projects Wiki]
+* https://wiki.FreeBSD.org/SummerOfCode2022Projects[Summer of Code 2022 FreeBSD Projects Wiki]
* https://wiki.FreeBSD.org/SummerOfCode2021Projects[Summer of Code 2021 FreeBSD Projects Wiki]
* https://wiki.FreeBSD.org/SummerOfCode2020Projects[Summer of Code 2020 FreeBSD Projects Wiki]
* https://wiki.FreeBSD.org/SummerOfCode2019Projects[Summer of Code 2019 FreeBSD Projects Wiki]
@@ -49,13 +65,17 @@ For a complete list of contributor projects from previous years, visit:
* https://wiki.FreeBSD.org/SummerOfCode2011Projects[Summer of Code 2011 FreeBSD Projects Wiki]
* https://wiki.FreeBSD.org/SummerOfCode2010Projects[Summer of Code 2010 FreeBSD Projects Wiki]
* https://wiki.FreeBSD.org/SummerOfCode2009Projects[Summer of Code 2009 FreeBSD Projects Wiki]
-
-See also our wiki pages for contributor projects [https://wiki.FreeBSD.org/SummerOfCode2008[2008], https://wiki.FreeBSD.org/SummerOfCode2007[2007], https://wiki.FreeBSD.org/SummerOfCode2006[2006], and https://wiki.FreeBSD.org/SummerOfCode2005[2005]].
+* https://wiki.FreeBSD.org/SummerOfCode2008[Summer of Code 2008 FreeBSD Projects Wiki]
+* https://wiki.FreeBSD.org/SummerOfCode2007[Summer of Code 2007 FreeBSD Projects Wiki]
+* https://wiki.FreeBSD.org/SummerOfCode2006[Summer of Code 2006 FreeBSD Projects Wiki]
+* https://wiki.FreeBSD.org/SummerOfCode2005[Summer of Code 2005 FreeBSD Projects Wiki]
[[proposals]]
== Proposal Guidelines
-Contributors are responsible for writing a proposal and submitting it to Google before the application deadline. The following outline was adapted from the Perl Foundation. The objective of the proposal is to identify what is to be done, explain why this needs to be done, and convince us that:
+Contributors are responsible for writing a proposal and submitting it to Google before the application deadline.
+The following outline was adapted from the Perl Foundation.
+The objective of the proposal is to identify what is to be done, explain why this needs to be done, and convince us that:
* You are qualified to do this project. This means both having the necessary background and demonstrating a general understanding of the problem.
* You have the resources (especially time!) needed to complete the project within the working period of the Summer of Code.
@@ -70,15 +90,24 @@ A strong proposal will include (at least):
* *IM/IRC*
* *Availability*
+
-How many hours per week will you spend working on this? How many on other things? What other obligations (work, school, vacation, weddings, etc.) do you have this summer? Be as specific as possible: when will the project begin and end? You should be ready to produce a day by day schedule before the program starts.)
+How many hours per week will you spend working on this? How many on other things?
+What other obligations (work, school, vacation, weddings, etc.) do you have this summer?
+Be as specific as possible: when will the project begin and end?
+You should be ready to produce a day by day schedule before the program starts.)
+
*Please note*: participating in Google Summer of Code is a significant time commitment, and you should not apply if you already have another full-time job planned for the summer.
* *Biography*
+
-Who are you? What skills do you bring to this project? What is your past involvement with The FreeBSD Project? (Past involvement is not required, but ideally you will have at least installed FreeBSD and perhaps fixed a bug or two) If your project includes programming in a particular language, such as C, or in a specific environment, such as the kernel or an embedded platform, what experience do you have working in that area? Are you familiar with or a user of revision control systems? Have you completed courses that will be relevant to your project idea? What do you think you will need to learn to complete this project?
+Who are you?
+What skills do you bring to this project?
+What is your past involvement with The FreeBSD Project? (Past involvement is not required, but ideally you will have at least installed FreeBSD and perhaps fixed a bug or two)
+If your project includes programming in a particular language, such as C, or in a specific environment, such as the kernel or an embedded platform, what experience do you have working in that area?
+Are you familiar with or a user of revision control systems?
+Have you completed courses that will be relevant to your project idea? What do you think you will need to learn to complete this project?
* *Possible Mentor*
+
-Optional, but highly recommended. Do not put a name here if you have not contacted them.
+Optional, but highly recommended.
+Do not put a name here if you have not contacted them.
=== Project Information
@@ -87,41 +116,35 @@ Optional, but highly recommended. Do not put a name here if you have not contact
In forty characters or less, what you propose to do.
* *Project Description*
+
-A few paragraphs describing your project. Direct copies from the ideas page will be rejected - proposals should reveal that you have done some research into the problem and its solutions. Include both what you will be doing and why it is a good thing for The FreeBSD Project.
+A few paragraphs describing your project.
+Direct copies from the ideas page will be rejected - proposals should reveal that you have done some research into the problem and its solutions.
+Include both what you will be doing and why it is a good thing for The FreeBSD Project.
* *Deliverables*
+
-A list quantifiable results and related code milestones. We suggest at least two milestones before the mid-term evaluations and two after. Where appropriate, this schedule should include multiple committable or releasable points so people can benefit from and/or test your work as early as possible.
+A list quantifiable results and related code milestones.
+We suggest at least two milestones before the mid-term evaluations and two after.
+Where appropriate, this schedule should include multiple committable or releasable points so people can benefit from and/or test your work as early as possible.
* *Test Plan*
+
-What parts of your code need testing and how do you plan to test them? This might include both functionality and performance tests.
+What parts of your code need testing and how do you plan to test them?
+This might include both functionality and performance tests.
* *Project Schedule*
+
How long will the project take? When can you begin work?
-[[mentors]]
-== Mentors
+[[communication]]
+== Communication and Openness
-A number of FreeBSD committers are willing to mentor contributors. A good place to start is the 'Technical contacts' listed with the example projects on the https://wiki.FreeBSD.org/SummerOfCodeIdeas[ideas page].
-
-[[infrastructure]]
-== Infrastructure Provided to Contributors
-
-We expect project work to be done in GitHub repositories in order to facilitate contributor collaboration, provide public access and archiving for the on-going contributor projects, and to help mentors and the community monitor on-going work. Contributors will also be asked to maintain wiki pages on their on-going projects. In the past, e-mail, IRC, and instant messaging have proven popular among contributors and mentors, and contributors participating in the FreeBSD summer program are encouraged to use these and other electronic communication mechanisms to become active in the community.
+We expect project work to be completed in git and require that work to be regularly pushed to a public repository.
+Providing public access facilitates collaboration, allows project archiving, and helps mentors and the community support and monitor ongoing work.
+Contributors will also be asked to maintain and update wiki pages of their work.
+E-mail (including mailing lists), IRC, instant messaging (Matrix, Slack, etc.), and video conferencing have been some of ways contributors and mentors have communicated in the past.
+Contributors are also encouraged to use these and other methods to engage with the wider FreeBSD community.
[[faq]]
== Frequently Asked Questions
-* *When are proposals due, and how do I submit mine?*
-+
-Google has announced the following dates of interest relating to the application process: +
-
-** *07 March* - Potential GSoC contributors discuss application ideas with mentoring organizations
-** *04 April 18:00 UTC* - GSoC contributor application period begins
-** *19 April 18:00 UTC* - GSoC contributor application deadline
-** *20 May 18:00 UTC* - Accepted GSoC contributor projects announced | http://googlesummerofcode.blogspot.com/2007/04/so-what-is-this-community-bonding-all.html[Community Bonding Period begins] | Contributors get to know mentors, read documentation, get up to speed to begin working on their projects
-** *13 June* - Coding officially begins.
-** *25 July 18:00 UTC* - Mentors and GSoC contributors can begin submitting Phase 1 evaluations.
-** *29 July 18:00 UTC* - Phase 1 Evaluation deadline (standard coding period).
+* *Where can I find the list of deadlines?*
+
The https://developers.google.com/open-source/gsoc/timeline/[GSoC Timeline] is the authoritative source of detailed schedule information.
@@ -131,28 +154,40 @@ All contributors must register with, and submit applications via, https://summer
* *What advice do you have for a contributor who might want to submit a proposal?*
+
-Experience suggests that the strongest proposals come from contributors who contact FreeBSD developers and potential mentors well in advance of submitting their proposal, seek feedback on their proposal ideas, and write proposals that reflect time spent exploring and understanding the problem area to be addressed. Even if the FreeBSD developer(s) you contact aren't the eventual mentor of the project, their feedback can be invaluable. +
+Experience suggests that the strongest proposals come from contributors who contact FreeBSD developers and potential mentors well in advance of submitting their proposal, seek feedback on their proposal ideas, and write proposals that reflect time spent exploring and understanding the problem area to be addressed.
+Even if the FreeBSD developer(s) you contact aren't the eventual mentor of the project, their feedback can be invaluable. +
* *Can I submit multiple project proposals to the FreeBSD Project?*
+
-Yes, but do make sure you invest adequate time in each proposal. We are not able to accept more than one project per contributor, so you may do better spending more time on one or two detailed proposals than by submitting lots of less-detailed ones.
+Yes, but do make sure you invest adequate time in each proposal.
+We are not able to accept more than one project per contributor, so you may do better spending more time on one or two detailed proposals than by submitting lots of less-detailed ones.
* *Will the FreeBSD Project accept more than one contributor for the same idea?*
+
-In general, we will accept only one contributor for any given proposal idea, as most proposal ideas in our ideas list are sized with a single contributor summer project in mind. This is a good reason to consider coming up with your own idea, or at least, making sure that your proposal for one of our project ideas reflects your unique contribution and viewpoint. If you plan to submit multiple proposals, you might consider doing one with an idea from the list, and another with an original idea.
+In general, we will accept only one contributor for any given proposal idea, as most proposal ideas in our ideas list are sized with a single contributor summer project in mind.
+This is a good reason to consider coming up with your own idea, or at least, making sure that your proposal for one of our project ideas reflects your unique contribution and viewpoint.
+If you plan to submit multiple proposals, you might consider doing one with an idea from the list, and another with an original idea.
* *What if my proposal is not selected in the application process? Can I still participate?*
+
-We always have more good applications than contributor places, but that doesn't mean you can't do the project anyway. The FreeBSD Project always welcomes new volunteers to work on projects, and is generally happy to provide mentoring and support for contributors whose proposals could not be selected in order to allow them to work on their project anyway. You will need to work with the FreeBSD Project GSoC administrators to identify a possible mentor. However, Google will not fund that participation.
+We always have more good applications than contributor places, but that doesn't mean you can't do the project anyway.
+The FreeBSD Project always welcomes new volunteers to work on projects, and is generally happy to provide mentoring and support for contributors whose proposals could not be selected in order to allow them to work on their project anyway.
+You will need to work with the FreeBSD Project GSoC administrators to identify a possible mentor.
+However, Google will not fund that participation.
-* *What projects were completed successfully by contributors in previous summers?*
+* *How can I learn more about FreeBSD?*
+
-Please see the https://wiki.FreeBSD.org/SummerOfCode2021Projects[2021 FreeBSD Summer of Code page], as well as older project pages from https://wiki.FreeBSD.org/SummerOfCode2020Projects[2020], https://wiki.FreeBSD.org/SummerOfCode2019Projects[2019], https://wiki.FreeBSD.org/SummerOfCode2018Projects[2018], https://wiki.FreeBSD.org/SummerOfCode2017Projects[2017], https://wiki.FreeBSD.org/SummerOfCode2016Projects[2016], https://wiki.FreeBSD.org/SummerOfCode2015Projects[2015], https://wiki.FreeBSD.org/SummerOfCode2014Projects[2014], https://wiki.FreeBSD.org/SummerOfCode2013Projects[2013], https://wiki.FreeBSD.org/SummerOfCode2012Projects[2012], https://wiki.FreeBSD.org/SummerOfCode2011Projects[2011], https://wiki.FreeBSD.org/SummerOfCode2010Projects[2010], https://wiki.FreeBSD.org/SummerOfCode2009Projects[2009], link:summerofcode-2008.html[2008], link:summerofcode-2007.html[2007], link:summerofcode-2006.html[2006], and link:summerofcode-2005.html[2005] for a list of the completed projects from previous years.
+The link://www.FreeBSD.org/[FreeBSD Project Home Page] is the best way to learn more about the project - from there you can reach the FreeBSD Handbook, FreeBSD Developer's Handbook, project mailing list archives, regular project status reports, and more.
+If you have questions about specific project ideas, e-mail the technical contacts for those ideas.
+If you have general GSoC questions relating to FreeBSD, such as if you are unable to reach a project technical contact, need help finding documentation, or want to know who might be a good person to talk to about your idea, send them to soc-admins@FreeBSD.org.
-* *How can I learn more about FreeBSD?*
+* *Where can I contact people to discuss proposal ideas or other topics related to FreeBSD and GSoc?*
+
-The link://www.FreeBSD.org/[FreeBSD Project Home Page] is the best way to learn more about the project - from there you can reach the FreeBSD Handbook, FreeBSD Developer's Handbook, project mailing list archives, regular project status reports, and more. If you have questions about specific project ideas, e-mail the technical contacts for those ideas. If you have general GSoC questions relating to FreeBSD, such as if you are unable to reach a project technical contact, need help finding documentation, or want to know who might be a good person to talk to about your idea, send them to soc-admins@FreeBSD.org.
+You can contact us in the https://wiki.freebsd.org/SummerOfCode/IRC[FreeBSD Summer of Code IRC Channel], post to the hackers mailing list, or mail soc-admins@FreeBSD.org.
-* *Is there an IRC channel I can join to talk about proposal ideas or get help finding out more?*
+* *Where can I find more information from Google?*
+
-You can join #freebsd-soc on the Libera.Chat IRC network to chat with FreeBSD developers interested in mentoring contributor proposals and projects, past FreeBSD/GSoC contributors, and other contributors applying to FreeBSD/GSoC this year.
+https://summerofcode.withgoogle.com/[Google Summer Of Code Homepage] +
+https://developers.google.com/open-source/gsoc/resources/manual[GSoC Guide for Contributors and Mentors] +
+https://developers.google.com/open-source/gsoc/faq[GSoC FAQs] +
+https://developers.google.com/open-source/gsoc/videos[Videos]