FreeBSD Foundation Newsletter, July 28, 2009
In this Edition:
- Letter From the President
- 2009 Fundraising Drive
- Dru Lavigne Helping Foundation
- Safe Removal of Active Disk Devices
- Wireless Mesh Support
- Improvements to the FreeBSD TCP Stack
- AVR32 Support
- Problem Reporting Prototype
- FreeBSD Powers Long Distance Wireless Link
- DCBSDCon 2009
- AsiaBSDCon 2009
- Foundation at BSDCan and Developer Recognition
- 2009 Grant and Travel Grant Recipients
- BSDCan Spotlight
Being successful in any project requires at least two things: finding the right people, and getting those you find to work together as an effective team. Although it may sound simple to achieve, finding organizations that have both attributes is extremely rare. A common mistake is to try to reduce this formula to just the first part. For example, businesses need employees, so at least some investment is made in the hiring process. But, after the interviews are conducted and the offers are made, the focus is usually on products and schedules, not on how to promote group efficiency. Don't let me dissuade you from filling your organization with the best and brightest. Just don't expect to get a functional team without additional work. Positive team cultures rarely develop spontaneously.
MBAs do understand this second part of the success equation. When a team fails or group dynamics need a tune-up, they also know the fix: team-building exercises! This is where a facilitator helps you understand the personality types of your coworkers, guides you through (often embarrassing) role playing games, and tops it off with a confidence building exercise where your team successfully navigates an obstacle course, contorts itself into a human pyramid, or, if you have a really good faciliator, pulls off some ingenious prank on your boss. Yes, a truly motivated team can get a mid-sized sedan onto the roof of an office building.
These one day events have some value (e.g. picture of boss's face when he figures out where his car went), but having gone through quite a few of them, they rarely have lasting effects. In the best case, where a poorly performing team massively exceeds expectations during the exercises, astute management should realize that the corporate culture isn't providing the right motivation or tools for success. A day of team-building exercises won't fix a broken culture.
So how do you fix a broken culture? It starts by looking at teams that function well and learning the aspects of their culture that promote success. The FreeBSD project's developer community may not be the first team that comes to mind when searching for a culture to emulate. This is especially true once you factor in the limited avenues for team collaboration: email, irc, bug database, source code, the wiki, and the rare trip to a conference for some face-to-face communication. However, our community offers plenty of valuable lessons should you look.
The most crucial characteristic of a successful culture is that it empowers its members. When it comes to FreeBSD, there is constant evidence that anyone can contribute, and that there are few barriers to contributing in different areas over time. There is also a well defined growth path from user to contributor, and then on to committer and domain expert. Movement on this path is driven by performance - the definition of a meritocracy.
Lots of cultures claim to be meritocracies, but most lack the last piece of the empowerment puzzle: a fair method for determining merit. I've been exposed to countless environments where management has the ability to manage, but no talent for understanding the details of the work product of their team. If your manager can't evaluate your work, then how can he/she compare it to your peers, or help you to grow? In that situation there is little incentive to perform above par, or to help your team. No one will notice anyway.
In the FreeBSD community we've been fortunate to attract a core set of contributors that are both level headed, and respected by the community to be able to judge technical merit. There is an additional safe guard in that disputes can be escalated to, and handled by, an elected body: the Core Team. Few businesses elect their management staff, but to focus on this difference I think would miss the point. The key is that, in a positive culture, dispute resolution by "management" is rare. When the members of the culture know they will be fairly judged on their ability and output, and that the arbiters for disputes are savvy and knowledgeable enough to make merit based decisions, there are fewer disputes and more collaboration. This is why companies lacking management with "technical chops" - the ability to see and react to the technical performance of their team - can never empower their employees in the ways that a similar business, with managers that are or were high end technical contributors, can.
Feeling empowered motivates personal growth, but it doesn't provide the curriculum for it. The best way to learn is by emulating the best work of others. In a culture that promotes openness, all the information to learn from other members of the team is readily available. You might think that the FreeBSD project meets this goal naturally as an OpenSource project. The work product is visible to anyone who cares to look! But if the culture doesn't teach the value of looking, no one will. Peer based learning is crucial to growing the capabilities of a team and defining best practices. But it is very common to find the exact opposite occurring in business culture.
Consider the effects of an environment where contributors are discouraged from looking outside the boundaries of their own work. Boxed in, the employee's interaction with the rest of the team and system is confined to interface documents describing the limits of their responsibility. Looking into someone else's "box" is considered rude and a quick way to be labeled as "nosey." This type of culture encourages each contributor to build an island for their work product. Discussions between peers about the problems they are trying to solve are rare, and the best ideas are often never expressed for fear of stepping on someone else's turf.
In FreeBSD's culture, not only is the source open, but so are the discussions. Want to know what people are working on? Subscribe to a public mailing list. Have a concern about a recent change? Post to a public mailing list. Need to chat in real time with a domain expert? You'll probably find them in a public channel on IRC along with a group of other contributors wanting to help. Curiosity is encouraged. The rational behind FreeBSD's best practices are documented, happily explained on a mailing list, and are open to change should someone, anyone, come up with something better. Think you know a better way to do something, even if it is not in the area you usually work in? Prove it and the change will be accepted. The result is an environment where all the information to learn from other members of the team is available, and where all who participate, grow.
But perhaps the most surprising lesson to take from the FreeBSD community is how a dispersed culture can still foster efficient communication. Most of the members of our project rarely see each other in person or talk on the phone. You can't drop by someone's office or discuss a problem over lunch. The FreeBSD community has compensated for these missing means of communication by demanding that its members efficiently use the mediums that are available. If you are participating in the community, you are expected to read the mailing lists. If you are a contributor, you must provide detailed documentation with every change to the system, and you are expected to subscribe to the mailing list for change descriptions. If you encounter a problem, you are expected to use the bug tracking database and report the issue with sufficient fidelity so it can be actioned. And if you don't meet these expectations? You won't hear from the Core Team (a.k.a. management). Your peers will complain. They know that effective communication, via these often cumbersome tools, is the only way the team can be successful.
In most environments, the situation is reversed. The majority of workers are located in the same building with perhaps a small remote site handling a supporting component, or a single contractor helping out from their home. But having the luxury of face-to-face communication doesn't diminish the value of using electronic mediums effectively. For example, reading check-in mail means always knowing what's happening in the team. Knowing, spurs conversations and discussions. These discussions lead to finding flaws or making critical improvements long before a system is fielded or even tested. Without this information, the team and management can easily be blind sided. The data is known by some, but is not available to the people capable of piecing it together, understanding it, and averting a disaster. Making full use of check-in mail, bug tracking software, wiki's, and even instant messaging software can dramatically increase the quality and quantity of communication in your team.
Sure, the FreeBSD project produces an excellent operating system. But don't overlook the culture that makes FreeBSD possible. Our culture is crucial to our success. Learn from it. Adopt some of our best practices. Empower your team. Promote curiosity, and discussion, and peer based learning. Define a culture that demands openness and clear, complete communication. This is the time tested recipe for FreeBSD's success. I hope it can be part of yours.
Justin T. Gibbs
President and Founder
The FreeBSD Foundation
We have raised just over $21,000 towards our goal of $300,000. Sadly, we're not very close to our goal yet. Fortunately, we have great hopes and plans to improve this situation. As you know, our mission is to support the FreeBSD Project and community worldwide. You will see in this newsletter the various ways we have followed our mission. But, we won't be able to continue the level of spending for the project without achieving our goal or at least getting close to it like last year.
One of our weaknesses has been soliciting for larger donations. Sometimes it is tough approaching a company where you have no contacts to discuss how much this company maybe benefiting from this innovative, high performing, and extremely reliable operating system. To overcome this weakness we have started an aggressive marketing campaign. We are working with a designer to help create high quality marketing literature for us to present to companies. This will help tell our story in a clear and concise way. It will also be available for developers who want to approach their own companies to seek donations.
Please consider making a donation to the foundation. You can do this by going to http://www.freebsdfoundation.org/donate/.
We are thrilled to announce that Dru Lavigne is volunteering her incredible talent to help the foundation with research and writing. Dru is the author of many FreeBSD books, including Best of FreeBSD Basics and BSD Hacks. She has written many articles for O'Reilly including FreeBSD Basics and is the editor of BSD Success Stories. Dru is the founder of BSD Certification Group and you will find her informative blogs at http://it.toolbox.com/blogs/bsd-guru.
Dru hit the ground running with her enthusiasm to help the foundation and project. Once she officially joined as a volunteer she quickly setup a foundation blog and twitter account. Dru and board members will start posting what's going on with the foundation and how we're helping the project.
Dru will start creating project profiles that we can provide to companies so they can see in more detail what we have been funding. This will also benefit the project, because eventually these profiles will cover all the projects and be available to everyone. This will be a great way to highlight each project and developer.
One of the long-standing problems encountered by FreeBSD users was the fact that the system could often crash after a mounted disk device - for example, a USB flash drive - was removed. This behavior was not only annoying, but also made a bad impression about the overall stability and robustness of the operating system.
The project was not about fixing one buggy driver, as it could seem at first glance. Fixing the problem involved changes in CAM (Common Access Method, FreeBSD SCSI subsystem), GEOM framework, Virtual Filesystem layer, and finally the UFS filesystem. (Ironically, there were no problems with the USB itself.) There were no big design changes of any sort; just an iterative process of finding a way to crash the system, tracking down the bug that was causing it, fixing it, and proceeding to the next one. Most of the fixes were backported to FreeBSD 7-STABLE and will appear in FreeBSD 7.2.
It is now possible to remove mounted devices - and to unmount them afterwards - without any user-unfriendly behavior, such as crashes. Also, the system became more robust in the presence of non-USB disk removal, such as SCSI or SATA drive detachment or failure.
This project completed in February, 2009.
Contributed by Edward Tomasz Napierala
A wireless mesh network is a typical wireless network, but uses a mesh topology instead. These networks are often seen as special ad-hoc networks since there's no central node that will break connectivity (in contrast with common wireless networks that you have at home/office, where there's a central Access Point). This project aims to implement the upcoming 802.11s wireless mesh standard (not yet ratified) on the FreeBSD operating system. You may already know about the Wireless Distribution System, WDS for short, and if you do, just think of 802.11s as the standard that will expand and unite WDS. Note that 802.11s is much more complex than WDS (for example, 802.11s includes a routing protocol, an airtime link metric protocol and a congestion control signaling protocol, just to name a few).
802.11s is interesting both for companies who want to create wide range wireless networks and also for home users who would like to expand their wireless networks. With the completion of this project, they can now use the FreeBSD operating system to fulfill their needs.
The project has reached the final stage and it's available to anyone who wants to test it. Eventually, this will be merged to the FreeBSD HEAD source tree.
Contributed by Rui Paulo
FreeBSD's evolution as a network operating system has been driven in part by the rapidly changing Internet landscape and convergence towards the ubiquitous TCP/IP protocol suite. Transmission Control Protocol (TCP) is responsible for reliably delivering the vast majority of data across today's public Internet and private IP networks alike. As such, it is and will continue to be a protocol of critical importance for the foreseeable future.
This project is improving the FreeBSD TCP implementation for all users and consumers of FreeBSD in a number of ways:
- TCP Appropriate Byte Counting (RFC 3465) has been committed, which improves FreeBSD's dynamic congestion control behavior in a number of common scenarios, in turn improving network utilization and TCP throughput.
- We are improving the TCP reassembly queue so that it will automatically adapt to the individual needs of each connection, vastly improving the throughput and efficiency in now commonplace multi-megabit networks and above.
- Finally, the Statistical Information For TCP Research (SIFTR) tool is being integrated into the base system. SIFTR facilitates TCP related research, development and debugging by providing near real-time access to highly detailed kernel information from TCP endpoints. The tool can be used to gather data unobtrusively on running systems, making it a useful addition to the toolkits of system administrators, developers, and researchers alike.
The FreeBSD Foundation's investment in the TCP stack is not only providing material benefits visible today, but is paving the way for continuing FreeBSD's rich history of research, innovation and development.
Click here to find out more about this project.
This project will be completed in July.
Contributed by Lawrence Stewart
Arnar Mar Sig has been developing AVR32 support for FreeBSD. AVR32 is a 32-bit RISC architecture targeted for low power high throughput embedded applications. The target platform is the NGW100 reference design board from Atmel.
Arnar is diligently working on weeding out bugs and cleaning up code before making this available to the public. The project should be completed by the end of August.
The Foundation has funded a project to prototype a replacement Problem Report system as a proposed replacement for the aging and inflexible system that FreeBSD currently uses.
Many of our developers are unhappy with the current GNATS system, and thus tend to avoid using it. The current system has no web-based interface for handling Problem Reports (PRs) after they arrive; all handling is done via a command-line interface that assumes each user is already familiar with how the system is set up, especially the workflow.
In addition, the workflow is hard-coded in GNATS, and it poorly approximates the way most of our developers think about PR handling. While it would be possible to change other constraints of the current system -- such as categorization and classification -- we would most likely still wind up with a system that many developers would continue to be uncomfortable with.
My past presentations at various conferences have tried to focus on trying to understand the problem of PR handling in the abstract, rather than examining current software implementations and trying to adapt them to our needs. With this grant, I am able to explore various options.
Lastly, this will allow experiments with interactive, customized, reports. Past efforts with customized reports have been limited to non-interactive HTML pages generated periodically, and have experienced limited acceptance. However, they did serve as a useful method to encourage developer feedback.
Once the prototype is finished, I intend to invite a few selected developers to work with it and give me further feedback, and begin a cycle of refinement from there, before opening it to the general developer community.
Contributed by Mark Linimon
When Yale University's QUEST project needed to move astronomical data from its survey camera at the European Southern Observatory (ESO) at La Silla, Chile to researchers in the United States, it turned to our own Sam Leffler and FreeBSD.
Sam helped setup a 100km wireless link in Chile between ESO and Cerror Tololo Inter-American Observatory to transfer data collected by QUEST to researchers for analysis. The wireless link uses off the shelf hardware and the FreeBSD OS to deliver 36 Mb/s aggregate bandwidth using facilities available only in FreeBSD.
Sam will be presenting a talk on setting up this link and present the key techniques behind this functionality at EuroBSDCon 2009. If you are interested in this story, but can't make it to his presentation, we will be publishing an article that explains the project in more detail after EuroBSDCon.
DCBSDCon is the annual BSD conference held in Washington, DC. This year was our inaugural event and it was by all measures a huge success. Speakers and attendees traveled from all over the world to meet in the U.S. Capital city for a two-day schedule of captivating presentations, BSDA certification exams, and catching up with friends over great food and spirits.
All of the major BSD flavors were represented in the speaker track. The FreeBSD project was in full swing with presentations by George Neville-Neil, Marshall Kirk McKusick and Brooks Davis. We were also grateful to have talks by Richard Bejtlich and Chris Buechler that were based on FreeBSD technologies. There was also a booth manned by the iXsystems and PC-BSD crew with cool hardware and swag. Needless to say, this was an excellent opportunity for the community to mingle and coordinate on current and future endeavors.
Although the economic recession was in full swing, our partners stepped up to make sure the conference went off without a hitch. The FreeBSD Foundation was a vital sponsor for our event. Their assistance helped us provide accommodations for many of our speakers as well as the actual event space. Without their assistance we might have been on the steps of the White House asking for our own bailout package!
We're anxious to begin planning for DCBSDCon 2010. Without the FreeBSD Foundation, we wouldn't be near as optimistic about the BSD conference landscape. If you're a friend of BSD, now is the time to show your support for a great organization that helps us all. Please take a moment to donate to the FreeBSD Foundation so that they can continue to provide aid to FreeBSD-related projects and events like DCBSDCon. See you next year!
Contributed by Jason Dixon
AsiaBSDCon is a technical conference on *BSD operating systems and related open source software held in Asian countries. It started in Taiwan in 2004. AsiaBSDCon 2009 was held last March in Tokyo, Japan and plans for AsiaBSDCon 2010 will be held there too.
The conference typically has around 140 attendees with 25 talks. Many of the talks and presentations are directly related to FreeBSD, such as new kernel features in the latest release, leading-edge development topics, and community updates. Proceedings, photos, and videos can be found at the official web site.
The FreeBSD Foundation is one of our primary sponsors and the sponsorship is essential to continue AsiaBSDCon. Conference venue, food, printed proceedings, airfare for invited speakers, and in general, running a conference is very money-consuming. It greatly helps us keep the registration fee affordable unlike typical international conferences in academia. If we didn't have the support from the FreeBSD Foundation, we would have had to scale back on the conference or give up holding it.
The conference is quite international as well as multi-project; a good mixture of FreeBSD, NetBSD, and OpenBSD people from Europe, North America and Asia attended. It is also the place Japanese FreeBSD developers get together once a year.
Over 40 active FreeBSD developers attended this conference, with face-to-face interchange and brainstorming amongst people from different countries and different projects are helping development activities of the FreeBSD Project in many positive ways.
Contributed by Hiroki Sato
We are pleased to announce the recipients of our Developer Recognition Awards presented at BSDCan 2009.
These individuals were recognized for their extraordinary contributions to the FreeBSD Project.
The award recipients were: Mark Linimon, John Baldwin, Andrew Thompson, Peter Losher, and Dan Langille
Each recipient received a limited edition FreeBSD Foundation fleece vest.
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
- 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
- Arnar Mar Sig - AVR32 Support
- Mark Linimon - Problem Reporting Prototype
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.
We were pleased to be a Gold sponsor for BSDCan 2009. Before the conference, we asked conference organizer, Dan Langille, some questions about how this conference helps FreeBSD. Below we've listed our questions with Dan's responses.
-How does the foundation help BSDCan by being a sponsor?
The single biggest expense is travel/accommodation. This year, more than in previous years, the costs are higher. Some of these speakers have very expensive travel and cannot meet these costs on their own. They also have very unique topics to present which are of high interest to the BSD community. Without the contributions from our sponsors, we could not afford all the travel that we provide.
-What would it mean if we couldn't sponsor the conference this year?
We'd be cutting the travel out for the most expensive speakers. With a limited travel budget, we buy the less expensive travel first, thereby applying it to as many speakers as possible.
-How does BSDCan help the future of FreeBSD? How is this a good investment for the foundation?
BSDCan is the primary meet-and-greet event for the BSD world. More people meet and talk here that at any other event. BSDCan is central to relationship building and is the venue at which many important topics are discussed. The lectures and tutorials are not the only places of hot topics. Planning and discussion occur in the hallways, over meals, and at the various social events. All of these are important to the BSD community in general and to the FreeBSD community in particular.