Thursday, March 08, 2007

Corporate Sourcing projects

I recently put a suggestion to my boss asking if we could open source an application that was developed by our team. I will not delve into finer details of the application but it is something that we have worked on for the past two years.
We have added most of the features that we set out to have in the application. The application is pretty stable now with very rare downtimes. The user awareness is there and growing every day. People have started using the application and are increasingly asking for some usability enhancements. I felt that this was the perfect opportunity to go open source with it (with open source, I mean only within the company. My organization is still not into the culture of open source, not yet anyway)

My boss felt that it was too early to think along those lines. But I wanted to get my readers's views on this.

How does open sourcing projects within a company work ? In my opinion, it should work in pretty much the same way as "real" Open Sourcing works. There could be issues with people spending too much time on open source projects in the organization while not spending equivalent time in their assigned projects. These are issues which I am sure will be ironed out if the attitude taken and the approach taken are right.
In fact, I would use this post to go one step further and suggest something even more radical. A software company should only take up projects which the employees want to work on. Then, these projects could be open sourced so people with the required skill-sets could work on them. Obviously, this model requires that you do not have actual project teams. People assign themselves to projects they are interested in. If the company takes up something and finds that folks are not interested in working on this or that project, they could say to their customers : "Sorry folks, we cannot help you here" or suggest a better approach.

I understand that there are several flaws in this approach.
For one, democracy does not always work. Developers do not always know what is best for them. You need to do the donkey's work sometimes to learn before you can develop something new. Newcomers to the industry will not necessarily appreciate this fact.
Second, open sourcing is mostly meant for applications where there are never-ending opportunities. Consulting companies do not often work that way. They usually have a project with a fixed deadline and a fixed schedule. They are expected to deliver to their clients within a certain period of time.
Third, open sourcing has this bad reputation of being a developer's paradise. There have been open source projects where the contributors have gone overboard with exotic features while neglecting basic etiquette like documentation, good GUI etc.
(Read this excellent piece on the shortcomings of the open source model in general)

With all those flaws that I mentioned, I still feel that things could be tweaked. No model is complete in itself --- you need to customize it to suit your field of work.

All that was my take...what is yours ? Please pour in your comments ...

1 comment:

Scribbler said...

Open source is good.. But it is driven by commitment. Commitment is driven by Attitude. Attitude is driven by satisfaction. Satisfaction is driven by the way they are treated, which is driven further by Money! As you rightly said Open source is paradise, dude paradise is something you have to give your life for. I am sure no Ghost is ready to work on the typical Open Source you mentioned! Bitter Truth! But my vote is for you.