DEV Community

Krish Gupta
Krish Gupta

Posted on • Originally published at blog.krsh.eu.org on

Let's Crack Open "Open Source"

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!"

Spongebob Rainbow Open Source Opensource Linux GIF - Spongebob Rainbow Open Source Opensource Linux GIFs

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):

Will GitHub Replace Your Resume? The future of tech recruiting

GitHub Profiles are basically the future, every day GitHub is getting increasingly hungry to become your default resume πŸ‘€. I mean GitHub is adding more and more features every day to your GitHub Profile to make it become your github profile. GitHub ...

favicon blog.krsh.eu.org

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,

Linux Linux Users GIF - Linux Linux Users Gaming GIFs

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.)

All of this is a paradox

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)

Lets Do This GIFs | Tenor

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:

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.

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

  1. I have identified where I can add value (Go back to the graph mentioning types of contributions)

  2. I have found a project to contribute to (The step before this one)

  3. I know basic Git & GitHub concepts (Step 1)

  4. I have made a PR to EddieHubCommunity/hacktoberfest-practice to add my name to test out step 3

  5. 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)

  6. 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)