Graphic by ~ Dev Sebastian

Introduction on how to get started in Open-source

In the age of data privacy and security, we’ve heard a lot of people talk about open source applications! especially in the last few months! in the ongoing wrangling controversy regarding Facebook and Whatsapp we’ve heard people talk about moving to OpenSource alternatives like Telegram and Signal! So what is OpenSource?

“Opensource is as less ‘business’ as it gets to writing code”, you are the developers and owners of an app that otherwise would be controlled by a private player! Open source is the democracy of apps. It is by the people, for the people, and with the people in every sense possible! enough jargon let’s head onto some real-life examples…

Introduction

On the contrary, there are some apps like VSCode, Android, Brackets, etc. whose source code is available for the public to see, learn, modify and even contribute to! There are also open-source programming languages like Kotlin and Python, and open-source development frameworks like React and Angular!

Some cool open-source projects and there are countless such more…

Enough with the examples, what actually is Opensource?

Software being open source means that not only is all of its source code available to download and view publicly, but it is also available for anyone to modify and even use in their own projects!

Both the Chrome browser by Google and Edge by Microsoft are based on an open-source project called chromium which is available for anyone to read, document, modify or even develop upon, and be released as a new browser! Who knows you could build the next Google Chrome that’ll rule the future of browsing!

Is it as difficult as everyone makes it out to be?

So where is all this code hidden? There can’t be a centralized location where all the source code is stored and can be accessed at a whim! Well at least there isn’t an industry standard, but that being said most of it is done on GitHub! There obviously are other git-based alternatives like GitLab and Bitbucket, but GitHub is currently the most popular open-source platform out there, and is very easy for beginners to get started with!

Quick fact: it is interesting to note that GitHub has now been acquired by Microsoft

So how does all of this work? Say Hello to Git!

Now let’s assume after a lot of fist throws and hurling of words at each other, Adam finally agrees to start working all over again on the updated codebase. Now, After a few cups of coffee, you realize, the added feature is quite difficult to understand for new users and it also makes the project a bit too complex! You want to go back to the stage prior to adding the new feature! How can you achieve this? How can you make the change so that Adam’s work is not affected by your highly ingenious mistakes?

Isn’t Adam working on a different part of the project, why should he be disturbed by your dubious qualms?

Now it’s 2:00 am, you decide to go to bed at last. As you are wrapping your legs around your blanket and grabbing the pillow and pulling it under your head, slowly drifting into your own dreamland — suddenly you realize you forgot to add a really important feature, and thumping back to the bed, reality hits you in the head and forces you back to your miserable life! (jk:p)

The next day you somehow gather your courage and discuss the matter with Adam, Adam finally loses his cool and you start wrestling with each other.

Angry Adam ~ People vector created by stories — www.freepik.com

So how can you address all these problems, and make working in teams a lot more fun? How can you make office spaces a lot more creative and rewarding, and stop workers from wrestling with each other over project deadlines and bottlenecks (like you and Adam?) Now, In the middle of your wrestle mania match with Adam, a third friend Sylvia comes up and suggests a very viable solution— “Why don’t you try Git?”

What is Git?

  1. You cannot start working on your part of the project until your partner finishes with his!
  2. The other person will have to start all over again if you wish to add some code changes to your already shared code!
  3. You cannot just roll back to a previous stage of your code if something goes wrong!
  4. We lose track of the previous stages of your code as you add new features and modify existing ones!

Git solves all these problems using the git workflow! So what actually is Git? Git is a version control system! nothing more, nothing less! there are commands in git that allows you to save your work at a given point of time (which looks like timestamps for your code), create different branches and work separately on each branch and merge them together later, or even revert back to an earlier version of your code with a single line of statement! Although it is out of the scope of this article to explain every git expression, the good news is you don’t need to know every git command out there to get started! Just understanding how git works and maybe knowing about 2–3 simple commands is enough to get started! I will soon write another article about git commands you need to know for getting started and link it here.

Getting started with Opensource

Step 1: Make an account

Step 2: Fork a repo

Step 3: Clone the forked repository to your desktop

Was this difficult? Well maybe at first but you will soon realize the merits of working in open source and how stuff works the way it does currently! Till then happy coding:)

Every moment we share together becomes part of our greater story…You are a part of my story and as you read this I have become part of yours:)