 Okay. Thank you everyone. I'm going to be talking today about open source and I'm going to be doing so in story form. So there's going to be a story and there will be lessons from the story and I hope you like that. But first, the formalities of any talk really. I'm Mitchell Ashimoto. Shane did a good intro with me. I go pretty much anywhere that matters on the internet as Mitchell H. So you could find me that way. By day, I'm an ops engineer. I don't do that much ruby by day. I work for Keep. We do mobile rewards. By night, I do open source. Most of this, I'd say 95% is spent doing vagrant. The other 4% is generally vagrant related shenanigans. And then the final 1%, I try to be a caring rubious to where I feel like I have something to offer. So we are all here because of open source. Open source is bringing us together in this room at this conference today. If you want to get more technical about it, we're here because this small Asian man decided to create a programming language that we think is pretty cool. That's obviously Ruby. And Ruby is open source. So we're here. We're brought together. So I think it's fair to say that we all here love open source. And even if that's not true, maybe there's someone here who's kind of grumpy about it and doesn't actually love it. We all use open source. And some of us here, probably quite a few of us actually, some of us more than others, I see some pretty exciting faces. Some of us create open source as well. And let's give a round of applause to those people. And this talk is about creating open source. And it's about those people or people who want to become those people. There's three major goals I have for this talk. If you've never created open source before and you want to, hopefully you walk away realizing you're able to do it and you do it with confidence and not fear. If you already have open source, maybe you could improve your creation based on what I've learned and some of my mistakes that I've made and lessons that I've learned. And if anything, if you don't want to be involved directly in open source, then maybe I could help you understand what goes into others' open source. Because it's pretty interesting. And I've been able to see that side of the curtain for some time now. And that's what I want to share with you. So now we're at the story part. Like any story there are lessons, but I'm going to tell the complete story before we reflect on it and learn something from it. So the next, I would say, 20 minutes or so is going to be my personal story of how I got into open source, why I even care about open source, and why I do what I do today and what keeps me going. And it's not all roses. So it's not that long ago. We're just stepping back to 2009. I was on Christmas vacation in Fort Collins, Colorado. I have family there. And I worked for a rail shop, pretty standard at the time, similar to hash rocket or Pivotal, on a much smaller scale. And my boss came to me and said, can you do some quick maintenance on project A? And this is on, I remember the date, December 21st. And if you don't celebrate Christmas, you don't know what it is. Christmas is December 25th. So this is four days before Christmas. He goes and to elaborate on this a little bit more, he says it's going to be a maximum four hours of work. It's only copy changes. You don't even need to program. And an important detail is project A is from early 2009. And anyone who works in a rail shop knows you see new projects every couple months. So I was four or five, three or four projects past project A at the time. And he said he would pay me quadruple time. So I was like, okay, four hours of work, 16 hours of pay. The days leading up to Christmas are kind of boring anyway. So I'll find some way to do this and not be rude to my family. So I said, sure. I kind of think back on this day a lot because I don't know if I said, if I didn't say sure to this, I'm not confident that vagrant would exist today. But I said yes. And eight hours later, I was pissed. So after eight hours, at the eight hour mark around seven and a half hours, I had got to the point where I could even run project A on my laptop again because we're three or four projects past that. And then two hours later, I finished the copy changes and it was easy work once I was able to work. And I got paid 40 hours because it took 10 hours. Good. But I was still pissed. And I thought, why was there so much in the way of me just working? Why can't I just download my project, do something that's not manual and then get working? But I had a good Christmas. My pain disappeared for the next few days and spent time with my family. Then in early 2010, I came back to school. I went to the University of Washington. I spent four years here. Yeah, cool. It's very cool to be giving this talk in Seattle. And I don't know. Yeah. So I went to the University of Washington and students have a lot of time. So I sat and thought about this project. And I really thought about this problem and talked to some people. John Bender, if you might know him. And I thought, I think I could fix this in some way that doesn't suck. And before we go into that, I do want to note my emotional state of the time about open source. I have been using open source at that time, well, my life since I was probably like 13 with PHP software. And I had looked up to these, I had always looked up to people in open source. And I realized that open source gave me everything I was at the time. And I was interested in giving back in some way. I'd always wanted to. In addition to that, there were famous people to me that I saw. And just like my sisters going into high school right now have famous people in pop culture that I can't understand. These are famous people to me that I don't expect people outside this room to really understand. But I think you guys will be able to relate. So one of the famous people at the time, there's many, but I'm using people that you'll all recognize, was people like John Rezik. He created jQuery, of course, when he was like 15 or something. And this guy you definitely know, looking all cute in this picture, Yehuda. At the time he worked on MIRB and jQuery, now he works on, or has worked on Rails, Bundler, Rubinius, Thor, Rails.at, like prolific in every way. And I looked up to these people for four main reasons. That was, they all work on something that they're really passionate about. There was no one at the beginning of their lives that poked and prodded them and said, you need to make this thing, you need to make this thing. They just did it because they actually wanted to. And they loved to do it. It was pure work out of love. That gets a little more complicated when you get to the caliber I think that Yehuda's at. I'm sure he feels quite a lot of pressure. But at least to get in it, it's all passion. Then they get to share this passion with the world. The internet and open source makes them able to say, world, look at this thing that I think is cool and I want to share with you. And not just the thing I made, the way I built it. You get to see all the inside and you get to see everything I went through to build this. And you could help me build it too if you think it's cool. Their ideas actually cause visible change in the world. JQuery, for the genre as an example, JQuery might not have been the first, but it was certainly, I think, the pivotal framework that made front end development approachable by the average human being. And I think we went crazy for a while with lots of flashiness and stuff. But that wouldn't have even been possible without what he did initially. And that's huge change. On the rail side, of course DHH made rails, not Yehuda. But the project, on the rail side, the rapid prototyping of websites wasn't, we didn't see that before rails. So maybe the 15 minute blog is kind of gimmicky. It is. But he built a blog in 15 minutes. It didn't look great, but it functioned. It wasn't very secure, but it worked. And, you know, the rails rumbles, people build amazing things in 24 hours. And that's because some guy built that thing. And now it's many people because it's open source. But it started with one person. And finally, they get to travel the world sharing their ideas. And this has a superficial side to it, I admit. But they get to share their ideas with people. And they get to, people get to meet them. They get to talk about what they love. It's a cool thing. And I was always raised, my parents raised me to really value travel. And we traveled. We went, every two years, we went on some big trip, experienced other cultures, so on. So I have always loved travel. I didn't even apply to a college in state. That wasn't even an option in my head. I've always loved travel. So this was very cool to me. And in 2009, I wanted this more than anything else in the world. This was where my head was at the time. And so I started working on this thing. January 1st, I committed some useless thing. And I started. And six weeks later, we had an initial release. John Bender and I worked on this. And he was pivotal to the project. And we got Vince made. I'm sure you've seen this around. He was real expensive, $15 from DeviantArt. Like some of the best $15 I ever spent. Made a website. That pretty much sucked. Because documentation sucks. And actually important, we did all this because John and I realized that we had no street cred as open source developers. And building something and announcing it is cool, but we didn't think anyone would take us seriously because they didn't know who we were. And we agreed that a mascot and a website somehow adds this air of legitimacy to the project. And you're laughing, but it's totally true. It totally worked. We fooled everyone into thinking that this was a serious thing. And so that was the motivation behind it. And so we launched on Hacker News. I don't think that's abnormal. Hung around on the top for a couple days. Got good feedback. Pretty neat. And shipping feels amazing. I think everyone in this room could probably level with this. Is that when you work on something, people don't really see the work that goes into what we build. And we spend with teams usually weeks, months maybe on something. And there's a lot of hard times. And at the end we get to package something up and show it to someone and say, look what I built you. And show it to the world. And that is an amazing feeling. So that was a good day. And actually at that point, everything was going pretty much swimmingly. I don't think anything could have gone better at this point. We had built something that we used because we cared. We had very quickly, we both worked at different rail shops. Both rail shops very quickly adopted what we built. Hacker News, good feedback. IRC Channel had 15 people just idling in it which is cool. Everything was going good. I liked it. So that was in March 2010. The times between that is kind of boring. But between that basically what happened was I listened to user feedback. I continued to refine and improve the project. I was probably too friendly as a maintainer. I think after listening to Ryan's talk yesterday he might think that I cared a little bit too much. But I didn't want anyone to have any reason to not use vagrant pretty much. So anything that came at me I just did it. And I was in college so I had a tough time. And I got to around version 0.5 and I started to notice something at this point. I think I probably noticed it earlier but I was in denial for a long time. But this is when it started coming out. They started noting that downloads were stagnating to like 500 a release. And in addition to downloads as other metrics I noticed that the average IRC users went from remember it's a very small project at this time. So average IRC users went from 20 people to like 15. And people who idle in your IRC channel are usually the most dedicated. So losing those people whoever they were idling in there really sucked. And I would search every day multiple times a day for vagrant and vagrantup.com on Twitter and tweets started going down to like once every two weeks. It was just stagnated. And the feeling of failure started to creep in. I started to ask myself what am I doing wrong. What I care so much about this thing. Why don't other people see it or am I seeing something that doesn't exist. What's going wrong. And I didn't lose love for the project. I still use it every day. I still worked on it every day. But at this point I definitely started to lose heart. And the worst I think a general life thing but in this case for me is just when you give everything to something or someone and that thing does not grow positively the way you expect it to it hurts. And at this point I had given everything for months and someone might be like dude it's open source doesn't matter. But this was for me at that time in my life this was everything that mattered and I couldn't understand why it was failing. That sucked. So that was the summer of 2010. In late 2010 something cool happened. Carl Lurch happens. And I don't know how many people in this room know who this is. Like half the people. I just like more but half the people. So Carl is this guy and this was a contemporary picture of Carl in 2009. And he worked for engineer at the time. He was a Rails core committer and a co-creator of Bundler. He is the Carl and Carl Huda. And he came into the Vagrant IRC channel during these crappy times. And I remember telling John Benner was sitting next to me and I hit him. And I went look who that is. And he was like who's that. And I was like he could change things for us. This is like one of my heroes. This is one of my heroes. And time went on. And he realized I was working in Mountain View at the time. So he invited me to the engineer offices. And I spent every week kind of for a few weeks of the summer working there. I worked on I didn't know what was happening. I just went there because I got to sit next to these people that I had idolized for so long. I sat there working on Vagrant which didn't matter. And next to me I had Carl working on Bundler and Huda was working on Rails. And that was kind of a cool environment to be in. Very inspiring. And it was just like I was kind of like freaking out. And of course what some of you may know or may not know. What turned out what resulted from this hanging out at Ingeniard was this blog post. This was a blog post announcing that Ingeniard decided to sponsor Vagrant. And they weren't sponsoring it in the way that they sponsored Rails or they sponsored Rubinias or so on. Because Vagrant was small. But they Dr. Nick and Carl somehow saw something. And they wanted to help me. And Dr. Nick specifically said in I don't have an Australian accent. But he said in an Australian accent, he prefixed this with mate. I'll give you that. But he said what do you need to succeed? And I said I need people. And I don't need people to help me work on the project. Not right now. I need people to know it exists. I need to go out there and tell people that this thing exists. They should use it for whatever reason. And I need them to know. So I need to go to meetups, regional conferences, national conferences. I just need to get the word out. And Ingeniard decided to help me financially a little bit. They also helped by reviewing my proposals to speak. And it worked. I went on a little mini conference here for six months. And the result was people were starting to talk about Vagrant again. And I wish I put the screenshot of Google Analytics in here. But there's a clear inflection point where the open source grant hit, where it started picking up again. And that was huge. So thank you, Carl. Early 2011 now, we're catching up. I moved to San Francisco, got a new job, met new friends. I graduated from UW. I still love Vagrant, but this was the first time that I had a full-time job and had to work on open source, like nine to five kind of job and had to work on open source. And this was new. And so I was tired when I got home from work. And this was a new feeling. And I wasn't having time to work on open source as much as I wanted to. So I was getting frustrated. And regret or frustration leads to burnout. And I was burnt out. And I wasn't burnt out because I didn't like Vagrant or I didn't want to work on it. I was burnt out because I was feeling regretful about what work was doing to it. And this burnout for me led to guilt and this self-pity where when I did decide to finally work on it again, I felt guilty that I hadn't. And then I felt sorry for myself. And then because I was in this negative, sad, cloud mood, I didn't actually work on it. And this just cycled. And it was terrible. And that went on until mid-2011. And in mid-2011, I was invited to DevOps Day Sweden to give some talk. And I decided to give a talk on DevOps. It wasn't even Vagrant related. And I stood up in front of the room to give the talk. There was 200 people in the room. And it was just part of the general intro slides. I said, I made this cool thing called Vagrant. If you know it, that's cool. And I expected it to be like these intro slides where I was just like next, next, next. And I said that and what happened was pivotal and life-changing at the time. Everyone, all 200 people in the room stood up and clapped. And that's when I realized that people somewhere, somehow I couldn't see until that moment, the blinders went off, that people somewhere loved this project. And funny story, people actually really love it. At that same conference, I was talking to some guy on a standing table, cocktail table thing. And out of the corner of my eye, this guy walks up to me and you could tell he's like nervous. You could visually notice he's nervous. He's like kind of hunched over because he doesn't want to make eye contact. And he's walking kind of funny. And he has like his fist. He has something in his hand. And I'm talking to this guy. So I'm just like, what's this guy doing with his hand? And he kind of like slowly walks up and just like drops things on the table and goes, like whispers almost because he's nervous. He just goes, hey, I love Vagrant. I made these for you. And like shuffled away. And I got 15 of these. I talked to him now. He's a normal person. He's very cool. But that happens. And this conference was the turning point because I realized that everyone there, at least in that DevOps community was excited about it. And I didn't realize this. And my fear instantly disappeared. Burnout was solved. Everything was better. And a few months later I had 1.0 out. And it's been just flying ever since. And that was huge. And 1.0 was one of the proudest days of my life. I said one of the, but I think it is the proudest day of my life because more than college or whatever. Because you build this thing and as my own toughest critic, to be able for myself to say I feel comfortable with this enough to call it 1.0 and ship it, it's kind of a milestone. And that was cool. So today I'm going to just, sorry, like four slides of kind of tooting my own horn, which kind of sucks. But Vagrant is probably less than 1% of the companies using Vagrant. It's gotten big. And I speak now. It looks a lot like me right now. And I'm an O'Reilly author. Vagrant is published routinely. This was last week. But most importantly, today I work on something that I'm passionate about. And I've worked on it every day for two and a half years and I love it. And I couldn't imagine wanting to work on anything else because I love this so much. Thank you. I get to share with the world. Vagrant is open source and free. I package it up and say here you go or look at how it works. I don't care. I get to share it. The ideas behind it, not all mine, do cause visible change. Not on the scale that Rails or jQuery does. But on a direct way, like Puppet Labs and Ops Code, their training programs revolve around Vagrant because it's the best way to train people to use those sort of things. Companies like Yammer and O'Reilly and Nokia have formed entire dev teams around these ideas. And that's really cool. On a more higher level that I can't prove, but I feel like it is when I first made Vagrant, no one virtualized anything unless you worked at Amazon or Google or something. Nowadays I think it's more normal than not for people to just talk about virtualization for development. And even if they're not using Vagrant, I feel like that had a lot to do with it. And that's really cool. And I get to travel the world sharing these ideas. In the past 12 months I've talked at around 15 conferences in various places. And that's really cool. So I'm not famous by any means, but I am living my dream. And this is what I dreamt and what I wanted in 2009. And it's happening right now. And I'm very happy. So now that's the story. To reflect on that story and the lessons I've learned from this happening in my life, the most important thing is anyone could be successful at open source. There was nothing that made me special to get to where I am. Anyone could do it if you want to. You have to care about the problem you're solving. I think too much. I see people just open sourcing something they don't care about. And that helps because at least people could see the code. But for something to truly blossom you need to find a problem that you have and you need to solve that problem in a way that you feel like you can help make it better. You don't need to solve the problem. If you could just make it better, then that's good enough. You need to give a damn about user experience. I think as developers, at least in my experience, what I thought was cool about my project was that it controlled virtual machines like a wizard. And I thought that was cool. But when I go to conferences and someone walks up to me and praises me for the project, that is never what it's about. Because that's what it was built to do. If it doesn't do that, then it's useless. So that's not what's cool about it. What people praise me about is they say, hey, the documentation doesn't suck. The errors that people get are actually friendly for people and they're not giant stack traces. And hey, you realize that people who don't use Ruby use Vagrant. So you saved us from the horror that is learning the Ruby ecosystem just to install your project by making installers. That's what people tell me. And that's all user experience and that matters. And I think a lot of open source projects just skip on this because they think the tech is cool. And the tech is not cool. It's what it's supposed to do. Marketing, I think this was almost the fatal flaw, or nail in the coffin for Vagrant, really close in 2010. Marketing not only works, it's absolutely necessary. When you make something that you think is cool, you need to go out with pots and pans and scream and yell, not by Ryan's house. But you just need to tell anyone and everyone who will listen to you about how excited you are about what you made. Because you build it and they will just magically come model didn't work for me. It doesn't work. And it was only when I started sharing my ideas that people actually came. And now it's kind of at a point where people share the ideas for me and that helps. Burnout is going to happen. It might not happen with what you're working on, but it's going to happen at some point. And you just have to realize that it's caused by regret or frustration about something, identify it, chill out. It's fine to be burnt out for a while and then just move on. People will forgive you. No one even cared that I went through a few months of just doing maintenance and not pushing features. The only time I ever didn't push features. No one cared. And that's okay. And I think this was the most surprising to me. I always, in 2009 it was what am I going to build that will get me what I want? What's the project? What is the project that I need to build? And now it's, I realize that open source is far less about the project. And it's definitely about the people involved with it. It's the community. It's that people help you. You meet people that work on other cool things. And they care. All these people care. I guess example this, when I landed here I ran into Terence at the airport. Terence works on bundler and rescue and other stuff. And Terence isn't related to vagrant anyway. He's just a person in the community. And we just talked the whole time about what's wrong with Ruby. What sucks about Ruby gems. What sucks about bundler. And we just were like, how do we fix this? And that's not what I work on but it's cool because you're able to talk about these things with people. And so a blank slide, I realized this talk didn't have specific points about you need to do this specific thing to be successful. But at being like a Ruby library or something. But it had high level points that I think are more generally applicable to things. Which is, you know, embrace that you're going to fail. Have your heart in the right place in whatever you're working on. Care about your users. And do it for the people. Not about the project. Not for the project. The people are the people are the people experiencing what you're building. So do it for them. And if you have these things and you have an idea that doesn't suck. Then I don't see how you can fail. You can't fail. And that's about it. That's what I want to share with you today. So thank you. Thank you all for loving open source because I love open source. And thank you for making open source or using it. That's it. Thank you.