DEV Community

Cover image for How OpenSource Contribution Can Change Your Life
Sachin Chaurasiya
Sachin Chaurasiya

Posted on • Originally published at blog.sachinchaurasiya.dev

How OpenSource Contribution Can Change Your Life

As we all know Hacktoberfest has already started and people are celebrating OpenSource by contributing to the OpenSource Project with a variety of contributions.

I have been contributing to OpenSource Project for one and a half years, which has helped me immensely in my professional and personal growth. So today I would like to share my OpenSource journey and how it has changed my life with the help of this article.

How it started

It all started with this YouTube video Free GitHub Bootcamp tutorial where I learned about github and OpenSource contribution. This video stimulated me to explore more about OpenSource and how can I contribute to OpenSource projects.

At the same time, I was also learning Django so I started finding a project which is based on Django. After exploring and spending some time on the github I found one project MumbleAPI (Backend/API for the mumble. dev, an OpenSource social media application).

GitHub logo divanov11 / mumbleapi

Backend/API for the Mumble.dev, an open source social media application.

API

Welcome to the Mumble Api Repository

Mumble Community Mumble SQL Diagram Mumble


Getting Started

If you are trying to use this project for the first time, you can get up and running by following these steps.

To contribute to this project, please see the contributing guidelines.

⚠ Note, this step assumes you are using github ssh keys for the git clone method

The Mumble Diagram

--> Preview :


--> Full View:

You can see clearly the diagram at : 

Requirements

Technology Version
Python 3.x
pip latest version
asgiref 3.3.4
certifi 2020.12.5
chardet 4.0.0
coreapi 2.3.3
coreschema
dj-database-url 0.5.0
Django 3.2
django-ckeditor 6.0.0
django-cors-headers 3.7.0
django-heroku 0.3.1
django-js-asset 1.2.2
djangorestframework 3.12.4
djangorestframework-simplejwt 4.6.0
dnspython 2.1.0
email-validator 1.1.2
gunicorn 20.1.0
idna 2.10
itypes 1.2.0
Jinja2 3.0.0
MarkupSafe 2.0.0
Pillow 8.2.0
psycopg2 2.8.6
PyJWT 2.0.1
pytz 2021.1
PyYAML 5.4.1
requests 2.25.1
sentry-sdk 1.0.0
six 1.15.0
sqlparse 0.4.1
typing-extension 3.10.0.0
uritemplate 3.0.1
urllib3 1.26.4
whitenoise 5.2.0

Install and

I had a project to contribute, but what to contribute was not clear. with the help of the project readme guide, I was able to set up the project locally. then I started exploring the project and finally found one thing where I can make my first contribution.

They had the API but documentation was missing, so I decided to make a contribution and add documentation for it.

Here is My First Pull Request, My First OpenSource Contribution ✨

Added API schema and documentation #100

Describe your changes :


I worked on the API documentation and schema because it is mandatory to have good documentation of An API.

Type of change :

  • [x] New feature

Preview (Screenshots) :

MumbleAPI-Doc

Checklist:

  • [x] I have read the Code Of Conduct document.
  • [x] I have read the CONTRIBUTING document.
  • [x] I have performed a self-review of my own.
  • [x] I have tagged my reviewers below.
  • [x] I have commented my code, particularly in hard-to-understand areas.
  • [x] My changes generate no new warnings.
  • [x] I have added tests that prove my fix is effective or that my feature works.
  • [x] All new and existing tests passed.

Reviewers

Documentation: @midouwebdev, @abhivemp

I wanted to contribute more, and collaborate with more people. So I joined the EddieHub Community, where I learned the exact meaning of OpenSource and it was really simple Collaboration 1st, Code 2nd!.

EddieHub · GitHub

Community of inclusive Open Source people - Collaboration 1st, Code 2nd! Join our GitHub Org 👇 - EddieHub

favicon github.com

I must say EddieHub Community is one of the great OpenSource communities, it provides you with the environment to grow as an OpenSource contributor and enhance your skills.
Thanks to Eddie Jaoude for building such a great community.

How I got my first job with the help of OpenSource Contribution

I would like to talk about this part because it is a common misconception that OpenSource contributions are not taken into consideration when applying for a job.

I began contributing to more OpenSource projects after my first contribution. My OpenSource work gave me a lot of confidence so I wrote OpenSource Contributor along with the names of the projects I contributed to in my resume.

Despite the job experience requirement, I was actively applying for jobs on LinkedIn. In the same way, I applied for Deuex Solutions Pvt Ltd and got a call from HR saying your resume has been shortlisted. If you respond to the mail, we will schedule an interview.

The interview was scheduled and I gave it, it went well, and I was selected. I got to know that my resume got selected because of the OpenSource Contributor part that I had in my resume after two months when I was in the office.

Thanks to Saloni Shah and Sanket Shah for providing me with this opportunity.

This is a sort summary of How I got my first job with the help of OpenSource Contribution

Things I learned from OpenSource Contribution

