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

Wednesday, December 16, 2015

Faces of FreeBSD 2015: Erin Clark

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.


Erin's Story


Tell us a little about yourself.

My name is Erin Clark.  I am 32 years old, and I live in San Jose, California.  I have had an interest in tinkering with computers since I learned to program in Logo in the 3rd grade on IBM PS/2 computers.  I pursued my passion in computers on into college where I received a Bachelor’s degree in Computer Science from Truman State University in Kirksville, Missouri.  In my free time I enjoy practicing martial arts, playing video games, and reading science fiction and fantasy novels.

How did you learn about FreeBSD and/or when were you first exposed to it?
My original introduction to open source unix was with Linux back in 2003. I was a user of Slackware Linux for a long time, but I discovered FreeBSD in 2009 through some friends and have been a user and proponent of it since then.

I use FreeBSD because it is very solid and secure and has a great selection of open source software that can be used with it from the ports collection.  I have always appreciated FreeBSD’s networking stack because it makes a great router or network appliance.  FreeBSD’s use of the ZFS file system is also very nice - ZFS snapshots definitely saved me a few times.  I also like that FreeBSD is very well documented; almost everything you need to know about working with FreeBSD can be found in the FreeBSD Handbook.

What is your involvement in FreeBSD?
I work with FreeBSD at my job at iXsystems as a developer for the FreeNAS project.  FreeNAS is a FreeBSD-based storage appliance that takes advantage of FreeBSD’s ZFS file system for a robust storage solution.  My current involvement in the FreeNAS project is developing the Command Line Interface for the next generation FreeNAS 10.

Before I was a FreeNAS developer I was a system administrator and I managed my company’s network of servers running mostly FreeBSD, which proved to be a very stable and powerful platform for hosting applications on.  As system administrator I also managed the desktops, many of which ran the FreeBSD-based PC-BSD which is very user friendly and reliable.

Final thoughts about the Project and community? 
I highly encourage donating to the FreeBSD Foundation, without them the FreeBSD project would not be what it is.  FreeBSD is an open source project which means we as a community have to pitch in so that it can continue to thrive.  I have donated to the FreeBSD Foundation and will continue to since I think it is a worthy cause to support.

As a woman who uses and develops with FreeBSD I would say that I think the project and community is welcoming to people of all genders.  I think there is still a need for more representation of women in the project since we bring our own perspectives and ideas.


Tuesday, December 8, 2015

You Make FreeBSD Possible



Dear FreeBSD Community,

It’s hard to believe the year is almost over. As we reflect on this year’s successes, we are grateful to you for making it possible. It is a privilege to be part of this community, and all of us at the FreeBSD Foundation want to say thank you.

Thank you for your commitment to working on this Project and keeping it vibrant, innovative, and cutting-edge. Thank you for making this community welcoming and inclusive, and thank you for supporting FreeBSD with your donations. Your passion for FreeBSD inspires us to tell the world about FreeBSD, and your support makes that possible!

As 2015 comes to a close, please consider making a gift so we can continue supporting the operating system you love. Why make a donation to help FreeBSD? You are passionate about FreeBSD, and like us, you see many opportunities and possibilities to grow and improve the operating system. You understand that there are goals for FreeBSD that may be difficult for its mostly-volunteer community to tackle alone. You see the need to promote FreeBSD for new users, contributors, and the need to make it more accessible to researchers, educators, end-users, and builders of commercial products.

In addition, your donation will help us:

·      Accelerate improvements to FreeBSD and support for new platforms and technologies, like: improving UEFI booting and the vt(4) system console, developing a new autofs-based automount daemon, and porting FreeBSD to the new AArch64 64-bit ARM architecture.

·      Provide outreach and advocacy for FreeBSD, which includes sponsoring many BSD and non-BSD conferences, sending FreeBSD contributors to these conferences, supporting work on creating FreeBSD curriculum to be taught in schools and universities,  publishing the high-quality FreeBSD focused magazine, The FreeBSD Journal, and providing more informational material.

·      Build FreeBSD infrastructure to provide the latest technologies for testing and developing on the FreeBSD platform.

·      Facilitate collaboration by providing vendor summits and company visits to bring together the commercial users and the Project, to work together on creating a bigger and healthier ecosystem.

