The current state of tech on Twitter:
"You can get a job with open source."
"Open Source experience should be included on every developer's resume."
"GitHub is your resume!"
Okay, I admit that the last one is just me:
But hey, I also wrote a blog post about it and received (maybe good?; it was 0 feedback, so I'll consider it positive):
So it's good to say that tech Twitter somewhat agrees with me? No. I disagree with half of the things tech Twitter says about open source. In this article, I try to map out open source with my experience and knowledge after almost a year and a half of contributing, maintaining, and advocating.
So what exactly is Open Source?
The book definition
Open source is code that is publicly available for anyone to study, improve, change, and redistribute to everyone.
Each of these may have a slightly different implementation due to the various open-source licenses available, but at their core, you should be able to do all of them.
The actual definition
Open source is a community of developers dedicated to the greater good. Many developers just open-source their projects to make development easier for everyone by solving common problems. Some other developers are against big corporations owning everything and favor creating open-source alternatives.
So it's just a VERY VERY VERY large community consisting of just 100 million people on GitHub
Popular Open Source Projects
So most people joke about Open Source software not being good :/
Especially about Linux,
What most people don't realize is that almost all of the code in your browser is open source. The entirety of the internet's backend is also open source, as is the software that Hashnode is using to present this article (NextJs). It does not take a good while to realize how much of your life is open source.
Why should you care?
Does Open Source bring jobs?
Short answer: It can.
Long answer: It most probably will not. Getting a job entirely through open-source contributions is a new thing most companies are still not into. But open source can help you get a job in other ways.
Resume
Open Source is a significant addition to your resume; it demonstrates collaboration and soft skills, as well as visible proof of your knowledge.
Skills
You can learn anything from industry professionals via the medium of open source. I could right now pull up a MEVN stack project, send in a PR, get a code review, and learn from people working in that tech stackthe people who built that project itself.
I mean, developers these days post these memes on Twitter:
Ok. You got it. No one can design such a bad meme other than me, so it's me, but how did you know this? :|
Open Source Noo Noos
Open Source Only For Jobs?
Never. Open source is not a way to get a job; it is just a multiplier to increase your chances. Don't let open source take over everything, including portfolios and projects.
Yeah, imagine explaining that situation to your partner's recruiter.
Beginners can't contribute to Open Source
I contributed without any knowledge of computer science as an 8th-grade student. What in the damn world can stop you, apart from yourself being lazy?
So I can, as a beginner, contribute to open source, but you can't? ("Yeh Sab Doglapan Hai!"; Translation: This is the true contradiction.)
You can not contribute to big projects
Where do big projects get their contributors from? If you think about it, every big project began as a small project. So what's the difference between small and big projects? Bigger projects move faster, but can you attribute that to their having more files? So it's balanced most of the time.
I've contributed React's documentation (which is in the queue right now); that proves that no matter how big a project might get, there is somewhere you can add value.
You have to be a dev to contribute
There are so many ways you can contribute! Why limit yourself to code contributions? You can add value in so many more ways (you can create your ways to add value)
Code
No Code
On a side note, anything that adds value is a contribution. (I'd also like to clarify that you do not need to contribute to only complex issues to be a great contributor for the same reason)
Let's do this!
So let me be clear: where I can help you, and where I can't:
Git & GitHub
How to approach projects
How to communicate as a contributor
First steps on making your first pr
Listing you projects that you should contribute to ( I will tell you how to find them here though)
Step 1: Git & GitHub
Git and GitHub have often been overlooked topics when it comes to open source. They are an integral part of contributing to open source, yet they are just left with a list of commands. I'll do my best to give you here a concise guide to git and GitHub, including all key terminologies and functionalities.
Git: Git is a version control system that allows teams to work on large projects with versioning and collaboration support
GitHub: GitHub is a hosting provider for git which has now branched out to have many other services, which give it the title of the place where the world writes code.
I'll also add in the image of an awesome cheatsheet about git commands:
β‘Git Cheat sheet
#OpenSource can get you experience, money and even a job, thus it is important to get fluent with Git, here is a cheatsheet to help you with all you need and none you don't.
Save it now rocketπ11:30 AM - 04 Oct 2022
Step 2: How to approach projects?
Finding projects is very hard; in classic ol' Twitter thread fashion, I did cover this one pretty deeply, so I'm just going to embed it in a bunch of tweets. Yeah, yeah, I'm just lazy.
1. Your Network
Many people in your network will have their projects hosted on GitHub it is a great opportunity to add value to their projects
People in my network have always surprised me with cool projects! I am sure your network will surprise you too!14:30 PM - 04 Oct 2022
3. People you follow
If you are seeing this post, you must be following some people who have open source projects! Yes, everyone whom I follow has at least one!
- @ykdojo's defaang
- @eddiejaoude's book-open-source-tips
- @FrancescoCiull4's free-web3-resources
are a mere FEW!14:30 PM - 04 Oct 2022
5. GitHub Search
You can also search GitHub for repositories and issue, beginners can try to find the label of good-first-issue
I used it to find 3+ Issues on the first day of Hacktoberfest, which have been merged!14:30 PM - 04 Oct 2022
So now that we've officially butchered Hashnode and Twitter into one app, (I mean if Elon Musk wanted π)
Let's move on to further topics:
Step 3: Making your first pr
This one should be pretty straightforward, it's just a simple checklist
I have identified where I can add value (Go back to the graph mentioning types of contributions)
I have found a project to contribute to (The step before this one)
I know basic Git & GitHub concepts (Step 1)
I have made a PR to EddieHubCommunity/hacktoberfest-practice to add my name to test out step 3
I have read the contributing guide and the code of conduct of the project (if they do not exist please do not consider contributing to that project as a first-timer)
Make a PR
I need your help people -- I've been writing this article since a great while now, but I think I still do not have enough perspective of different people just beginning in open source. If you've got a minute or two please share how can I improve this article and include more information. Thanks!
Finally, I'd like to thank everyone who took the time to read this blog post all the way through. If you love me content, feel free to follow me on twitter for more such memey content
Top comments (0)