open-SORE-ce software
July 9th, 2007Open source software is sometimes like “getting what you pay for.”
Don’t get me wrong… I’m a firm believer in open source software and have benefited greatly on many occasions by being (cap)able to make custom changes.
But here’s what pisses me off greatly besides the typical poorly documented, poorly written, poorly packaged freely available tarballs from random (but sometimes talented) people — bad software contracts. I’m not talking about legal stuff. I’m talking about software APIs.
Case in point: I’m authoring a plugin for Vim. Rather than start entirely from scratch, I found a freely available, basic plugin that is advertised as a ‘framework’. One of the methods that required implementing has the following signature:
function name(path): string[]
My implementation didn’t work even though it matches the above description. After following an example and briefly reviewing published software that already implements it, I was sure my implementation was accurate. Long story short, I had to crack open the framework, plaster it with debugging statements only to find their “definition” of an array of strings is a single string with NewLine delimited sub-strings.
string[] == "string1\nstring2\nstring3\n"
Do you call that a return array of strings? Ok, it’s certainly parseable. But come’on… I would have expected:
string[] == ['string1', 'string2', 'string3']
After a long night of reverse engineering, I’m pissed that this ‘framework’ has really turned into a DIY job.





