In writing my first article about open source games, it became apparent that I had plenty of ground to cover, and not just specific to games. It's a known trend in open source: The majority of started projects never finish. If you think this is a problem that needs solving, I will argue that you are mistaken. This time around I want to address the topic of ‘making the journey worth your while.' You can take your pick of popular proverbs, but this is such common wisdom that it even comes in the flavor of rich media:
Incomplete versus failure
Sure we can do better, but in a world where ‘incomplete' is a failure and only ‘stable' is a success, there will always be a disproportionate amount of failure. While failures end, successes persist and effectively dissuade involved developers from embarking on another "failed attempt" for an extended period of time. As a result of openness, the number of documented "failures" will always outnumber the "successes." Getting it right means you finally got it wrong enough times to figure it all out.
Incomplete is not a failure, it's just attempt 1. That said, I'll be the first to admit that finishing a project is awesome. That unique feeling of accomplishment can easily eclipse the preceding journey, especially if the going got so tough at times that you'd rather not pause to reminisce. But let's all be frank: The majority of our projects never made it that far.
"When you have completed 95 percent of your journey, you are only halfway there."
~ Japanese Proverb
Why? Because life is in alpha. If odds are your project isn't going to finish, make the most of it.
1) Don't be shy, be public; strut your stuff
I'm recycling this from my earlier article because it's worth reiterating.
Startups: Engage your peers. Give me a chance to be a tiny part of your project and I'll be sure to spread the word about this cool thing that I proudly contributed to.
Joiners: Put what you've got out in the open. Create and then share with everyone. Even if your work isn't used in the project it was intended for, you tried. They know it, the web remembers it.
"Focus on the journey, not the destination. Joy is found not in finishing an activity but in doing it."
~ Greg Anderson
2) Join the community; participate
Play an active part, don't just sign up for the occasional query. Scour the blogs and boards; there's always a post where your input will be appreciated, be it as a supporter, a tester, a use case or just a second (third, twelfth, forty-second) opinion. Every substantial post makes way for another of even greater substance. Make an effort to continue positive trends and you will be recognized for it.
"Success is not a place at which one arrives but rather the spirit with which one undertakes and continues the journey."
~ Alex Noble
3) Use your contacts
The more engaged you get, the more people you'll meet. You'll invest lots of time in some of them. It makes sense then, to make the most of these individuals. It may seem strange, awkward even, but ask them for a letter of recommendation--like on LinkedIn. You'll probably get it if they know you'd do the same for them. You can even take it one step further and ask your best open source contacts to be a reference contact on your CV#.
"A journey is best measured in friends rather than miles"
~ Tim Cahill
4) Always leave a note
Make it easy to go back to attempt one. Say you do something completely differently after that first attempt, but you did leave your work well-documented, possibly even with with a closing statement. Was it a dead end not worth pursuing, or did you just run out of time? Say someone else makes another attempt and gets off to a flying start, thanks to you. Suddenly your incomplete work has played a part in a vibrant project. It might even entice you to get back into it.
"Too often we are so preoccupied with the destination, we forget the journey."