Wednesday, March 14, 2012

Why Juniper Gives Back to the FreeBSD Community

Michael Bushong, Senior Director of Product Management for Junos Software at Juniper Networks, wrote today on Giving Back to the FreeBSD Community.  With his permission, his text is repeated here:

I have worked at Juniper in various capacities for the past 11 years. I started off as an engineering trainer, teaching our engineers how to develop on Junos. The classes I developed and delivered included a heavy dose of architecture, a bit of product training, and some obligatory process topics. In the hundreds of classes I delivered over the first few years of my career here, I learned pretty quickly that my students had an emotional tie to two specific areas.

Let’s face it, engineers love architecture. Our software and hardware developers love hearing the ins and outs of how we design and construct our platforms. But beyond that, they wanted to know about why we made certain decisions and what our more philosophical positions were. To that end, the stuff that really killed in these classes was the magic behind our engineering DNA and what was important to us as a company. Looking back now this might not seem surprising, but in the moment I guess I didn’t fully appreciate how deeply the need to understand not just what we do but why we do it is ingrained in an engineer’s psyche. .

So after 11 years at the company, how would I describe our engineering philosophy? In a word, maybe it all comes down to karma. We all accept help when we need it, but it is perhaps more important to give back when you can. So whenever I get a chance to do something meaningful for the people and organizations who have helped us become a networking leader, I jump at the opportunity.

Juniper’s flagship software, Junos, has a 15-year history with the FreeBSD community. At the heart of Juniper’s network operating system is a FreeBSD kernel. FreeBSD provides the underlying software architecture on top of which Juniper delivers its networking capabilities. The networking functionality is basically a set of applications that run on top of FreeBSD. The kernel then handles all the communication between these applications, along with basic OS stuff like memory allocation and scheduling.

Juniper doesn’t just use FreeBSD, we actually expose it to our customers. For instance, if you log onto a Juniper platform, you can access a FreeBSD shell, which gives you some pretty nifty tools. You get access to a file system so you can move things around (configurations, logs, etc). We actually make extensive use of this internally in our lab environment. We have a system set up so we automount directories so that our engineers can just copy configurations and binaries from their Unix directories onto devices they are testing on. We also use many of FreeBSD’s debug and tracing faculties. In that regard, FreeBSD is more than just a component in our software; it is in fact a big part of engineering life more broadly.

When you benefit so heavily from the work of so many selfless individuals, you just have to give back when you can. So when I found out that the FreeBSD assets were moving from a datacenter in Santa Clara to another datacenter literally right across the street, I jumped at the opportunity to help. The cluster administrator for the hosting datacenter reached out to one of our FreeBSD committers and asked if we could provide some switches so they could support the work. In response, we gave them three EX3200s with full support contracts – free of charge.

In the end, this is just one more way that we can help serve a broader community. It wasn’t the first and it won’t be the last time that we try to pitch in and help out. But the experience reinforced what I knew from my years as a trainer. Our engineering DNA is strong here, and when we have the chance to give back, people will go out of their way to be a part of it.

Thursday, March 8, 2012

Accepting Travel Grant Applications for BSDCan 2012

Calling all FreeBSD developers needing assistance with travel expenses for BSDCan 2012.

The FreeBSD Foundation will be providing a limited number of travel grants to individuals requesting assistance. Please fill out and submit the Travel Grant Request Application by April 6, 2012 to apply for this grant.

This program is open to FreeBSD developers of all sorts (kernel hackers, documentation authors, bugbusters, system administrators, etc). In some cases we are also able to fund non-developers, such as active community members and FreeBSD advocates.

(1) You request funding based on a realistic and economical estimate of travel costs (economy airfare, trainfare, ...), accommodations (conference hotel and sharing a room), and registration or tutorial fees. If there are other sponsors willing to cover costs, such as your employer or the conference, we prefer you talk to them first, as our budget is limited. We are happy to split costs with you or another sponsor, such as just covering airfare or board.

If you are a speaker at the conference, we expect the conference to cover your travel costs, and will most likely not approve your direct request to us.

(2) We review your application and if approved, authorize you to seek reimbursement up to a limit. We consider several factors, including our overall and per-event budgets, and (quite importantly) the benefit to the community by funding your travel.

Most rejected applications are rejected because of an over-all limit on travel budget for the event or year, due to unrealistic or uneconomical costing, or because there is an unclear or unconvincing argument that funding the applicant will directly benefit the FreeBSD Project. Please take these points into consideration when writing your application.

(3) We reimburse costs based on actuals (receipts), and by check or bank transfer. And, we do not cover your costs if you end up having to cancel your trip. We require you to submit a report on your trip, which we may show to current or potential sponsors, and may include in our semi-annual newsletter.

