Thursday, January 28, 2016

Faces of FreeBSD 2016: Sean Bruno

FACES OF FREEBSD

Back by popular demand we're again sharing a story from someone involved in FreeBSD with our Faces of FreeBSD series. It may be a story from someone who’s received funding from us to work on development projects, run conferences, travel to conferences, or advocate for FreeBSD. Or, it may be from someone who gives back to FreeBSD financially or in another way. But, it is always from someone who is making a positive difference in the FreeBSD world.


Here’s a chance to get to know your fellow FreeBSD enthusiasts. Sit back and enjoy the next 2015 Faces of FreeBSD story.

Sean's Story



Tell us a little about yourself.
I’m a born and raised Californian who left for a six year enlistment in the US Army.  I served overseas as a communications technician and learned all about the beginning of the Internet as it really started becoming widely available in the early 1990s.  I met my wife Cindy on leave and we have a daughter, Gracie, who will be attending college in the Fall of 2016 (Woo!  SF STATE!).

I spent my post-Army time working for a Telecommunications Company in Portland, Oregon where I was first introduced to Solaris and Linux.  Some of my first work in programming was porting C applications from Solaris x86 to Red Hat Linux.

After moving to Seattle, Washington and learning that I had zero interest in working as a Windows Systems Administrator, I resumed my UNIX work by becoming a full-time developer for a small appliance vendor in Portland.  This lead me down the FreeBSD road as it introduced me to a different way of doing things that really made more sense.

During the economic collapse of 2009/2010, I used my GI Bill to complete a Bachelor's Degree and accepted a position with Yahoo! on their FreeBSD kernel team.  Little did I know that the position would introduce me to every conceivable angle in the industry.  I was exposed to things as varied as BGP, PHP, Perforce, compatibility libraries, run time linkers, chroots and the original code that ran http://geocities.com

Currently, I’m working as an engineer for Limelight Networks to optimize and enhance their FreeBSD CDN, spanning 10,000+ nodes across the world (All running FreeBSD 10).


How did you learn about FreeBSD and/or when were you first exposed to it?
My first exposure was at a startup where they were attempting to maintain a custom code base on FreeBSD 4.X.  I was brought on to update and implement a Net-SNMP plugin for their appliance and went on to work on their update to FreeBSD 7.  I was very confused at first as the FreeBSD ports system is very different than say a Red Hat Linux distro’s RPM style package management.  However, once I got over the hurdle of use cases, I learned how powerful the ports framework can be to trim, optimize and manage software.

What is your involvement in FreeBSD?
I’ve been a FreeBSD src contributor for the last 8 years.  I’ve bounced around from Firewire, to RAID controllers.  I’m currently the liaison from the FreeBSD project to Intel during the bi-monthly Intel Networking Device planning meeting.  I function as a systems administrator for the FreeBSD Cluster, maintaining svn, email, user accounts, backups and the pkg/ftp CDN.  I’m a port committer taking care of a shoutcast streaming application for those burgeoning DJs out there.  I handle the architectural changes required to cross build ARM and MIPS packages for FreeBSD via QEMU new BSD-USER mode of operation.

Why do you like FreeBSD? 
Good grief, this is a great question.  I started my UNIX journey on Solaris, an Ultra-5 to be exact.  In those days, I spent a lot of time getting the enlightenment window manager and evolution for email setup via the Ximian ports.  This gave way to my first linux box, running RH 6.2.  I spent a few years running the Fedora distribution on my home machines, never really understanding what was really happening and what was really going on underneath the hood.

My first FreeBSD installation, my home NAS, really turned my head.  It wasn’t difficult to get installed and the installation was quick and I was ready to start configurations within 10 minutes.  The turn off for me, for desktop use, was the pkg_add(8) system.  It didn’t really have self-hosting capabilities and the defaults for FreeBSD ports never really matched my use cases on a day to day basis.

The turn around for me, has to be the introduction of poudriere(8) for hosting my own package repositories and pkg(8).  These two tools mean that I can configure the systems how I want, I can upgrade when I deem necessary and I can participate in ports maintenance as I am building my own package sets in a similar fashion as to the official package repository.

The final nail in the “I will run FreeBSD on everything” coffin, has to be ZFS and its native inclusion in FreeBSD.  The first time I upgraded my laptop hardware by doing a ZFS send/recv between two laptops, bringing the new laptop online in 2 to 3 minutes, was amazing.  I can’t imagine doing system administration without it.

I even get to have my remote mail, blog and jumphost server running on FreeBSD in the Xen served cloud hosted by RootBSD/Tranquil Hosting.  The offer FreeBSD developers a substantial discount for hosting and provide superb service.  I can’t imagine a better host for my remote services.

