To start, let’s get to the definition what actually Open Source and Open Source Software(OSS) is,
Open Source refers to something people can modify and share because its design is publicly accessible.
Open Source Software(OSS) is a software with source code anyone can inspect, share and enhance.
There are a bunch of open source softwares, mentioning few, Firefox, Chromium, Linux, MySQL, Gnome, VLC Media Player… and many more. To get started with an open source is not a piece of cake. You need a whole lot of dedication, patience and devotion.
I started contributing to Sympy during my semester break. To be honest, at that time I knew nothing about Open source, how and where to start contributing, I explored lot of internet stuff, asked a lot of people and finally got Sympy as the organisation. I chose Sympy because it is purely Python based and I knew some Python. There I started communicating through IRC channel, participated in the chat room, made my doubts cleared. I focused on a particular module,looked into issues and finally made my first contribution. Having your changes merged is a thing of delight. I was really happy that my changes were accepted(though it was just a documentation change still it was a great success for me). I know I have to do a lot of more stuff, but this little success will surely help me getting a bigger one.
I know contributing to open source for the first time can be scary and a little overwhelming that is why I thought to write this. I hope this would help you to just take a start because to get a start is the most important thing to move forward ahead.
Getting Started
First of all one needs to figure out what actually the interest fields are. It can be Web development, App development, Machine learning, Coding or any other stuff. One should have a clear view of it.
The next step is to chose an organisation that interest you the most. Be specific on choosing an organization because it will be the one where you will be spending all of our knowledge and time.
Now comes the point which is the most difficult of all- How to be a contributor, how to start contributing in an organization’s huge confusing(scary though) code base. When I started, this was one of the most toughest part that I faced. Following are the tips that I learned during my contribution, hope this might help
- Get acquainted what the software does. Most open source organisations uses GitHub as a platform for version control. Get familiar with Git and GitHub.
- Get a local copy of the repository in your machine.
- The whole code base is divided into modules which are further divided into sub modules..
- Pick a particular module in which you wish to work on. Get familiar with the code.
- One can also start by fixing some issues(I guess this would be a much better idea).
- There are IRC channel and chat rooms of every organisation, where one can have their doubts being solved by other contributors. Participate there.
This was just a gist about Open Source. If you have any doubts you can communicate leaving a comment. This is my GitHub Link
I really appreciate your efforts. Keep going bro!!!
LikeLiked by 5 people
Giving back to the community is like “An effort in making the World a Better Place”. Sharing experiences can motivate and inspire a lot of peoples to give back to the communities. All the best Buddy 👍 😉
LikeLiked by 4 people
Thanks bro, 🙂 you are one of those who have motivated me a lot !!
LikeLiked by 4 people
for a non-coder like me, i really appreciate similar blogs … thanks mate
LikeLiked by 4 people
You’re welcome 🙂 I wrote this so that everyone, be it a coder or a non-coder would be able to know what Open Source is rather than getting scared of it..
I’m glad that you liked it..!!
LikeLiked by 3 people
A good one, it can help someone override the fear of getting started in open source. Keep it on buddy 🙂
LikeLiked by 4 people
Thanks Inzi !! 🙂 It really gave a moral boost..
LikeLiked by 3 people
Today is my first day of starting with Open Source and found your blog, it cleared many doubts, thank you, Sir
LikeLiked by 1 person