The South California Linux Expo (SCALE) is an annual event aiming to provide educational opportunities on the topic of open source software. This is SCALE13X, and prior to the event I caught up with one of the speakers, Emily Dunham, who will give a talk called Human Hacking.

Emily is currently finishing her final year in computer science at Oregon State University (OSU), where she is the student systems engineer at the OSU Open Source Lab. Previous to that gig at OSU, she helped run the Robotics Club, Linux Users Group, and Security Club. Emily has 7 years of experience in open source communities, and I talked with her regarding her career and life, open hardware, community psychology, and of course, her upcoming talk at SCALE13X.

How did your career and life led you to open source?

I was always the kind of kid who took things apart to see how they worked. In high school, I joined a FIRST Robotics Competition team (team847.com for my team; usfirst.org for the national competition and for people to find teams near them), which inspired me to consider engineering as a career option. In FIRST, we had 6 weeks from the day that each year's unique game was announced until our finished robot had to be sealed in its box, ready to be shipped to the competition. Being in robotics for 4 years taught me a whole lot about teamwork, organization, and getting volunteers to do useful things. When I came to Oregon State Univeristy, I got involved with the Linux Users Group (LUG) as well as the robotics club. I'd been using Linux and other FOSS (free and open source) products for a couple of years at that point, and LUG taught me how to start giving back to those communities. I attended an "unconference" called Beaver BarCamp at the recommendation of my new friends at LUG and saw a talk about systems administration by the OSU Open Source Lab there. Although I wasn't sure if I had the necessary skills, I applied for a job at the OSL after BarCamp, and I have worked there throughout university. How did you get started with open source and what do you do now? I've used open source software ever since I got my first computer. At first I was motivated by laziness—free tools for my interests, such as Audacity for sound recording and editing, were easier to acquire, better-documented, and had better support than pirated versions of their proprietary counterparts would have been. When I learned to program in C for robotics, the team's other programmer introduced me to Linux. Joining the Linux Users Group at Oregon State University in 2010 was what really got me started in giving back to the open source communities from which I'd been passively benefiting before. I learned about how projects' workflows really work, and came to understand the value of non-code contributions like helping to improve documentation and submitting clear, reproducible bug reports. These days most of my energy is devoted to making sure I pass all my classes in the final 2 semesters of my bachelor's degree, so I haven't been writing as much non-school-related code as I'd like to. My role in the FOSS projects whose leadership I'm involved with has mostly shifted to helping facilitate others' contributions. This includes answering new contributors' questions, reviewing code, and merging pull requests. I've been mentoring the new leaders of the programs that I used to be in charge of at OSU, so that thing won't fall apart when I leave in June, and occasionally speaking (often on "how to get involved in FOSS" and essential tools like IRC and Git) at local conferences.

Tell us about open hardware at the Oregon State University's Robotics Club. How can we help open hardware grow in other communities and spaces?

The main role of open hardware at OSU is that Arduino-based boards are a popular prototyping option, since the tutorials and community support are so good and code is freely available to interface them with a variety of other hardware. The Robotics Club has had success with open hardware in the past, mainly taking advantage of open hardware projects when local businesses with PCB manufacturing facilities offered in-kind donations to the club. OSU is also home to the Dynamic Robotics Laboratory, which is collaborating with CMU and Michigan State in cutting-edge bipedal walking robot research. The robot is called ATRIAS and its software is built on ROS, an operating system designed specifically for the unique needs of robotics. Since 2013, the ROS project has been hosted by the OSU Open Source Lab.



