This is a question that you probably already asked yourself when you start developing something and you want to be supported by an SCM tool.
There are tons of solutions in the Internet and most of them are great for the most of the purposes a developer (or a team) might have.
Websites like, just to name few of those, github , repo or cz , Google code or Sourceforge are great if you are planning to develop something open-source related or just to publish some code you don’t mind others to read, copy or fork.
On the other side, there are few borderline cases that require more attention.
One of those cases happened to me when I started developing my Bachelor’s Thesis. I didn’t want an open-source, public browseable SCM because the purpose of my thesis was (still is) unknown so I didn’t know if the code should have stayed closed, private because my University had planned to acquire it once the development would have been completed.
I remembered that, during few exams and for a small indie project, I used Assembla and, as a matter of fact, I found it really great for my purposes. When I ran on their site I (sadly) discovered that there was no more a free solution so I started googling for something new.
I hit Unfuddle and I decided giving it a try. Among the plans they offer, I decided that the “free” solution was the one I was looking for. One project, 200mb storage area, infinite repositories, tickets, tracking bug and milestones was what I really need. And the code stays closed. Furthermore, the two people limit was enough for me (me and my supervisor).
My opinion? Really, really positive. I really like the way they handle projects and repositories, mail advertising and all the kind of stuff you are expected to see in a well done software development environment. Not to mention powerful commits: those really boost your producitivity up.
Something even funny happened. If you remember I’m developing an iPhone application and, about two weeks ago or so, they published Unfuddle official application on the App Store. A very convenient solution for me. In fact, I’m used to debug, analyse and test my application while I’m moving so it’s really useful to add a bug/feature report on the way while I’m testing it.
Summarizing it up: I really appreciated Unfuddle for the 4 months I’ve been using it and it will be my first choice if, in the future, I need something similar. In the mean time I advice you to take a look at it if you’re willing to start a new project or thinking about moving your existing code somewhere else.