Many people get confused about git, GitHub, and open-source as they are quite the secondary buzzwords in the developer communities (second only to GSoC, mlh fellowship, Outreachy, Hacktober Fest, and all). Today I’ll be busting some myths about open-source and point you towards some valuable resources for you to start your journey as an active open-source contributor.
So, let’s get started?
Welcome to MichiSpotlight! Scroll down towards the bottom if you want to learn about the current opportunities available in the developer ecosystem.
Was this newsletter shared with you? If yes, don’t forget to subscribe for future editions to land right in your inbox.
What is Open-source?
There are a gazillion resources, blogs, videos that talk about open-source. I don’t want to step on their parade or reiterate the same points. If you want to become a better developer, you need to start contributing to open-source.
I mentioned in the previous editions of MichiSpotlight that you need to build real-world projects to enhance your profile. Not all of us have the time and patience to build a new project from scratch and scale it. Most of the time, the projects end up sitting idle on our GitHub.
The best way to build real projects is by contributing to the ones that are already being maintained by a community of developers. This way you learn many things beyond code— collaboration, accountability, and writing more efficient code.
How do you find Open-source projects to contribute to?
It is quite difficult to find projects to contribute to (especially with a lower complexity). I’ll tell you a nice way to find projects.
Step 1: Make sure you have a GitHub account and are logged in.
Step 2: Click on Explore
Step 3: Select Topics that interest you, Star them if you want to learn more about them.
Step 4: Follow people (seasoned developers/active open-source contributors) on GitHub to see what kind of projects they are working on. So if any of them interest you, you can help them build it.
Also, check out this collection on GitHub to learn more about choosing your first opensource project
If you want some hands-on experience with git or GitHub you can check out these interactive exercises✨
1) First Day on GitHub >>
Myths about open-source
Myth #1: Open-source === GSOC, MLH, Outreachy, Hacktober etc.
You need to stop associating open-source contributions with participating in open-source programs. These programs were set in place just to encourage developers to contribute voluntarily since there are additional incentives like the stipend. You can contribute to open-source at any time, any place to any repository. It is not a compulsion for a job search.
Although yes, more recruiters/people have started to identify that the developers who have contributed to open-source:
Have worked on real-world projects that can be scaled.
Know how to collaborate with strangers who probably live in a galaxy far far away.
Have a superior understanding of frameworks and languages used in the projects they worked on.
Know how to read the other person’s code, understand it and review or make changes to it.
Myth #2: You need to be a pro-coder to start contribution or Contributing to open-source means writing code
No, you don’t need to be a coder to contribute to open-source. You can also contribute designs, blogs, documentation, strategies for marketing, or some other form of content. Open-source contribution is like helping developers around the world to gain access to more powerful and secure tools. Anything that helps the community achieve its mission is a contribution.
There are a plethora of repositories available out there for you to get started.
You can start contributing to issues that deal with writing code you know how to write.
Myth #3: You need to understand the entire code base to start contribution
Some of the more complex open-source projects have their codebase structured in a modular way. Different modules have different features. So depending on the issues you want to solve, you pick a module, understand it entirely and then start contributing. You don’t need to know the whole codebase inside out to start contribution.
Although, for smaller codebases, I would suggest at least running the software you’re building once before you start contributing. If you don’t know what you’re building you won’t be able to build it in the best possible way.
I think this pretty much sums it up:
One piece of advice I’d like you all to remember:
Opportunities/Resource round-up for the week
One4All: One stop for all resources & opportunities
This is a great resource to find out about some of the biggest opportunities available in the developer ecosystem.
Check it out >>
SUSE Cloud-Native Foundations Scholarship Program by Udacity
15,000 applicants will be enrolled in the Cloud Native Foundations course and will learn how to structure, package, and release an application to a Kubernetes cluster, while using an automated CI/CD pipeline.
Want to know the best place to learn python? The Official Python Tutorial!
A developer should always read the docs. They need to have the patience to find and learn things from the docs. Many video tutorials oversimplify the concepts, the documentation helps you truly understand how things work.
Best video ever to understand APIs
I am eternally grateful for this video on freecodecamp. Without it, I wouldn’t have understood APIs.
How to GraphQL?
Tired of REST? Learn GraphQL. Also, remember to not use it unless your project has a unique use case.
I hope you found this edition useful and would share it with your friends. Do let me know what you’d like to learn about next!
And, of course, don’t forget to share MichiSpotlight with your friends: