Before we jump into the article here is something about me:
a) Script Winter of Code 2020 Mentee. b) Devscript Winter of Doing 2020 Mentee.
What is open source?
OS denoting software for which the original source code is made freely available and may be redistributed and modified.
In my view,
Open Source Software can be anything from an browser extension to an ML model that is developed by a bunch of amazing geeks who wants to share their work with the world and make developed application open to all to use and suggest changes to it.
An OS project can be created and maintained by anyone with a passion to build amazing technology. Even you!!
Open source helps us use and enjoy top quality tools for free of cost, are you pumped up?
Let's see how you can jump into opensource and build tools and language you will be using in your day to day life to make easy understanding how to get started.
Open Source Contributor as a Student
Let’s first see why you should contribute to opensource?
Showcase Platform : It provides a platform to showcase your technical skills as well as content writting skills.
Unlimited Learning : Instead of learning tools and languages you can start applying knowledge to build projects and take it a next step higher.
Professional Skills : When you work, interact and learn with a group of developers under guidance of mentor it end up learning many important soft skills like professional communication, networking, teamwork, time management.
Tons of Opportunities : Opensource Summits where you can talk and interact with top tech companies and developers.
Alternative for Pocket Money : Our primary intension for getting into open source must be to learning and developing yourself. If you are a valuable contributor on a project with real clients you can help solve issues or train their employees and bill them for your time. There are so many open source fellowship program that provide stipned.
Strong Resume : Well Contributing to open-source projects would be a great way to show your mastery of a particular technology an learn new tech. This ultimately step-by-step builds your resume strong.
Don't freak Out! You don't have to know much to get started but having a knowledge of at least one programming language, Git & Github are fine.
A common mistake a lot of newcomers do is that they aim for big projects that often have very little issues for a newcomer to implement or no mentor support and are highly competitive. One guidance I would like to give is to start with a small project and try to be a constant contributor to it and learn how the whole open source ecosystem works. Familiarize yourself with the codebase, git commands used, managing workflows, code quality, and best practices used. This helps you in the long run and when you see a chance to contribute to big projects like TensorFlow or .Net you can grab and the issue and solve it with ease.
Some helpful Platform to get started :
So have you find a project to contribute? Great !!!
Let's Understand the Project and its attributes
Author: The person/s or organization that created the project
Owner: The person/s who has administrative ownership over the organization or repository (not always the same as the original author)
Maintainers: Contributors who are responsible for driving the vision and managing the organizational aspects of the project (They may also be authors or owners of the project.)
Contributors: Everyone who has contributed something quality work back to the project.
To understand issues and bugs one need to understand codebase.
There is simpler way read the following files:
README: The README is the instruction manual that welcomes new community members to the project. It explains why the project is useful and how to get started.
CONTRIBUTING: Whereas READMEs help people use the project, contributing docs help people contribute to the project. It explains what types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals that this is a welcoming project to contribute to.
CODE_OF_CONDUCT: The code of conduct sets ground rules for participants’ behavior associated and helps to facilitate a friendly, welcoming environment. While not every project has a CODE_OF_CONDUCT file, its presence signals that this is a welcoming project.
LICENSE: By definition, every open source project must have an open-source license. If the project does not have a license, it is not open source.
Issue tracker: Where people discuss issues related to the project.
Pull requests: Where people discuss and review changes that are in progress.
Discussion Channel an Forums: Some projects use chat channels such as Slack,Discord,etc. for casual conversation, collaboration, and quick exchanges.
Hurry up! catch the train and start your OS journey.
If you like it leave a clap and if you want to share your thought leave a message at twitter.
Check out Github Guides to know more about GitHub.
Have a good day!!