FreeBSD Foundation Newsletter, December 26, 2009

In this Edition:

Letter From the President

In 2009, the FreeBSD project had the misfortune of losing two long time contributors: John Birrell and Jean-Marc Zucconi. I chatted with John recently, during this year's BSDCAN, so his death was all the more shocking. It forced me to recognize my own mortality and to consider what contributions from our lives remain after we pass away. Reviewing the heritage of FreeBSD it becomes clear that our work on this project takes on a life of its own. John and Jean-Marc's efforts live on in FreeBSD.

The value of the FreeBSD legacy has become even more apparent to me with my return, after an almost 10 year break, to working on FreeBSD during my day job. The kernel has the familiarity of an old friend, even though it has been improved in countless ways by dozens of new contributors. Although the principles and best practices engendered by the FreeBSD project have changed little in the last decade, they are no less relevant today. The faces and challenges may have changed, but the qualities of FreeBSD - solid design, high performance, stability - have not.

Trying to communicate this real value of FreeBSD can be difficult. Valuations typically take current features into account, but neglect to consider the community that created and will support those features. And what value can you place on future, community driven, improvements to FreeBSD? There is no guarantee that every feature you need will be added to the system in the time frame you need it, but the collaborative environment created by the FreeBSD project makes it very likely. The greatest asset of FreeBSD is our community. If we continue to invest in the FreeBSD community, I have every confidence that the FreeBSD legacy will endure.

The FreeBSD Foundation is doing its part to continue FreeBSD's legacy. Through conservative management and careful planning we have improved our financial position even when faced with the most severe recession in 50 years. Our growing strength and capabilities, all made possible by your generous donations, are proof that the FreeBSD Foundation will be a faithful supporter of FreeBSD for many years to come. Together, building on the legacy left by John, Jean-Marc, and the countless contributors before them, we will ensure the future of FreeBSD.

Justin T. Gibbs

President and Founder

The FreeBSD Foundation

End-of-Year Fundraising Update

We need just over $50,000 to meet our fundraising goal of $300,000! We have been overwhelmed by the generosity of the FreeBSD community. We have had 774 donors out of a goal of 1000, so far this year. Wouldn't it be great to break our record of 1100 back in 2004!

The number of donors is important for two main reasons. One, it shows there are many users who are passionate about FreeBSD and want to show their support. Second, it helps us keep our Public Charity Status. It is great getting large donations from companies. But, donations of $18,000 and under helps keep us a public charity in the eyes of the IRS.

With the weakened economy we have been very conservative with our spending this year. But, like each previous year we have increased the amount we have spent on the FreeBSD Project and community. We were blown away with the number of project proposals we received this year. We were able to fund 7 projects this year. Unfortunately we didn't have the budget to fund all the proposals we received.

This coming year we want to double the amount we spend on project development. In order to accomplish this, we need to meet our fund-raising goal.

How have we spent the money this year?

  • Sponsored FreeBSD related conferences like BSDCan, EuroBSDCon, AsiaBSDCon, KyivBSD, and DCBSDCon.
  • Provided 15 travel grants and funding to individuals to attend these and other conferences this year.
  • Provided grants for projects that improve FreeBSD, like wireless mesh support, FreeBSD TCP stack improvements, new console driver, safe removal of disk devices, flattened device tree, and high available storage projects.
  • Provided equipment for developers working to improve FreeBSD and projects like the NetPerf cluster. We purchased servers, USB analyzers, power controllers, and parts for computer repairs for the Project. We also paid for shipping of equipment to various projects.
  • Provided legal support for the project on issues like understanding the GPLv3 impact on FreeBSD, providing a privacy policy, trademark ownership and permission, and other legal issues that come up.

Please consider making a donation to the foundation. You can do this by going to http://www.freebsdfoundation.org/donate/.

Project Highlights

Project development is an integral part of our mission. Twice this year we solicited for proposals. We were pleased to receive so many interesting proposals. It's not always easy deciding which ones we should accept. Besides spending the time to review each proposal, we have to determine how this will impact the OS. Is this an improvement or added support that we have received many requests for? Is it a larger project that will use up more of our budget? What percentage of users will benefit? And, sometimes we have to bring in experts to help us understand the importance of the project.