·      Provide full-time release engineering support, resulting in on-time and reliable releases.

None of the above is possible without your help. Please make a donation today to ensure that FreeBSD remains the high-performance, secure, and reliable operating system that you count on.

Thank you for your support in helping us make FreeBSD possible!

Deb Goodkin
Executive Director
The FreeBSD Foundation


Tuesday, December 1, 2015

Show Your Support for FreeBSD


Dear FreeBSD Community Member:

Did you know your contribution to the FreeBSD Foundation makes a direct impact on the FreeBSD Project?

 Your donations:
  • Fund work to improve FreeBSD such as improving UEFI booting and the vt(4) system console and porting FreeBSD to the new AArch64 64-bit ARM architecture.
  • Send people to conferences to meet and work with other developers.
  • Buy hardware needed to improve the Project’s infrastructure.
  • Advocate for FreeBSD to recruit new people to the Project, and educate people on FreeBSD.
That’s just the beginning. In honor of #GivingTuesday, help the Foundation by sending in your donation today. It's only with your help that we can continue and increase our support to make FreeBSD the high-performance, secure, and reliable OS you know and love.

Thank you for your support. We can't do this without you!
Deb Goodkin



Friday, October 30, 2015

Faces of FreeBSD 2015 - Michael Dexter

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.


Michael's Story




Tell us a little about yourself.

My name is Michael Dexter and I first used BSD Unix in college in January of 1991. I am very grateful that I had a glimpse of the Unix world before the announcement of Linux and the modern BSDs. This was also years before the World Wide Web became relevant, when the Internet was characterized by console-based e-mail, telnet, FTP and the flame wars on Usenet news. Thinking back, the single most flashy Unix-related thing was either the xv splash screen or whatever you could come up with in raw PostScript and ship over to the laser printer. There were very clear hardware, software and network limitation and I am glad to have studied computer science in that environment. What was missing though was a clear sense of software freedom, particularly because the term "open source" would not be coined for another seven years. The Free Software Foundation was alive and well but everything it did seemed radical given the more or less source-only environment I was in at college. While exciting and educational, it was also all very frustrating.


When I finished school I knew the Internet was the industry for me but the computer industry was a strange era characterized by a floundering Apple Computer and the Windows NT drumbeat. I confess that Windows NT sounded great on paper and I admired its support for MIPS, Alpha, PowerPC and x86 but I could never afford it and it is arguably still struggling to deliver on its countless promises. I knew I wanted a Unix environment and between Coherent, UnixWare and RedHat 5.2, RedHat was source-friendly and offered a simple X11 environment like I had access to in college. For a moment it was clear I had found what I was looking for but then an unfortunate thing happened: RedHat 6.0 introduced the then-primitive GNOME environment in a concerted effort to go from an elegant Unix clone to a stunningly-bad Windows clone. If I were to fault the community for one thing back then, it was the notion that all open source applications should be bad clones of decade-old commercial software for Windows and Macintosh.

One thing lead to another and I worked briefly at MandrakeSoft SA, the developer of Mandrake Linux. I dropped everything to take that job and when they ran out of money, I simplified my life and moved to Latvia to clear my head and re-investigate if better Unix environments existed.

How did you learn about FreeBSD and/or when were you first exposed to it?


I remember receiving the Walnut Creek CD-ROM and similar catalogs and reading about FreeBSD but I was clearly in a RedHat town. I had asked about BSD and received the somewhat snide comment, "I have seen just as many misconfigured BSD systems", which I found confusing but discouraging none the less. In around 2003 I read about FreeBSD jails and they sounded like a plausible solution to the "RPM Hell" I had experienced on RedHat and with FreeBSD I once again found the no-nonsense Unix environment I was looking for. FreeBSD 4.8 proved fast, elegant and logical. Inspired by a BSD user in Latvia I wrote an rc script to build and manage jails, unknowingly laying the groundwork for everything I do today with FreeBSD. Like clockwork though, this era was to be cut short: a user discouraged me from experimenting with compat_linux jails and the flashy new FreeBSD 5.0 release with its new jail management tools like jls and jexec proved frustratingly unreliable.

