Challenges
Patching FOSS in India
Solving the fundamental structural problem of the free software movement in India
A multilog of developers, evangelists and students
The discussion was started in the panel discussion on '10 years of linux in India' on day 2 of FOSS.IN 2006 and continued on day 3 with a BoF on 'Patching FOSS in India'.
BoF details
Day 3 (26 Nov 2006) 2:00 pm
Moderators: Thaths/Fred
Complacency
Big IT boom in India gives people jobs easily; and when you do a cosy job, you lose half of the motivation. It is a case of innovation being killed due to complacency.
Social Setup
As a society, there is a lot of pressure on people to be successful immediately; and success here means making money. This means that if one were to tread the road not taken, one has to withstand the pressure from friends, family, relatives blah blah blah. What adds to this is the lack of knowledge about FOSS and such things among the common folks (read one's parents, relatives etc).
The whole atmosphere around is counterproductive to innovation and risk taking. Those who fail are not looked upon well by the Indian society. What matters to the society in India is success; the means does not matter.
We also are not trained to think in a creative manner. Succumbing to authority comes more natural to Indians rather than being free and think freely. Of course there are exceptions, but in general as a rule.
"perfect job = government job and perfect computer means computer with windows". just as the indians believe that government job is the most perfect job and some thing well respected, they also believe that windows is the only operating system. ask 10 people about linux 4 will ask "what's that?" and 4 may perhaps say "well that is a very difficult thing and just used by students as either time pass or just to learn unix commands because it is in there college book so what to do". this is the situation. and yes success here means money so "why should I use linux? why should I give my source code under gpl?" the only technology that could break the dirty shackels of microsoft is java. again because there is huge money and big jobs in java as far as indian IT Industry is concerned. ask the programmers around you "do you know python and do you use zope?" again 7 out of 10 will say "python is a snake and in marathi zope means going to bed ". so the problem lies in excepting the long root of truth and reality. people in india think that good things can only happen in dreams and revolution is some thing for the leaders for doing politics. why should I leave the so called "WELL TESTED AND PERFECT WINDOWS " and take up what you call as "VIRUS FREE STABLE AND PERFECT SYSTEM THAT TO WITHOUT PAYING ANY THING?" people here believe that inovation is nothing but a hobby and waist of money and time.
Education System
Also, we are to blame to quite some extent. Our education system does not encourage free thinking, or even thinking for that matter. It is learn by rote. IMHO, all CS/IT courses in india are more of History courses.
Students in most institutions (exceptions are IITs, IISc, NITs, et. al.) live in their own shell, without any exposure to the real world or the industry. So, they don't have the technical know-how or skills for any development, let alone FOSS development.
There is a _huge_ gap between academia and the industry (exceptions are IITs, IISc, NITs, et. al.), so the academia folks have absolutely no idea what the industry is doing. Industry is more focused on servicing international clients, for obvious reasons.
Financial Constraints
Secondly getting exposure in the various international forums is not cheap. What I mean by this is, there is only some extent to which you can learn from books. To learn more, you need to first do something, understand what happens, why it happens, interact with experts. This happens by writing research papers, participating in various conferences. Most of them are very expensive by Indian standards.
Bandwidth
Connectivity. Contributing to FOSS in terms of code does require decent connectivity.
Only available in metros? Lack of introductory materials in an easily accessible (printed) form.
Consumer Mentality
We should encourage people develop a producer culture.
Develop a "Good User" culture.
(a) A good user reacts to all glitches by filing a "Good Bug Report" --- (need a link here on how to write good bug reports).
(b) A good user reacts to inactivity on her bug by the maintainer by providing a fix :-)
(c) A good user does not hesitate. If you fear that you will make a mistake and do not speak that will be a mistake.
Perfectionist attitude
People wait for perfection before release.
No patches and many forks
Hesitation to submit patches upstream.
Lack of awareness about bounties
Google Summer of Code, Redhat scholarship, Novell internship, NRCFOSS projects ...
Even with all these challenges we have some contributors which we can be proud of.