India is a closed source community or am I missing something here?

Open source software has been a constant buzz among few of the iSPIRT volunteers over last few months. How does India rate on OSS contribution? Does OSS seriously matter in the success of a software / software services business? Is it important enough to build an OSS ecosystem for the India based startups?

My own perception has been that the OSS engagement in India is low and as a result the contribution is low. I have often wondered why has not a single Indian OSS product featured in the top 50 global lists. Why India has not given an OSS product, foundation or a community like the LINUX, Apache, Mozilla or Hadoop. Why has no Indian voluntary OSS community ever achieved critical mass? Why even there are no OSS services companies of the likes of Cloudera or Hortonworks from the mecca of IT services companies?

There were many other questions and I am sure you the reader also have some questions, assumptions and answers to share. So I talked to few leading OSS lights around besides doing a quick research at LinkedIn. I am sharing some insights and findings in this post with more to follow in the next post soon. I might be way off the mark here, so please have patience and share your views.

Some market stats

Global OSS acceptance by end-users has grown at a healthy pace. Blackduck’s 2015 Future of Open Source survey reports 78% of the respondents’ companies ran operations partly or completely on open source. As per the report, in 2-3 years, 88% of the companies are expected to increase their OSS contribution.

RedHat (Linux) has been the lone poster boy of OSS industry for a long time. Today it has revenues touching USD 2 billion and a market valuation of USD 14.5 billion. OSS has gained VC interest as reflected in growing VC funding in OSS space and rising valuations of OSS companies. Tracing back fifteen years, gross VC funding in OSS companies works out to roughly USD 7.5 billion; averaging USD 750 million annually in recent years. Recent OSS successes include (figures are revenues / valuation / funding raised) –

Cloudera (Hadoop):  $200M / $5B / $100 M

MongoDB:                  N.A. / $1.6B / $311M

Hortonworks:             $60M / $1.1B / N.A.

Global market size of OSS based products is estimated at about USD 50 billion. Though it seems improbable OSS market will any time soon reach the size of proprietary software (USD 50 billion vs. USD 320 billion in 2015), its double-digit growth rate (compared to 3%-5% for proprietary software) presents an attractive opportunity to tap into.

What does it all means for India and Indian OSS companies?

India and OSS

Gartner estimates that by 2017, about 90 per cent of Indian IT organizations will have open source software (OSS) embedded in their mission critical platforms. The user companies hope to lower TCO and increase ROI with OSS use. The industries with significant OSS adoption include education, banking, financial services and insurance and government. Education is the leader here – majority of public and private educational institutions using OSS for library automation, and several research organizations applying it to drug discovery space. Indian small or mid-size businesses use OSS as client facing service portals. The large IT companies such as Wipro, Infosys and Tech Mahindra are already using OSS to test software for clients.

The majority of Indian government offices are directing new initiatives that involve use of open-source software and solutions. Some of the prominent government initiatives include NRCFOSS (by DEITy), FOSSEE (at IIT Mumbai), BOSS (at CDAC) and whole lot of state government initiatives.

OSS contributors – Indian companies

As anywhere in the world, OSS engagement in India happens in two ways – (Paid) Employees at software product and services companies and IT employees in plethora of other businesses contribute OSS code either as their own product or to existing OSS projects like Linux, Hadoop etc. I am not including OSS contributions from the likes of IBMs in this study.

A lot of this contribution happens on repositories and forges like GitHub and Source Forge. It is heartening to note that registered users and projects from India on these destinations are steadily growing. For example InMobi contributed OSS code to Hadoop project and Flipkart has opened source of few of its projects including a more popular project phantom. In last couple of years, largest Indian OSS contributions (though tiny by global standards) came from ShepHertz, Hasgeek, Practo and Freshdesk. Code for India is another large volunteer based tech community that develops OSS solutions for Elections, City Governance, Women Safety, Education etc.

Overall, contribution from India is tiny compared to the top contributors across the globe and does not generate healthy interest from OSS communities around the globe. For example, the most popular Indian origin repository on GitHub has 232 stars placing it at rank 5376 on a list of 219,071 JavaScript projects.

Is it a good achievement? Can it be bettered? If yes how?

OSS – individual contributors

Then, a lot of individuals contribute to OSS project outside of their day-jobs. This is unpaid voluntary contribution driven by individual passion. Some leading lights in this category include – Hackerearth developer Sayan Chowdhury who is on Mozilla’s roster for contributions to Mozilla Kuma and Rust projects, Eucalyptus Systems’ Kushal Das who was nominated to Director of Python Software Foundation, Anand Chithipotu with big contribution to web.py, and Siddhesh Payarekar (Glibe). More recently, two developers getting into limelight are – Prakhar Shrivastav (102 repositories on Github with some having 1000 – 12000 stars), Karan Goel (113 repositories on Github with several having 500 – 8000 stars).

FOSS activities in India

FOSS related activities are mushrooming in India. For example, there are more than 150 Linux User Groups. Annual FOSS events on campuses and outside like OSI Days are growing. There is greater Indian participation in global FOSS events like Google Summer of Code, Code Jam, etc.

What drives low OSS contribution from India?

I asked a few OSS contributors around, Range of answers I got fell into three buckets – individual behaviors, employer policy and process, ecosystem issues.

Individual behaviors: Maslow’s hierarchy of needs seems to at play here. The respondents were unequivocal that Indian programmers write code for a living not for passion. “We focus on daily work and do not enjoy programming as a hobby.” Other factors that came out were – fear of being judged and ridiculed, poor communication skills resulting in lack of confidence and plain ignorance of OSS – What is Open Source? Can I even contribute? What are the legal issues?

