<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d22492444\x26blogName\x3dWireless+Utopia\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://witopia.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://witopia.blogspot.com/\x26vt\x3d2313595909737347303', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe", messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { 'blogger-ping': function() {} } }); } }); </script>

Wireless Utopia

The journey towards a free wireless world.

Hard Truths

Thursday, March 02, 2006

An article from the O'Reilly group which explore's the differences between the open source and closed source development models. For the uinitiated, primer of OSS model can be found here. Some very hard hitting truths lie in there and the contrasts are are laid out in the open.

First up is the the principle of honesty in software development.
"It's not just developers who are tempted to stretch the truth. A vice president or CTO may announce that a product will be done in a month, when everyone (well, everyone but the customers) knows it won't."
The customers are the God and the provider in the corporate world. They dictate terms and you cannot argue with them. To keep them happy you either have to give in to thier demands or risk losing your business. Being honest might be the right and ethical thing to do. And if you're lucky you might get some brownie points for that. But the bottomline is that you lose out on business.

The role of a people manager in corporate projects has been the butt of jokes amongst the developers. They have a set and well defined role. To manage the manpower. Assign work to them and lay out their schedules. Essentially treat them as objects! In OSS however every user is treated as an "eye ball" and every eye ball is a contributor. The theory goes that given enough eye balls, every bug is shallow.
"In contrast, managers associated with many corporate software projects will hand down decisions to the team without consulting them at all."
Which is the exact brief of thier job and works well for an assembly line manufacturing. Its questionable whether the same approach works for software development as well. The jury is still out on that.

Another contentious topic is reviews. Any technical guy will tell you that more defects are found in reviews than during testing. Only if you can get the code reviewed in the first place but.
"Yet in many corporate projects, it is nearly impossible to get the time to perform reviews."
But reviews are still not a high priority work. They are still considered underproductive although all studies point otherwise. The managers still prefer to assign documenting, coding and testing work and the emphasis is hardly on reviews. Throughout my professional career, I am yet to encounter a work category called reviews! Open source projects on the other hand ensures that each peice of code is gone through with finesse and commented upon.

Once you do manage to cross this hurdle, other issues crop up.
"when a person's livelihood is attached to his work, then he may not want his "mistakes" to be shown off to the rest of the team"
There's the catch to being honest in your work. You inadvertently have to pay for it. If you are ready for the repurcussions, and brave enough, then maybe you'll take chance. But on a bad day at office the witch hunt will surely get you.

OSS model follows a loosely coupled team model. Roles are defined but not on a seniority basis. An excellent example is also illustrated along the way. During the development of EMacs a big community of developers contributed to it. It turned out that one respectable contributor was a 13 year old living with his parents! Something that cannot happen in a corporate projects. Even when a junior member brings up an issue he has to be careful to put it at the right forum, to follow the proper channel! Hardly encouraging for a new joinee.

Research has shown that only one third of corporate projects are considered successful. By any industry standards that would be considered to be a miserable failure. Yet the corporate world is oblivious to this fact. But signs of change are on the horizon. Consider the case of recent spate of acquistions of open source companies. Slowly the realisation is dawning that OSS model can complement the inhouse software development model and enhance your competetiveness. Maybe the two poles can be brought together and a new mixed model will produce better results.

Ironically its again the customers who are causing this shift!

Tags: OSS

Previous posts: Project Higgins. New Frontiers. OSS Cryastal Gazing. Sex Appeal of Open Source.

Further Reading: CatB.
posted by Rajiv, 5:51 AM

0 Comments:

Add a comment