main reason. It uses git. Another benefit of github is you can pay for accounts that are private, so if you wanted to host proprietary code. Or things that aren't so much proprietary as personally private (backups).
also google isn't supportive of AGPL, I like the AGPL so I can't support them on this one.
if you want subversion you should go with sourceforge.
I'm not sure which vcs system google uses. (on google code; they use perforce internally)
There is also Launchpad for bazaar (bzr) repositories
Honestly just pick the one one with the vcs you want to use.
EDIT: I've rewritten this like 3 times :P sorry. Should read right now.
I myself am annoyed when I ask one question about A and people answer it with use B. I just want you to be aware of the alternatives.
It uses cvs, svn and git.
SF.net, while trying to make improvements, is hobbled with an old design. Google code is much better. And both use subversion.
Interesting choice to GPL an Apache module, though.
Google Code requires a free Google Account and a simple form. If you can live with svn, you'll find that its features are simple yet powerful (wiki, downloads page, svn browser, issues tracker). Another thing i like is that you can give admin/commit access to other Google accounts easily.
Launchpad is also a good alternative if your code is under a free license. You'll have the features of bzr, issues tracker and others, and if you're packing for Debian/Ubuntu, you can use Launchpad PPA to build your packages for 32 and 64 bit architectures for free.
I'm already familiar with SVN, so the lazy me would want to go with that -- but I've been meaning to learn git for sometime, and github might be the way to go.
http://git.or.cz/gitwiki/QuickStart
http://git.or.cz/course/svn.html (for svn users)
one thing I just noticed... github offers a wiki for your project but no bug tracker (that I'm aware of) :( I filed a bug with them on it.
and if launchpad offers git support it might be the way to go if you'll need a bug tracker soon. (if you won't I'm sure they'll fix that).
If it works for Wikia it can work for me too.
Although I discovered recently that someone had written a Trac backend plugin for Git, which rules. Trac kicks the living shit out of every other issue tracker I have ever seen. You should look into Trac and/or Trac integration regardless of what VCS you us; all useful VC/SCM systems appear to be supported nowadays (alas, no Visual SourceSafe)
Trac kicks so much ass. Moving to Trac legitimately made my hobby site real amounts of money because people entrusted us with more goodwill as a result of our quicker responses and better communication under Trac.
OOOH LOOKY HERE! A trac-lighthouse comparison:
http://warpspire.com/tipsresources/web-publishing/lighthouse...
AND someone produced a Trac-Lighthouse mirroring tool (not unlike the very useful git-svn SVN-Git mirroring tools):
http://github.com/shayarnett/trachouse/tree/master
This is just too awesome. Maybe GitHub is truly The Way. I haven't been involved with a Big Project on GitHub yet, only Google Code, so take the following with a metric fuckload of NaCl please.
My experience with Google Code has been closest (in terms of communication and transparency) to that of running my own Trac installation. I assume they're converging towards Trac simply because it's the lowest-effort option at a Python shop with an SVN-centric offering.
Github is neat but I have begun to wonder if Git and its toolchain isn't a little discouraging for new/dabbling developers on a germinal project. I use both, although I'm beginning to drift away to Git for new work. Then again, I've been using Unix toolchains for 14 years now. I'm the target demographic for Git.
Oh, fuck it. This post has just become a catalog of useful links and migration tools for me. If it helps you too, so be it, but writing this much means I have to help myself :-)
Bugzilla must be better as it generally works.
Lighthouse is confusing ( can't figure out what project I'm filing for. If I file for the wrong one it can't be changed, and where is the search again?)
Mantis is supposedly good. Never needed to use a mantis setup though.
Mantis is supposedly good.
I can't even explain to you how hard these two suck.
If you think Trac is a PITA, try either of the above. I have. There's a reason Trac was written.
Follow the docs and it works right. People who don't follow the instructions manage to fuck it up, but what else is new?
launchpad seems to be the best tracker around, but if you dont use bzr, or git, I would possibly just put your code on google code and use launchpad for everything else
I also use github, so far has not seen problems. As ruby on rails moved to git, I believe lots of open source ruby projects may follow.
I've got a Bzr branch (https://code.launchpad.net/~vcs-imports/gtkfilesplitter/trun...) imported from (http://gtkfilesplitter.googlecode.com/svn/)
That may swing your decision.
BUT I don't like that their webpage is kind of sluggish, or that they delegate issue tracking out to a pay service (lighthouse)
in a related note, committing/branching all the time locally and then just doing "git push origin" when I feel like pushing all those changes to github is AMAZING. it really changes the way you deal with rapidly changing code. I'm just learning git but the nerdhype seems strongly justified with this one :)