I'd just like to add that since Git supports SSH, it's pretty easy to set up git repos on any server. `cd ~; mkdir myrepo.git; cd myrepo.git; git init --bare`. Then you can just `git push username@server.com:myrepo.git`.
This of course doesn't give you a web UI for creating repositories. And everyone with access to `username` on the server can access all the repositories.