<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Status
Report//EN"
"http://www.FreeBSD.org/XML/www/share/sgml/statusreport.dtd">
<!-- $FreeBSD$ -->
<report>
  <date>
    <month>April-September</month>

    <year>2009</year>
  </date>

  <section>
    <title>Introduction</title>

    <p>This report covers FreeBSD related projects between April and
    September 2009.  During that time a lot of work has been done on
    wide variety of projects, including the Google Summer of Code
    projects.  The BSDCan conference was held in Ottawa, CA, in May.
    The EuroBSDCon conference was held in Cambridge, UK, in September.
    Both events were very successful.
    A new major version of FreeBSD, 8.0 is to be released soon.
    If you are wondering what's new in this long-awaited release, read
    Ivan Voras' excellent <a
    href="http://ivoras.sharanet.org/freebsd/freebsd8.html">summary</a>.</p>

    <p>Thanks to all the reporters for the excellent work! We hope you
    enjoy the reading.</p>

    <p>Please note that the next deadline for submissions covering
    reports between October and December 2009 is January 15th,
    2010.</p>
  </section>

  <category>
    <name>soc</name>

    <description>Google Summer of Code</description>
  </category>

  <category>
    <name>proj</name>

    <description>Projects</description>
  </category>

  <category>
    <name>team</name>

    <description>FreeBSD Team Reports</description>
  </category>

  <category>
    <name>net</name>

    <description>Network Infrastructure</description>
  </category>

  <category>
    <name>kern</name>

    <description>Kernel</description>
  </category>

  <category>
    <name>docs</name>

    <description>Documentation</description>
  </category>

  <category>
    <name>arch</name>

    <description>Architectures</description>
  </category>

  <category>
    <name>ports</name>

    <description>Ports</description>
  </category>

  <category>
    <name>misc</name>

    <description>Miscellaneous</description>
  </category>

  <project cat='soc'>
    <title>libnetstat(3) - networking statistics (Summer of Code 2009)</title>

    <contact>
      <person>
        <name>
	  <given>G&aacute;bor</given>
 	  <common>P&aacute;li</common>
        </name>

        <email>pgj@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/PGJSoc2009">Wiki page</url>
      <url href="http://p4web.freebsd.org/@md=d&amp;cd=//&amp;c=McZ@//depot/projects/soc2009/pgj_libstat/?ac=83">Perforce depot</url>
    </links>

    <body>
      <p>The libnetstat(3) project provides a user-space library API to monitor
        networking functions with the following benefits:</p>

      <ul>
        <li>ABI-robust interface making use of accessor functions in
  	  order to divorce monitoring applications from kernel or user ABI
	  changes.</li>

        <li>Supports running 32-bit monitoring tools on top of a 64-bit
	  kernel.</li>

        <li>Improved consistency for both kvm(3) and sysctl(3) when
	  retrieving information.</li>
      </ul>

      <p>The supported abstractions are as follows:</p>

      <ul>
        <li>Active sockets and socket buffers</li>
        <li>Network interfaces and multicast interfaces</li>
        <li>mbuf(9) statistics</li>
        <li>bpf(4) statistics</li>
        <li>Routing statistics, routing tables, multicast routing</li>
        <li>Protocol-dependent statistics</li>
      </ul>

      <p>There is a sample application, called nettop(8), which provides a
        simple ncurses-based top(1)-like interface for monitoring active
        connections and network buffer allocations via the library.  A
        modified version of netstat(1) has also been created to use
        libnetstat(3) as much as possible.</p>
    </body>
  </project>

  <project cat='soc'>
    <title>pefs - stacked cryptographic filesystem (Summer of Code 2009)</title>

    <contact>
      <person>
        <name>
          <given>Gleb</given>

          <common>Kurtsou</common>
        </name>

        <email>gk@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Stanislav</given>

          <common>Sedov</common>
        </name>

        <email>stas@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://blogs.freebsdish.org/gleb/">Gleb's Blog</url>

      <url href="http://wiki.freebsd.org/SOC2009GlebKurtsov">Project page in FreeBSD wiki</url>
    </links>

    <body>
      <p>Pefs is a kernel level filesystem for transparently encrypting
      files on top of other filesystems (like zfs or ufs).  It adds no
      extra information into files (unlike others), doesn't require
      cipher block sized io operations, supports per directory/file keys
      and key chaining, uses unique per file tweak for encryption.
      Supported algorithms: AES, Camellia, Salsa20.  The code is ready for
      testing.</p>
    </body>

    <help>
      <task>Implement encrypted name lookup/readir cache</task>

      <task>Optimize sparse files handling and file resizing</task>
    </help>
  </project>

  <project cat='proj'>
    <title>BSD# Project</title>

    <contact>
      <person>
        <name>
          <given>Romain</given>

          <common>Tarti&egrave;re</common>
        </name>

        <email>romain@blogreen.org</email>
      </person>
    </contact>

    <links>
      <url href="http://code.google.com/p/bsd-sharp/">The BSD# project on
      Google code</url>

      <url href="http://www.mono-project.org/">Mono (Open source .NET
      Development Framework)</url>
    </links>

    <body>
      <p>The BSD# Project is devoted to porting the Mono .NET framework
      and applications to the FreeBSD operating system.</p>

      <p>During the past year, the BSD# Team continued to track the Mono
      development and the lang/mono port have almost always been
      up-to-date (we however had to skip mono-2.2 because of some
      regression issues in this release).  Most of our patches have been
      merged in the mono trunk upstream, and should be included in the
      upcoming mono-2.6 release.</p>

      <p>In the meantime, a few more .NET related ports have been updated
      or added to the FreeBSD ports tree.  These ports include:</p>

      <ul>
        <li>www/xsp and www/mod_mono that make it possible to use FreeBSD
        for hosting ASP.NET application;</li>

        <li>lang/boo, a CLI-targeted programming language similar to
        Python;</li>

        <li>lang/mono-basic, the Visual Basic .NET Framework for
        Mono;</li>

        <li>devel/monodevelop, an Integrated Development Environment for
        .NET;</li>

