DEV Community


Open Source Contributions

banesag profile image Banesa Guaderrama Updated on ・2 min read

alt text

Benefits of Contributing an Open Source Project

Opensource is a great way not just to contribute to open source projects but to practice what you have learn while contributing through another person or organizations’ code or project. Without a doubt open source brings benefits not just to the organizations through contributors’ innovative contributions, but the contributor also benefits by putting his or her name on a project, specially if you are looking to gain some exposure.

Another benefit you will find while contributing to open source is that you can get experience working virtually since you do not know the people involved in the project and you base your contribution in written instructions, also by using your critical thinking while reviewing an unknown code or project to provide a solution.

Gain Programming Experience

The beauty of an open source is that anyone can contribute, and if you do not have experience it will let you gain programming experience. If you are afraid to damage the code, do not worry, there are controls in place to prevent it, any submission needs to be approved. So, while new programmers gain experience without risking a program (or their jobs), experience programmers work in other relevant activities without debugging distractions.

Finding Open Source Projects

You can find open source projects through GitHub, but you can also join open source communities through twitter or looking in the websites of specific companies you would like to contribute.


  1. On GitHub, navigate to the repository you want to contribute

  2. Under the repository name, click Clone or download.

  3. In the Clone with HTTPs section, click to copy the clone URL for the repository.

  4. Open Git Bash.

  5. Change directories to the location of the fork you cloned in Step 2: Create a local clone of your fork.

    To go to your home directory, type just cd with no other text.
    To list the files and folders in your current directory, type ls.
    To go into one of your listed directories, type cd your_listed_directory.
    To go up one directory, type cd ...

  6. Type git remote -v and press Enter. You'll see the current configured remote repository for your fork.

    git remote -v
    origin // (fetch)
    origin // (push)
  1. Type git remote add upstream, and then paste the URL you copied in Step 2 and press Enter. It will look like this:

    git remote add upstream
  1. To verify the new upstream repository you've specified for your fork, type git remote -vagain. You should see the URL for your fork as origin, and the URL for the original repository as upstream
    git remote -v
    origin // (fetch)
    origin // (push)
    upstream // (fetch)
    upstream // (push)

Discussion (2)

Editor guide
brandelune profile image
Jean-Christophe Helary

Thank you very much for this very clear article.

I would like to add that a lot of people focus on Github today, for lots of practical reasons, but open source software, and it's direct "parent" Free Software have roots that go well beyond Github or even git itself, and most interesting and meaningful projects are not on Github (and probably will never be).

It is impossible to understand why open source exists without understanding why free software exists. And free software exists because people were stolen public code and intellectual property by corporations and as a protection measure created free software and free software licences.

Free software is a struggle to keep the code free of interference from corporate greed. And it is an ongoing struggle. Now that Github is owned by Microsoft it is hard to remember when Microsoft was the one behind "Linux is evil" and "the GPL is a viral license" right when "viral" was associated to HIV and things like this. There were also lots of "communists!" and similar epithets flying all over the place at the time...

Participating to freeing more and more software not only gives individuals thousands of opportunities to learn but also enables even more individuals to access such software, learn and build from it. And Freedom, way more than "open source" is worth the hassle.

Thank you again!

banesag profile image
Banesa Guaderrama Author

Nice addition to this post. I appreciate you took the time for reading and replying me. I agree with you in the benefits behind of a free software, and about the opportunities it brings to individuals able to access them. Also, I enjoyed reading the link, it provides with a nice programming history!

Thank you very much!