I’m a bit groggy and out of it from pulling an all-nighter to build a software that I needed for a client proposal. I won’t name any names, but, this “open source” product was not easy to build. First off, when I went to a link that says “download” I was thinking that I was going to see one or more tar gzips. Well this product had none. In fact all I could do was to use firefox download manager to download several folders on the svn website for the project.
Seondly, those files were marked as debian packages and since I was running Ubuntu 9.1 I thought I was cooking with gas. Those downloads took about 20 minutes and I spent the last week trying to deploy them to no success. I spent the last week pulling my hair out before accepting that the debian packages were hopelessly broken and not even rebuilding them from the source had any hopes of fixing them. I went through the torture of downgrading my perl install to 5.8.8 because I assumed there was a library issue. Actually the core issue is that the dependencies for the debian packages were farked. In fact, even after adding the developer’s debian site to my Synaptic source list I discovered how broken the packages were: The two main packages had circular dependencies. Unfortunately, no package manager on earth can resolve circular dependencies since such a thing is illogical.
Thirdly, after giving up on using debs (and somewhat messing up my perl installation with a polluted deploy of perl 5.8.8–that I must uninstall) I moved to CPAN. This is where I discovered how truly devious the developers were. I could understand if someone had not updated their debian and tar gzip deliverables, but, for the CPAN deployment to be broken actually takes some effort from the developers themselves to ensure that the package is uninstallable. What makes this worse is that to even get to the point of the CPAN deployment I had to download via SVN the trunk for the application. This is not documented in any of the developer’s documentation. I am sorry, but, this developer is giving a big middle finger to the Open Source community by not fixing whatever distribution mechanism they are using for their software. I appreciate the hard work that they have certainly put into this product, but, to deliberately (all my problems were not by accident and were not coincidence, they have deliberately broken the automated build and deploy mechanisms) make it hard to find and use their software they might as well not bothered to declare it “Open Source.” Open source is not just a phrase, its about a certain respect that developers have for themselves and the greater user community. A respect that means the developers have faith that others will benefit more from the fruits of their labor rather than restricting use to a chosen few. Not showing this respect is dishonest and not in keeping with the spirit of the Open Source community.
Seriously, I would have found it easier to download and build the Windows 7 source code than this application. That is a shameful indictment of this developer and their business practices. Its no surprise that they offer pay for hosting for the software (I’m guessing the debian packages broke on the same day they announced the hosting plans).
After much hand-wringing, the software finally builds under Ubuntu 9.1. I have not had the luck of deploying it into Apache, but, I don’t expect much problems with that (though I do expect to have to hack through their setup scripts to make sure files get copied properly). I had to spend the whole night going through missed dependencies in CPAN (I even had to reverse engineer a few build scripts). I was considering some sort of partnership with the developer, but, now I don’t respect them enough to do so. Instead, I will hack their software myself. Of course I’ll make sure there is a working debian for whatever changes I make available on my site.
Goodbye, and thanks for the fish!!!