* Generalize the introduction and point to the relevant pages for
details of our specific participation in 2005 and 2006. * Remove individual project ideas. Point users at the general project ideas list and at the recent freebsd developer status reports. * Remove list of accepted student projects. This has moved to summerofcode-2006.html. * Remove the FAQ about eligibility and proposals and replace it with a single question about this program for 2007 with a non-committal answer to check back in the spring.
This commit is contained in:
parent
a1416f11e7
commit
01351e7f2a
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=28927
1 changed files with 39 additions and 440 deletions
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
|
||||
<!ENTITY base CDATA "..">
|
||||
<!ENTITY date "$FreeBSD: www/en/projects/summerofcode.sgml,v 1.55 2006/08/19 21:20:42 hrs Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/projects/summerofcode.sgml,v 1.56 2006/10/06 02:13:29 murray Exp $">
|
||||
<!ENTITY title "FreeBSD Summer Projects">
|
||||
<!ENTITY % navinclude.developers "INCLUDE">
|
||||
<!ENTITY % developers SYSTEM "../developers.sgml"> %developers;
|
||||
|
@ -9,22 +9,17 @@
|
|||
<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>
|
||||
<p>The FreeBSD Project was a successful mentoring organization in the
|
||||
Google <a href="http://code.google.com/summerofcode.html">Summer of
|
||||
Code</a>. This program funds students to contribute to an open
|
||||
source project over the summer break. We had dozens of successful
|
||||
students working on FreeBSD as part of this program in <a
|
||||
href="&base;/summerofcode-2005.html">2005</a> and <a
|
||||
href="&base;/summerofcode-2006.html">2006</a>.</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="#students">Past Student Projects</a></li>
|
||||
<li><a href="#ideas">Example Proposal Ideas</a></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>
|
||||
|
@ -32,414 +27,37 @@
|
|||
</ul>
|
||||
|
||||
<a name="students"></a>
|
||||
<h2>Student Projects</h2>
|
||||
<h2>Past Student Projects</h2>
|
||||
|
||||
<table border="0">
|
||||
<p>For a complete list of student projects from previous years,
|
||||
visit:</p>
|
||||
<ul>
|
||||
<li><a href="&base;/summerofcode-2006.html">Summer of Code 2006 FreeBSD
|
||||
Projects Summary</a></li>
|
||||
<li><a href="&base;/summerofcode-2005.html">Summer of Code 2005 FreeBSD
|
||||
Projects Summary</a></li>
|
||||
</ul>
|
||||
|
||||
<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>&a.phk; <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>&a.bz; <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>&a.gnn; <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>&a.netchild; <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>&a.benno; <benno@FreeBSD.org></td></tr>
|
||||
<tr><td colspan="2"> </tr>
|
||||
|
||||
<tr><td>Student:</td><td>Gábor Kövesdán</td></tr>
|
||||
<tr><td>Summary:</td><td>Improving FreeBSD Ports Collection</td></tr>
|
||||
<tr><td>Mentor:</td><td>&a.erwin; <erwin@FreeBSD.org></td></tr>
|
||||
<tr><td>Web:</td><td><a href="http://wikitest.freebsd.org/G%C3%A1borK%C3%B6vesd%C3%A1n">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>&a.ariff; <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>&a.jhb; <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>&a.kmacy; <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>&a.kmacy; <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>&a.ume; <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>&a.ps; <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>&a.silby; <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>&a.pjd; <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>
|
||||
<p>See also our <a
|
||||
href="http://wikitest.freebsd.org/moin.cgi/SummerOfCode2006">FreeBSD
|
||||
SoC2006 Wiki</a> and the Google
|
||||
<a href="http://code.google.com/soc/freebsd/about.html">FreeBSD SoC 2006</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>
|
||||
<p>Please see the general <a
|
||||
href="&base;/projects/ideas/index.html">FreeBSD Project Ideas</a>
|
||||
page. The recent <a href="&base;/news/status">Developer Status
|
||||
Reports</a> are also a good source of information about upcoming
|
||||
projects. A Summer of Code-specific addendum may be posted here in
|
||||
Spring 2007.</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>
|
||||
<p>A list of potential mentors will be posted here when the 2007
|
||||
program is announced.</p>
|
||||
|
||||
<a name="proposals"></a>
|
||||
<h2>Proposal Guidelines</h2>
|
||||
|
@ -489,14 +107,13 @@ href="&base;/projects/ideas/index.html">here</a>.</p>
|
|||
<a name="infrastructure"></a>
|
||||
<h2>Infrastructure Provided to Students</h2>
|
||||
|
||||
<p>In 2005, the FreeBSD Project provided access to the FreeBSD
|
||||
<p>In 2005 and 2006, 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
|
||||
future programs will be offered the same facilities.
|
||||
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
|
||||
|
@ -507,30 +124,12 @@ active in the community.</p>
|
|||
<h2>Frequently Asked Questions</h2>
|
||||
|
||||
<ul>
|
||||
<li><p><strong>Am I eligible?</strong></p>
|
||||
<li><p><strong>What about Summer of 2007?</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>Proposals 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>
|
||||
<p>We again hope to be able to work with Google and participate in
|
||||
a sponsored Google Summer of Code program in 2007. Please check
|
||||
back in Spring 2007 for details.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
&footer;
|
||||
|
|
Loading…
Reference in a new issue