This is a more authentic term for “Open Source”, which means a category of software that shares its source code with anyone. From the end user perspective, it most often translates as “free” software (free as in “free beer”). But that is not the intention of open source. The real intention is to open the code to community, so that they can contribute. So to clarify, a more ideal term should be “collaborative source”. I came across this term in an essay by Simon Phipps, and found it very fitting.
If we classify all software around us, there are three kinds – 1. free as in free speech or beer (e.g. Linux OS, say Ubuntu), 2. free as in beer but not speech (e.g. Picasa/ Gmail), and 3. no free speech, no free beer – you have to pay for the beer but wont get free speech (Windows OS). The fourth combo (free speech but not beer) cannot exist in software.
In a collaborative model, the road-map is decided by the community and the software evolves organically, benefiting both the community as well as the non-contributing end user (though for the end user, the benefits are not much until it attains a mature state). To explain the part in parenthesis, take any Linux based OS. While they are technically advanced with all the “open” options (I have been using one for the last 8 years), it is still a long way to go to take the majority share among users. The reason is that we cant consider such OS to appeal to the technologically challenged audience. The perception amongst majority of PC users (who are increasing in numbers every day with the more affordable hardware) is that if one is comfortable with code then Linux is ok, otherwise Windows is the only option…
But shouldn’t collaborative source software be for all? Of course. The contributing community needs to be aware that not every user will contribute (in reality, less than 1 in 10 may do so). The idea should be that if one wants to help, he can. But if he can, shouldn’t mean he must. I found in some community support forums (where I looked for certain help) that most of the community think since they are not paid, what they are doing is more than enough; if you want more, write your own code. True, but it also means monetary loss matters to such contributors – prevents them from keeping to the basics of collaboration. If you evaluate your work primarily in terms of money earned, then you should swear by a certain suburb of Washington.
The key to open source’s success is collaboration, which must not be restricted to dev/ support only; someone who just uses the software also contributes (by increasing the user base, or at best by reporting a bug). When the typical user is assured that there are no geeky steps involved to get the best of it, she’ll collaborate more by using it more. The hardware companies who “recommend” the Washington-suburb’s products would be forced to test/ support their hardware against collaborative source and may also publish test results to remain competitive. Because once a software becomes popular, it drives the industry standard.