DEV Community

Cover image for Opensource Contribution 👾
Piyush
Piyush

Posted on • Edited on

Opensource Contribution 👾

tldr

  1. Find a Project
  2. Clone it and Get Familiar with Code
  3. Observe Issue
  4. Fork and work on that issue
  5. Create Pull Request including : "Fixes #issueID"

Pre-Requisites 👌

1. Learn an Skill

  • Just get started with an skill , preferred languages for beginners would be JavaScript & Python.
  • Learn Any One , Start getting familiarise yourself with the language.

2. Start Building Projects

  • Create Portfolio.
  • Create Different kind of projects.
  • Clone of an per-Existing Application.
  • Watch Others Project , Create Your Project , Deploy that Project , Showcase Your Project to Others (SM...).

3. Git & GitHub

  • Learn GIT Basics
  • Start using GitHub
  • Get familiar with its features (Github Actions,Pages,Desktop)

Opensource Contribution 👍

1. Find Opensource Project

  • pick up an Opensource Project which also uses the same stack as you are learning.
  • Observe and get familiar with the project by locally setup or trying their online services.
  • Google any openaource alternative of the regular tool you are using .
  • Follow on github acc , watch their star listed projects
  • Github provide various Page : Explore , Trend , Events

Advance Search Option :

  • in:name , in:description
  • is:issue , is:open , label:"easy"
  • stars:1..1000 , pushed:>2022
  • language:JavaScript
is:issue  stars:<1000 is:open   in:description tailwind
Enter fullscreen mode Exit fullscreen mode

Checkout

  1. README.md : gives overview of the project.
  2. languages : To know , are you familiar with the languages.
  3. Code Of Conduct : It gives overview of the project and what blueprint should be followed for your contribution has been documented.

4.Template for Issue , Pull request , Commit Message.

Issues

  • Once you get familiar with project you can start creating `issues.
  • Issues are nothing but raise an point you want to contribute such as any feature or fixing an bug.
  • Every Issue has its own #ID.
  • Creation of an good issue : Clear and Minimal Title , good description , Screenshot of that issue , Solution Description.

2. Fork & Local Setup

  • before getting start to opensource contribution in a project you need to fork it and setup locally.
  • Fork : Creating an copy in your Own GitHub Repo to work on.
  1. Fork and Locally Setup
  2. Create an new-branch & do Changes in the Code
  3. Commit that new-branch
  4. push that new-branch into Your GitHub Repo
  5. Create an Pull Request of it

3. Sync Upstream Branch

  1. Connect to the repo you forked : git remote add upstream <github_repo>
  2. Switch to your main/master branch : git switch main
  3. fetch the changes in upstream repo : git pull upstream main
  4. Update your GitHub Repo : git push origin main

create an branch regarding that issue , create fix branch only from being into main branch else you will clone the fix branch . then goto main branch and pull the latest commit to stay updated

Ethical Border 🫶

  • In Opensource Contribution, their are various factors to keep in mind.
  • You can't expect that your PR(Pull Request) will get merge every time.
  • You have to be an open minded person and all review on your code of other developers.
  • Opensource Doesn't mean you have become an developer but its gives as close as possible experience.
  • Don't get demotivated , initially you wont be able to do regular contribution but keep going , you will learn by making mistakes.
  • Opensource Community has very big heart and ready to help you in all kind of situation , Just be respectfull to other and show little patience thats all.

License

  • GPL v3 : Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
  • Apache v2 : when distributed and are not required to provide source code. Apache licenses contain a patent grant.
  • MIT : It allows anyone to do whatever they wish with the original code, as long as the original copyright and license notice is included either in the distributed source code or software.
  • more...

Resources 👊

Explore

Learn

hackathon

find opensource alternative of your tool then find suitable stack to work on .

Top comments (0)