My First Contribution to NASA

Aayush Arora
Coding Blocks
Published in
5 min readJul 2, 2018

Are you a developer who is not confident to start contributing in Open Source Projects, someone who wants to try open source projects with larger codebases or any enthusiast who is waiting for a good start.

With this story, I am trying my best to help you with the motivation and dedication you need to work in Open Source Projects.

It’s only a State of Mind

Left Part said “ You can’t do it “, “ It is impossible “, “ Are you sure you have that skillset ?”
Right Part said “ Everything is possible”, “ All you need is dedication and hardwork”, “ You just need to start “, “ What is the worst case scenario that can happen?“

I was too fascinated by the open source projects of NASA, but this was my state of mind when I was asking myself “ Can I contribute to NASA open source projects?

The environment profoundly influences our state of mind, belief system, and social media. One day, I was reading the book “Unsafe Thinking” by Jonah Sachs and realized that the state of mind is the crucial role player for motivation, dedication, and success. I am quoting the lines from his book in this post:

We are creatures of habit, programmed to seek the safety of routine. But, it’s actually safe thinking that is dangerous because it keeps our perspectives outdated and irrelevant.

I decided to start looking for NASA’s Open Source Projects that can match my skillset and was able to find OpenMCT, a visualization control framework for NASA developed and maintained by NASA Ames Research Center.
But, I was not sure, how to start with that. I couldn’t directly submit a patch. There must be some rules that I had to follow.

After searching on Internet, I came across the project website and contacted the concerned person via email.
Here, is what I wrote:

I was too lucky, to get a response back, the next day which asked me to sign a CLA ( Content License Agreement with NASA ). And, hence I got the answer to all of my questions, and the same applies to all who are not sure about the right time to start:

Stop trying to be an expert. Instead, be an explorer and practice whichever skills you are woefully lacking. Embrace how bad you are, how little you know, and how many questions you have.

This is, in fact, a golden opportunity — the chance to expand yourself in the fresh state of the beginner’s mind.

Fear, a Fuel to Creativity

All setup, I was having a project working on my Machine. I found one interesting issue to solve, which was looking easy and asked for the permission to solve.

I opened my editor and Holy Shit !!

100 Folders => 10 files Each => 50 lines of code => Total 50,000 Lines of Code => 24 Releases

I started tweaking the files related to the issue, started discussing on the repository to understand the problem more and yeah obviously, a special thanks to git grep to help me finding the right file :D

Fear is a powerful force. Fear can steer the course of decisions, both personal and professional. The key is to harness the power of fear, and to use that power to increase your creativity.

Struggle, Directly Proportional To Learning

After a struggle of ten consecutive days, I was finally able to fix the issue more than seventy percent and generated my first pull request with a label [WIP] Work In Progress explaining correctly my approach of solving the problem and asked the developers to help.

After a lot of discussions with the developers for about two months, it was concluded that we need to change the way of thinking while approaching the problem as we were having performance issues.

Yes, you thought that correct. It meant redoing that with a lot of hard work again.
But, the learning I had daily was exceptional.
So, I started again from zero and made my next attempt in eight days. It took two more iterations to reach the exact solution and to fix that problem.

Patience and HardWork, the Key in Open Source

Finally, the Pull Request got merged and my first code commit got submitted to NASA’s Repository.

Now, my left brain always gives me positive thoughts to contribute more :p
Though it took around six months to have my first contribution, I believe, the time will decrease exponentially as I move ahead.

All I need to remember and will suggest you too is, Patience in understanding problems and hard work to fulfill the commitments.

So, what are you waiting for, just choose your Open Source Organisation and have an impact.!!

At last, I would like to thank everybody who have motivated me this far. I would also like to thank all the developers in CodingBlocks, for maintaining and promoting the Open Source culture in the world.

If you liked the article, please clap your heart out. Tip — Your 50 claps will make my day!

Please also share on Fb and Twitter. If you’d like to get updates, follow me on Twitter and Medium. If anything is not clear or you want to point out something, please comment down below.

--

--