One of the many talks at All Things Open 2015 this year will cover how you can contribute to open source while making a difference and have a lasting impact. The talk will be give by Guy Martin, director of open source strategy at Autodesk, and Nithya Ruff, director of open source strategy at SanDisk.
Both have a wide range of experience in open source, from development to marketing, advocacy, and community. I caught up with them and asked them a few questions ahead of their talk: Many ways to move the needle in open source.
In this interview, Guy and Nithya share what their first contributions to open source were, some advice they have for people starting out in open source, and more.
How did you first interact with or contribute to open source?
Guy Martin (GM): I was working at Sun Microsystems and my interactions were more of the "inner source" variety (though we didn't call it that back then). We were working on Sun's Javacar project (think early in-vehicle telematics/infotainment), and we needed to not only get code to help us build out the demo, but also help with hardware, visual design, marketing, etc.
We were a three person "Skunkworks" team, and the only way to make this project work was to rely on existing projects and team members already inside of Sun. All told, we built a community that spanned about 15 people, and that project would never have happened without that.
At the time I had no idea what open source was; I just knew this was the way to get things done quickly with a minimum of resources.
When I later ended up at Motorola, we did inner source, but also started contributing things back to open source projects like PHP and Scuttle (an open source Delicious social bookmarking app).
Nithya Ruff (NR): My first experiences with open source occurred at Silicon Graphics (now SGI) in 1998, when the company decided to start shipping Linux-based servers. SGI contributed over a million lines of code such as XFS and parts of OpenGL to open source. I was part of the group working on the overall Linux strategy, which allowed me to learn the fundamentals of open source licenses, community, and the notion of contributions, that free did not mean free beer, etc. For someone who had priced and sold proprietary software, it meant creating new support, services, and subscription-based business models.
I was lucky to have some great mentors like Dave McAllister, who led the strategy team, and Jeremy Allison, who maintains the Samba project. They taught me everything about open source communities; how to work within them and with community members. Another great resource was the book The Cathedral and the Bazaar, which I read cover to cover with deep interest. There were very few resources at that time to learn about how to contribute to the community and it was through working with experts like Jeremy and by really immersing yourself in this world that you were able to learn and grow.
What are the challenges associated with bringing open source to companies like Autodesk and SanDisk?
GM: As in many big companies, it's primarily an education and evangelism challenge. I've been very pleasantly surprised by some interesting work we at Autodesk are already doing within open source in areas like cloud, BIM (Building Information Modeling), and 3D printing (Spark/Ember).
My role at Autodesk on the open source side is to build a solid strategy that takes advantage of the things we already have in the works for new projects, or existing contributions, as well as build some processes to help us consume more open source and also collaborate effectively with the community.
Part of that is really educating all of my colleagues at the company on what it means to "do open source." There is much more awareness now of what open source is at Autodesk, but we still have to educate on why it's important and how we can best work with it.
NR: When you are a hardware company with a business model of licensing software and IP, the primary challenge of introducing open source is creating opportunities to educate key stakeholders on its many benefits so you can create that critical internal demand. The first step was to create a policy and to make sure that we were in compliance before introducing downloads and uses inside the company. When we jumped into the enterprise space, we added more people focused on open source—including our attorney Lisa LaForge and our software architect Allen Samuels—allowing us the resources to establish an open source office within the company.
As this team grew from acquisitions, external hires, and internal additions, we went to work creating a friendly policy and removing barriers to engaging with the community. We had great support from our leadership, who knew that we needed proactive community engagement as part of our innovation engine. Eventually, we were able to illustrate the full benefits of open source: Accelerating time to market, influencing the direction of the industry, solving problems, and creating innovation through a friendly open source policy and engagement plan.
What added value does collaborative development and open source bring to Autodesk/SanDisk?
GM: The other half of my role at Autodesk is around inner source—something that has now been much more codified then when I first experienced it during my time at Sun. For a company like ours, with 150+ products in industries from architecture and building construction to 3D graphics and 3D printing, there is a critical role for collaborative development to play.
As we move a lot of products to the cloud or allow desktop products to exchange data via the cloud, a consistent user experience is absolutely key. The only real way to achieve that is through the use of high-quality reusable components—the kind that you can successfully build with a strong inner source program driven by open source collaborative development practices.
NR: Collaborative development was especially important as flash storage is becoming a big part of cloud, big data, and data center storage where quick and predictable access is needed. A lot of software has been written for hard drives, and we have an opportunity to both help optimize software for flash and collaborate with the community to do it where needed.
There are multiple benefits we see in using and contributing to open source in the company. We recently surveyed internal teams that work with open source and found that four key benefits rose to the top: Cost, time to market, developer productivity, and access to innovative software. It was clear that teams inside SanDisk understood that it was important to work with and be a part of the open source community in order to enable flash storage to be used to its full potential for performance, energy efficiency, and data access.
With an increasingly technology and information-driven society, I think we should bring open source to elementary schools. Do you agree?
GM: I wholeheartedly agree! My daughter is almost 5, and going to "Junior Kindergarten" now, where she learns how sharing and working together are really important. I'm not sure where we lose that along the way in our educational system, but the era of the "mythical lone hacker" building up a complete system that does everything is gone.
All you have to do is look at the size and complexity of something like Linux to realize that it would not be the project it is today without the open source ethos. I also think that the "release early, release often" and "fail fast" mantras are excellent teaching tools for kids in school today. These things apply to more than just code—they are great life lessons as well.
NR: I wholeheartedly agree that schools should teach and expose children to coding and computer science. In fact, studies show that earlier exposure is necessary for young girls especially to continue on in computer science and to pursue coding carriers.
I also see open source projects as a good way for students to get involved in real projects. The ways of open source collaboration and development are valuable lessons for young kids. In addition, understanding the power of working together to solve problems, building on existing work without recreating or duplicating solutions, and contributing new uses and features. I was lucky to work with a teacher this summer who is an IISME fellow at SanDisk. I assigned an open source metrics project to her for the summer, which helped her learn all about open source. She was fascinated with how work gets done in the open source community and has taken those principles back to the elementary school that she now oversees as a principal.
Do you have any advice for people looking to get started in open source or advance their careers in it?
GM: My cliche' statement would have to be: Be humble, but bold.
The intersection of those two concepts is the sweet spot to success (in my mind) in open source. Everyone wants to be a +1 in their interactions in open source, but sometimes you have to settle for being a 0 for a while until you build up enough expertise in a project. You don't want to be a -1, where you are actively hampering work from being done.
However, you should be bold and inquisitive when figuring out what you want to work on in open source. People will generally help you in open source communities if they see you're passionate and willing to learn.
Also, don't be afraid to go in a different direction that potentially makes you uncomfortable. I thought I was destined for a career as a software engineer, writing great code for a living. What I found out along the way was that I was only an average engineer, but I could explain technology to business people. This led me to the career I have now: translating open source ideas, concepts, and strategy between technical and non-technical audiences.
I love what I do now, but things like presentation and public speaking scared me a lot at first. But with enough practice, I've learned to really enjoy talking to people about open source and collaborative development practices.
NR: If you’re just starting, come to an open source conference, attend a few sessions to learn more about open source and interact with people in the community. All Things Open, OSCON, and LinuxCon are all good events where there are beginner sessions as well as advanced sessions. For more advanced contributors, I suggest becoming a mentor or a teacher to someone new to open source like Jeremy Allison was for me.
Do you have any final words (any topic), or maybe a sneak peek into your ATO talk?
GM: I think you'll see a lot of the same concepts we've been talking about in this interview in our ATO talk. Nithya and I have similar and complimentary backgrounds, and our roles at Autodesk and SanDisk share a lot of the same benefits and challenges. We want our audience to come away with some practical things they can do and think about based on hard-won knowledge from our career experiences.
Nithya: Open source is changing the world and the way we solve big problems. Problems are interconnected, large, and cannot be solved by any one company or in silos. They need to be solved collaboratively and openly. To do this, we need to get more people engaged by making it less intimidating to be a contributor and a community member. Today it still feels intimidating and like somewhat of a secret society to many, and we need to change that. It should be easy to come and join a project or start one.
In keeping with this mindset, our talk at ATO is designed to share the many ways you can get involved in the open source community based on your background and strengths. Ultimately, we want to make it less intimidating to become a member of the open source community so the community can continue to grow and flourish.