Have you been helped by the Foundation? 
More than once, the Foundation paid my travel costs to multiple FreeBSD Conferences.  If you want to work in FreeBSD or learn how FreeBSD can work for your organization, conference attendance is mandatory.  I cannot emphasize how important the user groups and conferences are to an open source project.  Interacting, in person, with the committers and developers who produce the FreeBSD operating system and FreeBSD ports system is so beneficial to someone in our industry.

How did our funding you help FreeBSD? 
The Foundation is a primary sponsor of the FreeBSD Cluster Administrator’s ability to spread the custom CDN across the world and provide services to all of our project’s developers.  This has consisted of shipping, parts and full servers for x86 and PowerPC.  All of this hardware comes directly from donation to the project.  We couldn’t maintain the scale of the project without these donations.

Final thoughts about the Project, Foundation and community? 
If readers of this article are interested in adding resources to the FreeBSD pkg/ftp CDN, there are two ways to do that.

-- Contact the FreeBSD Cluster Administration Team and begin the setup of a server in accordance with our Tiny Mirror or Mirror site wiki how to:
https://wiki.freebsd.org/Teams/clusteradm/tiny-mirror
https://wiki.freebsd.org/Teams/clusteradm/generic-mirror-layout

-- Donate $10k USD annually to the FreeBSD foundation so that we can purchase hosting and servers across the world to bring up new mirror sites in underserved areas.

The Foundation’s ability to support the FreeBSD Cluster Administration team directly affects user’s ability to access update for security and bugs.  The more resources we have in the project the better our geographic coverage can be.

We’d love to see donations increase in 2016 so that we can add mirrors in South America, India and Japan to augment our Russian and UK mirrors.  These areas are underserved by our current CDN and mean that the user experience is impacted.


Tuesday, January 19, 2016

GSoC 2015 Mentor Summit Trip Report: Brooks Davis

I attended this year’s Google Summer of Code mentors summit at Google’s Tech Corners campus November 5th-8th along with David Chisnall.  This event offers an excellent opportunity to meet with people from open source projects that don’t overlap with the usual set of FreeBSD conferences. The intimate scale and un-conference format of the event (1-2 attendees from from each GSoC project) makes it much more practical to make connections than at a larger event like FOSDEM or SCALE.

At many past mentor summits I’ve talked extensively with the Joel and Chris from the RTEMS projects.  They have long used a FreeBSD 4.x derived network stack and this year had news of a long overdue upgrade.  They have tools to automatically patch and import a FreeBSD 9.x based stack to provide more modern protocol and NIC support (they have also imported our USB stack).  This means that eventually our network stack will fly in space!  Interestingly, they have many of the same issues that people building FreeBSD-based userspace network stacks encounter, in particular our non-standard malloc() and free() signatures.  They hope to produce a set of diffs for us to examine so we can determine which changes can be merged into FreeBSD to make their use easier.  There are several paths we could take, but making it easier to use our kernel code in other environments is something we should pursue.

In addition to discussing how we could make FreeBSD easier for RTEMS to consume, David and I discussed ways RTEMS could pick up the CHERI technologies we’ve been developing with CheriBSD.  Practical, fine grained memory safety would be of enormous value in a single-address-space system like RTEMS and could help us get FreeBSD’s kernel ready for CHERI or Intel’s MPX.

Another useful conversation was a lunchtime discussion with a couple github.com developers about how it scales to codebases the size of FreeBSD.  They took a number of TODO items related to the overhead of forking the FreeBSD repository and issues with things like the contributors graph of project with a quarter million commits.

Over the course of the meeting I had many other interesting conversations.  As usual it was a great meeting and I’m grateful for Google and The FreeBSD Foundation’s support which made this trip possible.

Brooks Davis

Wednesday, January 6, 2016

FreeBSD Foundation Statement on Harassment

Over the past week, the FreeBSD community has raised concerns about the handling of a harassment report in June, 2015. The FreeBSD Foundation takes these concerns very seriously. Harassment will not be tolerated in the FreeBSD community. We are working with the FreeBSD Core Team to review the events and determine how future reports can be better handled. To create a safer environment for all members of our community, we are developing new processes and procedures to handle these situations as they arise. Community members must feel unafraid to report harassment, and must know how to do so. When harassment is reported, community members need to be confident that their concerns will be heard and dealt with fairly and quickly.
To ensure that the Project has the proper resources and expertise to handle reports, the FreeBSD Foundation is engaging with outside professional resources experienced in dealing with harassment and conflict issues. We are also supporting and participating in a committee working to revise the Project’s Code of Conduct, which consists of both men and women drawn from within and beyond the FreeBSD Community. Revisions to the code will ensure that all community members understand what constitutes harassment and conflict, and how each will be handled
The Foundation and Core Team are committed to creating and maintaining a FreeBSD community that is welcome and safe to all those who wish to be involved.   We will share the results of our combined efforts as they become available.
If you have additional questions or concerns, please don’t hesitate to contact community@freebsdfoundation.org