There's some flexibility in the mechanism, so talk to us if something about the model doesn't quite work for you or if you have any questions. The travel grant program is one of the most effective ways we can spend money to help support the FreeBSD Project, as it helps developers get together in the same place at the same time, and helps advertise and advocate FreeBSD in the larger community.

Wednesday, March 7, 2012

2012 Budget

The Foundation's 2012 budget has been published and is available as a PDF download. The total budget is $595,350, more than double the 2011 budget. Highlights include:

  • $125,850 allocated for FreeBSD infrastructure equipment
  • $60,000 allocated for conference sponsorships and travel grants
  • $200,000 allocated for funded projects
Much of the work that was sponsored in 2011 was integrated into FreeBSD 9.0, greatly enhancing its features. We look forward to the work that will occur in 2012 and welcome project proposals. If you are interested in submitting a proposal, see the Project Proposal Procedures and Project Proposal Help on the documents page of the website.

Foundation at NELF

NorthEast Linux Fest will be held in Worcester, MA on March 17. Registration is free for this event and there will be a FreeBSD booth. If you're in the area, drop by the booth to say hi, check out the Foundation swag, discuss funded projects, or make a donation to the Foundation.

Testimonial: Experts Exchange

Andrew Alsup, Site Director of Experts Exchange recently provided the following testimonial:

Experts Exchange is a technology help site. We've developed a patented Q&A system that makes finding solutions easier. People ask questions and experts from around the world provide reliable answers.

Since 2009, Experts Exchange has used FreeBSD as its operating system of choice for all external facing web servers and internal tools hosting.

About 3 years ago, Experts Exchange did extensive performance testing of our website on several flavors of Linux and UNIX, including FreeBSD 7. FreeBSD outperformed all other tested operating systems in both page load time metrics and Lucene search index performance testing.  Since that time, we’ve migrated our developer, test and production servers to FreeBSD.  We’ve also used FreeBSD jails to host our developer test servers and have come to rely on FreeBSD throughout our local office datacenter and our co-location datacenter stack.

Because of our investment in FreeBSD, we continue to have several system administrators working on FreeBSD enhancements to improve our production environment and their changes hopefully help other companies and users as well.

A big thank you to the FreeBSD community for your open, friendly attitude and how much you’ve contributed to the growth of Experts Exchange!

Tuesday, March 6, 2012

New Funded Project: Grow Mounted Filesystems

The FreeBSD Foundation is pleased to announce that Edward Tomasz Napierala has been awarded a grant to implement the ability to grow filesystems while they are mounted.

"Users of FreeBSD in a virtualized environment will be pleased with the increased ease of deployment afforded by the ability to grow mounted filesystems," said Ed Maste, Director, The FreeBSD Foundation.

This project will add GEOM and filesystem changes that are necessary to increase the size of both UFS and ZFS filesystems while a filesystem is mounted read-write. This project will provide the additional benefit of online provisioning of virtual instances.

The Foundation is pleased to be working with Edward again. He was previously awarded a grant to implement resource containers and a simple per-jail resource limits mechanism. This work was
included in FreeBSD 9.0 RELEASE.

This project is expected to be completed by October 2012.

Monday, March 5, 2012

George Neville-Neil Joins Board of Directors

The FreeBSD Foundation is pleased to announce the addition of George Neville-Neil to its board of directors.

George has been dabbling in the BSD world since his undergraduate days in the mid-1980s. He was granted his commit bit in 2004, and has served two terms on the FreeBSD Core team between 2006 and 2010.

In 2011, he started organizing the semi-annual FreeBSD Vendor Summits that gather commercial customers of FreeBSD along with project members in order to facilitate the movement of technologies between the Project and its customers.

George co-authored "The Design and Implementation of the FreeBSD Operating System." His technical contributions are mostly within the FreeBSD network stack with occasional forays into other parts of the system.

"The Foundation is at a pivotal point in our growth as a company," said Deb Goodkin, Secretary/Treasurer, The FreeBSD Foundation. "We believe with George's previous and current involvement in FreeBSD, that he will be a significant contributor in helping us achieve our ambitious goals this year."

Trip Report: FOSDEM 2012

The Foundation recently sponsored travel expenses for Brooks Davis to attend FOSDEM 2012. Brooks provided the following trip report:

I arrived in Brussels the afternoon of Thursday the 2nd.  After checking in to my hotel I headed into the city center and met up with a group of FreeBSD and Étoilé developers for dinner.  On Friday I toured the city and worked on my presentation for Sunday before joining the crowd at Delrium Cafe for the FOSDEM Beer Event and made some new friends.

