tldr
- Find a Project
- Clone it and Get Familiar with Code
- Observe Issue
- Fork and work on that issue
- 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
Checkout
- README.md : gives overview of the project.
- languages : To know , are you familiar with the languages.
- 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.
- Fork and Locally Setup
- Create an new-branch & do Changes in the Code
- Commit that new-branch
- push that new-branch into Your GitHub Repo
- Create an Pull Request of it
3. Sync Upstream Branch
- Connect to the repo you forked :
git remote add upstream <github_repo>
- Switch to your main/master branch :
git switch main
- fetch the changes in upstream repo :
git pull upstream main
- 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
- https://opensource.guide/
- https://www.freecodecamp.org/news/github-search-tips/
- https://project-awesome.org/MunGell/awesome-for-beginners
Learn
- https://github.com/firstcontributions/first-contributions
- https://github.com/MunGell/awesome-for-beginners?tab=readme-ov-file
- https://github.com/tldr-pages/tldr
- https://www.freecodecamp.org/news/github-search-tips/
hackathon
- devfolio , gsoc , jwox , iwoc , innogeeks
- https://github.com/prathimacode-hub/Open-Source-Programs
find opensource alternative of your tool then find suitable stack to work on .
Top comments (0)