Once again mired in frustration, I continued my research and turned to OpenBSD and NetBSD on which mandoc developer Kristaps and I explored virtualization options with the systrace-based SysJail and the mult pluralized NetBSD kernel. I later went on to use NetBSD/Xen to assist with mult development and all in all, I could see the potential of all these tools but none of them were exceptional. To this day I run OpenBSD on my web server but my FreeBSD involvement has picked up in rather unexpected ways.

What is your involvement in FreeBSD?


Ever seeking an "Ah Ha!" moment, by somewhat dumb luck and without an invitation, I found myself in Neel Natu and Peter Grehan's BSDCan 2011 presentation where they introduced the BHyVe hypervisor. I instantly recognized that this was a new, plausible option that was worth tracking. What I did not immediately realize was that it was the direct result of the 2010 MeetBSD UnConference where just about everyone concluded that BSDs needed their own hypervisors given that NetBSD/Xen was both obscure and incompatibly-licensed. A few months later I finally asked Neel and Peter how things were going and if I could try BHyVe. They kindly responded and helped get me up and running. The rest as they say is history: a few hundred hours and kernel panics later I had a simple framework for helping people try BHyVe and I offered Neel and Peter every suggestion I could imagine. Fast forward to today and bhyve (mercifully no longer BHyVe) supports most BSDs, GNU/Linux, Illumos and Windows. My work here is finished, or possibly has just begun. Looking back, my single biggest contribution to bhyve was helping it land in FreeBSD release 10.0, rather than 11.0 or 12.0.

Why do you like FreeBSD?


Obviously I have sought a personal workstation Unix environment for nearly 25 years. I started with genuine BSD and while OpenBSD delights the Unix purist in me, FreeBSD's bhyve and OpenZFS allow me to finally have a BSD Unix day job. I have been working with iXsystems to provide FreeNAS support for several years and this experience plus my time with bhyve and OpenBSD have forced me under the hood of FreeBSD in wonderful ways: I creatively connect what works and report what doesn't. The FreeBSD community has been amazingly responsive to input and somehow I have 40 mentions in freshbsd.org despite my having at most a wiki.freebsd.org login. My bhyve experience led me to recently push for FreeBSD Xen DomU packages to be built, along with Docker packages in with the hope of making it easy for people to try these technologies.

As for what I like most about FreeBSD on a high level, it would be its flexibility. Tools like NanoBSD convinced me early on that FreeBSD is designed to be pushed around but always within the structure that one unified source tree provides. I see this approach as avoiding vast duplication of effort and its community is large enough for new ideas to get reasonable reviews before becoming incorporated.

Have you worked with or been helped by the FreeBSD Foundation?


The Foundation has been great about providing travel grants when for one reason or another, I could not attend a key conference or event such as BSDCan. The BSDCons already provide the best speaker travel and accommodations in the open source community and the Foundation is key in both supporting those events and individuals who need help attending them.


How did our funding you help FreeBSD?

The Foundation's travel assistance directly helped bhyve arrive in FreeBSD and now that bhyve supports Windows, fasten your seat belts.

Final thoughts? 


I find it funny that FreeBSD developers still often think of me as "an OpenBSD guy" and OpenBSD developers now think of me as "a FreeBSD guy". I still see myself living in the early 1990s before these distinctions arose and I profoundly appreciate efforts like Kristaps' work on mandoc which has replaced groff in FreeBSD, OpenBSD, NetBSD and Illumos. Portable efforts like mandoc, LibreSSL and bhyve are what will re-establish the BSDs as authoritative sources of definitive Unix software.

At OSCON this year, the cracks started to really show in the various Linux and cloud-related vendor consortium foundations as their participants jockey for position and influence. Joyent's Bryan Cantrill did a great job of illustrating this point in his talk and I just sat there thinking "yep, you want a public-benefit foundation like the FreeBSD Foundation" and "yep, you indeed want to start with an open source system rather than trying to de-proprietarize one."  The FreeBSD project and the Foundation get this right in countless ways. I encourage everyone to support the FreeBSD Foundation with a donation, even if you prefer a different operating system. Their efforts, such as supporting clang/LLVM, benefit far more than just FreeBSD users.