Google SoC 2010: FreeBSD Projects

Google has just announced the projects it will be funding this summer during its annual Summer of Code Event :

6 FreeBSD related Projects are included :

  • Jacub Klama : Generic DMA engine framework for FreeBSD

The aim of this project is to provide a generic, flexible framework for initiating and controlling DMA transfers using General Purpose DMA engines, found in most of embedded SoCs – along with tests and documentation. There are analogous frameworks for NetBSD (dmover(4)) and Solaris (ddi_dmae(9F)), but they are not well suited for embedded targets and don’t offer all required features.

  • Alexandre Fiveg: Ringmap Capturing Stack for High Performance Packet Capturing in FreeBSD

The ringmap project has drawn a lot of interest from several research groups. I would like to continue my work on this project in order to improve and extend the developed software for production use in the open source community. I also would like to establish contacts to other software developers and use the opportunity to take part in GSoC for further development of ringmap.

  • Volodymyr Serbinenko: Port FreeBSD to Yeeloong

Yeloong, also known as “rms laptop” is a Chinese-designed netbook based on Loongson 2F CPU. It’s popular among Free Software enthusiasts and people who want a small yet powerful netbook and don’t care about windows being available. FreeBSD could profit much from thismips relaunch. When this port is done porting to other Loongson-based device should be relatively easy.

  • Mohammed Farrag : Reduced FreeBSD kernel size for embedded devices
  • Zheng Liu: Enhance FreeBSD ext2fs to support preallocation and update ext2fs to able to read ext4 file systems

This project implement preallocation in ext2fs and update ext2fs to be able to read ext4 file systems and possibly add other functionality, such as write ext4 file systems.

  • Benjamin Fiedler: BSD-licensed Text-Processing Tools

I will write or complete BSD-licensed replacements for the tools man, diff, sdiff, and sort. The rewrite of man will be necessarily be accompanied by integrating the FreeBSD mdocml port into the system base and configuring it as a replacement for the entire groff suite of tools.

Wishing all students the best. More details to follow.

Development of Chromium (Chrome) for FreeBSD

A new and alternative open source business model.

Chromium / Google Chrome

Google Chrome does not need much introduction any more, especially not to those interested in open source software. It is the best browser available. It is fast, secure, supports bookmark sync and extensions. The Chromium project is the open-source core of the Chrome Browser, and as we reported before, it is also available on FreeBSD.

As Google doesn’t create FreeBSD builds (as yet?), porting Chromium to FreeBSD has to be done by volunteers, e.g. developers is Sprewell and Ben Laurie.

Chromium is Linux based, but it is possible to get it running on FreeBSD by applying some patches. However, more work is needed to stabilise and to include it in the ports tree, which Sprewel says may happen this month.

I’d like to get the last free build 42139 into ports sometime in the coming month.  It will only take that long because I’ve never submitted to ports before, so the packaging and submission process is all new to me.

Subscription based development

Instead of asking for donations to support his work, Sprewel has recently started offering subscriptions for Chromium development. If you are interested in Chrome and want to both continue running it on FreeBSD and its future development, consider supporting the development with a subscription.

Sprewell emailed me this week about this new open source business model:

The idea is to get paid for development by developing closed-source patches on a BSD-licensed, mostly open codebase, and contracting with subscribers that they will receive those patches within a time limit from the date they got that build, in my case 1 year.  I think linux has raced ahead of BSD largely because of the support/consultingware business model they’ve used with the GPL, but I think this type of mixed, time-limited business model could vault BSD-licensed software far ahead, to the point where it could compete with fully proprietary software.

All code for a particular build will be released to subscribers under the BSD license, within 1 year of a build being released. If the development costs for a particular issue are paid off before 1 year, the patch for that feature will be opened earlier. The goal is to keep pushing code back upstream within a year

According to Sprewell there are already a few subscribers. Let’s see how this model takes off.


Google’s Go programming language

Google’s Go is now supported under FreeBSD (source)

“Go, Google’s programming language, has now been with us for four months. Ridiculed at first, then named Programming Language of the Year 2009 by TIOBE for its rapid climb up its language index, Go has continued on its way with rather less fanfare. But that is definitely not symptomatic of a lack of progress – on the contrary, the current state of activity shows that Go is edging ever closer to maturity.”

Read more about the current state of Go (Google’s Go programming language – H-Online)

Google SoC 2009 FreeBSD projects announced

google-bsdGoogle announced yesterday the students selected to participate in the Google Summer of Code 2009. Among the 1,000 students, 20 will be working on FreeBSD related projects.

The list with students, mentors and projects can be found here

We wish all the students the best and hopefully a lot/all of their coding will find their way into future FreeBSD releases.


FreeBSD Wiki (GSoC2009) | Announcement | FreeBSD Project SoC 2009 |

FreeBSD and Google Summer of Code 2009

Google is now hosting the Google Summer of Code for the 5th year running, and FreeBSD has been selected again as eligible for the mentoring organisation.

If you or any other student is interested in contributing to the development of FreeBSD and get paid for doing so, have a look at the FreeBSD Summer of Code 2009 page. You can find here general information, info on past projects, sample project ideas, guidelines etc etc.

