For this edition of the Developer's Corner, we checked in with Garrett Cooper, one of our in-house FreeNAS developers. At iXsystems, Garrett provides tech support for FreeNAS and TrueNAS and works on the build system, installer, and sustaining release engineering. He is also an active contributor to the FreeBSD project.
Garrett graduated from the University of Washington in 2007 with a BSEE and a focus on embedded operating systems. It was at college that he first got interested in open source software, courtesy of his roommate. After spending hours fixing virus-infected computers for friends, open source was an appealing option because it’s secure as well as lightweight and highly-customizable. Garrett switched between a variety of operating systems before trying FreeBSD 7.x and has stuck with it ever since.
Following an internship at Intel in the SimAcc Infrastructure team, Garrett worked at Cisco with the Nova group and later in Cisco STBU/IronPort before coming to iXsystems. Garrett describes his role at iXsystems as a triage engineer. “When a customer reports an issue, I try and either put out the fire or redirect traffic,” he explains. “I do the same with community members”. He prioritizes tasks based on their relevance to iXsystems and the FreeNAS community in order to determine his day-to-day activities. As expected of a developer, he describes part of his work process as trying to “automate things in as simple a manner as possible to improve my throughput".
In between putting out fires, Garrett worked on the newly released FreeNAS 8.0.4. This version of FreeNAS adds in several robustness fixes to reduce the potential for filesystem corruption on root/boot device and improves performance when retrieving data from the root device. Samba was also updated to 3.6.3 to resolve functional and security bugs. A full list of changes can be found here. Garrett’s very happy that the new release will be able to improve functionality for the user base.
Now that 8.0.4 has been completed, Garrett’s new priorities include rewriting the installer to be more flexible by supporting gmirror/graid install media and adding the ability to use live media. These features will ultimately allow more flexibility and choices for users. Supporting gmirror/graid install media means that FreeNAS will be installable on redundant storage devices so that if one unit fails, redundancy will be maintained. Live media would offer users the option to try out the software before installing it to a more permanent device.
Garrett always has the users in mind when he makes improvements. He’s dedicated much of his time incorporating multimedia functionality, one of the most requested features based on feedback from the FreeNAS community, into the 8.0.x branch. Some of his past contributions include Firefly for iTunes, minidlna, and the Transmission BitTorrent client/daemon. He envisions making the storage platform more accessible to non-FreeBSD users and increasing portability. Garrett hopes to see FreeNAS become popular with a wider audience and have more sharing-centric features for home users.
Thanks again to Garrett for taking the time out of his busy schedule to respond to my questions. Tune in for the next Developer’s Corner -- a spotlight on William Grzybowski, an iXsystems developer from Curitiba, Brazil.
Annie Zhang Marketing Assistant