* This blog entry is not meant to harm the sentiments of any. *
What is the first thing that comes to mind when we talk about “Open source”? Well, for me, it's not something exciting. The reason as I see it is pretty clear: It is just not enough if the “source” is open.
It is a known fact that any product development goes through a number of phases. Starting with requirements and design, it goes on till testing and maintenance (or support). Coding (writing the actual code) hardly constitutes 20% (or is it less) of the actual software development process.
If this is the case, then what is the use if I just give you my code? What sense does it make to you, by just looking at the code? Probably it does, but that is not the point. The point is, how easy is it for people to make sense of what the code does, without having proper documentation in place. Are design documents also open? (I don't think so!)
This thought made me delve into the very definition of “Open source”. And I came across this link: The Open Source Definition. This entire page does not make a single mention of the word “design” or “documentation”. Further in clause 2, it seems to be made clear that, “all that needs to be distributed freely is the source code”.
Here's that clause for your reference:
The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
Now, me noting this problem does not mean I am the only to have done so. Here is some proof that I am not alone.
Ok, all this does not mean that I don't believe in open source. What I actually feel is that it is just not enough. We need something more! Open source can just be an enabler to this.
In fact, the ThinkCycle initiative of MIT seems to be a solution that I am looking for.
Was my interpretation of Open source wrong? Any takers?