‫In this video, we're going to talk about how to contribute to open source and actually take you through
‫the steps.
‫But first, for those who don't know what is open source.
‫Well, a lot of technology that has been created on the Internet that we know today has been built on
‫top of open source projects.
‫And open source projects means that anybody can view the code.
‫Anybody can see the code of a program, can inspect it, can modify it, can enhance it in this way.
‫The idea is that by sharing this information with everybody, we get everybody's input and we use the
‫collective mind to improve software.
‫Not only that, but it also benefits everybody.
‫Right?
‫For example, the most famous example of an open source project is Linux, an operating system just
‫like Windows or Mac OS, except it's built by everyday programmers.
‫And it's code that is completely open sourced.
‫Anybody can inspect the code, add on to it.
‫And it's become so successful that most of the cloud that we know of the servers usually run Linux at
‫us Google Cloud, Microsoft Azure, all of them use Linux.
‫Some of you might be running Linux right now as you watch this video.
‫So not only do you get to work with other developers from around the world where you can build great
‫projects, but just working in teams by learning how open source works.
‫Well, you don't have to create something as big as Linux.
‫You can create a project with a friend, something very small and simple.
‫It doesn't really matter.
‫The idea is of collaboration, of openness and sharing code to hopefully improve on the collective knowledge.
‫Finally, a lot of employers actually look upon open source contribution as a plus.
‫So if you're able to put in your resume that you're an open source contributor, well, that's a good
‫sign.
‫Plus, it teaches you valuable skills using Git and GitHub to work in teams if you're looking for job
‫experience, but you don't have a job.
‫Contributing to open source is the perfect way for you to learn how to work in teams and mimic a work
‫like scenario.
‫This is a really important video and something I'm really excited about.
‫So let's show you how to make your first open source contribution, improve your resume, learn some
‫real life skills, and have fun along the way.
‫Now we've actually created some open source projects for you for this course.
‫We have the zero two mastery repository here where we can see that we have about 64 projects open right
‫now with about 2000 contributors.
‫That's a lot of people, and this number's bound to increase.
‫Now, this place was created as a practice ground for you, a playground.
‫Nobody will yell at you if you break things.
‫You can contribute at silly things, whatever you want.
‫It's a testing ground.
‫The idea is to have as much fun as possible and make it as easy as possible to contribute to open source.
‫Now within that organization, we have a great community of administrator or management team that will
‫help you with these open source projects.
‫By the way, who are these administrators?
‫They're right here.
‫Ignore my name.
‫I help out as well.
‫But they do a lot of the heavy lifting.
‫And they are past students, just like you, that have had a bit of experience now.
‫Most of them are working full time, but they are now helping out the community by helping with our
‫open source projects, our discord and generally just helping our community grow.
‫So shout out to them.
‫If you get a chance, say hi to them on Discord.
‫They definitely do a lot for this community.
‫They're very active on Discord, and they really help maintain all of our open source projects.
‫So let's learn how to make our very first open source contribution.
‫I do want to note here that this isn't the only way for you to contribute to open source.
‫This is just a playground that we've created for you.
‫But once you contribute here, you can go off and contribute to all the other open source projects all
‫over GitHub they can find.
‫It can contribute to projects like React and Angular.
‫The world is your oyster.
‫Or you can just stick to these as we actually have a ton of projects here that are fun.
‫We have events going on like Octoberfest.
‫Well, we'll get to that shortly.
‫We definitely have a great community of developers and we can create some awesome projects together.
‫Now the way you want to get started is to first go to the start here.
‫Guidelines.
‫Now in the start here guidelines and I'll link to this page.
‫You actually have a four step guide to get started.
‫The first thing you want to do is to actually watch the get started guideline.
‫A fellow student actually created this guide for you to follow the steps that I'll mention in this video.
‫So you always have this as a reference.
‫So after this video, definitely check out this document as a reference, but otherwise, once you've
‫browsed through, the document is, well, make your first pull request.
‫So if you've already watched my git and GitHub videos, you should be all set.
‫Otherwise, hopefully you're familiar with Git and GitHub.
‫Now the first thing we want to do is to actually add our names to the contributors dot MD file.
‫In this project.
‫So if you go up, you'll see that we have a contributor's MD which stands for Markdown File and if I
‫click on here, you see that all the contributors that we have, we have over 1000 contributors.
‫And if you scroll down, these are all their GitHub names.
‫So your first task is to actually add your name to this list.
‫So how can we do this?
‫Well, we can just clone this repository, but a more recommended way of usually contributing to open
‫source is to fork the project.
‫Fork essentially means copy over the entire project and put it on your own GitHub profile.
‫So if I click Fork here and we see over here that you can select where you want to fork the project
‫and you want to select your profile.
‫So once we fork this project, we make a copy of it.
‫It's like we own this repository now with our own version of the start here guidelines.
‫So once we have this, we can clone this repository using SSH or https, whatever you prefer.
‫In my case, I'll use SSH so that I don't have to use my password every time.
‫I can now say get clone and clone this repository.
‫Now we can CD and to start here guidelines and we can open this up in our favorite text editor.
‫Now, once here, let's clear this.
‫We have the contributors file which we need to add our name to.
‫Now you can see here the contributors file is getting quite long because while we've got a lot of students
‫who are contributing to open source.
‫But at the very end, make sure you're at the very end here.
‫You want to add your own name.
‫Now, here's the thing.
‫Right now we're on the master branch, but I'm going to show you what a good practice is.
‫We have our forked project and we want to create a new branch to work off of instead of master by saying
‫Get check out Dash B to create a new branch and we want to name this branch.
‫In our case, let's just name it test.
‫If I hit enter, you'll see that now I'm on a new branch called Test.
‫And in this branch I can add my name to this contributor list.
‫In your case, you'll want to use your own GitHub profile.
‫So we're using markdown here, which is a way, a syntax to write and has some functionality.
‫For example, if we go to the contributors list, you'll notice that they are all clickable links.
‫So we essentially use the same notation.
‫We do a dash square brackets with your GitHub username, and then in the parentheses we just have the
‫actual URL that you want to link to.
‫In our case, the GitHub username that you have.
‫So your GitHub username here, GitHub username here.
‫Once we do that, we can save this file and now go back to our terminal and say Get status.
‫And we see here that yeah, we just modified our contributors file and if I do get diff to see any changes
‫that we've made, we see that we've added this new line.
‫So let's clear this.
‫We have our name all set up and we can now add this commit by saying get add and dot for everything.
‫We'll add everything and then get commit and we'll write a message that says Added my name to contributor
‫list.
‫There we go.
‫So now it's time for us to push these changes.
‫Now if I do get push origin.
‫Master.
‫Well, right now, what that would mean is that we want to push to origin and the origin.
‫Is this start here.
‫Guideline which I forked.
‫So the origin is actually my version of the project and if I want to push to master, that is the main
‫branch.
‫But we don't want to do that because ideally we want to be able to also change and add our name to the
‫original zero to Mastery Star here guideline because this is the main.
‫Project.
‫So what we can do is instead of master push to our test branch so we say get push origin test.
‫There we go.
‫Now, if I go back here and go to my project and I refresh.
‫I now have two branches.
‫The Master branch and also the test branch, which I just updated.
‫So one way to do this is to click on New Pull request.
‫And you can add comments here like I've added my name to the list and you can tag some of our maintainers.
‫In my case, I'll just tag myself.
‫If I do create, pull, request.
‫I now have my poor request and notice here how my poor request is now at the zero to mastery start here
‫guideline so that if I go back to our start here guideline.
‫I see that I'm part of.
‫The pull request now.
‫Right here.
‫And because I've tagged one of the management teams.
‫So in this case it was myself or we can tag any of the management team that we have.
‫Now, in this case, I'm cheating because I also help manage this so I can just myself merge the pull
‫request.
‫Most likely in your case, you won't be able to merge it yourself.
‫But if I click merge and confirm.
‫There we go.
‫I've merged my project, I've deleted the branch and the pull request is closed.
‫If I want, I can even delete my own fork.
‫But for now, let's keep it the way it is.
‫Let's check the start here guidelines and see if my name has been added to the list.
‫If I scroll all the way down.
‫Hey, check that out.
‫There's my name on the list.
‫So I've been added to the contributors list.
‫That was pretty easy, right?
‫And the cool part is that now if I go to my profile.
‫I actually have zero to mastery as one of my organizations.
‫So if you're able to add yourself to the contributors list, you can actually join the zero two Mastery
‫Organization and have this little icon appear on your GitHub profile.
‫And lots of GitHub profiles have organizations, so people usually have their workplace icon in here.
‫So it's just a nice little thing to have on your profile to show that you're involved in the programming
‫community.
‫So we've just made a poor request, which was step two, and that was pretty fast, right?
‫Finally, the next step is to go join an actual project and start contributing the way we just learned
‫in our Zero to Mastery Organization.
‫Now there's actually a guide that we provide it for you to figure out what project you choose, what's
‫going to be good for you.
‫We also have in our Discord a group projects section where we can look at some of the current projects
‫that are happening.
‫Or you can just go to the Zero to Mastery Organization and pick any of the repositories to contribute
‫to.
‫Now, in the next video, we're going to contribute to one of these projects and show you a real life
‫scenario.
‫I'll see in that one.
‫Bye bye.