Open source has always been a fascinating concept to me.
Open source is basically giving out your entire work for free to anyone. Not just free to use but free to look into internals too which includes architecture, design, code, etc. We are not only talking about some minor work, but also projects of large complexity and scale.
When I was a kid, my brother and I used to have discussions where he would advocate it and I would argue against it.
- Sure, you can create something but it wouldn’t be at par.
To be honest, most of the points were limited and derived from Windows/Linux experiences.
- What is in for people to open source?
There is no money.
Neither will you be recognized.
In fact, you could be criticized if there is some silly mistake.
- Leave an individual. What is in for a company?
Won’t it lose competitive advantage?
Why waste its time on non-consumers?
Why? What’s in it?
Needless to say, I was mistaken.
When I joined ZAPR Media Labs, it opened a vast world of different technologies for me. Most of them are open source. They are huge, complex and of amazing quality. Developers around the world are collaborating and investing their time and energy, apart from work and home, to build such stuff. Wow!
As time progressed, different tools and technologies used and it became natural to use them. On hindsight, I feel that we probably took a lot for granted.
Once there came a project in which Druid, a database, had to be queried programmatically. The process was cumbersome. We banked on our usual answer: Let’s look out for an open source solution to ease it! (mark the difference in attitude). We didn’t find anything which suited our need so we built an in-house module. As I talked to the other team members and Siddharth (VP Engineering), we realized that it could be a very useful for others in the team and also for everyone out there.
I guess something kicked inside us. Nihit and I started developing a separate, generic library that can be used by anyone, anywhere. Those who have worked in a startup would resonate with the feeling that you are always scrambling for time. Time is something which you don’t have in abundance. So, we worked at it on weekends and whatever empty patches of time we had on weekdays. Also, since the code would be public, there could be no shortcuts which meant no hacks, no avoiding unit test cases, no skipping documentation.
Atreyee (Technical Architect) helped us out for some prerequisites for open sourcing, guiding us on structure and nitty-gritties, reviewing and verifying if everything was in the right place.
Finally, we released it
It was a surreal feeling to me. That night, I open source sat and enjoyed the moment. First, from being a non-believer to being a part of such ideology. Second, there was always this feeling that it was the work of big orgs or super intelligent people. But it is basically for anybody with something valuable to offer.
The question still remained: Why?
Not all returns are in tangible form and neither they come externally.
There is a builder spirit among us, which just wants to build stuff and is happy to see someone using it.
There is a feeling of gratitude and giving back to the community. Thank you everyone out there for providing us with the base on which we could grow our tech and business and not just reinvent the wheel.