June 22, 2008. I'm doing my MCA in Siliguri, studying on student loan. Saved up some cash to buy a decent camera. It was hard to commit to save up that much, but I really really wanted a camera since I was a child. The afternoon before I'm to actually buy the camera, I called up my dad to tell him about it (not that I'll listen, if he says it's a bad idea - I was determined).
My dad picked up the call, listened to me and said, "well, you're 21 now, you make your choices. I was there to guide you, to prepare you to make the best choices in your life - I'd like to believe I did a decent job at it. If you let us know your decisions, we certainly appreciate that; but you don't have to ask for permissions anymore".
I'm not a guy who gets into "deer in the headlights" situations often, but trust me, I was perplexed after the call. I wasn't used to this... 99% Indian kids aren't used to this. We don't make our life choices. Our teachers tell us which college to get in, neighbors tell us which job to get and parents tell us which person to get married to. That works for us and if it doesn't we can regret about it after few years, and tell our next generation what they should do to avoid it. Outsourcing responsibility to someone more experienced, and obey their orders, and having a good self-impression to them always has been our forte. But what is this?!?
I was so overwhelmed by the sudden trust/responsibilities put on me, that totally ate up my determination and spat out indecisiveness. I ended up not buying the camera.
Back in 2011, when we started the new journey of Mozilla India, for what it is today... it wasn't easy.
It wasn't the inauguration of Mozilla community in India; there were already handful few people involved in it and had their own way of operating an open source community. This is not a place to criticize them, nor is my intention, but we barely got active help/support from them.
We were criticized for every action we took, every events we hosted; for how childish we were and how we were destroying the community. We were soft-black-listed in their books and have never been appreciated for our initiatives. Many of us had to go through and ignore the passive-aggression coming our way from the folks, who ideally should be our seniors, mentoring and helping us at it.
Nonetheless, we continued to make progress, and in 3 years we had probably the largest regional open source community in the world (I have no citation, please correct me if there has been a regional FOSS community more than a few thousand active contributor strong).
Were we too proactive and super hyped? Oh yes! Did we make mistakes? Oh hell, we did... truck loads of them. We learned from them, fixed it next time. Rinsed and repeated.
The fear of making mistakes never held us back from trying something new; and at the end of the day, that was the key factor for the radical growth.
Fast forwarding to recent times, when many of these "us" are considering to be the new-old folks (or already have been), there's a prominent void of the new-new folks. People who can take over, people who can be proactive and never hesitate to do something radical.
It's possible that we have been so much supportive of the activities, and hand-held the new community members, they've grown an inherent lean-on factors on these old folks; relying on them, expecting suggestions/permissions from them for every move they make.
If that's the case, it's cute and lovely... that this time on, the new members are getting the mentoring they deserve and subconsciously are relying on their informal mentors/hand-holders in the community. But at the same time, it's possibly hindering the new members to step up and take over the responsibilities.
We lacked the guidance and appreciation, but we were proactive to make our own moves. It's not about having the willingness to get something done, but actually going ahead and doing it.
Now that we have the old-folks more than willing to support the newcomers, we don't have enough pro-activeness from the newcomers (either out of respect or out of fear of making mistakes or both).
We often don't realize how special we are, and how normal solutions aren't as effective for us. We are the largest (again, correct me if I'm wrong) open source community on earth, trying to have an unified structure and governance. In no way we can operate on the same norms of most other regional communities, which are much less riddled with diversity of all sorts, and has much less constraints internally.
Let me try and explain with a bad analogy... Windows/Mac vs Linux.
Windows is much more prone to security vulnerabilities, patching vulnerabilities are hectic service packs that are infrequent and require reboot/downtime and more... And Mac comes with choices already made for you, and defaults set for you, if you try to truly customize particular bits and pieces then... rats! But they give a decent personal user experience.
On the other hand Linux didn't look nice, in its early days, and wasn't easy to get it working for a particular system, but by design it was most open to all sorts of possibilities and was much more robust. If you didn't like the desktop environment, you can change it. And you can tinker with configs/drivers to make stuff work - often without even needing a reboot, and it has only gotten better.
For a normal user, a Windows PC generally serves well. If you introduce them to Linux, their experience might not be as nice (partially for the being "used to" factor, but even apart from that).
But, for a server - a system that needs to be much more robust, has to be more consistent, has to scale up, has to have next to no downtime (and many more other parameters I'll avoid listing) - shouldn't you go with Linux?
Back to the point of how special we are... as a very (VERY) large community. There hasn't been much of work or even research paper to learn from, what makes an open source community so large operate smoothly. I am not kidding.
So a couple of months back, when we designed the restructure guidelines for the community, we acted on giving it a Linux like architecture.
There has been many questions and many people are uncomfortable with the changes, or understanding them. It's justified.
We focused way too hard to get it as close to a perfect prototype as it can be, but haven't made it very easy for all to understand well. This blog post is an effort to bridge that gap - this is, "all that you need to know, to understand the restructuring of Mozilla India".
Now, to sum it up (like a movie with seemingly incoherent plots finally coming back together to make sense), for Mozilla India to be a continuously growing successful regional community:
- there needs to be autonomy at individual level (be the change that you wish to see)
- proactivity from members to take over responsibilities (don't wait for tasks given to you)
- expect guidance from senior members, not their permission (if you believe in something, do it)
- take feedback, make corrections, document it, do better next time (don't feel discouraged, if criticized)
- give feedback, try to help out, document and look out for peer activities (it's a community, not a competition)
- if something needs a change, be the first to raise it (the structure allows installing new drivers without needing a reboot ;)
I know this is not complete, comprehensive, most rigorous and perfect explanation of the restructure and the directions... but that's because it's not meant to be. This blog post is a shallow 3 feet pool to help you learn swimming. Once you're ready for it, you can always go have the real coral-reef experience (be sure to take scuba-diving gears with you).