Ohloh Tracks Open Source Developers
eldavojohn writes "The startup company Ohloh has a database listing 70,000 developers working on 11,000 open source projects. Their aim is to 'rank' open source developers, which raises some interesting questions about exactly how useful this tracking company is. Questions like, 'Is there an accurate way beyond word of mouth to measure the importance and skill of a developer?' I found it slightly alarming that, to this site, the number of commits (with input from the number of kudos) tells how good a developer you are."
Most of my contributions were on website documentation, wikis, or mailing lists, which aren't included in these metrics. At the moment, a lot of my commits are done on repositories not directly available to the public. While I don't really need Ohloh to tell me if I've contributed to a project or not, it's still a little annoying.
And what about contributors who submitted patches that had to be committed by someone else? Or people who contribute by providing help on IRC channels, blogs, forums, or other mailing lists?
While ohloh metrics can be useful, they also need to be taken with a grain of salt, particularly the contributor metrics. They're a bit more useful on measuring a project as a whole (but they still miss a lot of activity).
Who said Freedom was Fair?
# of penguin stuffed animals in your possession.
# of kernel builds
# of ICQ shouting matches ending in "Nazi!!!"
# of cans of Jolt consumed
# of steps from mom's basement to side door.
Or the old standby, lines of code (including comments, of course).
In short, there's no way to automatically judge the value of a programmer based on silly metrics. How would one score for "bugs not written" or "elegance of solution"/"nasty kludge avoided"?
FOSS is worth whatever the users and the coders say.
Would this discourage contributers to open source projects? Now if I put on my resume that I've contributed to an open source project, somebody is going to want to look me up. I have to deal with all that baggage when I just wanted something to do in my spare time. Also, I really am not sure I feel comfortable being given an absolute rank. People always bring different skill/approaches to different jobs and I don't think you can arguably say one is better than another. I've worked in teams where everyone respects the different capabilities and limitations of each member. Its sort of like arguing there is an absolute thing known as "intelligence". Is there really such a thing or do we just all bring different skills/perspectives/approaches to the problems we solve? I'd prefer to think the latter, that everyone contributes what they can but has their own limitations. Talking about absolute "intelligence" or "value" seems condescending and elitist.
What about some slightly deeper tracking into the repository? Figure out how much code a developer committed that had to be changed later.
Wouldn't such a system assume that everyone uses only one handle - or, their real name - all the time for every project? If so, then a lot of people - who contribute under multiple handles, nicks, whatever you want to call their identities - are going to missed or severely under-rated.
I would rather not have my real name attached to most of what I've contributed. One, because my code is so damn sloppy that it's embarrassing. Two, because I don't want the hassle of my real life - you know, offline - and my, uh, "digital lives" conflicting with each other. Three, if I was easy to find - online - I run the risk of being pestered with silly tech support questions.
UrCreepyNeighbor, while an accurate description of my personality, is one of many identities I have. Same could be said of almost everyone. I'm sure "HotChic17CA" doesn't use that username when she's talking with her grandmother, for example.
"The fight for freedom has only just begun." - Geert Wilders
Certainly as a diligent one who actually cares about code quality.
Anyone who thinks they can produce bug free code first try is an idiot. Anyone willing to accept that there are always going to be bugs, and actively looks for them is a good coder.
My blog
Some people will get a shiny glory and some will feel annoyed bbecause their projects/contributions have not been tracked.
Engineering is the art of compromise.
I always hated the lines of code metric because it was so useless. A really good architecture with a good coder leads to much LESS code that looks simple to the casual observer. Similarly, the number of comments might not be very useful as well. Spaghetti often has lots of extra comments, while good code is often self-commenting (at least in my commercial realm). Lots of unit tests are often unhelpful if there are no automated system tests. The best coders balance design, coding and testing in the scope of their deliverables and can effectively estimate how long it will take ahead of time. The art is coming up with a good architecture based on standard patterns and following up with concise, self-documenting code that is easy to maintain and enough tests to know when it works and more importantly when it doesn't. If you can do that in a reasonable amount of time, and less time than what is expected, you're good. If not, you need to be refactored.