The first thing I would like to mention is that when you contribute to OpenSource, you learn something new or improve your existing skills.

The following things I learned from the OpenSource Contribution

  • How to work with different people
  • How to explain things to others
  • How to ask for help
  • How to help others
  • How to learn from other people's work
  • How to gain more experience from the process

The above learnings have helped me a lot in professional as well as personal growth.

Projects I have contributed to

In the span of one and a half years, I have contributed to many OpenSource Projects here are a few of them.

Sachin-chaurasiya (Sachin Chaurasiya) · GitHub

Software Engineer 👨🏻‍💻 • Technical Writer 📝 • Open-Source Contributor @open-metadata @EddieHubCommunity @reactplay @OpenSource-Journey - Sachin-chaurasiya

favicon github.com

OpenMetadata

Open Standard for Metadata. A Single place to Discover, Collaborate and Get your data right.

GitHub logo open-metadata / OpenMetadata

Open Standard for Metadata. A Single place to Discover, Collaborate and Get your data right.

Logo

Empower your Data Journey with OpenMetadata

Commit Activity Release

What is OpenMetadata?

OpenMetadata is a unified platform for discovery, observability, and governance powered by a central metadata repository, in-depth lineage, and seamless team collaboration. It is one of the fastest-growing open-source projects with a vibrant community and adoption by a diverse set of companies in a variety of industry verticals. Based on Open Metadata Standards and APIs, supporting connectors to a wide range of data services, OpenMetadata enables end-to-end metadata management, giving you the freedom to unlock the value of your data assets.



Contents

OpenMetadata Consists of Four Main Components:

  • Metadata Schemas: These are the core definitions and vocabulary for metadata based on common abstractions and types. They also allow for custom extensions and properties to suit different use cases and domains.
  • Metadata Store: This is the central repository…

ReactPlayIO

An Opensource platform for React developers to learn, create and share ReactJS Projects.

GitHub logo reactplay / react-play

react-play is an opensource platform that helps you learn ReactJS faster with hands-on practice model. It is a collection of projects that you can use to learn ReactJS.

ReactPlay(Repo: react-play)

All Contributors

react-play

Learn . Create . Share about your ReactJS Development Journey

react-play licence react-play forks react-play stars react-play issues react-play pull-requests

View Demo · Report Bug · Request Feature

Open in Gitpod

👋 Introducing ReactPlay

name

react-play is an open-source web app that helps you learn ReactJS faster with a hands-on practice model. It is a collection of ReactJS projects that you can use to learn ReactJS.

Is that all? Nope. You can also create your projects and share them with the world. The best part is that the ReactJS experts will review your project code before it gets part of the ReactPlay app. Isn't that a pure WIN-WIN?

🔥 Demo

Here is the link to the app. We hope you enjoy it.

The ReactPlay app Link

Who doesn't want motivation and support? Many Thanks to all the Stargazers who have supported this project with stars(⭐). You all are amazing!!!

Stargazers repo roster for @reactplay/react-play

Please support the work by giving the repository a ⭐, contributing to…

LinkFree

OpenSource alternative to LinkTree

GitHub logo EddieHubCommunity / BioDrop

Connect to your audience with a single link. Showcase the content you create and your projects in one place. Make it easier for people to find, follow and subscribe.

RepoRater Open in Gitpod Uptime GitHub release (latest by date) GitHub repo size

Project renamed from LinkFree to BioDrop(please update your local git clones with the new remote name)

BioDrop logo on a sticker

What is BioDrop?

A platform where people in tech can have a single hub to showcase their content in order to accelerate their career, whilst contributing to an Open Source project and being part of a community that has a say in where the project is going.

Your profile will have links to your social media and content. You can also add your timeline, testimonials, and upcoming events that you are participating in.

Here is an example of a BioDrop Profile https://biodrop.io/eddiejaoude

Example profile and statistics page on BioDrop with light and dark mode

Hacktoberfest

Important

Creating/Changing/Deleting your JSON Profile do not count towards hacktoberfest and will automatically be marked with the label invalid so that Hacktoberfest ignores your Pull Request But this does not affect your Pull Request being accepted and merged into BioDrop

All other Pull Requests will count towards Hacktoberfest.

If you…

OpenMetadata Docs

OpenMetadata docs page source code

GitHub logo open-metadata / docs

OpenMetadata docs page source code

OpenMetadata Docs

This is the main repository hosting the core implementation of the OpenMetadata docs.

The end-to-end setup is showcased in the figure below:

setup

Then, the process of contributing to the docs depends on whether you are a core contributor and need to update the layout, components, styles, etc. or you are a content contributor.

I am a Content Contributor

Your role here is to update the markdown files and menu, i.e., anything content related without needing core changes in terms of layout, landing page, components...

Start the docs server

From the OpenMetadata repository, run make docker-docs. This will pull the latest published image from our docs in development mode. It also runs the container passing some volumes that will pick up the content of the files under openmetadata-docs. In there, you will find all the directories with content you might ever need to change:

  • content/ for the…

