Allegory of the long spoonsWhen I think of long-term open source collaborative projects, I often recall the well-known
allegory of the long spoons (every religion has its own variant).
Quote:
A man spoke with the Lord about heaven and hell. The Lord said to the man, “Come, I will show you hell.”
They entered a room where a group of people sat around a huge pot of stew. Everyone was famished, desperate and starving. Each held a spoon that reached the pot, but each spoon had a handle so much longer than their own arm that it could not be used to get the stew into their own mouths. The suffering was terrible.
“Come, now I will show you heaven,” the Lord said after a while. They entered another room, identical to the first — the pot of stew, the group of people, the same long-handled spoons. But there everyone was happy and well-nourished. “I don’t understand,” said the man. “Why are they happy here when they were miserable in the other room and everything was the same?”
The Lord smiled, “Ah, it is simple,” he said. “Here they have learned to feed each other.”
We've probably all been through the programmer's Hell — where changes are published via Zip files on websites, soon destined to become dead links, and to integrate each others' changes to the code we had to spend sleepless night comparing the changed files against the original codebase, side-by-side (muttering unrepeatable swear words out of frustration).
The good news is that not all programmers are masochists (although it's a profession that's intrinsically always a bit masochist) so some people decided to turn their life to the better, and came up with version control systems (Git being just one of them, surely not the best one, but definitely the trendiest one), so we can enjoy a relatively "paradise-like" condition when it comes to integrate all the changes that different people do to the same code, and are able to blend them together without going totally bonkers.
In the end, programmers from both camps do the same thing (eat the same stew), the only difference is how they handle "the long spoons" of programming, i.e. whether in a collaborative manner or each one on his/her own. Think of Git (Mercurial, Bazaar, SVN, Fossil, ecc.) as the spoons of the allegory, for after all they are just tools (also, in GitHub we
fork repositories, so the allegory holds up well enough, having now a spoon and a fork as well

).
Allegories aside, collaborating with the right tools is a real time saver for everyone — for the independent contributors
and the maintainers of the original code alike.
The only question we have to ask ourselves is if we see ourselves still programming in five years time. If the answer is yes, than it's worth cutting out an hour every day and dedicate it to learn how the cutting-edge collaborative tools work, for every minute we invest in learning them is going to save as hours in the future. Besides, some of these tools are like passports without which you can't enter the arenas where all major open source collaborations happen — in the past few years GitHub has managed to attract all the major open source players, from Mozilla to Google, Microsoft, nVidia, and countless others. The reason is just that when you play in the same team you like to live under the same roof, for communications and all sorts of exchanges become much easier.
Even discussing and planning technical matters becomes difficult without dedicated platforms (e.g. on a forum) — being able to create tags and associate each individual code change with a specific discussion thread is essential for keeping track of what needs to be done, what is being worked on and what was accomplished. Life is too short to have to sift through long forums threads trying to spot a comment you saw months before; we need tools that can provide us quick and up-to-date access to the information we need, and being able to relate that info to the actual state of the code, in real time and in a way that let's us know the real status of the project as of now.
Using GitHub Issues, Projects, the Dashboard and Wiki makes organization really tidy and smooth, allowing to organize work within time-framed schedules, and provide user-editable documentation. And the good news is that creating an account is absolutely free — and unless you are a corporation, you probably won't need to switch to a fee plan, not for open source projects.