Employer policy and processes: Other set of issues related to the employers. I found that programmers were motivated to contribute but the employer either did not encourage OSS contributions or were just confused about OSS policy and process. One respondent told us – “We would like to promote OSS contribution but we are hindered by the lack of a sophisticated OSS policy (as community participation requires a set of standard guidelines throughout the company).”

Another respondent told us – “We do it more on an adhoc basis and usually during low activity periods (which are rare).” An OSS evangelist reported – “I think developers are enthusiastic about it but the companies and managers do not focus on it. If they give enough time for developers to do OSS (initially it needs extra efforts and time but slowly developing like that becomes a habit), it should improve. “

Finally, it appears that IT services companies do not encourage open source contributions and elsewhere there was focus on exploiting OSS code rather than contributing back.

Ecosystem issues

The third major bucket of issues can be aptly labelled eco-system issues. These include educational and legal.

A common feedback across respondents was – “If India, like developed economies, too has strong IP Law and enforcement, we would see many software producers and consumers shift to OSS paradigm.” A feeling prevalent was that others consume OSS without giving credit and the law either does not protect of the legal process is lengthy and expensive.

Another important feedback was – lack of awareness of OSS licenses led to indecisiveness about OSS contribution even when the intention was all there.

A comment on the Government of India’s OSS policy said – “the policy is great but implementation leaves lot to be desired.”

Folks, I ask you if these issues sync with you. Please write back to take this conversation forward.

OpenSource: The Most Underused Strategy by Indian Software Product Companies

Open Source has been quietly making its mark. Kickstarter just completed a billion dollars in crowdfunding. A lot of the work funded via Kickstarter is licensed for public use. Because the initial capital is pitched in by lots of people, the creators have a lot of incentive to give it back to the people.

The Do-It-Yourself community in both software and hardware is also on the rise. This is an early adopter and very influential community. The promise of free software promoted by Richard Stallman is no longer a promise. A lot of the backend tools you are using to build your software product are already Open Source. So why not take the next step and make your product Open Source too.

Adapt or Become Extinct

Five years from now, the product you are building will be replaced by an open source alternative.

Ok, maybe ten years from now. But it is going to happen. In the long run, as more and more libraries and mature frameworks become available, the barrier to entry to make a new open source product will reduce further. Deployment will become easier and the ecosystem will provide easy to install platforms. Right now, there is a dearth of high quality, usable open source tools, but it just takes one motivated developer to change that.

Unfortunately in India, we do not have too many examples of Open Source software products. We at ERPNext, open sourced our product a few years back and now we are seeing the benefits. We spend very little time worrying about surface level things such as Customer Acquisition Costs and A/B Testing, because our users and customers come looking for us. Sometimes, there is a cherry too. A German company just wired us $5000 because they wanted us to listen to them when we decide the product roadmap.

Getting Started

So if you are considering going the Open Source way, here are some pointers:

1. Believe in Open Source: There are no half measures here. There are tons of projects on sourceforge and GitHub that are dead because there is no documentation, or are not deployable or not updated. If you are going Open Source, go the whole way.

Another annoying strategy some projects follow is that they make a part of the product open and some parts paid. This is something like the freemium model. Avoid this, you will never win true followers this way.

2. Documentation: Prepare good documentation for users and developers. I had read an interesting comment by John Resig (the creator of JQuery) on why JQuery became the standard leaving all others aside. He had said that JQuery was simply the best documented project. As a developer just remember the time when you came across a badly document API or library. This is very hard and is a huge investment, but its a very important step for going ahead.

3. Make it Deployable: Give your users a good development environment and a production environment. Unless your users can deploy your solution in production, there is no chance of you getting feedback, or issues or contributions. And when you make it deployable also make the upgrade scripts public, so people can easily upgrade your software. Ever really noticed when Chrome or Firefox upgrades? Make it as easy as possible for your user.

When you do all of this, you will automatically start following a lot of best practices, because suddenly not only are your users your customers but also developers.

Cloud and Open Source

As virtualization and cloud gets more popular, Open Source will be the direct beneficiary. Already platforms like Bitnami specialize in creating free deployable VMs for Amazon and DigitalOcean. Soon, it will be easy for anyone to start using Open Source products on the cloud.

We at ERPNext give away VMs for free, but they can also become a source of revenue.

Business Models

The most obvious doubt you will have when you think about Open Sourcing is what will happen to your current revenue, will your customers stop paying you? Think again. Open Source is no longer a pariah to venture funding. Scalable business models can be built around Open Source. MongoDB and RethinkDB are great examples. MongoDB got funded at a valuation of a billion dollars. Here are some revenue sources:

1. Hosting: WordPress makes money off blogs hosted at WordPress.com – they own the brand.

2. Support: RedHat and all the Open Source databases make their money out of support.

3. Implementation and Deployment: SugarCRM, OpenERP and others make money via their partner network, who in turn give implementation, deployment and training services to their customers.

4. Sponsorship: As your property gets more and more visitors on the web, it will be a great opportunity to find sponsors. Examples Mozilla and others.

5. Consulting: Over high value consulting to paying customers. Enterprises are already paying huge sums to licensed vendors. With money on the table, they will be happy to buy premium consulting from your company. Example, PerconaDB

Let Us Lead

The sharing economy has already begun and is going to be the future. India is coming from behind as far as the software product revolution is concerned, but Open Source can be a great enabler in helping all of us break in.

The Buddha never patented the eight-fold path and neither did Patanjali copyright Yoga. Knowledge grows when you share it and same is true for software. The more used your software becomes, the better it will get and the faster you will reach to nirvana.