<!--li>deskuils/gnome-do, an all-in-one launch-box to perform actions quickly with your computer;</li-->
        <li>and much more...</li>
      </ul>
    </body>

    <help>
      <task>Test mono ports and send feedback (we are especially
      interested in tests where NOPORTDOCS / WITH_DEBUG is
      enabled).</task>

      <task>Port the mono-debugger to FreeBSD.</task>

      <task>Build a debug live-image of FreeBSD so that Mono hackers
      without a FreeBSD box can help us fixing bugs more
      efficiently.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>The Newcons project</title>

    <contact>
      <person>
        <name>
          <given>Ed</given>

          <common>Schouten</common>
        </name>

        <email>ed@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/Newcons">Wiki page</url>

      <url href="http://people.freebsd.org/~ed/newcons/patches/">
      Patchset</url>
    </links>

    <body>
      <p>Some time ago I started writing a new driver for the FreeBSD
      kernel called vt(4), which is basically a replacement of syscons.
      There is still a lot of work that needs to be done but it is
      probably useful to mention what it does (and what does not).</p>

      <p>Right now there are just two graphics drivers for vt(4), namely
      a VGA driver for i386 and amd64 and a Microsoft Xbox graphics
      driver (because it was so easy to implement).  I still have to figure
      out what I am going to do with VESA, because maybe it is better to
      just ignore VESA and figure out how hard it is to extend DRM to
      interact with vt(4).</p>

      <p>Some random features: it already supports both Unicode (UTF-8)
      input and output, it is MPSAFE and supports per-window graphical
      fonts of variable dimensions, containing an almost infinite amount
      of glyphs (both bold and regular).</p>
    </body>

    <help>
      <task>Research needs to be done on DRM's codebase.</task>

      <task>Syscons should already be migrated to TERM=xterm to make
      switching between drivers a bit easier.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>libprocstat(3) - process statistics</title>

    <contact>
      <person>
        <name>
          <given>Stanislav</given>
          <common>Sedov</common>
        </name>
        <email>stas@FreeBSD.org</email>
      </person>
      <person>
        <name>
          <given>Ulf</given>
          <common>Lilleengen</common>
        </name>
        <email>lulf@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://svn.freebsd.org/viewvc/base/projects/libprocstat/">libprocstat repository</url>
    </links>

    <body>
      <p>The libprocstat project is an ongoing effort to develop a library that can
        be used to retrieve information about running processes and
	open files in the uniform and platform-independent way both from
	a running system or from core files.  This will facilitate the
	implementation of file- or process-monitoring applications like
	lsof(1), fstat(1), fuser, etc.  The libprocstat repository contains a
	preliminary version of the library.  It also includes rewrites
	of the fstat and the fuser
	utilities ported to use this library instead of retrieving all
	the required information via the kvm(3) interface; one of the
	important advantages of the versions that use libprocstat is
	that these utilities are ABI independent.</p>
    </body>

    <help>
      <task>
        Implement KVM-based namecache lookup to retrieve filesystem paths
	associated with file descriptors and VM objects.
      </task>
      <task>
        Analyze possible ways of exporting file and process information
	from the kernel in an extensible and ABI-independent way.
      </task>
    </help>
  </project>

  <project cat='proj'>
    <title>New BSD licensed debugger</title>

    <contact>
      <person>
	<name>
	  <given>Doug</given>
	  <common>Rabson</common>
	</name>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/TheBsdDebugger">Wiki page</url>
      <url href="http://people.freebsd.org/~dfr/ngdb.git">Repository</url>
      <url href="http://wiki.freebsd.org/200909DevSummit?action=AttachFile&amp;do=view&amp;target=NGDB-200909.pdf">Slides</url>
    </links>

    <body>
      <p>I have been working recently on writing a new debugger,
	primarily for the FreeBSD platform.  For various reasons, I have
	been writing it in a relatively obscure C-like language called
	D.</p>

      <p>So far, I have a pretty useful (if a little raw at the edges)
	command line debugger which supports ELF, Dwarf debugging
	information and (currently) 32 bit FreeBSD and Linux.  The
	engine includes parsing and evaluation of arbitrary C expressions
	along with the usual debugging tools such as breakpoints, source
	code listing, single-step etc.  All the code is new and BSD
	licensed.  Currently, the thing supports userland debugging of
	i386 targets via ptrace and post-mortem core file debugging of
	the same.  I will be adding amd64 support real soon (TM) and
	maybe support for GDB's remote debugging protocol later.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>Clang replacing GCC in the base system</title>

    <contact>
      <person>
        <name>
          <given>Ed</given>

          <common>Schouten</common>
        </name>

        <email>ed@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Roman</given>

          <common>Divacky</common>
        </name>

        <email>rdivacky@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Brooks</given>

          <common>Davis</common>
        </name>

        <email>brooks@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Pawel</given>

          <common>Worach</common>
        </name>

        <email>pawel.worach@gmail.com</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/BuildingFreeBSDWithClang" />
    </links>

    <body>
      <p>The clang@FreeBSD team presents the status of clang/LLVM being
      able to compile FreeBSD system.  The current status is:</p>

      <ul>
        <li>i386 - kernel boots, world needs little hacks but works</li>

        <li>amd64 - kernel boots, world needs little hacks but works</li>

        <li>ppc - broken because of unknown RTLD bug</li>

        <li>other - unknown</li>
      </ul>

      <p>All other platforms are untested.</p>

      <p>A lot has happened over the spring/summer: amd64 got proper
      mcmodel=kernel support, compiler-rt has been introduced (paving the way
      for libgcc replacement), we have run two experimental port builds to see
      how clang does there.  The C++ support is able to parse devd.cc without
      warnings.  We have got the kernel working with -O2.  FreeBSD has been promoted
      to be an officially supported plaform in LLVM.  As a result of all this
      work, many parts of FreeBSD that did not compile before now build
      without problems.</p>
    </body>

    <help>
      <task>The "ClangBSD" branch of FreeBSD got a little stale and has not
      been updated for a while.</task>

      <task>We also need to get some important fixes
      into LLVM to get libc compiling and some other smaller issues.</task>

      <task>We can still appreciate more testers on minor platforms (mostly on
      ARM, PPC and MIPS, but testing on other platforms is also welcome).</task>
    </help>
  </project>

  <project cat='proj'>
    <title>Grand Central Dispatch - FreeBSD port</title>

    <contact>
      <person>
	<name>
	  <given>Robert</given>
	  <common>Watson</common>
	</name>
	<email>rwatson@FreeBSD.org</email>
      </person>
      <person>
	<name>
	  <given>Stacey</given>
	  <common>Son</common>
	</name>
	<email>sson@FreeBSD.org</email>
      </person>
      <person>
	<name>
	  <given>libdispatch mailing list</given>
	</name>
	<email>libdispatch-dev@lists.macosforge.org</email>
      </person>
    </contact>

    <links>
      <url href="http://libdispatch.macosforge.org/">GCD / libdispatch web page</url>
    </links>

    <body>
      <p>We have ported libdispatch, Apple's Grand Central Dispatch event
	and concurrency framework to FreeBSD:</p>

      <ul>
	<li>Added new kqueue primitives required to support GCD, such
	  as EVFILT_USER and EV_TRIGGER</li>
	<li>Created autoconf and automake build framework for libdispatch</li>
	<li>Modified libdispatch to use POSIX semaphores instead of
	  Mach semaphores</li>
	<li>Adapted libdispatch to use portable POSIX time routines</li>
      </ul>

      <p>Jordan Hubbard has also prepared a blocks-aware clang compiler
	package for FreeBSD.  When compiled with clang, libdispatch
	provides blocks-based, as well as function-based callbacks.</p>

      <p>The port was presented at the FreeBSD Developer Summit in
	Cambridge, UK in September, and slides are online on the devsummit
	wiki page.  A FreeBSD port is now available in the Ports Collection.
	After FreeBSD 8.0-RELEASE has shipped, the new kqueue primitives will be
	MFC'd so that libdispatch works out of the box on FreeBSD 8.1-RELEASE.</p>
    </body>

    <help>
      <task>
	Complete porting of libdispatch test suite to FreeBSD.
      </task>
      <task>
	Investigate pthread work queue implementation for FreeBSD.
      </task>
      <task>
	Evaluate performance impact of some machine-dependent and
	OS-dependent optimizations present in the Mac OS X version of
	libdispatch to decide if they should be done for other
	platforms and OS's.
      </task>
      <task>
	Explore whether FreeBSD base operating system tools would benefit
	from being modified to use libdispatch.
      </task>
    </help>
  </project> 

  <project cat='proj'>
    <title>VirtualBox on FreeBSD</title>

    <contact>
      <person>
         <name>
           <given>Beat</given>
           <common>Gaetzi</common>
         </name>
         <email>beat@FreeBSD.org</email>
      </person>
      <person>
        <name>
          <given>Bernhard</given>
          <common>Froehlich</common>
        </name>
        <email>decke@bluelife.at</email>
      </person>
      <person>
        <name>
          <given>Dennis</given>
          <common>Herrmann</common>
        </name>
        <email>dhn@FreeBSD.org</email>
      </person>
      <person>
        <name>
          <given>Juergen</given>
          <common>Lock</common>
        </name>
        <email>nox@FreeBSD.org</email>
      </person>
      <person>
        <name>
          <given>Martin</given>
          <common>Wilke</common>
        </name>
        <email>miwi@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/VirtualBox" />
    </links>

    <body>
      <p>VirtualBox has been committed to the Ports tree and synchronized
        with the latest trunk version from Sun.  Several known
        problems are already fixed and some new features have been
        added:</p>

      <ul>
        <li>VT-x support</li>
        <li>Bridging support (Big Thanks to Fredrik Lindberg)</li>
        <li>Host Serial Support</li>
        <li>ACPI Support</li>
        <li>Host DVD/CD access</li>
        <li>SMP Support</li>
      </ul>

      <p>We would like to say thanks to all the people who helped us by
      reporting bugs and submitting fixes.  We also thank the VirtualBox
      developers for their help with the ongoing effort to port
      VirtualBox on FreeBSD.</p>
    </body>
  </project>

  <project cat='docs'>
    <title>The FreeBSD Dutch Documentation Project</title>

    <contact>
      <person>
        <name>
          <given>Ren&eacute;</given>

          <common>Ladan</common>
        </name>

        <email>rene@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Remko</given>

          <common>Lodder</common>
        </name>

        <email>remko@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.freebsd.org/docproj/translations.html#dutch">
      Current status of the Dutch translation</url>
    </links>

    <body>
      <p>The current translations (Handbook and some articles) are kept
      up to date with the English versions.  Some parts of the website
      have been 
      <url href="http://www.freebsd.org/nl">translated</url>, more work
      is in progress.</p>
    </body>

    <help>
      <task>Find more volunteers for translating the remaining parts of
      the website and the FAQ.</task>
    </help>
  </project>

  <project cat='docs'>
    <title>The FreeBSD German Documentation Project</title>

    <contact>
      <person>
        <name>
          <given>Johann</given>

          <common>Kois</common>
        </name>

        <email>jkois@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Benedict</given>

          <common>Reuschling</common>
        </name>

        <email>bcr@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Martin</given>

          <common>Wilke</common>
        </name>

        <email>miwi@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="https://doc.bsdgroup.de" />

      <url
      href="http://code.google.com/p/bsdcg-trans/wiki/BSDPJTAdede" />
    </links>

    <body>
      <p>In May 2009, Benedict Reuschling received his commit bit to the
      www/de and doc/de_DE.ISO8859-1 trees under the mentorship of Johann
      Kois.  Since then, he has been working primarily on the Handbook, updating
      existing chapters and translating new ones.  Most notably, the
      filesystems and DTrace chapters have been recently translated.  Bugs found
      in the original documents along the way were reported back so that
      the other translation teams could incorporate them, as well.</p>

      <p>Christoph Sold has put his time in translating the wiki pages of
      the BSD Certification Group into the German language.  This is very
      helpful for all German people who want to take the exam and like to read
      the information about it in their native language.  Daniel Seuffert
      has sent valuable corrections and bugfixes.  Thanks to both of them for
      their time and efforts!</p>

      <p>The website is translated and updated constantly.  Missing parts
      will be translated as time permits.</p>

      <p>We appreciate any help from volunteers in proofreading
      documents, translating new ones and keeping them up to date.  Even
      small error reports are of great help for us.  You can find
      contact information at the above URL.</p>
    </body>

    <help>
      <task>Update the existing documentation set (especially the
      Handbook).</task>

      <task>Translate more articles to German.</task>

      <task>Read the translations.  Check for problems and mistakes.  Send
      feedback.</task>
    </help>
  </project>

  <project cat="team">
    <title>The FreeBSD Foundation Status Report</title>

    <contact>
      <person>
	<name>
	  <given>Deb</given>
	  <common>Goodkin</common>
	</name>
	<email>deb@FreeBSDFoundation.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.freebsdfoundation.org" />
    </links>

    <body>
      <p>Kicking off our fall fund-raising campaign! Find out more at
	<a href="http://www.freebsdfoundation.org/donate/">http://www.freebsdfoundation.org/donate/</a>.</p>

      <p>We were a sponsor for EuroBSDCon 2009, and provided travel
	grants to 8 FreeBSD developers and users.  We sponsored Kyiv BSD
	2009, in Kiev Ukraine.  We were also a sponsor of BSDCan, and
	sponsored 7 developers.  We funded three new projects, New Console
	Driver by Ed Schouten, AVR32 Support by Arnar Mar Sig, and
	Wireless Mesh Support by Rui Paulo, which has completed.
	We continued funding a project that is making improvements to the
	FreeBSD TCP Stack by Lawrence Stewart.  The project that made
	removing disk devices with mounted filesystems on them safe, by
	Edward Napierala, is now complete.</p>

      <p>We recognized the following FreeBSD developers at EuroBSDCon
	2009: Poul-Henning Kamp, Bjoern Zeeb, and Simon Nielsen.  These
	developers received limited edition FreeBSD Foundation vests.</p>

      <p>Follow us on <a
	href="https://twitter.com/freebsdfndation">Twitter</a> now!</p>
    </body>
  </project>

  <project cat='team'>
    <title>FreeBSD Bugbusting Team</title>

    <contact>
      <person>
	<name>
	  <given>Gavin</given>
	  <common>Atkinson</common>
	</name>
	<email>gavin@FreeBSD.org</email>
      </person>
      <person>
	<name>
	  <given>Mark</given>
	  <common>Linimon</common>
	</name>
	<email>linimon@FreeBSD.org</email>
      </person>
      <person>
	<name>
	  <given>Remko</given>
	  <common>Lodder</common>
	</name>
	<email>remko@FreeBSD.org</email>
      </person>
      <person>
	<name>
	  <given>Volker</given>
	  <common>Werth</common>
	</name>
	<email>vwe@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/support.html#gnats" />
      <url href="http://wiki.FreeBSD.org/BugBusting" />
      <url href="http://people.FreeBSD.org/~linimon/studies/prs/" />
      <url href="http://people.FreeBSD.org/~linimon/studies/prs/recommended_prs.html" />
    </links>

    <body>
      <p>We continue to classify PRs as they arrive, adding 'tags' to
	the subject lines corresponding to the kernel subsystem
	involved, or man page references for userland PRs.  These tags,
	in turn, produce lists of PRs sorted both by tag and by
	manpage.</p>

      <p>The list of PRs recommended for committer evaluation by the
	Bugbusting Team continues to receive new additions.  This list
	contains PRs, mostly with patches, that the Bugbusting Team
	feel are probably ready to be committed as-is, or are probably
	trivially resolved in the hands of a committer with knowledge
	of the particular subsystem.  All committers are invited to take
	a look at this list whenever they have a spare 5 minutes and
	wish to close a PR.</p>

      <p>A full list of all the automatically generated reports is also
	available at one of the cited URLs.  Any recommendations for
	reports which not currently exist but which would be
	beneficial are welcomed.</p>

      <p>Gavin Atkinson gave a presentation on "The PR Collection
	Status" at the EuroBSDCon 2009 DevSummit, and discussed with
	other participants several other ideas to make the PR database
	more useful and usable.  Several good ideas came from this, and
	will hopefully lead to more useful tools in the near future.
	Discussions also took place on how it may be possible to
	automatically classify non-ports PRs with a view towards
	notifying interested parties, although investigations into this
	have not yet begun.</p>

      <p>Mark Linimon also continues attempting to define the general
	problem and investigating possible new workflow models, and
	presented work on this at BSDCan 2009.</p>

      <p>Since the last status report, the number of open bugs has
	increased to around the 5900 mark, partially because of an
	increased focus on getting more information into the existing
	PRs, in an attempt to make sure all the information required is
	now available.  As a result, although the number of open PRs has
	increased, they are hopefully of better quality.</p>

      <p>As always, more help is appreciated, and committers and
	non-committers alike are always invited to join us on
	#freebsd-bugbusters on EFnet and help close stale PRs or commit
	patches from valid PRs.</p>
    </body>

    <help>
      <task>
	Work on suggestions from developers who were at the EuroBSDCon
	DevSummit.
      </task>
      <task>
	Try to find ways to get more committers helping us with closing
	the PRs that the team has already analyzed.
      </task>
    </help>
  </project>

  <project cat='team'>
    <title>FreeBSD Ports Management Team</title>

    <contact>
      <person>
	<name>
	  <given>Mark</given>
	  <common>Linimon</common>
	</name>
	<email>linimon@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.freebsd.org/ports/">The FreeBSD Ports
	  Collection</url>
      <url href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/">
	  Contributing to the FreeBSD Ports Collection</url>
      <url href="http://portsmon.FreeBSD.org/index.html">The FreeBSD
	  ports monitoring system</url>
      <url href="http://www.freebsd.org/portmgr/index.html">The
	  FreeBSD Ports Management Team</url>
      <url href="http://tinderbox.marcuscom.com">marcuscom Tinderbox</url>
    </links>

    <body>
      <p>The ports count has soared to over 20,700.  The PR count had
	been driven below 800 by some extraordinary effort, but once
	again is back to its usual count of around 900.</p>

      <p>We are currently building packages for amd64-6, amd64-7,
	amd64-8, i386-6, i386-7, i386-8, sparc64-7, and sparc64-8.
	There have been preliminary runs of i386-9; however, to be able
	to continue builds on -9, we will either need to find places to
	host a number of new machines, or drop package building for -6.
	The mailing list discussion of the latter proved quite
	controversial.</p>

      <p>We have added some new i386 machines to help speed up the
	builds, but this only makes up for the disk failures on some
	of our older, slower, i386 nodes.</p>

      <p>We also appreciate the loan of more package build machines from
	several committers, including pgollucci@, gahr@, erwin@, Boris
	Kochergin, and Craig Butler.</p>

      <p>The portmgr@ team has also welcomed new members Ion-Mihai Tetcu
	(itetcu@) and Martin Wilke (miwi@).  We also thank departing
	member Kirill Ponomarew (krion@) for his long service.</p>

      <p>Ion-Mihai has spent much time working on a system that does
	automatic Quality Assurance on new commits, called QAT.  A
	second tinderbox called QATty has helped us to fix many problems,
	especially those involving custom PREFIX and LOCALBASE settings,
	and documentation inclusion options.  Ports conformance to
	documented features / non-default configuration will follow.</p>

      <p>Between pav and miwi, over 2 dozen experimental ports runs have
	been completed and committed.</p>

      <p>We have added 5 new committers since the last report, and 2
	older ones have rejoined.</p>
    </body>

    <help>
      <task>We are currently trying to set up ports tinderboxes that
	can be made available to committers for pre-testing; those
	who can loan machines for this should contact Ion-Mihai
	(itetcu@) with details regarding the hardware and
	bandwidth.</task>
      <task>Most of the remaining ports PRs are "existing port/PR
	assigned to committer".  Although the maintainer-timeout policy
	is helping to keep the backlog down, we are going to need to do
	more to get the ports in the shape they really need to be
	in.</task>
      <task>Although we have added many maintainers, we still have
	almost 4,700 unmaintained ports (see, for instance, the list on
	portsmon).  (The percentage is down to 22%.)  We are always
	looking for dedicated volunteers to adopt at least a few
	unmaintained ports.  As well, the packages on amd64 and sparc64
	lag behind i386, and we need more testers for those.</task>
    </help>
  </project>

  <project cat='team'>
    <title>FreeBSD KDE Team</title>

    <contact>
      <person>
        <name>
          <given>Thomas</given>

          <common>Abthorpe</common>
        </name>

        <email>tabthorpe@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Max</given>

          <common>Brazhnikov</common>
        </name>

        <email>makc@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Martin</given>

          <common>Wilke</common>
        </name>

        <email>miwi@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://freebsd.kde.org" />

      <url href="http://miwi.bsdcrew.de/category/kde/" />

      <url href="http://blogs.freebsdish.org/tabthorpe/category/kde" />
    </links>

    <body>
      <p>Since the spring, the FreeBSD KDE team has been busy upgrading
      KDE from 4.2.0 up through to 4.3.1.  As part of the ongoing
      maintenance of KDE, the team also updated Qt4 from 4.4.3 through to
      4.5.2</p>

      <p>We added two new committers/maintainers to the team, Kris Moore
      (kmoore@) and Dima Panov (fluffy@).  We also granted enhanced area51
      access to contributors Alberto Villa and Raphael Kubo da Costa.
      Alberto has been our key contributor updating and testing Qt
      4.6.0-tp1.  Raphael is a KDE developer, who has become our Gitorious
      liaison, he has been responsible for getting FreeBSD Qt patches
      merged in upstream.</p>

      <p>Markus Br&uuml;ffer (markus@) spent a lot of time patching widgets
      and system plugins so they would work under FreeBSD.  We would like
      to thank him for all his effort!</p>
    </body>

    <help>
      <task>Update to Qt 4.6.0</task>

      <task>Update to KDE 4.4.0</task>

      <task>Work with our userbase on fixing an EOL for KDE3 in the ports
      tree</task>
    </help>
  </project>

  <project cat='misc'>
    <title>FreeBSD Developer Summit, Cambridge UK</title>

    <contact>
      <person>
	<name>
	  <given>Robert</given>
	  <common>Watson</common>
	</name>
	<email>rwatson@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.FreeBSD.org/200909DevSummit" />
    </links>

    <body>
      <p>Around 70 FreeBSD developers and guests attended the FreeBSD
	developer summit prior to EuroBSDCon 2009 in Cambridge, UK.
	Hosted at the University of Cambridge Computer Laboratory, the
	workshop-style event consisted of prepared presentations, as well
	as group hacking and discussion sessions.  Talks covered topics
	including 802.11 mesh networking, virtual network stacks and
	kernels, a new BSD-licensed debugger, benchmarking, bugbusting,
	NetFPGA, a port of Apple's GCD (Grand Central Dispatch) to
	FreeBSD, security policy work, cryptographic signatures,
	FreeBSD.org system administration, time geeks, a new console
	driver, and the FreeBSD subversion migration.  Slides for many
	talks are now available on the wiki page.  A good time was had by
	all, including a punting outing on the River Cam!</p>
    </body>
  </project>

  <project cat='misc'>
    <title>EuroBSDcon 2009</title>

    <contact>
      <person>
        <name>
          <given>Sam</given>

          <common>Smith</common>
        </name>

        <email>eurobsdcon@ukuug.org</email>
      </person>

      <person>
        <name>
          <given>Robert</given>

          <common>Watson</common>
        </name>

        <email>rwatson@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://2009.eurobsdcon.org/">2009</url>

      <url href="http://2010.eurobsdcon.org/">2010</url>
    </links>

    <body>
      <p>EuroBSDcon 2009 happened in Cambridge, with over 160 users,
      developers, friends and others.  Slides, papers and audio are now up
      on the website for those who could not make it to Cambridge.  Next
      year's event in 2010 will take place in Karlsruhe from 8 to 10 October
      2010.  If you are interested in what you missed in 2009, or to join
      the mailing list so you do not miss out next year, visit
      <a href="http://2009.eurobsdcon.org/">http://2009.eurobsdcon.org</a>.

      </p>
    </body>
  </project>

  <project cat='misc'>
    <title>The FreeBSD Forums</title>

    <contact>
      <person>
        <name>
          <given>FreeBSD Forums</given>

          <common>Admins</common>
        </name>

        <email>forum-admins@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>FreeBSD Forums</given>

          <common>Moderators</common>
        </name>

        <email>forum-moderators@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://forums.freebsd.org/" />
    </links>

    <body>
      <p>Since their public launch in November 2008, the FreeBSD Forums
      (the most recent addition to the user community and support
      channels for the FreeBSD Operating System) have witnessed a
      healthy and steady growth.</p>

      <p>The user population is now at over 8,000 registered users, who
      have participated in over 6,000 topics, containing over 40,000
      posts in total.  The sign-up rate hovers between 50-100 each week.
      The total number of visitors (including 'guests') is hard to gauge
      but is likely to be a substantial multiple of the registered
      userbase.</p>

      <p>New topics and posts are actively 'pushed out' to search
      engines.  This in turn makes the Forums show up in search results
      more and more often, making it a valuable and very accessible
      source of information for the FreeBSD community.</p>

      <p>One of the contributing factors to the Forums' success is their
      'BSD-style' approach when it comes to administration and
      moderation.  The Forums have a strong and unified identity, they are
      neatly divided into sub-forums (like 'Networking', 'Installing
      &amp; Upgrading', etc.), very actively moderated, spam-free, and
      with a core group of very active and helpful members, dispensing
      many combined decades' worth of knowledge to starting, intermediate
      and professional users of FreeBSD.</p>

      <p>We expect the Forums to be, and to remain, a central hub in
      FreeBSD's community and support efforts.</p>
    </body>
  </project>

  <project cat='misc'>
    <title>New approach to the locale database</title>

    <contact>
      <person>
        <name>
          <given>Edwin</given>

          <common>Groothuis</common>
        </name>

        <email>edwin@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>i18n</given>

          <common>mailinglist</common>
        </name>

        <email>freebsd-i18n@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/LocaleNewApproach">
      Documentation on FreeBSD wiki</url>

      <url href="svn://svn.freebsd.org/base/user/edwin/locale">Code</url>
    </links>

    <body>
      <p>Problem: Over the years the FreeBSD locale database
      (share/colldef, share/monetdef, share/msgdef, share/numericdef,
      share/timedef) has accumulated a total of 165 definitions (language
      - country-code - character-set triplets).  The contents of the files
      for Western European languages are often low-ASCII but for Eastern
      European and Asian languages partly or fully high-ASCII.  Without
      knowing how to display or interpret the character-sets, it is
      difficult to make sure by the general audience that the local
      language (language - country-code) definitions are displayed
      properly in various character-sets.</p>

      <p>Suggested approach: With the
      combination of the data in the Unicode project (whose goal is to
      define all the possible written characters and symbols on this
      planet) and the Common Locale Data Repository (whose goal is to
      document all the different data and definitions needed for the
      locale database), we can easily keep track of the data, without the
      need of being able to display the data in the required
      character sets or understand them fully when updates are submitted
      by third parties.</p>

      <p>Current status: Conversion of share/monetdef,
      share/msgdef, share/numericdef, share/timedef to the new design is
      completed.  The Makefile infrastructure is converted.  Regression
      checks are done.  Most of the tools are in place, waiting on the
      import of bsdiconv to the base system.</p>
    </body>

    <help>
      <task>At this moment the system is not self-hosted yet, because of
      the lack of an iconv-kind of program in the base operating system.
      Gabor@ is working on bsdiconv as a GSoC project and once that has been
      imported we will be able to perform a clean install from the definitions in
      Unicode text format to the required formats and
      character sets.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>BSD-licensed iconv (Summer of Code 2009)</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>

	  <common>K&ouml;vesd&aacute;n</common>
	</name>

	<email>gabor@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/G%C3%A1borSoC2009">BSDL iconv on
        FreeBSD wiki</url>
    </links>

    <body>
      <p>The code has been extracted from NetBSD and has been transformed
	into an independent shared library.  The basic encodings are
	well supported.  Almost all forward conversions
	(foo -&gt; UTF-32) are compatible with GNU but the reverse ones
	are not so accurate because of GNU's advanced transliteration.
	Some extra encodings have also been added.  There are two modules,
	which segfault; they need some debugging.  I can keep working on this
	project as part of my BSc thesis, so I hope to be able to solve
	the remaining issues.  Improved GNU compatibility is also very
	desired (extra command line options for iconv(1), iconvctl(),
	private interfaces, etc.).</p>
    </body>

    <help>
      <task>Fix segfaults in Big5 and HZ modules</task>

      <task>Improve transliteration in reverse encodings</task>

      <task>Improve GNU compatibility by implementing extra features</task>

      <task>Verify POSIX compatibility</task>

      <task>Verify GNU compatibility</task>

      <task>Check performance</task>
    </help>
  </project>

  <project cat="soc">
    <title>Ext2fs Status report (Summer of Code 2009)</title>

    <contact>
      <person>
	<name>
	  <given>Aditya</given>

	  <common>Sarawgi</common>
	</name>

	<email>sarawgi.aditya@gmail.com</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/SOC2009AdityaSarawgi">Wiki Page</url>
    </links>

    <body>
      <p>FreeBSD's ext2fs had some parts under GPL.  The aim of my project was
	to rewrite those parts and free ext2fs from GPL.  I have been
	successful in rewriting the parts and NetBSD's ext2fs was a great
	help in this.  Certain critical parts under GPL were also removed due
	to which the write performance suffered.  I also implemented Orlov
	Block Allocator for ext2fs.  Currently I am planning to make ext2fs
	Multiprocessor Safe (MPSAFE).  My work resides in truncs_ext2fs
	branch of Perforce.</p>
    </body>

    <help>
      <task>Ext4 support for FreeBSD</task>

      <task>Directory indexing for ext2fs</task>

      <task>Journaling in ext2fs using gjournal</task>
    </help>
  </project>

  <project cat='docs'>
    <title>The FreeBSD Hungarian Documentation Project</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>

	  <common>K&ouml;vesd&aacute;n</common>
	</name>

	<email>gabor@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>G&aacute;bor</given>

	  <common>P&aacute;li</common>
	</name>

	<email>pgj@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/hu">Hungarian Web Page for FreeBSD</url>

      <url href="http://www.FreeBSD.org/doc/hu">Hungarian Documentation
	for FreeBSD</url>

      <url href="http://wiki.FreeBSD.org/HungarianDocumentationProject">The
	FreeBSD Hungarian Documentation Project's Wiki Page</url>

      <url href="http://p4web.freebsd.org/@md=d&amp;cd=//depot/projects/docproj_hu/&amp;c=aXw@//depot/projects/docproj_hu/?ac=83">Perforce
	Depot for the FreeBSD Hungarian Documentation Project</url>
    </links>

    <body>
      <p>In the last months, we have not added new translations, although we
	have been working on the existing ones to have them updated.  We need
	more translators and volunteers to keep the amount of the translated
	documentation growing, so feel free to contribute.  Every line of
	submission or feedback is appreciated and highly welcome.</p>

      <p>If you want to join our work, please read the <a
	  href="http://www.freebsd.org/hu/docproj/hungarian.html">introduction</a>
	to the project as well as the <a
	  href="http://www.freebsd.org/doc/hu/books/fdp-primer/">FDP Primer</a>
	(both of them are available in Hungarian).</p>
    </body>

    <help>
      <task>Translate news entries, press releases</task>

      <task>Translate Release Notes for -CURRENT and 8.X</task>

      <task>Translate articles</task>

      <task>Translate web pages</task>

      <task>Read the translations, send feedback</task>
    </help>
  </project>

  <project cat='docs'>
    <title>The FreeBSD Spanish Documentation Project</title>

    <contact>
      <person>
	<name>
	  <given>Jos&eacute; Vicente</given>

	  <common>Carrasco Vay&aacute;</common>
	</name>

	<email>carvay@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>G&aacute;bor</given>

	  <common>K&ouml;vesd&aacute;n</common>
	</name>

	<email>gabor@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/es">Spanish Web Page for FreeBSD</url>

      <url href="http://www.FreeBSD.org/doc/es">Spanish Documentation for
	FreeBSD</url>

      <url href="http://www.freebsd.org/doc/es/articles/fdp-es/">Introduction
	to the FreeBSD Spanish Documentation Project</url>
    </links>

    <body>
      <p>Recently, we have added one new article translation.  The
	existing translations have not been updated, though.  We need
	more human resources to keep up with the work and keep the
	translations up-to-date.</p>
    </body>

    <help>
      <task>Update the Handbook translation</task>

      <task>Update the web page translation</task>
    </help>
  </project>

  <project cat='soc'>
    <title>BSD-licensed text-processing tools (Summer of Code 2008)</title>

    <contact>
      <person>
	<name>
	  <given>G&aacute;bor</given>
	  <common>K&ouml;vesd&aacute;n</common>
	</name>

	<email>gabor@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/G%C3%A1borSoC2008">Wiki page for the project</url>
    </links>

    <body>
      <p>This project was started as part of Google Summer of Code 2008 but
	there is still a bit of work to complete some missing parts.
	The BSD-licensed grep implementation is feature-complete and
	has a good level of GNU compatibility.  Our only current concern about
	the BSD-licensed version is to improve its
	performance.  The GNU variant is much more complex, has about
	8 KSLOC, while BSD grep is tiny, has only 1.5 KSLOC.  GNU uses
	some shortcuts and optimizations to speed-up calls to the regex library;
	that is why it is significantly faster.  My point of view is that
	such optimizations must be implemented in the regex library,
	keeping the dependent utilities clean and easy to read.  BSD
	grep is so tiny that there is hardly any optimization opportunity
	by simplifying the code, so the regex library is the next important
	TODO.  There is another issue with the current regex library.
	It does not support some invalid regular expressions, which work
	in GNU.  We need to maintain compatibility, so we cannot just drop
	this feature.  Actually, BSD grep is linked to the GNU regex library
	to maintain this feature but due to the lack of the mentioned
	shortcuts, it is still slower than GNU.  Anyway, if we can live
	with this little performance hit until we get a modern regex library,
	I think grep is ready to enter HEAD.  As for the regex library,
	NetBSD's result of the last SoC is worth taking a look.</p>

      <p>The sort utility has been rewritten from scratch.  The existing
	BSD-licensed implementation could not deal with wide characters
	by design.  The new implementation is still lacking some features
	but is quite complete.  There is a performance issue, though.
	Sorting is a typical algorithmic subject but I am not an algorithmic
	expert, so my implementation is not completely optimal.  Some help
	would be welcome with this part.</p>

      <p>The bc/dc utilities have been ported from OpenBSD.  They pass
	OpenBSD's and GNU's regression tests but they arrived too late to
	catch 8.X, so they will go to HEAD after the release.</p>
    </body>

    <help>
      <task>Improve sort's sorting and file merging algorithms</task>

      <task>Complete missing features for sort</task>

      <task>Get a modern regex library for FreeBSD</task>
    </help>
  </project>

  <project cat='net'>
    <title>Network Stack Virtualization</title>

    <contact>
      <person>
	<name>
	  <given>Bjoern A.</given>
	  <common>Zeeb</common>
	</name>
	<email>bz@FreeBSD.ORG</email>
      </person>
      <person>
	<name>
	  <given>Marko</given>
	  <common>Zec</common>
	</name>
	<email>zec@FreeBSD.ORG</email>
      </person>
      <person>
	<name>
	  <given>Robert</given>
	  <common>Watson</common>
	</name>
	<email>rwatson@FreeBSD.ORG</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/Image">Wiki VImage overview
	page (incl. TODO).</url>
      <url href="http://wiki.freebsd.org/200909DevSummit">FreeBSD
	Developer Summit, 2009, Cambridge, UK.</url>
    </links>

    <body>
      <p>The network stack virtualization project aims at extending the
	FreeBSD kernel to maintain multiple independent instances of
	networking state.  This allows for networking independence
	between jail environment, each maintaining its private network
	interfaces, IPv4 and IPv6 network and port address space, routing
	tables, IPSec configuration, firewalls, and more.</p>

      <p>During the last months the remaining pieces of the VIMAGE work
	were merged by Marko, Julian and Bjoern.  Robert Watson developed
	a vnet allocator to overcome ABI issues.  Jamie Gritton merged
	his hierarchical jail framework that now also is the management
	interface for virtual network stacks.</p>

      <p>During the FreeBSD Developer Summit that took place at
	EuroBSDCon 2009 in Cambridge, UK, people virtualized more code.
	As a result SCTP and another accept filter were virtualized and
	more people became familiar with the design of VImage and the underlying concepts.
	Finally getting more hands involved was a crucial first step for
	the long term success of kernel virtualization.</p>

      <p>The next steps will be to finish the network stack
	virtualization, generalize the allocator framework before
	thinking of virtualizing further subsystems and to update the related
	documentation.  Along with that a proper jail management
	framework will be worked on.  Long term goals, amongst others,
	will be to virtualize more subsystems like SYS-V IPC, better
	privilege handling, and resource limits.</p>

      <p>In the upcoming FreeBSD 8.0 Release, vnets are treated as an
	experimental feature.  As a result, they are not yet recommended for use in
	production environments.  There was lots of time spent to
	finalize the infrastructure for vnets though, so that further
	changes can be merged and we are aiming to have things
	production ready for 8.2.</p>

      <p>In case you want to help to achieve this goal, feel free to
	contact us and support or help virtualizing outstanding parts
	like two firewalls, appletalk, netipx, ... as well as generating
	regression tests.</p>
    </body>
  </project>

  <project cat='net'>
    <title>Enhancing the FreeBSD TCP Implementation</title>

    <contact>
      <person>
        <name>
          <given>Lawrence</given>
          <common>Stewart</common>
        </name>
          <email>lstewart@freebsd.org</email>
      </person>
    </contact>

    <links>
      <url href="http://caia.swin.edu.au/freebsd/etcp09/" />
      <url href="http://caia.swin.edu.au/urp/newtcp/" />
      <url href="http://www.freebsdfoundation.org/projects.shtml" />
      <url href="http://people.freebsd.org/~lstewart/patches/tcp_ffcaia2008/" />
    </links>

    <body>
      <p>TCP appropriate byte counting (RFC 3465) support has been merged
        into the FreeBSD 8 branch and will ship in FreeBSD 8.0-RELEASE.</p>

      <p>The reassembly queue auto-tuning and SIFTR work was not ready in
        time to safely integrate for 8.0-RELEASE.  Padding has been added
        to necessary TCP structs to facilitate MFCing features back to the
	8-STABLE branch after 8.0 is released.</p>

      <p>Candidate patches against FreeBSD-CURRENT will be ready for wider
        testing in the coming weeks.  The <a
	  href="mailto:freebsd-net@FreeBSD.org">freebsd-net</a> mailing list
	will be solicited for testing/feedback when everything is ready.</p>
    </body>

    <help>
      <task>
	Solicit review/testing and integrate the ALQ kld and variable
	length message support patch into FreeBSD-CURRENT.
      </task>
      <task>
	Solicit review/testing and integrate the SIFTR tool into
	FreeBSD-CURRENT.
      </task>
      <task>
	Complete dynamic reassembly queue auto-tuning patch for FreeBSD-CURRENT.
      </task>
      <task>
	Fix an identified bug in the SACK implementation's fast retransmit/fast
	recovery behavior.
      </task>
      <task>
	Profit!
      </task>
    </help>
  </project>

  <project cat='net'>
    <title>Modular Congestion Control</title>

    <contact>
      <person>
        <name>
          <given>Lawrence</given>
          <common>Stewart</common>
        </name>
        <email>lstewart@freebsd.org</email>
      </person>
    </contact>

    <links>
      <url href="http://caia.swin.edu.au/urp/newtcp/" />
      <url href="http://svn.freebsd.org/viewvc/base/projects/tcp_cc_8.x/" />
    </links>

    <body>
      <p>The patch has received some significant rototilling in the past
        few months to prepare it for merging to FreeBSD-CURRENT.
	Additionally, I completed an implementation of the CUBIC congestion
	control algorithm to complement the existing NewReno and H-TCP
	algorithm implementations already available.</p>

      <p>I have one further intrusive change to make, which will allow
        congestion control modules to be shared between the TCP and SCTP
	stacks.  Once this is complete, I will be soliciting for
	review/testing in the hope of committing the patch to
	FreeBSD-CURRENT in time to be able to backport it for 8.1-RELEASE.</p>
    </body>

    <help>
      <task>
        Abstract the congestion control specific variables out of the TCP and
	SCTP control blocks into a new struct that can be passed into the API
	instead of the control block itself.
      </task>
    </help>
  </project>

  <project cat='net'>
    <title>Stream Control Transmission Protocol (SCTP)</title>

    <contact>
      <person>
	<name>
	  <given>Randall</given>
	  <common>Stewart</common>
	</name>
	<email>rrs@FreeBSD</email>
      </person>
    </contact>

    <body>
      <p>SCTP continues to have minor fixes added to it as well as some
	new features.  First and foremost, we now have VIMAGE and SCTP
  	working and playing together.  This goal was accomplished with
	the help of bz@, my new mentee tuexen@ and myself working
	together at the FreeBSD DevSummit in Cambridge, UK.  Also the
	non-renegable SACK feature contributed by the university of
	Delaware was fixed so that now its safe to turn on (its
	sysctl).  If you are using SCTP with CMT (Conncurrent
	Multipath Transfer) you will want to enable this option
	(CMT is also a sysctl).  With CMT enabled you will be able to
	send data to all the destinations of an SCTP peer.</p>

      <p>We welcomed a new mentee (soon to be a commiter) to FreeBSD.
	Michael Tuexen is now a mentee of rrs@.  Michael has been
	contributing to the SCTP work for quite some time and also
	moonlights as a Professor at the University of Muenster
	in Germany (when not doing SCTP coding).</p>
    </body>
  </project>

  <project cat='kern'>
    <title>FreeBSD/ZFS</title>

    <contact>
      <person>
	<name>
	  <given>Pawel</given>
	  <common>Dawidek</common>
	</name>
	<email>pjd@FreeBSD.org</email>
      </person>
    </contact>

    <body>
      <p>We believe that the ZFS file system is now production-ready in
	FreeBSD 8.0.  Most (if not all) reported bugs were fixed and ZFS
	is no longer tagged as experimental.  There is also ongoing work
	in Perforce to bring the latest ZFS version (v19) to FreeBSD.</p>
    </body>

    <help>
      <task>
	Download 8.0 release candidates and test, test, test and report
	any problems to the
	<a href="mailto:freebsd-fs@FreeBSD.org">freebsd-fs@FreeBSD.org</a>
	mailing list.
      </task>
    </help>
  </project>

  <project cat='kern'>
    <title>hwpmc for MIPS</title>

    <contact>
      <person>
        <name>
          <given>George</given>
          <common>Neville-Neil</common>
        </name>
        <email>gnn@freebsd.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/FreeBSD/mips">Main FreeBSD MIPS Page</url>
      <url href="http://wiki.freebsd.org/FreeBSD/mips/UBNT-RouterStationPro">Sub page for the board I am using.</url>
    </links>

    <body>
      <p>Currently working on board bringup.  I have looked over the docs
        for how MIPS provides performance counters and will begin adding
	code soon.</p>
    </body>
  </project>

  <project cat='ports'>
    <title>FreeBSD Gecko Project</title>

    <contact>
      <person>
        <name>
          <given>Beat</given>
          <common>Gaetzi</common>
        </name>
        <email>beat@FreeBSD.org</email>
      </person>
      <person>
        <name>
          <given>Martin</given>
          <common>Wilke</common>
        </name>
        <email>miwi@FreeBSD.org</email>
      </person>
      <person>
        <name>
          <given>Andreas</given>
          <common>Tobler</common>
        </name>
        <email>andreast-list@fgznet.ch</email>
      </person>
    </contact>

    <links>
      <url href="https://trillian.chruetertee.ch/freebsd-gecko/wiki/TODO">Gecko TODO</url>
    </links>

    <body>
      <p>Andreas Tobler made the classic mistake of sending us a lot of
	powerpc and sparc64 related patches.  The usual punishment, of
	giving him a commit bit to the Gecko repository, has been
	applied.</p>

      <p>We currently have some old ports in the ports tree:</p>

      <ul>
        <li>www/mozilla is 5 year old now, no longer supported upstream,
          and has a lot of security vulnerabilities.  We can use
	  www/seamonkey instead.</li>

        <li>www/xulrunner is superseeded by www/libxul.</li>
      </ul>

      <p>A patch that includes the following changes has been tested on
        pointyhat and is ready for commit:</p>

      <ul>
        <li>Remove references to www/mozilla/Makefile.common and
	  www/mozilla/bsd.gecko.mk</li>
        <li>Switch USE_GECKO= xulrunner firefox mozilla to
	  USE_GECKO= libxul and remove www/xulrunner</li>
      </ul>

      <p>We are also working on Firefox 3.6 (Alpha 2), Thunderbird 3.0 (Beta 4),
        new libxul 1.9.1.3 and Seamonkey 2.0 (Beta 2) ports.  All of them are
	already committed to our Gecko repository.</p>

      <p>A current status and todo list can be found at
	<a href="http://trillian.chruetertee.ch/freebsd-gecko/wiki/TODO">http://trillian.chruetertee.ch/freebsd-gecko/wiki/TODO</a>.</p>
    </body>

    <help>
      <task>Remove mozilla, xulrunner and firefox2 from the ports tree.</task>
      <task>The www/firefox35 port should be moved to www/firefox.</task>
      <task>The old (and somewhat stale) Gecko providers mozilla, nvu,
        xulrunner, flock and firefox also need to be removed.</task>
    </help>
  </project>

  <project cat='ports'>
    <title>Portmaster - utility to assist users with managing ports</title>

    <contact>
      <person>
	<name>
	  <given>Doug</given>
	  <common>Barton</common>
	</name>
	<email>dougb@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://dougbarton.us/portmaster.html" />
    </links>

    <body>
      <p>I am currently seeking funding for further development work on
	portmaster.  There are several features that are regularly
	requested by the community (such as support for installing
	packages) that I would very much like to implement but that
	will take more time than I can reasonably volunteer to implement
	correctly.  There is information about the funding proposal
	available at the link above.</p>

      <p>Meanwhile I have recently completed another round of bug fixes
	and feature enhancements.  The often-requested ability to specify
	the -x (exclude) option more than once on the command line was
	added in version 2.12.  Also in that version I added the
	--list-origins option to make it easier to reinstall ports after
	a major version upgrade, or install the same set of ports on
	another system.</p>
    </body>

    <help>
      <task>See the funding proposal.</task>
    </help>
  </project>

  <project cat='ports'>
    <title>Valgrind suite on FreeBSD</title>

    <contact>
      <person>
        <name>
          <given>Stanislav</given>
          <common>Sedov</common>
        </name>
        <email>stas@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/Valgrind">Valgrind Wiki page</url>
    </links>

    <body>
      <p>The Valgrind suite in the FreeBSD ports collection has been updated to
        version 3.5.0 (the latest available version).  Most of the issues of
	the previous version should be resolved now: we expect memcheck,
	callgrind and cachegrind to be fully functional on both i386 and
	amd64 platforms as well as for i386 binaries running on amd64
	system.  DRD/hellgrind should work too, though they generate
	a lot of false-positives for now, so their output is a bit messy.</p>
    </body>

    <help>
      <task>
        Port exp-ptrcheck valgrind tool and fix outstanding issues
        that show up in memcheck/helgrind/DRD in the Valgrind regression
	tests suite.
      </task>
      <task>
        More testing (please, help).
      </task>
      <task>
        Integrate our patches upstream.
      </task>
    </help>
  </project>

  <project cat='arch'>
    <title>FreeBSD/sparc64</title>

    <contact>
      <person>
	<name>
	  <given>Marius</given>

	  <common>Strobl</common>
	</name>

	<email>marius@FreeBSD.org</email>
      </person>
    </contact>

    <links/>

    <body>
      <p>Noteworthy developments regarding FreeBSD/sparc64 since the last
	Status Reports are:</p>

       <ul>
	<li>Cas(4), a driver for Sun Cassini/Cassini+, as well as
	  National Semiconductor DP83065 Saturn Gigabit NICs has been
	  committed and thus will be part of FreeBSD beginning with
	  8.0-RELEASE and 7.3-RELEASE, respectively.  This means that
	  the on-board NICs found in Fire V440, as well as the add-on
	  cards based on these chips, are now supported, including on
	  non-sparc64 machines.  Unfortunately, the cas(4) driver triggers what
	  seem to be secondary problems with the on-board NICs found in
	  B100 blades and Fire V480, which due to lack of access to such
	  systems could not be fixed so far.</li>

	<li>Initial support for sun4u machines based on the "Fire"
	  Host-PCI-Express bridge like Fire V215, V245, etc. has been
	  completed (including support for the on-board ATA controller,
	  which caused several problems at first, and MSI/MSI-X).  Some
	  code like the quirk handling for the ALi/ULi chips found in
	  these machines needs to be revisited though and no stability
	  tests have been conducted so far.  If all goes well, the code
	  will hit HEAD some time after FreeBSD 8.0-RELEASE has been
	  released.  In theory, machines based on the "Oberon"
	  Host-PCI-Express bridge, at least for the most part, should
	  also be supported with these changes, but due to lack of access
	  to a Mx000 series machine the code could not be tested with
	  these so far.</li>

	<li>Some bugs in the snd_t4dwave(4) driver have been fixed, as
	  well as some special handling for sparc64 has been added so
	  it does 32-bit DMA and now generally works with the on-board
	  ALi M5451 found for example in Blade 100 and Blade 1500.
	  Unfortunately, it was only tested to work correctly in two out
	  of three Blade 100.  Why it still does not work correctly in
	  the remaining one is currently unknown but at least no longer
	  causes IOMMU-panics so testing snd_t4dwave(4) on sparc64 is no
	  longer harmful.  These changes will be part of
	  FreeBSD 8.0-RELEASE and 7.3-RELEASE.</li>

	<li>Ata-marvell(4) has been fixed to work on sparc64 (actually
	  also on anything that is not x86 with less than 4GB of RAM).
	  These fixes will be part of FreeBSD 8.0-RELEASE and
	  7.3-RELEASE.</li>

	<li>A proper and machine-independent fix for the old problem
	  that the loader leaves the NIC opened by the firmware,
	  which could lead to panics during boot when netbooting,
	  has been developed but not committed yet.</li>
      </ul>
    </body>

    <help/>
  </project>

  <project cat='proj'>
    <title>NFSv4 ACLs</title>

    <contact>
      <person>
	<name>
	  <given>Edward Tomasz</given>

	  <common>Napierala</common>
	</name>

	<email>trasz@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/NFSv4_ACLs"/>
    </links>

    <body>
      <p>During Google Summer of Code 2008, I have implemented native support
	for NFSv4 ACLs for both ZFS and UFS.  Most of the code has already been
	merged to CURRENT.  NFSv4 ACLs are unconditionally enabled in ZFS and
	the usual tools, like getfacl(1) and setfacl(1) can be used to view and
	change them.  I plan to merge the remaining bits (UFS support) this month.
	It should be possible to MFC it in order to ship in
	FreeBSD 8.1-RELEASE.</p>
    </body>

    <help>
      <task>UFS changes review</task>

      <task>Support for NFSv4 ACLs in tar(1)</task>
    </help>
  </project>

  <project cat='soc'>
    <title>About Google Summer of Code 2009</title>

    <contact>
      <person>
	<name>
	  <given>Brooks</given>

	  <common>Davis</common>
	</name>

	<email>brooks@freebsd.org</email>
      </person>

      <person>
	<name>
	  <given>Tim</given>

	  <common>Kientzle</common>
	</name>

	<email>kientzle@freebsd.org</email>
      </person>

      <person>
	<name>
	  <given>Robert</given>
	  <common>Watson</common>
	</name>

	<email>rwatson@freebsd.org</email>
      </person>
   </contact>

    <links>
      <url href="http://socghop.appspot.com/org/home/google/gsoc2009/freebsd">FreeBSD
	GSoC Homepage</url>
      <url href="http://wiki.freebsd.org/SummerOfCode2009Projects">FreeBSD GSoC
	2009 Wiki</url>
    </links>

    <body>
      <p>2009 was The FreeBSD Project's fifth year of participation
	in the Google Summer of Code.  We had a total of 17 successful projects.
	Some GSoC code will be shipping with FreeBSD 8.0-RELEASE and others
	will be	integrated into future releases.</p>

      <p>The FreeBSD GSoC admin team would like to thank Google and
	our students and mentors of another great year!</p>
    </body>
  </project>

  <project cat='proj'>
    <title>FreeBSD TDM Framework</title>

    <contact>
      <person>
	<name>
	  <given>Rafal</given>

	  <common>Czubak</common>
      </name>

	<email>rcz@semihalf.com</email>
      </person>

      <person>
	<name>
	  <given>Michal</given>

	  <common>Hajduk</common>
	</name>

	<email>mih@semihalf.com</email>
      </person>
    </contact>

    <body>
      <p>This work's purpose is a generic and flexible framework for systems
	equipped with Time Division Multiplexing (TDM) units, often found on
	embedded telecom chips.  The framework is designed to support various
	controllers and many types of TDM channels e.g. voiceband, sound and
	miscellaneous data channels.  Currently, voiceband infrastructure is
	being developed on Marvell RD-88F6281 reference board.  It will serve
	as an example of how to use the TDM framework for other channel types.
	The direct objective of using TDM with voiceband channels is bringing
	a FreeBSD based VoIP system, capable of bridging analog telephone world
	with digital IP telephony.  Together with third party VoIP software
	(e.g. Asterisk), the design can serve as VoIP Private Branch Exchange
	(PBX).</p>

      <p>Current state highlights:</p>

      <ul>
	<li>TDM controller interface</li>

	<li>TDM channel interface</li>

	<li>TDM channel API for kernel modules</li>

	<li>codec interface</li>

	<li>voiceband channel character device driver</li>

	<li>TDM controller driver for Marvell Kirkwood and Discovery SoCs</li>

	<li>Si3215 SLIC driver</li>

	<li>Si3050 DAA driver</li>
      </ul>
    </body>

    <help>
      <task>Develop demo application showing example usage of voiceband
	channel.</task>

      <task>Integrate voiceband infrastructure with Zaptel/DAHDI telephony
	hardware drivers.</task>
    </help>
  </project>

  <project cat='team'>
    <title>Release Engineering Status Report</title>

    <contact>
      <person>
	<name>
	  <given>Release Engineering Team</given>
	</name>

	<email>re@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/releng/" />
    </links>

    <body>
      <p>The Release Engineering Team continues to work on FreeBSD
	8.0-RELEASE.  Public testing has turned up quite a few problems,
	many related to the low-level network (routing/ARP table) changes
	and their interactions with IPv6.</p>

      <p>Progress continues to be made on fixing up the issues that have
	been identified during the public testing.  At this point in time
	we are shooting for two more public test builds (RC2 and RC3)
	followed by the release late October or early November.</p>
    </body>
  </project>

</report>
