So, you’ve chosen a free and open platform for your software development. This platform is somewhat new, and growing pains are to be expected, but you’ve calculated it’s possible shortcomings and you’ve determined that the advantages outweigh the disadvantages. The community seems supportive and vibrant and in your estimation, things are just going to get better.
Months go by and things are progressing well. A new version of the platform is announced and you anxiously await it’s release. When it is finally released, there’s a blog entry, a list of changes, and finally a new edition of a book for you to buy. So, you go for the upgrade and everything breaks. That, too, is to be expected. According to the blog entry, it should be easy enough using all of the automated tests you wrote to pinpoint the few problems and whip your app back into shape. Hm, the best laid plans…
You soon discover that some major things have changed drastically. Moreover, you find out that those flashy powerful tools you leveraged to get your app off the ground quickly were "only ever really intended as a demonstration." That’s news to you and as the sense of abandonment sets in, you decide to find solace in the community and so you drop an email on a newsgroup. But nobody responds and so your sense of abandonment grows.
It’s similar to traveling in a foreign country–when you take the road less traveled and the guide book is useless and the last time you saw an English speaker was two days ago at some dumpy border-town hostel. You have to trust yourself ’cause doubtless you’ll learn something, no matter what happens. And when you do, and you come back to civilization, you can teach others what you’ve learned (I will mention here that I’m still in the enchanted forest with my current issues, but when I come out the other side, I pledge to share what I’ve learned in this blog). And so hopefully the next lonely soul traveling down that road less traveled won’t feel so abandoned.