How I Got To Know About Open Source
As a child , I remember, way back in 2014s browsing through Terms & Conditions of Programs on Windows 7 when there was no Internet . From there I remember seeing "Free to Use , Open Source" . I always wondered what that meant, but did not give it much thought as soon as data pack was recharged and I was back to streaming movies, playing games.
It was until 6-7 months back , I accidentally discovered a Video on GSOC (By Kunal Kushwaha) that made me research more about it and actually experience what it is . I was into Mobile Dev , (iOS) in my first year . Thought let's see what it is.
My Initial Failed Attempts
Initially I would go on to GSOC Website , search for some projects , and after filtering, according to my tech stack, get overwhelmed by complex technical issues, and just give up.
Even if did clone the project, After seeing "too much", complex code base, or being not able to build the project and be like (Oh I have not studied this, I should to do more courses first) I would be back to this forever loop of doing courses , making some projects , then forgetting all after 2-3 months and then again starting off from scratch .
So I thought let's not try with code contribution first, and I discovered this.
Again tried Added my name , raised a PR , made some conflicts , gave up again as I did n't know git properly and was asked to make changes could n't understand what to do where and which branch
After this I thought may be this something for experts , as was struggling to even add my name .
How Will I Make Code Contributions?
My First Merge Request
By now I had Started using Twitter and LinkedIn, and was seeing various people who had been contributing to projects related to my Tech Stack.
After that I personally started talking to people on projects available related to my stack
This was the time again thought of give it a try again (Just 1 month back).
Found a Issue, Raised a MR and got it Merged !
What was that I did differently ?
1. Being more Patient
Whenever trying any contribution , I learned to first give the project some time before attempting anything .
Talk to Maintainers.
Ask your Doubts.
There 's absolutely no need to rush things..
Join their mailing list and public communication channels.
But also don't go about and bombard them with questions , make use of StackOverflow , Internet as well.
Most of the time is spend on reading code than writing it initially.
2. Most Learning is On the Go
In my first MR , it required me to write code in Objective C .
I did it even though I didn't know how to ..
Make proper use of Documentations , Trying Implementing in your sample apps, then go about how you would do this in the Real Project.
2. Writing Clean and Maintainable Code.
Just because your code is working doesn't mean it's the most efficient way of doing things.
Work on the reviews given on by the maintainers , keep them in mind in your future MRs.
Also name the Properties and Methods depending on what they do .
3. Not Taking Criticisms Personally
You will make mistakes , just take them professionally. and work on them.
It feels bad initially , but trust me go on and focus on what is being said and thinking about the perspective of other people.
Don't take an impulse reaction that can spoil a future potential relationship and networking opportunity
Don't be in a hurry to have your MR merged.
It will be , eventually..
4. Just Comparing Yourself to Your Previous Self.
Always Pause and take a look and what you can do now that you couldn't previously
Here's how I do It.
I struggled with adding my name , and now can at least make a code contribution as a beginner
Yes,
There are people who make major changes , I look forward reaching there someday but that doesn't make my progress smaller.
Things will fall into place.
That's A Wrap !
By Following these simple 4 Learnings, I made close to 4 code contributions in last two months something with which I was struggling for months.
I look forward to solve more complex issues.....
I hope this article was of any help to anyone reading this.