About version control and “the 80%”…
Today Luca sent an interesting post on mugshot.
It talks about “ITÂ crowd”, potentially divided into two different sides (from iBanjo blog):
- 20% side programmers: called “alpha†programmers — the leaders, trailblazers, trendsetters, the kind of folks that places like Google and Fog Creek software are obsessed with hiring…
- 80% side programmers:Â folks make up the bulk of the software development industry. They went to school, learned just enough Java/C#/C++, then got a job writing internal apps for banks, governments, travel firms, law firms, etc.
The post is really useful, but comes up with a strange point of view…. It said:
…While DVCS dramatically lowers the bar for participation in a project (just clone the repository and start making local commits!), it also encourages anti-social behavior. I already wrote a long essay about this. In a nutshell: with a centralized system, people are forced to collaborate and review each other’s work; in a decentralized system, the default behavior is for each developer to privately fork the project …
Now, just a couple of comments:
- All “private” projects I’ve seen is not useful for the other projects. It’s just for the customer. No way to reuse any components or subsystems… (not only for license reason, It’s basically for technical reasons)
- Most of “private” projects I’ve seen are very closed to the team leader and not to the developers. When the team leader leaves the project, it fails…
- All “private” projects I’ve seen uses a lot of “the 20%” code and frameworks (not viceversa)
- On the “80%” projects the developers have to rewrite the software for any new releases. It’s quite strange to see a software written “step-by-step”. Usually, after a cycle of develop, you have to clean all and rewrite from scratch…
Most of opensource projects have “20% side” programmers, but a few of them has “80% side” programmers (ex: Zimbra, JBoss, Hibernate, Compiere, Alfresco, Porta+ and so on…)
What do you think about the future of opensource software build with “the 80%”? Is possible to keep this software live for ages? Or sometimes they’ve got to be rewritten (maybe with a different name and different developers)?
Why Linux has more then 10 years of develop (and now it’s base on GIT with thousands of developers) and Hibernate has no road map for the future?







