I've been spending a lot of time recently trying to understand why the corporations seem to have problems collaborating over a commons-based source-code base when the FOSS community barely breaks sweat doing this.
The record seems to show that adopting "best practices" software methodologies like full blown waterfall methodology with traceable requirements analysis, code reviews, metrics…the whole nine yards…doesn't seem to prevent such anti-collaborative social misbehavior as rampant "clone and own".
Also, some of the tools commonly used in corporate development, like centralized source-code management tools, seem to be purpose-designed to inhibit collaboration.
The University of California, Irvine, Institute for Software Research has been studying the social aspects of FOSS development for the last few years. I've just started poring over their papers.
The most interesting quote so far:
In contrast to the world of classic software engineering, open software development communities do not seem to readily adopt or practice modern software engineering or requirements engineering processes. Perhaps this is no surprise. However, these communities do develop software that is extremely valuable, generally reliable, often trustworthy, and readily used within its associated user community.
Indeed! Since FOSS projects flaunt all the "best practices" and still achieve the holy-grail of "extremely valuable, generally reliable, often trustworthy, and readily used" software" then why don't corporations co-opt the FOSS methods?
More about this later…