“It is just depressing to see the quantity of contributions towards Open Source from India”, a millennial-techie from Hyderabad was venting out during casual talk at the DevOpsDays Summit that just concluded in Bangalore.
The comment was appalling and deeply hurting at a personal level to me.
The thing that hurt me personally, was that until recently, I have been part of that Open Source -leecher category, who borrowed Open Source code, but hardly contributed back. Working on the OpenEBS project is almost like a redemption for my past behavior — it is better late than never. Isn’t it?
Though I could quickly recover from the personal hurt and guilt, I just couldn’t bring myself to admit that India lagged for talent towards contributing to Open Source — given that:
- India has around 10 million IT workforce, ranking 3rd in the Global Startup Industry with 4200 startups (as per the July report IBEF)
- Indian Origins are heading the top IT companies of the world. It won’t be far-fetching to say, it is impossible to find a IT company which doesn’t have an engineer of Indian Origin on its technical core team.
Being at the forefront of IT and being an Indian has always been something of a source of pride to me, for all the stereotypical slander that gets thrown around for Indian skills and cultural idiosyncrasies. (More harsh reality from Economic Times). I hate it that, most of what such articles are saying does have truth, being shielded from it in my close associations, doesn’t make them unreal.
This millennial-techie just shattered my pride!
A bit of search for the opensource statistics data got me to this — What countries have more open source developers per capita than the US?
The above inference is derived using the following GitHub data:
- pushes sent to github in August 2017
- include users who have their location attribute set.
- the ratio divides the unique users with population
For a country with 10m IT workforce, we aren’t even a tiny-bit green. (Appalling!!)
One could argue that, for countries like — India and China, any ratio derived through population will quickly eliminate them from being in the race for top. So let us look at the raw data..
8324 unique contributors of the 10m — It is insanely low!
Why are the contributors so alarmingly low from India?
I have interacted and got to know a bunch of these handful OpenSource enthusiasts — like @thenikhita, Goutham V, Suraj, @hchiramm, @rahulkrishnanra, Ragini Jain of FOSSCAFE and a few more. They travel down and hangout in such events, because they need someone to talk to, who can relate to them! They hope to encourage more people to contribute, by sharing their personal stories. It is an inspiration to just listen to their talks. Some of them have promised to do podcasts, which I am really looking forward to!
Anyways, I tried to circle back the question to these folks about what could be this alarmingly low rate of contributions from India!
The discussions that ensued, made it clear that there is a vicious pattern that has been established; by both IT services behemoths and the opposite spectrum — cloud generation startups. The vicious pattern sucks in the passion for pursuing OpenSource.
The behemoths, hide behind the shield of Client Confidentiality and protecting themselves from venturing into Open Sourcing, possibly being sued for License Infringements. The startups are running as fast as they can to stay ahead in the game (In the Game of Thrones, you win or you die!) by delivering insane number of features, incurring huge technical debts to avoid financial debts. Putting out the code with glaring technical debts is just giving another reason for competitors to de-value the product.
One thing that these two have in common is that neither of them really have an incentive in Open Sourcing their Designs or Code!
The irony however, for the Indian IT sector, as one young open source contributor puts it, the companies hire you for your previous contributions to the Open Source project. And when you ask about contributing after you join the company, the answer is non-committal and matter-of-fact!
“It depends on the project! Duh!”
Silver lining for Open Source in India..
Companie$ are seeing economic sense in Open Source. (Period!).
When companies like Mircosoft and Oracle, who thrived (and are) on proprietary software are getting onto the Open Source bandwagon — you know the shift towards Open Source is real!
Sometimes, you just have to look or open the door when opportunity knocks! For me, the opportunity came in through OpenEBS. In building the OpenEBS Open Source Project, I have frequented several meetups like opensourceblr, golang-bangalore, kubernetes, container-native-storage and so on. I have had the opportunity to meet people that are striving for Open Source.
Though the number is really-really small-small (like in Sulman Rushide’s Midnight’s Children), they exist! And they comprehend that Open Source contributions trump a multi-year degree, if you want to really gain expertise.
Hacking your way into becoming an expert, without a college degree makes economic sense too. Checkout Tetiana Ivanova’s journey to becoming a data scientist.
I strongly believe that contributing to open source is bound to become a necessary qualification, if you are looking for a job.
But first, find your peace..
We (in India) are still governed by day jobs that pay. There is no free-lunch.
If you are passionate about Open Source and not very particular about how you contribute towards Open Source, maybe, it is ok to work in a closed source project for a company, that is doing its bit in earning Open Source Karma.
Running Open Source Projects require tangible resources that can only be brought with $$. It is not always about your time and code, you need to pay for the servers and the tools that host, build, release and maintain Open Source Projects. It needs physical spaces as well that nurture communities.
If the company that you work for is associated in providing any of the above, then your company is earning its Open Source Karma and obviously, by working for that company, you are too.
With OpenEBS being OpenSource, it is hosted freely on Github, built freely on Travis and released freely via DockerHub. Maintains static analysis of the code at CodeCov and GoReport (hosted by Digital Ocean). In return OpenEBS (company) sponsors Open Source Events, has a developer community that give back to non-openebs projects. And it has recently announced opening up an Open Source Cafe in their Bangalore Office.
By working on OpenEBS, I can wash my personal guilt and feel a bit more optimistic. And I can say this is probably true for many folks working at companies that are paying back the Open Source Karma.
But what if, your peace is in becoming contributor to the Open Source.
Learn more about your identity and Open Source..
Here are some thoughts, that came up during the discussions with that handful of contributors I met at the conference.
The following thoughts apply to the individuals that are passionate about changing the world through Open Source, and not just landing the next job. (Open Source requires all kinds of contributions, so if you are passing by the Open Source to land that job, you can jump to the next section.)
Embrace these harsh facts:
- there are no day-jobs with the concept of #work-on-your-pet-project-on-fridays in India.
- you will have to work with a majority of people that believe in taking short-cuts — interrupting you with questions (claiming we are a very social society), without spending any time on self-research. It would make an interesting anthropological project to research why we Indians are the way we are — never admit to few things like “I don’t know” or saying No etc,.
- thinking objectively about code — not personally and politically is still widely alien to many individuals.
- being altruistically passionate about Open Source is a minority (you will either face hardships or be (mis)treated like a prophet)
- respect for competence (rather than competition)
- committing yourself to life-long-learning.
- humility and persistence. Lots of it!!
- dignity of labor — there is no hierarchy of better/worse open-source. It is just Open Source! Contributing to Code and Documentation at any layer, any language are all valued Open Source Contributions.
- tolerance towards companies and individuals that are not yet in Open Source.
- you are not alone in your passion for OpenSource!
- Open Source is about solving problems efficiently, by using and forwarding the work done by others. One of the Contributors, I spoke with rightly said — “Think of the ways in which Open Source can be applied in Indian context with agriculture and cost-effective-house constructions. Thats Open Source too!”
Finding your piece of Open Source..
Basics first. Take your time!
- Commit to a habit (discipline) of putting aside few hours a day or week in identifying the Open Source projects that interest you. To be a long-term committer, you need to be passionate and not-bored of the challenges that you are solving. Participate in meetups and conferences like DevOps, GopherCon, PyCon, and connect to other like minded people!
- Fools rush in. Take your time to see how much time you can really spend on the project. Open Source projects can be laborious — designs and pull requests can take minutes, days or weeks to get accepted.
- Learn to communicate in your own way. Having a great piece of code that never gets out is not Open Source.
We are at an exciting time in the IT industry which is very favorable for fostering the Open Source. You can now find a job (that sustains you) along with fulfilling your passion to contribute to Open Source.
Know that, Open Source has an business economy around it. Find the companies with an Open Source DNA, that are behind the projects that interest you.
For instance, I have found other companies besides OpenEBS like RedHat, CoreOS, Rook, Minio, Rancher, just to name a few that are solving problems in the container native storage space in Open Source.
Once you have identified a Open Source project, realize that it is like a society/nation of its own with their own contributing and community guidelines. Respect them, they are not that hard!
Make peace with change and critique — both of which are constant.
Let the Open Source flow through you!