539 lines
24 KiB
Text
539 lines
24 KiB
Text
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
|
||
<!ENTITY base CDATA "..">
|
||
<!ENTITY date "$FreeBSD: www/en/projects/summerofcode.sgml,v 1.50 2006/05/02 17:04:41 murray Exp $">
|
||
<!ENTITY title "FreeBSD Summer Projects">
|
||
<!ENTITY % navincludes SYSTEM "../includes.navdevelopers.sgml"> %navincludes;
|
||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||
<!ENTITY % developers SYSTEM "../developers.sgml"> %developers;
|
||
]>
|
||
|
||
<html>
|
||
&header;
|
||
|
||
<p>The FreeBSD Project is excited to take part in the Google <a
|
||
href="http://code.google.com/summerofcode.html">Summer of Code
|
||
2006</a>. This project endeavors to fund students to contribute to
|
||
an open source project over the summer break.</p>
|
||
|
||
<ul>
|
||
<li><a href="#students">Student Projects</a></li>
|
||
<li><a href="#ideas">Example Proposal Ideas</a>
|
||
<ul>
|
||
<li><a href="#p-userland">Userland / Installation Tools</a></li>
|
||
<li><a href="#p-filesystem">Filesystem</a></li>
|
||
<li><a href="#p-networking">Networking</a></li>
|
||
<li><a href="#p-security">Security</a></li>
|
||
<li><a href="#p-kernel">Kernel</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="#mentors">Possible Mentors</a></li>
|
||
<li><a href="#proposals">Proposal Guidelines</a></li>
|
||
<li><a href="#infrastructure">Infrastructure Provided to Students</a></li>
|
||
<li><a href="#faq">Frequently Asked Questions</a></li>
|
||
</ul>
|
||
|
||
<a name="students"></a>
|
||
<h2>Student Projects</h2>
|
||
|
||
<table border="0">
|
||
|
||
<tr><td>Student:</td><td>Spencer Whitman</td></tr>
|
||
<tr><td>Summary:</td><td>K - The Kernel meta-language</td></tr>
|
||
<tr><td>Mentor:</td><td>Paul-Hennig Kamp <phk@FreeBSD.org></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Shteryana Sotirova Shopova</td></tr>
|
||
<tr><td>Summary:</td><td>Integrated SNMP monitoring</td></tr>
|
||
<tr><td>Mentor:</td><td>Bjoern Alexander Zeeb <bz@FreeBSD.org></td></tr>
|
||
<tr><td>Web:</td><td><a href="http://wikitest.freebsd.org/moin.cgi/ShteryanaShopova">Wiki</a></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Clement Lecigne</td></tr>
|
||
<tr><td>Summary:</td><td>IPv6 stack vulnerabilities</td></tr>
|
||
<tr><td>Mentor:</td><td>George Neville-Neil <gnn@FreeBSD.org></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Roman Divacky</td></tr>
|
||
<tr><td>Summary:</td><td>Linux emulator</td></tr>
|
||
<tr><td>Mentor:</td><td>Alexander Leidinger <netchild@FreeBSD.org></td></tr>
|
||
<tr><td>Web:</td><td><a href="http://wikitest.freebsd.org/moin.cgi/RomanDivacky">Wiki</a></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>ADAM David Alan Martin</td></tr>
|
||
<tr><td>Summary:</td><td>AutoFS on FreeBSD 6</td></tr>
|
||
<tr><td>Mentor:</td><td>Benno Rice <benno@FreeBSD.org></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>G<>bor K<>VESD<53>N</td></tr>
|
||
<tr><td>Summary:</td><td>Improving FreeBSD Ports Collection</td></tr>
|
||
<tr><td>Mentor:</td><td>Erwin Lansing <erwin@FreeBSD.org></td></tr>
|
||
<tr><td>Web:</td><td><a href="http://wikitest.freebsd.org/moin.cgi/G_e1borK_f6vesd_e1n">Wiki</a></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Ryan Beasley</td></tr>
|
||
<tr><td>Summary:</td><td>Syncing with the 4Front Technologies OSS v4 API</td></tr>
|
||
<tr><td>Mentor:</td><td>Ariff Abdullah <ariff@FreeBSD.org></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Paolo Pisati</td></tr>
|
||
<tr><td>Summary:</td><td>Study, analyze and improve the interrupt handling infrastructure in FreeBSD</td></tr>
|
||
<tr><td>Mentor:</td><td>John Baldwin <jhb@FreeBSD.org></td></tr>
|
||
<tr><td>Web:</td><td><a href="http://wikitest.freebsd.org/moin.cgi/PaoloPisati">Wiki</a></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Yuan, Jue</td></tr>
|
||
<tr><td>Summary:</td><td>Integrate Xen Support to FreeBSD</td></tr>
|
||
<tr><td>Mentor:</td><td>Kip Macy <kmacy@FreeBSD.org></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Christopher Jones</td></tr>
|
||
<tr><td>Summary:</td><td>Jail Resource Limits etc</td></tr>
|
||
<tr><td>Mentor:</td><td>Kip Macy <kmacy@FreeBSD.org></td></tr>
|
||
<tr><td>Web:</td><td><a href="http://wikitest.freebsd.org/moin.cgi/ChrisJones">Wiki</a></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Michael Bushkov</td></tr>
|
||
<tr><td>Summary:</td><td>Nss-LDAP importing and nsswitch subsystem improvement</td></tr>
|
||
<tr><td>Mentor:</td><td>Hajimu UMEMOTO <ume@FreeBSD.org></td></tr>
|
||
<tr><td>Web:</td><td><a href="http://wikitest.freebsd.org/moin.cgi/MichaelBushkov">Wiki</a></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Markus Boelter</td></tr>
|
||
<tr><td>Summary:</td><td>Bundled PXE Installer</td></tr>
|
||
<tr><td>Mentor:</td><td>Paul Saab <ps@FreeBSD.org></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Dongmei Liu</td></tr>
|
||
<tr><td>Summary:</td><td>Provide a set of default SeBSD policy for many common network services on FreeBSD 6.0, develop a policy analyse tool and a policy configure tools for SeBSD</td></tr>
|
||
<tr><td>Mentor:</td><td>Mike Silbersack <silby@FreeBSD.org></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
<tr><td>Student:</td><td>Ivan Voras</td></tr>
|
||
<tr><td>Summary:</td><td>FreeBSD GEOM Storage Virtualisation Layer (gvirstor)</td></tr>
|
||
<tr><td>Mentor:</td><td>Pawel Jakub Dawidek <pjd@FreeBSD.org></td></tr>
|
||
<tr><td colspan="2"> </tr>
|
||
|
||
</table>
|
||
|
||
<p>See also <a href="http://wikitest.freebsd.org/moin.cgi/SummerOfCode2006">Wiki</a> and
|
||
<a href="http://code.google.com/soc/freebsd/about.html">Google</a> pages.</p>
|
||
|
||
<a name="ideas"></a>
|
||
<h2>Example Proposal Ideas</h2>
|
||
|
||
<p>In addition to the student project ideas listed below, the FreeBSD
|
||
Project maintains a list of general projects looking for volunteers <a
|
||
href="&base;/projects/ideas/index.html">here</a>.</p>
|
||
|
||
<a name="p-userland"></a>
|
||
<h3>Userland / Installation Tools</h3>
|
||
|
||
<ul>
|
||
<li><strong>Bundled PXE Installer</strong>: It would be great to
|
||
have a bundled PXE installer. This would allow one to boot an
|
||
install server from a FreeSBIE live CDROM on one box, set the BIOS
|
||
on subsequent boxes to PXE boot, and then have the rest happen by
|
||
magic. This would be very helpful for installing cluster nodes,
|
||
etc.</li>
|
||
|
||
<li><strong>Fully Integrated SNMP monitoring</strong>: Plugins for
|
||
our BSNMP pieces to monitor elements of system state such as load,
|
||
disk space, VM statistics, entropy, firewall rules and states,
|
||
sendmail queues and accepts/rejects, and the like. An SNMP client
|
||
that could pull and centralize the data gathering, render it,
|
||
etc. <a href="mailto:philip@FreeBSD.org">&a.philip;</a>, <a
|
||
href="mailto:glebius@FreeBSD.org">&a.glebius;</a>, <a
|
||
href="mailto:harti@FreeBSD.org">&a.harti;</a>, and <a
|
||
href="mailto:rwatson@FreeBSD.org">&a.rwatson;</a> are
|
||
coordinating.</li>
|
||
|
||
<li><strong>Integrate Xen Support</strong>: Support for the <a
|
||
href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/">Xen virtual
|
||
machine monitor</a> is coming into FreeBSD -CURRENT, so the
|
||
installer could be updated to make it possible to setup a Xen
|
||
system with several FreeBSD nodes, etc. Please coordinate with
|
||
<a href="mailto:kmacy@FreeBSD.org">&a.kmacy;</a> who has done work
|
||
in this area.</li>
|
||
|
||
<li><strong>Improve our regression testing system</strong>: Nik
|
||
Clayton has written a regression test infrastructure using Perl.
|
||
More of the regression tests should be made to work with libtap.
|
||
There are two main parts to it. First, many of the existing tests
|
||
should be moved from using assert() to using ok() and friends from
|
||
libtap. Second, more regression tests should be written.
|
||
Students familiar with scripting languages and software testing
|
||
are encouraged to work on this. <a
|
||
href="mailto:nik@FreeBSD.org">&a.nik;</a> is the coordinator.
|
||
</li>
|
||
|
||
<li><strong>Tracking performance over time</strong>: One of the major
|
||
issues in a project the size of FreeBSD is monitoring changes in
|
||
performance characteristics over time. Doing this requires several
|
||
things. Those include a suite of appropriate tests, hardware to run
|
||
the tests on, a database to store results in, and software to
|
||
extract interesting results and display them. Solving the whole
|
||
problems is probably beyond the scope of one summer's work, but an
|
||
interesting subset should be manageable. <a
|
||
href="mailto:brooks@FreeBSD.org">&a.brooks;</a> is the coordinator.</li>
|
||
|
||
<li><strong>Improvements to FreeBSD's userland profiling</strong>:
|
||
There are a number of enhancements possible to FreeBSD profiling
|
||
infrastructure: (a) allowing the profiling clock used by executables
|
||
compiled for profiling to be driven by hardware performance monitoring
|
||
counters, (b) enhancing gprof(1) to profile dynamically linked executables,
|
||
and (c) making gprof(1) and moncontrol(3) to be architecture independent.
|
||
<a href="mailto:jkoshy@FreeBSD.org">&a.jkoshy;</a> is the coordinator.</li>
|
||
|
||
<li><strong>A GUI front end for hwpmc(4)</strong>: Create a GUI
|
||
tool that can collect performance data using hwpmc(4) and display
|
||
it visually. In brief such a tool would offer: live and offline
|
||
analysis of a hwpmc(4) data stream, visual indication of hotspots
|
||
in executables and shared libraries with the ability to drill down
|
||
to an annotated source or machine code listing, system-wide as well
|
||
as process-specific analyses, visual representations of callgraphs.
|
||
<a href="mailto:jkoshy@FreeBSD.org">&a.jkoshy;</a> is the coordinator.</li>
|
||
|
||
<li><strong>BSD licensed API compatible version of GNU
|
||
readline</strong>: Create a cleanroom implementation that is API
|
||
compatible with GNU readline but which is not encumbered by the
|
||
GPL. <a href="mailto:jkh@FreeBSD.org">&a.jkh;</a> is the
|
||
coordinator.</li>
|
||
</ul>
|
||
|
||
<a name="p-filesystem"></a>
|
||
<h3>Filesystem</h3>
|
||
|
||
<ul>
|
||
<li><strong>inode versioning</strong>: Introduce an inode version
|
||
number into UFS, so we can store inodes in different formats. As
|
||
an example of how to use this, introduce a new inode format that
|
||
has a 32 bit link count field. <a
|
||
href="mailto:dwmalone@freebsd.org">&a.dwmalone;</a> is the
|
||
coordinator.</li>
|
||
|
||
<li><strong>Autofs</strong>: Create the autofs filesystem from a
|
||
specification. Candidates should have some filesystem knowledge
|
||
and network filesystem knowledge. Kernel transport and
|
||
interaction with the "amd"
|
||
automounter needs to be completed. <a
|
||
href="mailto:alfred@FreeBSD.org">&a.alfred;</a> is coordinating.</li>
|
||
|
||
<li><strong>Logical Volume Manager</strong></li>
|
||
|
||
</ul>
|
||
|
||
<a name="p-networking"></a>
|
||
<h3>Networking</h3>
|
||
|
||
<ul>
|
||
|
||
<li><strong>IPv6 stack vulnerabilities</strong>: Review the last few
|
||
years worth of IP stack vulnerabilities. Check that these have been
|
||
fixed in the IPv6 stack too. Fix ones that haven't been fixed. <a
|
||
href="mailto:dwmalone@freebsd.org">&a.dwmalone;</a> is the
|
||
coordinator.</li>
|
||
|
||
<li><strong>IPv6 feature parity</strong>: Review new features that
|
||
have been added to the IP stack (hostcache, TCP MD5 checksums,
|
||
...). Check if these include IPv6 support. Implement if it
|
||
hasn't. <a href="mailto:dwmalone@freebsd.org">&a.dwmalone;</a> is
|
||
the coordinator.</li>
|
||
|
||
<li><strong>NFS Lockd (improve semantics)</strong>: Improve the
|
||
semantics of the NFS lockd in FreeBSD. Apple has made certain
|
||
enhancements that can be leveraged in our code base. Implement
|
||
state recovery in the lockd. Candidate would learn how to port
|
||
code from one kernel to another as well as how to maintain state
|
||
on the client side. This would be a good resume addition. <a
|
||
href="mailto:alfred@FreeBSD.org">&a.alfred;</a> is coordinating.</li>
|
||
|
||
<li><strong>NFS Lockd (kernel implementation)</strong>: Improve the
|
||
semantics of the NFS lockd in FreeBSD. Moving the lockd
|
||
implementation into the kernel provides several key performance
|
||
and semantic improvements. Candidates should have a good
|
||
understanding of NFS, locking, RPC and kernel networking. This is
|
||
a great resume addition, providing you want to be saddled with
|
||
"knowing NFS" for the rest of your career, it is not for the faint
|
||
of heart. <a href="mailto:alfred@FreeBSD.org">&a.alfred;</a> is
|
||
coordinating.</li>
|
||
|
||
</ul>
|
||
|
||
<a name="p-security"></a>
|
||
<h3>Security</h3>
|
||
|
||
<ul>
|
||
<li><strong>SecureMines</strong>: Add meta-data to the
|
||
system in order to trap intruders and provide an audit log. The
|
||
goal of this project is to create several means of marking an
|
||
event as a foreign act (such as opening a trap file) which halts
|
||
the system and provides as much information as possible,
|
||
possibilities include using extended attributes to tag such
|
||
"mines". Candidates should have an understanding of the Unix
|
||
process model and should be prepared to investigate the new
|
||
comprehensive audit system in FreeBSD. This system will shortly have
|
||
a framework for writing intrusion detection modules. <a
|
||
href="mailto:alfred@FreeBSD.org">&a.alfred;</a> and <a
|
||
href="mailto:rwatson@FreeBSD.org">&a.rwatson;</a> are
|
||
coordinating.</li>
|
||
|
||
<li><strong>SEBSD</strong>: SEBSD is a port of NSA's SELinux FLASK/TE
|
||
security model to the FreeBSD operating system using the TrustedBSD MAC
|
||
Framework. Right now the system is highly experimental, and a great
|
||
project would be for one or more students to spend the summer taking it
|
||
from an experimental prototype to something that can be actually used.
|
||
This might include the development of policy, integration of SEBSD into
|
||
the installer components, adaptation of userland components, sample
|
||
deployments, documentation, and so on. Candidates will want some
|
||
background in access control technology, especially mandatory access
|
||
control; experience with alternative security models would be a plus, as
|
||
would a background in OS development. However, there's room for a
|
||
range of work here, and all proposals will be considered! <a
|
||
href="mailto:rwatson@FreeBSD.org">&a.rwatson;</a> is coordinating.</li>
|
||
|
||
<li><strong>Audit</strong>: Audit is a fine-grained security event log
|
||
mechanism present in FreeBSD (and other operating systems). FreeBSD's
|
||
audit implementation is based on Sun's published BSM API and file
|
||
format, and will appear in FreeBSD 6.2-RELEASE. A variety of student
|
||
projects are available to work on, including tasks such as working on
|
||
XML output support and database integration, a graphical audit review
|
||
tool, distributed audit log management support, and intrusion detection
|
||
work. Students are encouraged to contact <a
|
||
href="mailto:rwatson@FreeBSD.org">&a.rwatson;</a> who is coordinating.</li>
|
||
|
||
</ul>
|
||
|
||
<a name="p-kernel"></a>
|
||
<h3>Kernel</h3>
|
||
|
||
<ul>
|
||
|
||
<li><strong>Generic Input Device Subsystem</strong>: Some work has
|
||
been done in Perforce that begins to replace the ancient
|
||
psm->moused->syscons codepath into something more pleasant.
|
||
There's still a lot of duplication between psm and moused, however
|
||
and even more work is necessary to get syscons to be happy with
|
||
the new world order. <a
|
||
href="mailto:philip@FreeBSD.org">&a.philip;</a> is coordinating.</li>
|
||
|
||
<li><strong>Update the Linuxulator</strong>: FreeBSD provides Linux
|
||
binary compatibility through a Linux system call table that is
|
||
invoked when Linux ELF binaries are executed. This implementation
|
||
should be compared with an up-to-date Linux Kernel so that
|
||
important missing syscalls can be added to ensure that all
|
||
mainstream applications continue to work on FreeBSD. The student
|
||
should be able to read and understand foreign C code, write C
|
||
code, and have a good understanding of how to do a clean room
|
||
implementation of GPLed code (no copy & paste!).</li>
|
||
|
||
<li><strong>Suspend to disk</strong>: Implement a suspend/resume
|
||
from disk mechanism. Possibly use the dump functions to dump
|
||
pages to disk, then use ACPI to put the system in S4 or power-off.
|
||
Resume would require changes to the loader to load the memory
|
||
image directly and then begin executing again. This project
|
||
requires good knowledge of C, an understanding of the
|
||
hardware/software interface, a laptop that works with ACPI, and
|
||
kernel awareness. <a href="mailto:njl@FreeBSD.org">&a.njl;</a>
|
||
and <a href="mailto:bruno@FreeBSD.org">&a.bruno;</a> are
|
||
coordinating.</li>
|
||
|
||
<li><strong>Implement and profile various algorithms for
|
||
powerd(8)</strong>: Implement a range of predictive algorithms
|
||
(and perhaps design your own) and profile them for power usage and
|
||
performance loss. The best algorithm will save the most power
|
||
while losing the least performance. Requires basic C knowledge,
|
||
laptop supported by cpufreq(4) (suggest newer Pentium-M CPU), and
|
||
some statistics. <a href="mailto:njl@FreeBSD.org">&a.njl;</a>
|
||
and <a href="mailto:bruno@FreeBSD.org">&a.bruno;</a> are
|
||
coordinating.</li>
|
||
|
||
<li><strong>Kernel meta-language</strong>: Develop a dialect of the
|
||
C language that simplifies the task of writing kernel code.
|
||
It should include language extensions that make it
|
||
possible to write kernel code more cleanly and with less bugs. An
|
||
example of this would have language support for linked lists,
|
||
to obviate the need for messy MACROs. <a
|
||
href="mailto:gnn@FreeBSD.org">&a.gnn;</a> and <a
|
||
href="mailto:phk@FreeBSD.org">&a.phk;</a> are coordinating. A Wiki
|
||
with more information is available <a
|
||
href="http://wikitest.freebsd.org/moin.cgi/K">here</a>.</li>
|
||
|
||
<li><strong>The Arbitrary Interpreter Hack</strong>: Allow FreeBSD
|
||
binaries for non-native CPU architectures to be emulated by
|
||
having these 'interpreted' by an instruction set emulator. This
|
||
work would allow FreeBSD/{ARM,MIPS,PowerPC} executables to run
|
||
on a FreeBSD/i386 or FreeBSD/amd64 host. This project requires
|
||
an in-depth study of machine ABIs and of Unix semantics. It
|
||
has a small kernel component and also involves effort in making
|
||
the instruction set emulator robust. <a
|
||
href="mailto:jkoshy@FreeBSD.org">&a.jkoshy;</a> is the
|
||
coordinator.</li>
|
||
|
||
<li><strong>Cheap Syscalls</strong>: Add a page shared between every
|
||
process and the kernel to do things like gettimeofday() without doing
|
||
a real syscall. Can also be used to enable the use of SYSENTER to do
|
||
other syscalls, on i386, when the hardware supports it. Similar to
|
||
Linux's vsyscall page. Requires good knowledge of C, memory management
|
||
on modern operating systems, and run-time linking. <a
|
||
href="mailto:ssouhlal@FreeBSD.org">&a.ssouhlal;</a> is the
|
||
coordinator.</li>
|
||
|
||
<li><strong>Boot-time Kernel Patching</strong>: Design and implement an
|
||
API to patch kernel code based on hardware features detected at
|
||
boot. This will, for example, enable the use of PREFETCH instructions
|
||
when 3DNow! support is detected on the CPU.
|
||
Requires good knowledge of C, and basic knowledge of i386 assembly. <a
|
||
href="mailto:ssouhlal@FreeBSD.org">&a.ssouhlal;</a> is the
|
||
coordinator.</li>
|
||
|
||
<li><strong>NMI Watchdog</strong>: Use the performance counters feature
|
||
of i386/amd64 processors to periodically send an NMI to every
|
||
processor, and make sure the kernel is still running correctly.
|
||
Requires good knowledge of the i386 architecture and C. <a
|
||
href="mailto:ssouhlal@FreeBSD.org">&a.ssouhlal;</a> is the
|
||
coordinator.</li>
|
||
|
||
</ul>
|
||
|
||
<p>Additional projects may be found by browsing the <a
|
||
href="index.html">FreeBSD Development Projects</a> page or by
|
||
viewing some of the recent <a href="&base;/news/status">Developer
|
||
Status Reports</a>.</p>
|
||
|
||
<a name="mentors"></a>
|
||
<h2>Mentors</h2>
|
||
|
||
<p>If you are interested in working on a project not explicitly
|
||
mentioned above, you may want to contact one of the potential
|
||
mentors below about writing a proposal in one of the following broad
|
||
categories.</p>
|
||
|
||
<ul>
|
||
<li><strong>Networking</strong>:
|
||
<a href="mailto:alfred@FreeBSD.org">&a.alfred;</a>,
|
||
<a href="mailto:gnn@FreeBSD.org">&a.gnn;</a>,
|
||
<a href="mailto:brooks@FreeBSD.org">&a.brooks;</a>, and
|
||
<a href="mailto:sam@FreeBSD.org">&a.sam;</a></li>
|
||
|
||
<li><strong>Filesystems</strong>: <a
|
||
href="mailto:scottl@FreeBSD.org">&a.scottl;</a>, <a
|
||
href="mailto:alfred@FreeBSD.org">&a.alfred;</a>, <a
|
||
href="mailto:ssouhlal@FreeBSD.org">&a.ssouhlal;</a></li>
|
||
<li><strong>GEOM</strong>: <a
|
||
href="mailto:phk@FreeBSD.org">&a.phk;</a></li>
|
||
<li><strong>Release Engineering / Integration</strong>: <a
|
||
href="mailto:re@FreeBSD.org">re@FreeBSD.org</a></li>
|
||
<li><strong>TrustedBSD / Security</strong>: <a
|
||
href="mailto:rwatson@FreeBSD.org">&a.rwatson;</a></li>
|
||
<li><strong>Pluggable Disk Schedulers</strong>: <a href="mailto:luigi@FreeBSD.org">&a.luigi;</a>.</li>
|
||
<li><strong>ACPI</strong>: <a href="mailto:njl@FreeBSD.org">&a.njl;</a>
|
||
and <a href="mailto:bruno@FreeBSD.org">&a.bruno;</a>.</li>
|
||
<li><strong>Sound</strong>: <a
|
||
href="mailto:matk@FreeBSD.org">&a.matk;</a>.</li>
|
||
<li><strong>Virtual Memory</strong>: <a
|
||
href="mailto:ssouhlal@FreeBSD.org">&a.ssouhlal;</a>.</li>
|
||
<li><strong>Performance Monitoring</strong>: <a
|
||
href="mailto:jkoshy@FreeBSD.org">&a.jkoshy;</a>.</li>
|
||
<li><strong>Ports Collection</strong>: <a
|
||
href="mailto:erwin@FreeBSD.org">&a.erwin;</a>.</li>
|
||
</ul>
|
||
|
||
<p>If your project is not selected for funding by Google, but you
|
||
still think you have a feasible project proposal, then please email
|
||
<a href="mailto:proposals@FreeBSD.org">proposals@FreeBSD.org</a>.</p>
|
||
|
||
<a name="proposals"></a>
|
||
<h2>Proposal Guidelines</h2>
|
||
|
||
<p>Students are responsible for writing a proposal and submitting it
|
||
to Google before the application deadline. The following outline
|
||
was adapted from the Perl Foundation <a
|
||
href="http://www.perlfoundation.org/gc/grants/proposals.html">open
|
||
source proposal HOWTO</a>. A strong proposal will include:</p>
|
||
|
||
|
||
<ul>
|
||
<li><strong>Name</strong></li>
|
||
|
||
<li><strong>Email</strong></li>
|
||
|
||
<li><strong>Project Title</strong></li>
|
||
|
||
<li><strong>Possible Mentor</strong> <em>(optional)</em></li>
|
||
|
||
<li><strong>Benefits to the FreeBSD Community</strong> - a good
|
||
project will not just be fun to work on, but also generally
|
||
useful to others.</li>
|
||
|
||
<li><strong>Deliverables</strong> - It is very important to list
|
||
quantifiable results here e.g.
|
||
<ul>
|
||
<li>"Improve X modules in ways Y and Z."</li>
|
||
<li>"Write 3 new man pages for the new interfaces."</li>
|
||
<li>"Improve test coverage by writing X more unit/regression
|
||
tests."</li>
|
||
<li>"Improve performance in FOO by X%."</li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li><strong>Project Schedule</strong> - How long will the project
|
||
take? When can you begin work?</li>
|
||
|
||
<li><strong>Availability</strong> - How many hours per week can
|
||
you spend working on this? What other obligations do you have
|
||
this summer?</li>
|
||
|
||
<li><strong>Bio</strong> - Who are you? What makes you the best
|
||
person to work on this project?</li>
|
||
</ul>
|
||
|
||
<a name="infrastructure"></a>
|
||
<h2>Infrastructure Provided to Students</h2>
|
||
|
||
<p>In 2005, the FreeBSD Project provided access to the FreeBSD
|
||
Perforce revision control infrastructure in order to facilitate
|
||
student collaboration, provide public access and archiving for the
|
||
on-going student projects, and to help mentors and the community
|
||
monitor on-going work. It is expected that students participating in
|
||
the 2006 program will be offered the same facilities, and that unless
|
||
there is a strong argument otherwise, that those facilities will be
|
||
used for 2006 projects. Students 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 students and mentors, and
|
||
students participating in the FreeBSD summer program are encouraged to
|
||
use these and other electronic communication mechanisms to become
|
||
active in the community.</p>
|
||
|
||
<a name="faq"></a>
|
||
<h2>Frequently Asked Questions</h2>
|
||
|
||
<ul>
|
||
<li><p><strong>Am I eligible?</strong></p>
|
||
|
||
<p>Please see the Google <a
|
||
href="http://code.google.com/soc/studentfaq.html">Student FAQ</a>
|
||
for all questions about eligibility.</p></li>
|
||
|
||
<li><p><strong>When is the proposal deadline?</strong></p>
|
||
|
||
<p><strong>May 8, 2006 17:00 Pacific Daylight Time</strong>.
|
||
Proposals must be submitted through the Google web site, not
|
||
directly to the FreeBSD Project.</p></li>
|
||
|
||
<li><p><strong>Where do I send my proposal?</strong></p>
|
||
|
||
<p>Propopsals must be sent to Google's <a
|
||
href="http://code.google.com/soc/student_step1.html">student
|
||
signup page</a>.</p>
|
||
|
||
<li><p><strong>What projects were completed successfully by students
|
||
last summer?</strong></p>
|
||
|
||
<p>Please see the <a href="summerofcode-2005.html">2005 FreeBSD
|
||
Summer of Code</a> page for a list of the completed projects
|
||
from last year.</p></li>
|
||
</ul>
|
||
|
||
&footer;
|
||
</body>
|
||
</html>
|