Open up your  code, watch it grow and let it go. Most open source software have started small and has grown up to be large projects that sometimes have changed the entire game of software business and the economy.

While certain projects are totally open, in some projects, the authors have only shared certain components of their applications [not the complete application] and have asked the community to contribute to the code while retaining the revenue [and profit] for themselves.

The times have come for both types of applications to review their development model as the Golden era of Open Source is coming to an end along with the acquisitions of notable open (source) companies by companies that were mainly focused on creating revenue out of their products. [Read the earlier posts in this blog, Oracle starts to monetize Free Software, is it wrong? and Why a ‘Single Line’ was added to the Solaris Terms of Use by Oracle? ]

Open for Extension?

Most open source projects become total messes in terms of usability and product focus because of the community members and other people requesting various features that are sometimes totally unrelated to the main intentions and goals of developing a particular application.

For an example, in the recently opened up Symbian Ideas project, one had even suggested an idea for a platform feature to romance and pamper one’s loves ones through a simple application which is built into the Symbian Operating System. When Symbian votes down this idea, it would be affecting the Symbian perception for the particular person who suggested it [as he would be feeling being let down by a whole community instead of just a single entity such as a person or a company].

If it was a closed source project, when an idea gets voted down, the person would not be feeling offended as a there is a person who is officially responsible for taking the blame and to follow the suggestion afterward.

A typical reverse example for the above is Apple, which dictates what their users should be able to  have access to. In the case of Apple, the users have less choice for customization and modification while Apple takes all the credit and the blame for the feature set that is offered along with its products.

Google is almost doing the same, but with a different model of open source software development, retaining the power within the paid and experienced developers who work within Google, instead of letting everyone contribute their various ideas and messing the usability and source code up with the myriad of user requirements coming from millions of users.

The completely free and open source software distribution model is facing increasingly tough challenges everyday from companies that are heavily investing in their development resources and marketing their products, instead of opening up their code, giving the source and the product away for free and charging for support.

Closed for Modification?

Taking the above case as an example, it can be seen that the developers and the market are following Apple and Google instead of Symbian[sadly]. Due to the less amount of change [predicted and ongoing] in the core of the project [People are reluctant for rapid change]. Apple and Google have released neatly documented and easy to use Application Programming Interfaces (APIs) that allows easy integration of the underlying platform instead of completely opening up the source of the platform.

This has increased trust over their particular projects [brands] because of the simple fact that these entities having complete control and total responsibility over their source and project at a single point.

Apparently,  Design By Commitee anti-pattern describes the same scenario.

Related Articles and Links :

Bookmark and Share this post