Saturday began with the traditional opening talk followed by an interesting talk by Robert Dewar or AdaCore on how they are a profitable company selling a rather expensive GPL licensed product to a very conservative client base (mostly defense and safety critical applications). Other than avoiding costs associated with source escrow, it wasn't clear that being open source gave them much advantage, but he had a compelling argument that it didn't hurt either.

In the afternoon I attended a number of talks in the Vitalization and Cloud track. The Aeolus Project and Open Cloud Interoperability with CompatibleOne covered some related efforts to provide interoperability and portability between cloud providers. Both were definitely works in progress, but showed promise. A more interested talk in that track was "Infrastructure as an open-source project" by Ryan Lane of Wikimedia Labs. He talked about the way the had placed most of their infrastructure definition for system setup, configuration management, and monitoring into a git repository to allow project contributors to view and submit patches to the infrastructure. This appears to be growing the number of volunteer contributors to the admin of Wikimedia infrastructure, but has shifted the bottleneck for support staff so now they spend a significant portion of their time review patches to the infrastructure. After that talk a group of FreeBSD Developers adjourned to a local restaurant for dinner and drinks.

Sunday I ran the BSD License Operating System Devroom. We had a room in the new K building at ULB which was very nice. All the equipment was built in and just worked. We had a total of ten talks with topics including MINIX 3 and BSD, an Introduction to pkgng (FreeBSD's new package system), four talks on pkgsrc and related topics, two talks on FreeBSD toolchain work, one on tablet support in NetBSD, and one on Lua in the NetBSD kernel. The latter was the best attended talk of the day with the room being just about full.  After the talks we attempted a brief brainstorming session on ways we could collaborate.  Unfortunately we were pressed for time and while we got a discussion going, we didn't have the necessary time to develop concrete ideas. While most of our talks were on BSD OSes, we did talk about expanding the focus of the room a bit further to include other non-Linux OSes next year and received generally positive vibes about that idea.  All in all we had a good set of presentations and I learned quite a bit about other projects so it was personally successful.  Further information on the devroom talks can be found here.

After cleaning up the devroom I met up with a FreeBSD developer for dinner and then joined a group of Étoilé developers at Delirum Cafe. Monday morning I returned to London and proceeded to Cambridge for two weeks of FreeBSD hacking, mostly focused on the toolchain.

Thursday, March 1, 2012

New Project: NAND Flash Support

The FreeBSD Foundation is pleased to announce that Semihalf, an embedded solutions company, has been awarded a grant to bring their comprehensive NAND Flash file system and storage stack to FreeBSD. This technology enables FreeBSD to natively manage NAND Flash devices, satisfying a crucial requirement for many applications needing access to fast, reliable, non-volatile storage.

FreeBSD is widely used as the OS foundation of embedded appliances both small and large. Semihalf's NAND Flash stack opens new opportunities for FreeBSD in this space, where size, cost, or performance, mandate the use of direct attached NAND Flash.

Made possible by matching funds from Juniper Networks, this FreeBSD Foundation grant covers the costs of transferring technology developed for Juniper Networks by Semihalf to the FreeBSD project. This will ensure that the NAND framework meets community standards and can be easily maintained and enhanced.

Highlighting the return on investment offered by this kind of technology transfer, FreeBSD Foundation president Justin T. Gibbs, noted: "Open sourcing enhancements that do not expose 'business critical intellectual property' reduces the cost of managing a FreeBSD distribution that has been customized for a product. The NAND subsystem is a perfect example of how technology transfer benefits both the FreeBSD community and its commercial users. We'd like to thank Semihalf and Juniper for partnering with us to make the code available under a BSD license"

The NAND Flash subsystem consists of a driver framework for NAND controllers and memory chips, a NAND device simulator and a fault tolerant, log-structured file system, tailored to meet the unique challenges of NAND flash storage. The package includes all the tools, utilities and documentation needed to deploy this technology in custom applications.

"A reliable file system that supports NAND Flash is critical for Juniper's ongoing success," said Marcel Moolenaar, Distinguished Engineer, Juniper Networks. "But since storage isn't Juniper's core business, we were eager to find a solution that would put the implementation and support of the file system in the most capable hands. We reached out to Semihalf and ultimately the Foundation to help us achieve our goals. Juniper cannot be more pleased to have the NAND Flash file system and NAND Flash framework present in the next major FreeBSD version as a standard feature and under the care of the community."

"We are very glad to have the NAND framework made available for the general FreeBSD audience, reaffirming the system as a versatile platform for appliances and other embedded and industrial designs," said Rafal Jaworowski of Semihalf.

The Foundation is pleased to be working with Semihalf again. They were previously awarded a grant to bring "Flattened Device Tree" support to FreeBSD. This new feature in FreeBSD 9.0 has been well received by the FreeBSD community.