From the past few days, Atanu has been posting blog-posts on what a Rational IT policy should look like, and what should be the role of the Government in it. One of his posts received the following reaction from the GNUvisions blog:
The people who are in the business of education are literally in the “business” of education – they simply know how to make money out of it – and they can use all the wrong “tools” and still merrily make money (eg: use proprietary software instead of vastly better FOSS alternatives). At least, Atanu should have acknowledged the necessity of strong government policy in the context of Free/proprietary software and software patents.
Now, Atanu has provided an apt reply to this reaction, which was expected from an economist like him. I would like to discuss the implications of this reaction from the Free and Open Source Software (FOSS) philosophy perspective.
The fundamental premise of FOSS, when it started out, was to provide the end user with the power to change the way a software works. This was something which he was previously deprived of in the closed or the proprietary model of software development. Over a period of time, people observed that this new open development model had a lot of advantages. Software development started becoming more and more user driven, or need driven, as opposed to being driven by the fancy ideas of software developers. It optimized the development cycle’s feedback loop since users didn’t have to wait for the developer to implement a feature or fix a bug. They could do it themselves, if they had the necessary skills. Software developers didn’t have to create projects from scratch. They could instead hook on to existing projects and contribute their ideas. This Open model actually removed what Atanu refers to as the entry level barriers and made the playground more flatter. To quote an example of the amount of power offered by this alternate model, a few months back, there was issue in the Instant messaging client named Pidgin where the users were not happy with a new funtionality and wanted the developers to revert back to the older one. The developers put their foot down, and refused. In the proprietary model, the users would have been at the mercy of the developers. However, in this case, a set of pro-user developers created a new fork of the project named funpidgin, which retained the older functionality. The philosophy of open mindset in the FOSS world made such a transition possible without additional pain.
So, Free and Open Source Software are based on the bigger idea of individual freedom. And this freedom can mean different things to different people.
Thus, it would be highly arrogant on our part to assume that when an end-user is seeking freedom, it is only the freely available source code that he is referring to. For hackers like me, yes, freedom does refer to the availability of a platform which would help us develop software for ourselves, which we can share with the other members participating on the same platform. We communicate with each other on this platform through sharing of code. Hence in some sense, freedom does imply free availability of code. But this freedom comes with a price. And that price is the responsibility of helping fix the problems as and when they arise. Personally, I don’t think it’s that high a price to pay, since I am patient enough to acquire the skills required for this, and I enjoy the process of fixing the problems. But hey, that’s me! Now there can be another person, for whom a piece of software is just a means to a higher end. For him, freedom might actually mean freedom from the responsibility of fixing the problems as and when they arise. Which is totally justified, since he should be worrying about things where his interests and expertise lie, and not the software he uses. So, for such a person, it hardly matters whether the piece of software is proprietary or FOSS, as long as it works for him in the way he expects it to. Thus “forcing” him to use only Free and Open Source Software, is trying to curtail his basic freedom of choice. This goes against the underlying principle of FOSS!
Let’s now talk about the education sector that is only interested in making money and can choose the “wrong tools” in the process. I don’t deny that this doesn’t happen today. I graduated from one of the reputed institutes of the country three years ago. And I can tell you that I didn’t enjoy the way some of our labs were conducted. Infact, I despised the fact that we were not offered a choice regarding the software we could use for our experiments in courses such as Operating Systems, Database Management Systems, or Computer Networks. But I would blame the lab administrator’s incompetence, that he “forced” us to go for the development environment which he was comfortable with, instead of the development environments which we were comfortable with.
See, an Institute offereing a Bachelors Degree in Computer science is expected to teach core concepts in computer science. This would refer to some of the fundamental principles such as Finite Automata, Turing Machines, Concurrancy control in Operating Systems, the ACID properties of Databases, Non-Uniform Memory Architecture, Software Development Life Cycle and so on. It is not expected to teach us the use of specific Operating Systems, Database Management Systems or Programming Languages. Those are implementation specific details which are best left to the end-users who in this case are students themselves. As long as they can demonstrate their understanding of the core concepts, why should it matter what tool they use ?
Now, I am not denying the possibility that an “evil” institution can tie up with an “evil” IT corporations and allow the usage of only the latter’s technologies in classrooms. This could be bad from the perspective that the students will be biased towards this particular technology by the time they enter the market, as they never had any experience with the other technologies. Fair enough. So, what’s a solution to this problem ? A reasonable solution should provide means which will empower the students to decide whether they want to go for the evil-Corporation’s technologies or not. But asking the government to make that decision for the student is definitely not a step towards this empowerment. On the contrary, by asking for a strong Government policy which advocates FOSS/Proprietary software, you’re only shifting the power base from one bully to another. Just that this new bully happens to be on your side for now. But what about those students who are willing to pay for the licences of a particular software to use it in their projects ? By advocating a “FOSS only policy”, aren’t you curtailing their freedom of choice ?
I think this whole premise of “What works for me should work for you” is flawed here, because it either assumes a lot of things about “you” or expects “you” to give up some of your rights. Both are audacious. Asking another person to put himself in your shoes might work only if sizes match. Else, he’ll have no clue what’s going on. Worse, he might hurt himself and you’ll be responsible. Question is, can you handle that responsibility ?