HackRPlay

Hack-R-Play is an initiative from the ReactPlay platform to help you hack, build, learn, and simultaneously contribute to OpenSource through hacktoberfest.

GitHub logo reactplay / activities

This project contains the code of the activities(hustles) webapp of ReactPlay.

Activities

A reactplay hustle

This is a Next.js project.

Getting Started

  1. Install dependencies

    yarn
    Enter fullscreen mode Exit fullscreen mode

    Note: We do check in yarn.lock file. So it's advised to use yarn package manager. If you need to use any other package manager, remove yarn.lock file from the local directory first. Also, do not check in any other lock file.

  2. Create a .env file at the root of your project folder with the following content,

    NEXT_PUBLIC_NHOST_BACKEND_URL=https://rgkjmwftqtbpayoyolwh.nhost.run
    NEXT_PUBLIC_NHOST_SUBDOMAIN=rgkjmwftqtbpayoyolwh
    NEXT_PUBLIC_NHOST_REGION=ap-southeast-1
    NEXT_PUBLIC_NHOST_PROTOCOL=https
    NEXT_PUBLIC_NHOST_SERVER=rgkjmwftqtbpayoyolwh.nhost.run
    NEXT_PUBLIC_NHOST_VERSION=v1
    NEXT_PUBLIC_NHOST_ENDPOINT=graphql
    NEXT_PUBLIC_DEV_PORT=3000
    NEXT_PUBLIC_PROTOCOL=http
    NEXT_PUBLIC_HACKATHON_ID=e606ae64-7c92-4344-94ad-4d0684458bcf
    NEXT_PUBLIC_HACKATHON_SUBMIT_STATUS_ID=ec1c0649-3b65-4809-92cf-9c4a6abdff1b
    Enter fullscreen mode Exit fullscreen mode
  3. Run the development server:

    npm run dev
    # or
    yarn dev
    Enter fullscreen mode Exit fullscreen mode
  4. See your application running Open http://localhost:3000 with your browser to see the result.

React-awesome-shapes

Insert Awesome Shapes into Your React Site with Ease.

GitHub logo ashutosh1919 / react-awesome-shapes

🌀 Insert Awesome Shapes into Your React Site with Ease.

preview

React Awesome Shapes

🌀 Insert Awesome Shapes into Your React Site with Ease.

NodeJS NPM code style: prettier
Netlify Status License Maintenance Website Price

Loved the project? Please consider donating to help it improve!

Consider following DevSense on YouTube.

If you want to discuss about something, then you can ask on official Discord Server.

⭐ Star us on GitHub — it helps!

Getting Started 🎬

The easiest way to use one of the shapes from Awesome Shapes is to install the NPM package and import the particular shape to use it.

Install NPM Package

npm install react-awesome-shapes
Enter fullscreen mode Exit fullscreen mode

Import And Use

import { ShapeName } from "react-awesome-shapes";
...
function ShapeComponent(props) {
    return (
        ...
        <ShapeName {...passParametersToCustomise} />
        ...
    );
}

export default ShapeComponent;
Enter fullscreen mode Exit fullscreen mode

The shapes are very easier to import and use wherever you want and in any web framework that uses NPM.
You can set different sizes…

I thank you for reading it to this point. In the next part, I will share other aspects of the project to contribute and the perks of OpenSource Contribution.

OpenSource Contribution is not only about coding

When I was exploring the OpenSource projects, I had a very common misconception that OpenSource is only about coding. but after contributing to one or two projects I got to know that there are other parts of the project where I can do my contribution.

The following are the other aspects of the project to contribute.

  • If you like planning events you can help the project to organize the workshop or meetup
  • You can help with the design by creating a style guide to help the project have a consistent design.
  • You can write and improve the project documentation and You can write tutorials about the project.
  • You can test the project and create an issue if any or You can request a new feature.
  • You can help the project community by answering questions or moderating the discussion channels.
  • You can review other people's submissions and provide valuable feedback

Perks of OpenSource Contribution

  • When you contribute to OpenSource, you learn something new or improve your existing skills.
  • In the OpenSource project, you work with different people, which means you will have to explain how things work and ask other people for help.
  • It gives you an opportunity to see how others work and do things, which helps you gain more experience in the process.

Summary

Learning, teaching, and building experience can all be gained through contributing to OpenSource.

And that’s it for this topic. Thank you for reading.

Connect with me

LinkedIn | Twitter

Top comments (4)

Collapse
 
caseyeee profile image
Casey Echternacht

I'm still in the "wandering aimlessly" phase of my journey. I enjoyed your post; this makes me want to dip my toes into open source contributing

Collapse
 
sachinchaurasiya profile image
Sachin Chaurasiya

Thanks for your kind words, glad you found it useful.

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard

Great article, bravo!

Collapse
 
sachinchaurasiya profile image
Sachin Chaurasiya

Thanks man 😀