What Open Source Actually Is?

Shantnu Kumar
5 min readJul 24, 2019

Well, we will cover a few terms first and then dive into the actual discussion! So without wasting any more time, let’s get started!

Terms often used here:-

Open Source: As the name suggests, it refers to such software whose code or more precisely source code is made available to developers so that they can learn and play around with the code and modify it according to their usage. This is one big advantage as we don’t get to modify source code of proprietary software or closed source software.

Collaboration: We can call it “contribution” as well. Developers individually or in a team collaborate to build software. Sometimes their efforts or sometimes they work as a team, aiming to build software by collaborating with each other.

License: Why the heck do we need to license our software when we have to give access of the code to all and that too for free? Isn’t it contradictory to the concept of the entire Open Source? Actually, it the license only that allows us to use and modify the software. They are of several types depending upon the usage of the software. Open-source licensed software is mostly available free of charge, though this does not necessarily have to be the case.

Open Source Community: Community consists of the developers that collaborate and build the software. There are several Chat channels where developers are pretty much active and respond to the queries asked by other users. You might have heard of Slack, Gitter, Zulip etc, these are few of the platforms where developers help and resolve issues faced by themselves or other users.

Now enough of the Buzzwords! Let’s try to simplify things further.

Open Source
One can also quote Open Source as a way of developing software using a collaborative approach with several developers working on the same Codebase(the main source code) at a time. The source code can be hosted on any platform like GitHub, GitLab, BitBucket to name a few with GitHub being the most popular choice. Developers then use the platform’s feature to smoothly collaborate amongst themselves. Several big organizations have roadmaps for developing their software within a stipulated period of time. Such platforms make tracking progress easier.
Now a question arises! Why should I choose Open Source Software?

People may prefer open-source software because:-

They have more control over the software!

Imagine you don’t like a feature of the software you are using! You turn your developer’s instinct on and change the Source Code of that irritating feature and Voila! You have changed the software according to your need and comfort! 😎

They can learn about the Source Code of any software they want!

Well, this won’t be that easy as it sounds! But this is certainly possible given source code is openly hosted and accessible to all. All we need is the knowledge of the software’s tech stack and zeal to read some long piece of code!

One can improve their tech stack by working on existing projects.

Clearly, open source gives you a chance to work on projects related to your tech domain. You need to decide your tech domain and explore a bit to find projects related to your interest and domain. And the best part is that if you commit mistakes, you are then guided by developers in the community, that helps to improve understanding of the project and the tech stack!

Open Source software is relatively lower in cost than their proprietary counterparts.

This could be attributed to the fact that Open Source community, apart from developers is also supported by users who contribute for fun and learning purpose unlike in proprietary software’s case where developers are getting paid and are under some big organizations. That lowers the cost of Open Source software and helps in maintaining it better!

Hey, Hold On! Everything that shines ain’t gold!

Why Open Source can be a bit of mess sometimes! Let’s find out.

Intimidating to use OSS and learning curve is a bit steep!

OSS means “Open Source Software”. Well, too much flexibility can be bad as well! People can have hard times setting up and running the software. These are more prone to bugs( a nightmare for every developer ) than proprietary software, not always though! Sometimes unclear documentation causes more trouble and people may have tough times troubleshooting. Proprietary software is generally better documented than Open Source Software.

Open to vulnerabilities as the source code is accessible to all!

This point is debatable as developers are the one responsible for any insecurities. Also, these insecurities help to identify potential threats or bugs. Some bugs could be taken advantage of, but once found will only help the developers to make the software more robust to such attacks!

What can be concluded?
So it can be said that Open Source is not just a software type, it also defines the way software is built and accessibility to source code. They provide software with competitive quality as compared with the closed source software and that too for free, sometimes with much lower price.
Now, I hope we have a fair idea about Open Source Software and advantages and troubles faced while using it. In the upcoming posts, I will be writing about Version Control Systems (VCS) e.g GitHub and how things work over there!

Now that you have reached this far! I hope that you enjoyed reading this post and got to know a thing or two from this post! If you like it, don’t hesitate to clap (comes for free of course😁). Your appreciation will encourage me to write more.

--

--