Key dates to note:


  • March 23 – Student application period opens
  • April 3 – Student application deadline.
  • April 15 – The End of applications
  • April 20 – ccepted student proposals announced on the Google Summer of Code 2009 site
  • May 23 – Project officially began
  • July 6 – Mentors and students can begin submitting mid-term evaluations
  • July 13 – Mid-term evaluations deadline
  • August 10 – Suggested ‘pencils down’ date. Take a week to scrub code, write tests, improve documentation, etc.
  • August 17 – Firm ‘pencils down’ date. Mentors, students and organization administrators can begin submitting final evaluations to Google
  • August 24 – final assessment deadline
  • August 25 – Final results of GSoC 2009 announced
  • September 3 – Students can begin submitting required code samples to Google

FreeBSD and Google’s Summer of Code (GSoC)

The FreeBSD Project is pleased that Google has once again invited the FreeBSD Project to participate in their Summer of Code program, which pays student developers to work on Open Source projects.

Over the last four years, over 70 Summer of Code projects have generated improvements to almost every part of FreeBSD; many of the students have gone on to become permanent members of FreeBSD’s international development team.

Students interested in working with the FreeBSD Project should start preparing now by visiting the Google Summer of Code website and the FreeBSD Summer of Code site and discussing their ideas on one of the FreeBSD public mailing lists or on the #freebsd-soc IRC channel on EFNet. P.S. Please pass along this post or one of these posters to anyone who might be interested.

Source: FreeBSD Announce Mailinglist

BSDers at the Googleplex

Matt Olander and Murray Stokely have written up a summary of the MeetBSD Conference last month:

The meetBSD 2008 conference recently held at the Googleplex in Mountain View, California, USA brought together more than 150 users and developers of the various flavors of the BSD operating system. The conference featured some great speakers, including talks by Robert Watson, Philip Paeps, Kris Moore and many others. There was also a panel to discuss the Google Summer of Code™ program, hosted by Murray Stokely and Leslie Hawthorn of Google. They were joined on stage by former mentors and students from the FreeBSD and NetBSD projects to give an overview of the program, some of the amazing results, and some tips and stories about participating. Saturday’s content wrapped up with impromptu breakout sessions to discuss PC-BSD, FreeBSD, security issues, and other topics.

After the first day of the conference, attendees were taken by bus to the Zen Buddha Lounge in Mountain View for a private party to celebrate the 15th Anniversary of the FreeBSD operating system. A great time was had by all and, like most birthday parties, this one included a cake! We went a step further though: our cake was shaped like the FreeBSD logo in 3D, complete with horns. Dr. Kirk McKusick had the honors of cutting the cake and handing out a few pieces.

Full blogpost here (Google Open Source Blog – 10/12/2008).

Man thanks to Google for making this conference possible!

New Channel on YouTube for BSD Technical Content

Murray Stokely, from the FreeBSD Core Team, has setup a new channel for technical BSD content on Youtube for high quality, full hour-long videos of talks and tutorials from BSD Conferences

Thanks to help from the Open Source Program Office at Google I was able to setup a new channel for technical BSD content without the 10 minute limit for uploaded videos. This allows us to upload high quality full hour-long videos of talks and tutorials from BSD Conferences. I’ve added the first four videos that Julian Elisher taped from the MeetBSD 2008 conference we recently held in Mountain View.


FreeBSD Summer of Code finished – update

Murray Stockely reports about the success rate for Summer of Code students working on FreeBSD. 19 out of 21 students successfully completed the program this summer.  He has created a summary of all 19 individual projects. On the Google Open Source Blog he wrote a post to showcase some student projects from our fourth successful summer of code:

FreeBSD has participated as a mentoring organization in the Google Summer of Code™ each year since 2005. This year, FreeBSD mentored 21 students with a final success rate of 91%. Robert Watson and I have written a detailed summary of the FreeBSD 2008 Summer of Code experience. With the help of our mentors we’ve selected three successful projects to showcase here:

The summer has ended but many students are continuing to work on their projects.

Google FreeBSD Summer of Code 2008 results

The FreeBSD Project is proud to have taken part in the Google Summer of Code 2008. We received more high quality applications this year than ever before. In the end it was a very tough decision to narrow it down to the 21 students selected for funding by Google. These student projects included security research, improved installation tools, new utilities, and more. Many of the students have continued working on their FreeBSD projects even after the official close of the program.

The FreeBSD project has released an update on the (finished/continuing) work of the projects:

  • Implementation of MPLS in FreeBSD
  • TCP/IP regression test suite (tcptest)
  • Porting Open Solaris Dtrace Toolkit to FreeBSD
  • Adding .db support to pkg_tools –> pkg_improved
  • Porting BSD-licensed text-processing tools from OpenBSD
  • Multibyte collation support
  • VM Algorithm Improvement
  • TCP anomaly detector
  • FreeBSD auditing system testing
  • Dynamic memory allocation for dirhash in UFS2
  • Reference implementation of the SNTP client
  • NFSv4 ACLs
  • Enhancing FreeBSD’s Libarchive
  • Allowing for parallel builds in the FreeBSD Ports
  • Ports license auditing infrastructure
  • Improving layer2 filtering
  • Porting FreeBSD to Efika (PPC bring up)
  • Audit Firewall Events from Kernel
  • Create a tiny operating system from FreeBSD

All results here.