How to Make Your First Contribution to Open Source Software6:05 with Craig Dennis
If you haven’t heard of the Open Source movement before, you might not realize it, but a majority of software that you use everyday is not only free to use, but it is open for changes. Let me show you how to make your first commit to open source.
Hi, I'm Craig, welcome to the Treehouse Show. 0:00 The Treehouse Show is a weekly conversation with the Treehouse community. 0:02 [SOUND] In this episode, we're going to explore our wonderful community and 0:05 answer a question about beginners and open source. 0:12 Pranjal Agnihotri asks a very thoughtful and 0:17 common question about open source and beginners. 0:19 In his post, contribution to open source, he asked, 0:23 if I have not created any major product yet, can I contribute? 0:26 How do I find the right project? 0:30 How do I not break things? 0:31 Now if you haven't heard of the open source movement before, 0:33 you might not realized it. 0:35 But the majority of software that you used everyday is not only free to use but 0:37 it's open for changes. 0:41 Now so many of our day to day interactions are with tools 0:42 that are built by a group of developers who are volunteering their time. 0:45 For instance, this video player, 0:49 the one playing the video that you're watching right now, it's open source. 0:51 It's created by 207 different contributors. 0:55 Not only is the code available on GitHub for 0:58 you to look at, but you, yes you, can make changes to it. 1:00 Now, I realize that might seem out of this world if you're just getting started on 1:05 your coding journey. 1:09 But let's read a bit more on this post. 1:10 So to answer Pranjal's question, one of our wonderful moderators, Jonathan Grieve, 1:12 encourages Pranjal to feel comfortable to create what is known as a pull request. 1:16 Which basically is a way of saying hey, I'd like to make this change to the code, 1:21 are you cool with that? 1:25 Most projects provide guidelines for how to contribute effectively. 1:27 And as a fellow student of yours, 1:30 Ari Misha points out, open source isn't just about contributing to code bases, 1:32 it's also about making contribution to documentation. 1:37 And while some of the changes might require deeper knowledge, 1:40 don't let that stop you from being a part of it. 1:43 I love this, all it needs is a first step. 1:46 Ari then goes on to talk about other factors to keep in mind. 1:50 Now, since GitHub is social, you can take a look at the latest commit time. 1:53 All the pull requests, other issues and how many stars it has. 1:57 He also suggest starring them and watching the activity as a way of learning. 2:00 So how do you find a project? 2:05 Well, if you're just getting started, 2:07 there are a couple of great tools out there that will help you. 2:08 First Timers Only is a great site that helps you find projects that 2:11 are intended for new developers. 2:14 And Up For Grabs is another great resource to help locate problems to tackle. 2:16 On the Treehouse blog, you'll find some entries as well. 2:20 Check the notes attached to this video for more. 2:23 So what if you have no experience at all? 2:26 Well guess what, the flow is pretty easy. 2:28 I'd love to get you hooked, you don't even need a tool, 2:31 all you need is a GitHUb account. 2:34 So first, log in to your GitHub account. 2:36 Now take a moment and think about your favorite typo, and 2:38 then what we'll do is we'll type it in the search bar here. 2:42 So one of my old coworkers used to always misspell language like this, 2:45 you can read langauge. 2:50 All right, so I'm gonna search for that, I'm gonna click here and 2:53 I'm gonna click code. 2:56 And look here, language is misspelled over 280,000 times, 2:57 so there's 280,000 ways for you to help and that's just one typo. 3:02 So hey, let's do one that's near and dear to my heart. 3:08 Now a common typo for Treehouse is actually Threehouse. 3:11 Now, I'm not sure where that comes from, maybe it's an accent thing. 3:16 Anyways, look, over a 160, so I wanna help. 3:20 So I'm gonna do this, I'm gonna click on this one here from Eliza. 3:24 Let's do this, it looks like she built something from one of our react apps. 3:27 And here it is, there's the ThreeHouse React Course App. 3:32 So let's help her. 3:36 So this is in her README.md, and the way that you get to it is through here, so 3:36 here's the name of the file here. 3:40 This is what you put at the beginning of your repository so 3:41 people can know what's going on. 3:44 So let's volunteer some of our time to help Eliza out. 3:46 So I'll click and open up the file. 3:49 So I'm gonna click this pencil over here. 3:52 So it went ahead and actually created a fork of this project for 3:54 us and we're able to edit right here in the browser. 4:00 We don't even need to bring anything down to our computers, pretty awesome. 4:03 And this is using mark down, so this is a special kind of language, so 4:07 this making that when it was bold, right? 4:10 That's the heading there, so this, let's just fix this. 4:12 We'll say, Treehouse, there we go. 4:15 If you wanna learn more about mark down, we have a course for that. 4:19 So what we can do here is we can propose the file change. 4:22 So you kinda give a brief description of what we did. 4:24 So what did we do? 4:26 We fixed a typo, fixes a typo. 4:27 And an optional extended description, 4:30 this is a common misspelling of Treehouse. 4:35 Thanks for being a student. 4:41 We'll just make it cute there and, there we go. 4:43 And we're gonna go ahead, we're gonna click Propose file change, okay? 4:46 And what that does is it created a new fork for me. 4:49 I didn't even need to know how any of that stuff worked. 4:53 And what it says now here, it says to create a pull request or PR. 4:55 So what this will do is when I make one of these, it will send an email to Eliza. 5:00 And again, it pulled over what I said, this is a common misspelling, thanks. 5:06 So I'm gonna go ahead and click Create pull request, and 5:09 she'll get a notification. 5:13 And you can see all the pull requests that are open and 5:14 you see my 1 is open right here. 5:16 Here I am saying, it's a comment thing, and then I'll say, 5:19 This was featured on the Treehouse Show. 5:25 Awesome, so now when she accepts my pull request, if she does, 5:30 my changes will be live. 5:35 How cool is that? 5:37 Not only can you do that, you should totally do that. 5:38 What better way to learn to code? 5:42 You'll learn a ton by working with a team of collaborators, 5:43 it's a great way to help you build a portfolio. 5:46 We'd love to see your contributions, so please, keep us posted. 5:49 [SOUND] Thanks for watching the Treehouse Show. 5:52 To get in touch with the show, reach out to me on Twitter or 5:58 hit us up in the Treehouse community. 6:00 See you next time. 6:02 Let me know when you make that first commit. 6:03
You need to sign up for Treehouse in order to download course files.Sign up