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
Lack of awareness
Contributions will come only if people are aware of what is happening in this field. Now a days it is very easy to get a job in IT field for engineering graduates. After getting job, I am seeing a big problem among our IT professionals. They are only interested(?) in doing their projects in their office. And not at all bothered about what is happening in the tech world. They are only interested in salary. They are not knowing that the technology they are working is subjected to change and it is must for an IT professional to get updated. These are some people who are working for money only(I would call them dumb users ). I know many colleagues(software engineers) in my office, who never saw an operating system other than windows.
Then there are some other people who are interested in FOSS and interested in studying new things and experimenting.Our major IT human resource is concentrated in big IT companies.We know that most of the Indian IT professionals are working late night. 90% of them are working more than 10 hours a day. Only a small percentage of people are finding time to learn and contribute(I know that finding time is a matter interest). I think this is a major reason for less contribution from IT professionals. I think awareness is the first thing, then comes learning with interest. Then only contribution will come.<ref>Santhosh Thottingal in plus</ref>
The country has the second largest number (second only to USA) of RHCEs/RHCTs and Linux awareness (or lack of it) is not really the case in point. - Sankarshan Mukhopadyay
For the past couple of years, my day job has been consuming 80% of available time, the rest I have to spend with my family and care for their needs. With very little time left for other activities (related to FOSS, hobbies, etc), it is an uphill task to sustain the interests, manage time for FOSS activities. I got registered for the recent FOSS.in/2006 but could not attend it, even though it was spread over a week-end. Am seriously thinking of giving up my day job to work as part-time consultant and involve myself in FOSS activities and spend quality time with my family and kids, even if it means I have to earn less than the current pay. - [Ram]
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.<ref>Sameer Kelekar in ilug-goa</ref>
"If being complacent means that you lose your coding skills then the skills were not honestly obtained." - Sankarshan Mukhopadyay
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).<ref>Sameer Kelekar in ilug-goa</ref>
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.<ref>Sameer Kelekar in ilug-goa</ref>
" I would say that the infrastructure and the social environment that encourages the high wire act of risk taking is not really in place. Folks invest in stocks nonchalantly, yet figuring out how to strike out a business venture is still that arcane art of black magic."- Sankarshan Mukhopadyay
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.<ref>Sameer Kelekar in ilug-goa</ref>
"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 innovation is nothing but a hobby and waste of
money and time.<ref>Krishnakanth Mane in glug-bom</ref>
[Ram]: This is no bashing of the people but record of my personal observations. "Should I do my software builds on Unix?, Oh!, no, U*x is painful to use blah, blah..." I have heard statements on similar lines from engineers / developers citing the ease of use in WINDOWS. Personally, I got introduced to U*x in the early part of my career while working for a systems integration company@Madras (with customers in IIT, Madras). Luckily, this proved to be a boon for a person like me, who had previously no exposure to Computers, even though there were compulsory papers on basic computer science as part of my engineering currciulum. And am talking about curriculum that was 10 years back and the little / no infrastructure in Govt college where I studied.
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.<ref>Dhaval Giani in ilug-goa</ref>
What is required is actually a revisit of the syllabus and teaching basic facts which would equip the students to learn on the job. The training courses which the big companies (Infosys, Wipro, TCS etc) put their new recruits through can be taken as either they don't expect the system to output required knowledge or they don't expect the system to be up to the mark when it comes to educating the students.<ref>Sankarshan Mukhopadyay in his blog</ref>
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.<ref>Shakthi Kannan in glug-bom</ref>
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.<ref>Shakthi Kannan in glug-bom</ref>
The lack of contributions is not because we have bad students - it because we have a bad system that needs fixing. And needs to be fixed in an evolutionary way. One of the things that happens when you wish to change a monolithic system that was created to serve a different need (read: create an army of clerks and later on administrative service boxwallahs) one would like to understand the ramifications of the manifestations of change. The short and sweet story might be to look at the following points:
- Revision of the curricula at the high school level
- Encouraging more "relevant" industry interaction (and not "lip service")
- Establishing local mirrors for various FOSS operating systems<ref>Sankarshan Mukhopadyay in his blog</ref>
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.<ref>Dhaval Giani in ilug-goa</ref>
There is a disagreement to this view as well. The one good thing FOSS does is democratize the process of inclusion. Sure enough there are barriers to entry in some aspect but nowhere is the entry barred. <ref>Sankarshan Mukhopadyay in his blog</ref>
[Ram]:One may start with contributions (good content matters) to online and print magazines, like for example, www.linuxgazette.net, SysAdmin. This would surely provide the necessary confidence to the individual and push them forward to do much more.
Bandwidth
Connectivity. Contributing to FOSS in terms of code does require decent connectivity.<ref>Devdas Bhagat in glug-bom</ref>
Only available in metros? Lack of introductory materials in an easily accessible (printed) form.
Some people think this is not an issue including Kenneth Gonsalves and Philip Tellis
"no no no. I know projects that have used email to develop. Biju Chacko made major contributions to XFCE on slow diallup. Bad connectivity makes things more difficult and time consuming, but if you want to do it, you will do it." - Kenneth Gonsalves in glug-bom
"nonsense. it never stopped me and all I had was a VSNL student account. If you have any connectivity at all, that's sufficient." - Philip Tellis in glug-bom
Consumer Mentality
We should encourage people develop a producer culture.
Develop a "Good User" culture. <ref> Kapil in the discussion page of the same article article </ref>
(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.