We have four active projects that we are currently funding. We asked the project developers to write short summaries of their projects to help us publicize what they are doing. Sit back and take a moment to catch up on our latest projects that are helping to improve FreeBSD!

New Console Driver

Even though most FreeBSD users log in to their favourite operating system using a network login service, like OpenSSH, or use a graphical terminal emulator, such as Xterm, almost all users are familiar with the FreeBSD console driver called Syscons. Syscons provides lots of functionality and works on many of the platforms supported by the Project, but has some clear disadvantages.

One of the biggest disadvantages is the ease of understanding how Syscons works, which has clearly caused a lack of maintainership over the last couple of years. This has caused numerous bugs, but also a lack of drivers for modern graphics chipsets. Therefore it only supports VGA and VESA on i386/amd64.

The Newcons Project aims to replace the Syscons driver by a new driver called VT. The VT driver uses Unicode internally, which means there is no need for the user to switch between different locale settings, font maps and keyboard maps to be able to use multiple foreign languages. It also uses an improved algorithm to reduce graphics I/O, giving acceptable performance even when using the slow VGA graphics mode.

Right now the core driver of VT is finished. It includes two graphics drivers (VGA and Microsoft Xbox). The next milestone of the project is to write a graphics driver that interacts with the kernel's DRM subsystem to render graphics using modern graphics hardware.

contributed by Ed Schouten

Flattened Device Tree Project

Flattened Device Tree is a mechanism for describing computer hardware resources, which cannot be probed or self enumerated, in a uniform and portable way. The primary consumer of this technology are embedded systems, where a lot of designs are based on similar chips, but have different assignment of pins, memory layout, addresses bindings, interrupts routing and other resources.

Configuration data, which cannot be self discovered in run-time, has to be supplied from an external source. The concept of flattened device trees is a platform and architecture independent approach to resolve such problems. The idea is inherited from Open Firmware IEEE 1275 device-tree notion, and has been successfully adopted by the embedded industry (for example, it is a basis for Power.org embedded platform reference specification, ePAPR).

The project goal is to bring FDT support to FreeBSD, so it can benefit from a uniform and extensible way of representing hardware resources on embedded platforms (ARM, MIPS, PowerPC etc.), instead of multiple (duplicate) and incompatible approaches, which we have right now. Among other advantages brought by this technology, is the ability to use multi-platform kernels for a family of similar boards, where a single common kernel image is supplied with just a particular configuration data set for the given platform at boot time.

The project is expected to finish in February 2010. More details can be found here: http://wiki.freebsd.org/FlattenedDeviceTree

contributed by Rafal Jaworowski

Improvements to the FreeBSD TCP Stack

After some delays related to personal travel commitments and the FreeBSD 8.0 release process, the project is in the final stage of completion.

FreeBSD 8.0-RELEASE shipped with TCP Appropriate Byte Counting (RFC3465) support and necessary changes to allow the remainder of the project's work to be back-ported to the 8-STABLE branch. At this stage, it is unlikely that the ABC patch will be back-ported to earlier branches due to ABI considerations.

Candidate patches for TCP reassembly queue auto-tuning and integrating the Statistical Information For TCP Research (SIFTR) tool into the base system are currently under review. Public testing will be publicly solicited in the coming weeks before the patches are committed to FreeBSD 9-CURRENT. A decision on when to back-port the patches will be made after some settling time has passed.

A number of additional areas for improvement have been identified as a result of undertaking this project, which will provide an interesting set of future work for myself and the community to continue with.

contributed by Lawrence Stewart

Highly Available Storage Project