What is your take on the psychology of community management? What attracts people to volunteer for a cause, and how can this help the open source movement? In my experience, the engineers who make a robotics group's electronics hardware decisions are often overworked and pragmatic—they won't choose an open hardware solution over a proprietary one for philosophical reasons, if they have reason to expect that it will cause them a lot of problems over the life of the project. However, supply chain management is difficult, and it's often imperative to replace broken electronics as quickly as possible when a competition is approaching. Engineers tend to choose solutions that they've worked with before when the features are comparable and the other option is something that they haven't personally tested, so getting open hardware into universities' electrical engineering curricula could provide a huge boost in its adoption. Anything that open hardware communities can do to facilitate rapid distribution of cheap components will help them compete with existing off-the-shelf solutions. The most cohesive, functional communities that I've seen in the FOSS world are those that have a shared vision or goal for what they're trying to accomplish with the product that they're building. I think that in a nutshell, successful community management means getting everyone onto the same page about the big picture of the project. To vastly over-simplify things, people volunteer for causes because it gets them something they want. One of the psychological models that I cover in my Human Hacking talk is Maslow's Hierarchy of Needs; it's basically a theory saying that once people have their needs met in one area, they move on to desiring certain other things. Volunteering, especially as a long-term participant in a FOSS project that gives you positive feedback as the quality of your contributions improves, can help address those "belonging", "esteem", and even "self-actualization" needs that people tend to move onto once they have a roof over their heads and enough food to eat and no large animals trying to eat them.

How did you start the OSU Open Source Lab DevOps Bootcamp sysadmin training program? What is the Open Source Lab? What does the training program aim to do? The Open Source Lab is an organization working for the advancement of open source technologies. The lab provides hosting for more than 160 projects, including those of worldwide leaders like the Apache Software Foundation, the Linux Foundation, and Drupal. Together, the OSL’s hosted sites deliver nearly 430 terabytes of information every month to people around the world. Additionally the lab employs over 20 OSU students as software developers, on projects such as the Oregon Virtual School District, and systems administrators to keep our hosting infrastructure running smoothly. The OSL moved from being part of Information Services to being part of the school of Electrical Engineering and Computer Science at OSU in 2013.

This opened a lot of new possibilities for the OSL's education and outreach, and the OSL and EECS leadership all agreed that it would be amazing to have some way for the OSL to provide its opportunities to hundreds of students a year, rather than just its dozen or so student employees. A group of us OSL students were talking about how other places do similar outreach programs, such as Portland State University's Computer Action Team Brain Dump program. We talked about what kind of curriculum and goals an OSL version would have and realized it was all stuff that we as students could do, and proposed our idea to the OSL fulltimers. The other students with whom I designed the rough draft of the curriculum ended up moving on or weren't interested in running the program, so I did the first year myself, then I have been mentoring some new leaders who were participants last year. Our goal with the DevOps Bootcamp is to mentor people who are interested in getting involved with FOSS but don't know where to start. Without programs like DOBC, the OSL and FOSS community get only those newbies with an exceptionally high tolerance for the exceptionally steep learning curve of beginning to get involved.

However, I believe that the absolute hardest part of getting involved is learning all the background knowledge which the FOSS community assumes of everyone, and I think that we shouldn't exclude contributors who don't happen to have had the staggering quantities of simultaneous free time and energy that it takes to start out. The stretch goal for the training program is to help meet the industry's demand for competent interns and employees. More companies want to hire OSL alumni than there are alumni to go around, so by helping other people gain the same skills, we benefit both those seeking employees and those seeking to get employed. My personal goal with DevOps Bootcamp is to structure it so that for every lecture a student attends, they're better equipped to succeed in the open source community. If you get overwhelmed with schoolwork and are unable to attend after the first few lessons, that's okay—at least now you have an idea how to ask for help in a project's IRC channel or how to use Git.

Could you give us a sneak peek into what you'll share during your Human Hacking talk at SCALE13X?

The talk starts with some nutshell summaries of major psychological research, then dives into applying those principles to FOSS communities. I explain some models for the psychology of a single human in isolation, then show you how they change when people are in a group. One thing I'm adding which will be unique to my talk at SCALE are a couple of 30-second, interactive experiments to assess the effectiveness of some common techniques which presenters try to use to understand their audiences. If you'd like to become a statistic to help others understand how to teach better, remember to bring a device with a web browser and internet connection to my talk!

SCALE13X

Speaker Interview

This article is part of the Speaker Interview Series for SCALE13X. The Southern California Linux Expo brings together Linux and open source users, developers, companies, and enthusiasts.