My Bag of Squid

.. to kick down the beach. So stand back.

Sunday, May 01, 2005

Open-Source and the Chain of Deniability

[in all cases, when I mean Open Source, I also mean Free Software and all the other terms. I just like Mr Raymond's more sane approach, rather than, oh, everything about Mr Stallman, which unfortunately is too naive to be realistic]

I've discovered something else about Open Source software: no one's responsible.

When the source is open, and the customer has the theoretical ability to download and fix his own copy, then there is no real and absolute need for the developer to fix his own work. Since there is no absolute need, there is also no pressing need, and the developer can continue to work on chrome bits (which I call the Mozilla Protocol) and it's now Somebody Else's Problem. Someone else can do it, because that guy's just too busy macdinking with the corners of the interface, really.

This kind of attitude persists even if the user gets anxious, and even if he asks after a fix. The user is encouraged - in language occasionally mistaken as arrogant and petulant - to fix his own bugs and to submit any changes back to the project. Now, how the hell is a lawyer or fry cook gonna fix an off-by-one error in a structure governing the format of data passed between two procedures? Hell, the poor guy doesn't even know what the fuck a procedure is! Yet, he's encouraged to learn and do it, sometime within the next week.

Recently I looked at the evolution of a piece of code I put into the apache server. It was valid code, serves a purpose and fulfills a need even today. However, after 3 year s of maintenance, I don't recognize it. I know it from what it's doing, but I can neither claim it as my own nor even understand what the hell it's doing -- enough to fix it if it's broken, anyway. So, there I am, a reasonably intelligent guy, the guy who originally wrote this piece of code, and I'm not confident I can fix it if it's busted. Mr Fry Cook is fucked.

Unfortunately, this isn't rare, and, due to our naturally egocentric nature, it's very easy for developers to get into this mind-set on a project where they're not pegged as the person responsible. But, as I've learned from managing an open source project or two, one can't easily dictate things to free labour; it just doesn't work. So, no one is responsible, and therefore nothing gets fixed.

Welcome to Open source. Please sweep up as you leave our fine store, and come again.

0 Comments:

Post a Comment

<< Home