- Open source software is mostly written by students and few rebel heart people. In case of later, they does something when their is free time away from the job. The moment job demand grows up, they will deflect taking away valuable knowledge with them. In case of students, when they join industry, most of them will drop out of it when in industry. So, there is no long term full time commitment from core developers.
- Most of the software created starts with the niche market demand and then grows up for big user base when demand picks up. However, The moment they decide to grow big, perils of big software chips in immediately. Few of these are
- Need to maintain portability across the platforms as well as with the old version of itself. This means lots of dead code starts appearing in the code and size starts increasing. Add to that, aging of software due to this factor and they become similar like commercial one.
- As the less technical user comes in to use, they need fool-proof things without any hassles. This is the moment when commercialism starts to creep in since long term commitment from core developers is missing. When support companies will start sprouting and make noise on the forums due to their inherent interest in maintaining status quo, genuine guys will move away.
Finally, the developer community which was earlier frustrated with commercial guys due to perceived unresponsiveness starts seeing the nature of this attitude. Once they start writing their own big software and try to maintain it, they understand why the commercial guys may be unresponsive at times. This means they will come back and buy more commercial software developed and maintained by people whose livelihood depend on those.
Open source is good thing, but it has some limits which will not allow it to grow very big. It will stay limited to niche components and proof of concept research things.