The Open Source movement has long been associated with socialist ideals such as communism - typically by companies who see Open Source as a threat to their own business. The irony is that driving factors behind Open Source are the very reason they even have a business.
In the consumer software industry the quality of software has not been the primary differentiating factor in consumer choice. As end-users we cannot see how a software title was built, what development patterns were employed, or even what language was used to build it. More importantly we cannot see how many unresolved bugs there are, for which we leave it to the discretion of the software developer to inform us (if they are even aware themselves!).
And so in the absence of a qualitative analysis of software (excluding user interface design), we must rely on a quantitative assessment, or a comparison of features. Software features have come to be known as innovation in the software industry, possibly as it conveys some kind of magical ability to invent something entirely new. In reality much of this innovation is not in fact entirely new, but rather a rehash of old ideas or, more likely, a feature copied from someone else. Now contrary to so much of the discussion surrounding software, there is nothing at all wrong with this. In fact it is in the very nature of software development to recognise a good idea and re-use it. Perhaps it is the common approach of claiming innovation, without due credit to the originator of the idea that creates so much hostility. Whatever the cause of this slightly misguided animosity, we should not deny that re-use of innovation, whether it be an idea or an actual implementation, is an integral part of software development.
Recognising that features are the differentiating factor in software, many companies have adopted a two-fold approach of adding as many features as possible, and protecting those features from getting into the hands of the competition. Now of course noone can stop another from reimplementing a feature found in competing software (although they do try!), but you can protect your own implementation, which at the very least makes it more difficult for others to duplicate. Or at least it used to. Nowadays we find large companies have vast teams of developers that can implement anything that you ask for. The hard part is knowing what you want to implement, and when all else fails, just look to a competitor for inspiration.
So whilst this feature arms-race continues amongst the largest companies, we see the intended effects of feature dominance becoming more neutralised. There is however another, possibly unintended, effect, which is that smaller companies and individuals are becoming increasingly locked out of the competition. If you cannot afford an army of programmers to keep up with the feature sets of the most popular software, how will you ever compete in a feature-dominated industry?
In the face of such marginalisation many have now put their faith in Open Source. Open Source provides individuals and smaller companies with that “army of programmers” needed to compete with the larger companies. But perhaps a more interesting aspect of Open Source is that it does not discriminate. The largest of companies are also able to incorporate Open Source software into their business model, which then begs the question, is Open Source really changing anything? To which the answer is an emphatic yes. If Open Source software is able to keep up with the feature arms-race of the largest companies, putting such features in the hands of everyone, there will no longer be a feature arms-race, or at least not on the scale that it is today.
So what does this mean for the future of software? Well for a start it means less emphasis on features, leaving room for a more qualitative analysis of software. Aside from giving equal access to feature implementations, another driving factor of Open Source is the qualitative analysis that goes with it. As financial reward is less of a concern when developing Open Source, we place greater emphasis on writing better code, so as to gain the reward of respect, recognition and popularity of our software. With quality being such a major emphasis of Open Source, proprietary software developers will be compelled to prove a similar quality of software in order to compete.
Some larger companies have suggested that by neutralising their competitive edge through feature dominance, Open Source is stifling innovation. On the contrary, by giving everyone a level playing field Open Source has once again made it possible for anyone to innovate. These larger companies seem to have the idea that they are the leaders of the industry and as such should be responsible for all innovation. In reality, as we are shown time and again, real innovation in software comes from individuals, not from task groups and think tanks. Such individuals may work for large companies, small companies or no company at all. Wherever they may be, we cannot force, or even predict, who will innovate next. All we can do is create the best possible environment for encouraging such innovation, and the best possible environment today includes Open Source.