There's a lot to unpack in the title. Let's start with FOSS United. FOSS United is an Indian non-profit "dedicated to the cause of building Free and Open Source (FOSS) projects and communities in India". As part of building FOSS communities in India, they host a monthly meetup in Bengaluru which I started attending in December 2022. In the January 2023 meetup, I gave a talk on the Digital Personal Data Protection Bill 2022.
For the February 2023 meetup, I proposed a talk on Scientific computing because everyone I met in the Dec 2022 and Jan 2023 meetups didn't know what a "Scientific Software Developer" does. The proposal was rejected but the organizers reached out to me and asked me if I was interested in being part of a panel discussion on "The State of FOSS" in India. I enthusiastically agreed, the panel had an internal meeting to prep for the discussion and the moderator came up with a set of questions. The panel discussion happened this past Saturday, 25th February 2023 and it was a hoot. Here's a short summary of the questions and my responses to the questions.
Introduction
I'm Rahul, a Scientific Software Developer. I have a B.S. & M.S. in Physics. After graduating, I started working at Enthought and i've been with them for the past 7 years. I've been using Python and the Scientific Python ecosystem for roughly 10 years and I've been contributing to FOSS for roughly 5 years, mostly to projects that Enthought uses and maintains.
Over the last few years, how do you see the growth around FOSS in India? Do you think it has gone stagnant, reduced or increased?
From where I'm sitting, FOSS usage and contributions have definitely increased over the past 5 years. More Indians are contributing and a few high profile projects/packages have Indian maintainers. For example,
Pradyun Gedam is a maintainer of pip and a member of the Python Packaging Authority (PyPA), both of which you should be acutely familiar with if you use Python every day. There are a number of Indians
working at Quansight Labs who maintain packages in the Scientific Python ecosystem. Finally, prominent FOSS projects like
Frappe &
ERPNext,
Hasura have come out of India.
There is definitely some backlash and negativity towards Indians from the global FOSS community around meaningless contributions during
Hacktoberfest or
GSoC but someone from the Jan 2022 panel mentioned that this is a small price to pay given the number of Indian students who are trying to get into FOSS.
What would be that one thing you would change around the FOSS culture in India?
I asked the audience if anyone had heard of
"The Tragedy of the Commons" and a few people raised their hands. I then briefly explained how a few people, acting according to their own self-interest, could deplete and ruin a common resource for the majority. In the context of FOSS, a few people demand new features and immediate bug fixes from projects, bad mouthing the project if their concerns aren't addressed. They don't contribute back meaningfully e.g. by contributing time or money. And their actions can lead to the maintainers losing hope and abandoning a project, that the majority of FOSS users benefit from.
This is not a problem with India specifically but given the way we Indians maintain our streets, our parks and the common infrastructure that we all share, it's a problem that is potentially exacerbated in the Indian context. We should all be better FOSS citizens and lend a hand to maintain FOSS.
How do you see organizations playing a vital role in promoting FOSS? If there aren’t enough, what do you think is stopping them?
I flipped the question around and told the audience that it's their responsibility to promote FOSS at their organizations. I asked the audience how many of them knew what one hour of their work time was worth, in dollars or rupees. A few raised their hands. I gave a small example of how if one hour was worth 1000 rupees and if a FOSS project saved 1000 hours for a company, that's 10 lakh rupees (1 million), a number that no manager or executive can ignore.
As professional software engineers, it's our responsibility to build the best products and choosing the appropriate FOSS project after performing a cost-benefit analysis is a fundamental skill that we should all cultivate. The managers and executives in our company aren't responsible for keeping an eye on new and interesting FOSS projects. Their concerns are to generate revenue and keep the company running. So it's our responsibility to understand them and talk their language when convincing our companies to use FOSS.
One tip you would give to your younger self while getting in to Open Source?
I asked the audience how many of them check
Hacker News (HN) atleast once a day. Many of them raised their hands and joked that they check HN multiple times a day. I then asked them how many of them felt FOMO (Fear Of Missing Out) because they checked HN regularly and many raised their hands.
I would tell my younger self to avoid the hypetrain. Checking HN regularly is bound to expose you to the hypetrain, showing you all of the new and shiny projects that could in some way or the other be used at your place of work. Atleast a few times a year over the past 7 years, I've felt FOMO because I would see the rest of the software world whiz by while I felt like I was sitting still, developing desktop applications for a handful of users. Now, after seven years, I finally don't fell FOMO no mo.
Running behind the latest thing isn't the professional thing to do, in my humble opinion. Sure, if a new and untested project shows up which perfectly fits your problem domain at work, it is possible that the benefits of adopting it will outweight the costs of using an alpha-stage package. But the chances of this happening are slim. Read through the
https://boringtechnology.club/ presentation when you have the time. Most of the time, the professional thing to do is to pick a boring technology that has been battle tested but being constantly exposed to the hypetrain make this a difficult decision. And trying to constantly run behind the new and shiny project is bound to make you unpopular with your managers, who are trying to build the project/product in the safest, quickest and cheapest way possible.
Finally, I believe Professional Software Engineers master the tools that they use everyday. I mentioned how I asked a mentee to read the entire Python Standard Library reference. You should have read the entire documentation for all packages that are central to the project/product that you are building. You should be comfortable diving into the source code for such packages. Only by mastering the tools can we call ourselves professional engineers.
Questions from audience and discussion
One of the audience participants was disappointed that I hadn't mentioned the state of FOSS funding and
what is happening with core.js as an example. I agreed with them that FOSS funding is extremely important to discuss but that it needed an entire 40-minute long panel discussion and that we would only be doing it disservice by briefly mentionting it.
All in all, it was a fun panel discussion and we had a lot of debate after the discussion ended regarding the various responses that the panel members had for the questions above. I'm eagerly waiting for the next meetup!