Paying It Forward: Open Source @ Haptik
Right from early days at Haptik, when it was only Swapan and I writing code, we had this strong urge to ensure that we would contribute to the open source communities in any way we could. We had, after all, benefitted a lot from them.
I can’t deny the disappointment I feel when I look around at the wider Indian tech ecosystem’s contribution. Yes, there are a few worth highlighting such as those mentioned over at this blog. However, the prevailing culture of “Why would we contribute to open source if we are barely able to ship what we need to ship” needs to go.
Looking into it, we realized that the best way we could help out is by listing down some of the benefits we’ve seen. If the senior management of other tech firms in India were to look at this list, we hope they’d try to fit in open source contributions into their work environment and responsibilities.
- Code is easier to maintain: ask any programmer and they’ll tell you that if you build something long enough, and aren’t careful, you’ll soon have a ton of spaghetti code. Open sourcing is an easy way to force your team into modular programming practices and write good, clean code that anyone can understand.
- Free code reviews and bug detection: as soon a project picks up steam, there’ll be others depending on your work who’ll be generous enough to help out.
- Security: nothing freaks the Dev Ops guys as much as knowing you’re going to go out and show the world how your apps work. So before you get the go ahead from them, you’re forced into looking at the security side of things to protect your internal systems, which has a side benefit of protecting you from other malicious attacks as well.
- Job satisfaction: every star that a Github repo receives makes developers feel great about their work, probably more so than a dozen 5-star reviews on an app.
- Hiring: probably the most undervalued and overlooked benefit. See all those people starring, forking and contributing to your work? They’re all interested in what you’re doing and are, to different degrees, involved in it. They’re prime candidates that you should be reaching out to.
- Branding: you’ll win the love of the community for helping out others, and are almost guaranteed to win over loyal followers as a result. Open sourcing can be as impactful to the niche audience as any expensive marketing campaign.
A big part of us wants to start a “Ice Bucket Challenge” equivalent of an open source contribution movement amongst startups in India, but we’re going to relent. We don’t want to force anything on anyone, or put anyone on the spot. The best open source work comes from those who genuinely want to contribute.
- CustomType: a library that allows Android developers to set custom typefaces to TextViews right from the XML itself. Also handles memory management for TypeFace objects.
- Proteus: allows you to tint white drawables with any color that you need at run time, both from Java code and from XML. Helps reduce your apk size by reducing number of icons required.
- Atlas: The standard location API on Android doesn’t have an inbuilt timeout, so we built this. Small, but ridiculously helpful.
- Hermes: Until v3.0, adding GCM to your app could be painful and had a big learning curve. Hermes made it easy. Now deprecated.
- Pacemaker: GCM messages not being delivered on time to a number of your users? Could be a bug that can be fixed by adding Pacemaker.
Want to share your own contributions? Or benefits you think we’ve missed out? Go ahead and comment.