For some days now I have been talking with a good friend of mine who is currently a student in one of the engineering colleges in West Bengal India. The basic point of our discussion was that old hoary topic “How to get more students to contribute code to Open Source” which sometimes becomes “How to get more students to code“. And as it turns out, the issues are not as benign or simple as they appear.
Take for instance this revelation: in almost all colleges in West Bengal (private and government included), the computer laboratories have machines/desktops supplied by HP. Guess what they are preloaded with ? Mandrake 9.1 (yes, that’s correct folks you read me right) which comes with a 2.4.x kernel. And now if you take a look at the syllabus for System Administration you will see a curious pattern emerging that ties in the course content to 2.4.x kernel eg. the requirement of ipchains (over iptables) to be taught and practised.
It begins to get more curious if you start looking at the faculty specialisations in the colleges. Each college has to mandatorily disclose for the AICTE the various infrastructure details and details about the faculty. They do make a telling comment. A sizeable chunk of the teachers are padding time between their PostGraduate and UnderGraduate courses by ending up as teachers at these institutions. Fair enough, a whole bunch of them keep on migrating to jobs that pay a bit more (as opposed to teaching which has miserable pay). The average cost for a student to go through the courses is around 400,000 INR every year there are around 120 students per college who pay this (and sometimes allegedly more) to get through. And somewhere in between it seems immoral that students are not exposed to the best what the world has to offer. The immediate fallout is that students shell out an additional 6-10,000 INR to companies like NetTech to learn Linux, C/C++ among other stuff.
Coming to the students. The generally established theory is that the students have no inclination to learn. Simplistic as this is by means of an explanation – it is false. Fact remains that the students need to be shown the path. Not mentoring but guidance in a low touch way. The traditional method of mentoring is very high touch and getting folks to work along that line is going to be a big challenge. There has to be a low touch method of guiding students to start coding and sharing their code so that the best of collaborative peer review can be put in place. Most of the students would not be in a position to choose existing open source projects since the meritocracy involved would put them off it. While I go on a small vacation, some food for thought…
UPDATE: Take a look at this piece of work