evan_tech

Previous Entry Share Next Entry
11:00 am, 21 Jan 07

releasing ruby software sucks

I like releasing the software I write because other people sometimes find it useful, but the overhead of going through the release process is killing me. I have a simple (single-file) Ruby module, but actually publishing it entails installing Rake (a gratuitous rewrite of make in Ruby) so I can create a Ruby gem (an annoying packaging format I've grumbled about before) and then I have to go through agonizing RubyForge (sourceforge, but somehow even worse?) and its endless web forms to actually publish my stuff. (And don't even get me started on how annoying rdoc is...)

Now, it surely isn't as bad as I've just made it out to be -- surely people have automated this? But as far as I can tell that process is not documented anywhere, and every popular Ruby project I've checked has its own complicated Rakefile that requires even more software installs to make this stuff work.

It occurs to me now that the simpler approach is to just tell users "download this file and stick it in your directory if you wanna use it". But that isn't sufficient for more complicated, multi-file stuff like ljrb.

Mysteriously, the only programming language that seems to have solved this well is C: if I need a C library I apt-get it, and everything else uses autoconf so the build flags are the same between projects. Don't get me wrong -- autoconf is certainly agonizing but is a single point of pain. (I wish gtk-doc wasn't such a pain to use, too.)