The HAST project goal is to implement highly available block device (GEOM provider, using FreeBSD's nomenclature). This allows the ability to share data between nodes in a cluster in a file system and application independent way. The data will be synchronously and transparently replicated over TCP/IP network between the nodes.

When a UFS file system or ZFS pool reside on such HAST block device and primary node fails, secondary node can run fsck on the UFS file system or import ZFS pool and start at the point where primary node finished. No data will be lost. Once the former primary node is fixed, modified data will be quickly synchronized.

contributed by Pawel Jakub Dawidek

FreeBSD Developer Summit, Cambridge, UK

70 FreeBSD developers and guests met in September, 2009 at the University of Cambridge Computer Laboratory for two days of intensive presentations, discussions, kernel hacking, and socializing. This is the second time a developer summit has taken place in Cambridge, and the largest European developer event in the history of the project. EuroBSDCon 2009 immediately followed the summit, taking place at nearby Robinson College, Cambridge. The event was co-sponsored by the FreeBSD Foundation and UKUUG, the UK UNIX User's Group. The Foundation was pleased to be able support travel expenses for several FreeBSD developers, as well as EuroBSDCon itself.

Topics of discussion included: the 802.11 stack including new wireless mesh networking support, jails and virtual network stacks, a new BSD-licensed debugger, bug tracking, benchmarking, the NetFPGA research platform, 32-bit EFI boot loader support, Apple's Grand Central Dispatch framework, a new implementation of ATA using CAM, FreeBSD 9.0 brainstorming, the new 8.0 USB framework, plans for new security models, increased use of cryptography in FreeBSD, NTP and time management, the FreeBSD.org cluster management team, a kernel capability model, and the successful completion of the Subversion migration project.

More information on the developer summit, including slides for many of the sessions, may be found on the FreeBSD project wiki:

http://wiki.freebsd.org/200909DevSummit

The University of Cambridge looks forward to welcoming the FreeBSD developer and user communities back to Cambridge in the future.

EuroBSDCon 2009

The FreeBSD Foundation was pleased sponsor EuroBSDCon 2009, which took place at Robinson College, Cambridge along side a FreeBSD developer summit at the University of Cambridge's Computer Laboratory. The conference, 18-20 September, 2009, included one day of tutorials and two days of technical programme, as well as a social event at Clare College, Cambridge. The tutorial day featured the following FreeBSD-related sessions:

  • Kirk McKusick's FreeBSD Overview, and a focus on FileSystems and VM
  • SCTP Introduction and Workshop

Talks in the main technical programme covered a variety of topics spanning the BSDs, including the following FreeBSD-related talks:

  • Compiling a v4l DVB driver for FreeBSD
  • Network event kit (NEK) - Marten Vijn
  • PC-BSD - Making FreeBSD on the Desktop a mainstream reality
  • FreeBSD kernel protection measures against SMTP DDoS attacks
  • FreeBSD in a Complex Environment
  • ISC and *BSD at the core of the Internet
  • Towards a fully correct SMB/SMB2 stack for freebsd
  • 100km@36Mb/s, or Long Distance Wireless
  • Wireless mesh networks under FreeBSD
  • Profiling and Debugging the FreeBSD* Kernel
  • mfsBSD
  • pfSense 2.0 and beyond
  • 20,000 Ports Under The Hood
  • FreeBSD and Isilon
  • Complexity Attacks and Ipfw
  • experiences of Google Summer of Code
  • porting HPC tools to freebsd
  • SuperPages in FreeBSD 8.0
  • How FreeBSD finds Oil
  • gemdisk: a GEOM class to emulate disk drives
  • Embedded FreeBSD for industrial applications: a case study

Rui Paulo's mesh wireless networking talk presented his FreeBSD Foundation- sponsored project.

We were especially pleased to meet many conference attendees at the FreeBSD Foundation desk, signing up over fifty donors (as well as equipping them with Foundation hats and flashlights).

More information about the conference, including slides and audio recordings from many talks at:

http://2009.eurobsdcon.org/

BSD conferences are a vital venue for the BSD user and developer communities, and the FreeBSD Foundation is pleased to be able to support EuroBSDCon and similar conferences around the world.

KyivBSD 2009

It's no secret that in this post-Soviet state, the FreeBSD operating system is well known, popular (relatively) and is in demand. Ukraine is not last in the list of countries that have developers and users, both existing and potential. Unfortunately, for various reasons, companies using FreeBSD in its infrastructure, are not interested in holding any type of FreeBSD activities. For a long time, it has hindered the organization of such events as KyivBSD '09. But, fortunately our foreign friends came to help! Many thanks to the FreeBSD Foundation and iXsystems for fully sponsoring this event.

The goals of KyivBSD were: raising public awareness on the use of free software in all areas; personal acquaintance and the strengthening of relations between developers and users, live communication, reports, and BSDA certification. More than 80 people signed up for the conference, with even more wanting to sign up after registration closed. We ended up with 60 people attending the conference, which we still believe is a good number.

The most successful presentation was given by Alexander Drach, with his talk on the use of FreeBSD in Cherkasy city council, it is quite a successful start to draw attention to the opensource software in the political sphere.

Another successful presentation was given by Konstantin Bilousov. His presentation was on Release Engineering. This was very interesting to the end-users who usually don't get to see the development cycle. Almost all the visitors was very interested by Konstantin Bilousov's report, about Release Engineering work, or rather on the part of the work that does not see the end-users - the development cycle in general.

All presentations were very informative, and indeed, the audience was very attentive and engaged. Thanks to the sponsorship, we were able to rent a room with sufficient space (which is a problem in Kiev), print each visitor a PC-BSD disc, and provide each attendee with some cool mementos for our first conference.

All this of course was absolutely impossible, without the sponsors and our information partners. In our world, there is a vicious cycle: if you don't have money, then you can not hold a decent conference. And, if your conference is not massive, then the local companies are not interested in sponsorship. With this sponsorship, hopefully we have broken this cycle! We had a positive experience, we have a story, and we now have published articles. I believe that the next conference will be a lot easier to organize. This is how I see the most valuable and meaningful sponsors contribution!

contributed by Alexander Yerenkow

2009 Grant and Travel Grant Recipients

Every year we sponsor FreeBSD related conferences, projects, and developer travel. We believe that BSD-centered and FreeBSD-specific conferences play critical roles in expanding the FreeBSD user community and supporting collaborative development. Our grants may be for something as little as performance software to large projects like Java 1.6 on FreeBSD 7.0.

To find out how to apply for a travel grant, please visit http://www.freebsdfoundation.org/documents/TravelRequestForm.pdf. To get information on how to apply for a grant, please visit http://www.freebsdfoundation.org/documents/GrantRequestForm.pdf.

Here is a list of projects, developers, and conferences we have sponsored for 2009.

2009 Grant Recipients:

  • DCBSDCon 2008 Conference
  • AsiaBSDCon 2009 Conference
  • BSDCan 2009 Conference
  • EuroBSDCon 2009 Conference
  • KyivBSDCon 2009 Conference
  • Edward Tomasz Napierala - Safe Removal of Active Disk Devices
  • Lawrence Stewart and Swinburne University of Technology - Improvements to the FreeBSD TCP Stack
  • Rui Paulo - Wireless Mesh Support
  • Pawel Jakub Dawidek - High Available Storage Project
  • Ed Schouten - New Console Driver
  • Rafal Jaworowski - Flattened Device Tree Project
  • Arnar Mar Sig - AVR32 Support

Travel Grant recipients for this year were:

  • BSDCan - Attilio Rao, Ed Schouten, Erwin Lansing, Renato Botelho do Couto, Thomas Abthorpe, Bjoern A Zeeb, Daichi Goto
  • Ion-Mihai Tetcu - International Free Software Forum (Fórum Internacional de Software Livre - FISL 10,)Porto Alegre, RS, Brazil.
  • EuroBSDCon - Ana Kukec, Gerard van Essen, Daniel Gerzo, Ivor Prebeg, Rui Paulo, Daichi Goto, and Lars Engels.

FreeBSD Testimonial from iXsystems

iXsystems is a leading provider of server class hardware designed to run FreeBSD. An integral part of our business strategy is to fund FreeBSD developers to continually improve and refine FreeBSD. Our internal infrastructure and services are based on FreeBSD, allowing us to easily identify areas in FreeBSD that need improvement.

We believe strongly that what is good for FreeBSD is good for our customers, and what is good for our customers is good for us. The BSD License allows us to both use and contribute code freely, and allows our customers and the consumers of FreeBSD to do the same. FreeBSD has benefited from years of open sharing and collaboration which have resulted in a stable, mature, high performance operating system.

-Josh Paetzel, Director of Information Technology, iXsystems, www.ixsystems.com

Financials

Our 2009 Q1-Q3 Profit/Loss and 2009 Q1-Q3 Balance Sheet are posted on our website.