Recently, some friends and I decided to get together and make a good old-fashioned text adventure game. We could have used an existing engine, but that would be no fun!
The problem, though, is this: because of my work on our Java PDF library and Pdf2Html Converter, I’m used to a certain level of quality when it comes to project management tools. We use Fog Creek’s Kiln and Fogbugz – both great products, but not in the right price range for a small fun project.
Luckily, there’s a wide range of free alternatives. Here are five of the most popular. All of them feature Git or Mercurial support, Issue tracking, and Wikis – so lets take a look at the differences.
While it wasn’t the first, SourceForge is very much the grandfather of the hosted version control services. It’s very feature rich, having had almost 15 years of development, with the only thing particularly missing being code reviews, but unfortunately its design is showing the years.
The code itself is hidden away and relatively hard to find, and once you do eventually find the source, it isn’t presented well – there’s no syntax highlighting. and unlike the rest of the sites on this list it features advertising. It’s also exclusively for open source projects.
The new leader of the pack, GitHub, has seen astronomical growth since launching in 2008. It now has over 5 million users and over 11 million projects – 30 times more projects than the well established SourceForge.
It’s somewhat restricted in terms of version control support – you can choose between SVN or Git – but it puts the code front and centre. It also features good desktop tools for working with the site, project site hosting and code reviews. Open Source projects are free – if you want to develop in private you can, for a small monthly fee.
Google Code is a little more bare-bones than the other sites on this list, but it remains the third most popular of the bunch. Notably absent are binary hosting, site hosting, and forums. Source code is a little hidden away, but nicely presented.
Once again it’s available exclusively to open source projects.
Bitbucket launched around the same time as GitHub, but hasn’t seen the same kind of growth. This somewhat surprises me, as they have remarkably similar feature sets – the main difference being GitHub’s desktop tools. I actually find Bitbucket’s interface more cleanly set out, and private projects are free for up to 5 people to collaborate on.
CodePlex is Microsoft’s platform for writing open source code, and as such has seen relatively high usage rates considering how few features it has – notably absent are code reviews, website hosting and team tools. It does feature a relatively clean design, and the code browser works nicely. Again, it’s Open Source only, but I’m not convinced CodePlex is a logical choice for any project which doesn’t directly involve Microsoft.
So which hosted version control site did we pick?
Since we want a private project, our choice was Bitbucket. The only real alternatives would be to use CloudForge or host GitLab ourselves. It’s very nicely designed, and the only feature it really lacks is a forum, which we don’t need. So far we’ve been very pleased with our choice.
If you’re don’t need a private project, I’d be tempted to recommend GitHub – whilst not as fully featured as SourceForge, it’s quicker to get projects up and running, and doesn’t have ads. Another bonus is the community – it has over 5 million users, which puts it in a clear lead.
What do you use? Is there a killer feature they’re all missing?
Do you need to write or read JPEG in Java?
We have an easy guide on how to write JPEG in Java using ImageIO and JDeli.
You can learn how to read/write most of the image files in ImageIO. However, it gives little control over the process.
JDeli is easy to use and offers complete support, so why not give JDeli a try?