Hello everybody. Today is time for another Advice Series post.
This time, I’ll focus in attitudes instead of code, and how these affect the public image of your projects.
Attitude and project image
Again, because you’re working on a OSS, it has a public image — even if you don’t want it — so don’t be narrow-minded and say I don’t care, because you should.
Keep all your users aware of the changes
I can start this with a mea culpa1. While working on OOS, you need to keep everyone that uses or contributes to the project aware of the changes.
Why? because a change introduced can break lot of development or production environments, not to say take away the joy of using Ruby at all!
Now I realize how important is keep your users up to date on what’s happening with the projects that affect their work.
Why I’m saying all this? Because the new trend is do announces on Twitter, even when you’re subscribed to the devel mailing list of the project… you need to stalk the project developers to get news.
Of course, you can avoid all this spending 4 to 8 hours a day on #IRC channels, where most of the big and compatibility breaking changes are introduced and decided.
Just to give you an examples…
Previous release of 1.0, most of the 0.9.x versions included release notes with changes. Proof is here for 0.9.5
, 0.9.6, and 0.9.7, but seems that ended there, with no announce for 1.0 (Final or release candidates). Even no changes that you can see on RubyForge.
This is something I’ve commented to the developers several times and keep poking them about it, as I commented on this blog post about something will change in new release that wasn’t announced in the mailing lists (neither users or devel one). But guess has no effect, since release announcements happens on Twitter mostly: here, here, and here
Taking in consideration all that background, no head’s up any of the releases release were announced (at least not on the mailing list I’m subscribed to), so I couldn’t test all these cross platform things beforehand.
There was a pair of messages on Twitter (tweets?) requesting help on getting sqlite3-ruby project working on Windows (here and here). Again, you should be stalking that user and of course, have the time to read all these tweets.
A quick resume of this: sqlite3-ruby 1.2.4 was released, with this release notes:
This release only updates the generated C file to reflect the compatibility changes that were made to the SWIG file. Binary builds (e.g., Windows) are not affected, and need no update. In general, you will not need this update unless you are using a version of Ruby prior to 1.8.6.
The thing is that any new gem release will affect
gem update, so if no binaries for Windows exist for 1.2.4, Windows users will installation errors, like the ones listed here
As I left on blog the comments, I’m not against on a developer dropping the support for a platform (humans beings are really hard to please).
I suck at release management too, as I mentioned when started this article, but a small blog post with a head’s up or quick announcement will not hurt anyone, right?
Anyway, if you want to automate the news announcement to RubyForge, take a look at this (look ma, no Hoe, Echoe or anything, just plain Ruby!).
DataMapper suffered from gemitis like Merb (too many gems to release each time), so verify all those moving parts on every release is time consuming.
I’ve shared my comments on this on Lighthouse and the mailing list, and also contributed back some patches for a project I currently don’t use.
My take (my conclusions)
You can agree or agree to disagree with me on this, is up to you.
I’ve spent up to 10 hours of QA per each release of One-Click Installer, because I care not to break stuff (and that’s why I do RC instead of final versions).
I came from a industry (broadcast video) were all those mistakes cost thousand of dollars per second since they play back advertisements. The systems must be running 24×7 or they loose money.
Those are not pet projects anymore, and as such they should invest time on structure instead of hacking a new cool functionality and tweet about it.
gem update hurts all, they are silently releasing stuff into Rubyforge which is the default gem repository for users. The funny thing is that I’m not talking just for Windows users, but Jruby too.
The problem is not technology or a platform limitation, is people.
People said that I’m a whiner, I just rant out loud and do nothing…
Well, when you try to something and people doesn’t care, no matter how much you do, never will be enough.
1 Wikipedia article about mea culpa