What are the advantages and disadvantages of self-hosting something like a svn repository? All links and ideas are appreciated.
Off the top of my head:
Advantages of Self-hosting
- Flexibility. On my own machine I can install whatever I want. If I would like to use a vcs like Bazaar and use Loggerhead instead of Trac, then right now there isn't really much choice beyond Launchpad, which has its warts
- Save money. Costs add up over time especially for large teams
- The free plans offered by sites like Assembla are not private. Anybody can have access to your code
Advantages of Paid hosting (ie: GitHub, Assembla, Google Code)
- Robustness. You don't need to worry about your server catching fire because it's become somebody else's problem.
- Less hassle. Don't need to be do all the system administration and tweaking of conf files. Instead you can just focus on the coding
For production you should only use self hosting if you are professional sys admin. Can you answer yes to following questions (a bit linux oriented, but you should get an idea):
- Can you react to system failure in minutes (I mean you need sleep at least. Do you have somebody to look after system while you are asleep?)
- Can you spot a system break?
- Can you remove exploits from your system?
- Can you recompile kernel. If you can't remove exploits?
- Can you configure the system for optimal performance?
- Are you willing to pay for UPS, backup storage and alternative internet provider?
If you can answer yes to these questions benefits are very atractive and I would go with it.
On the other hand hosting development environment can be managed by administrator of any level especially when there are such easy to use servers like Ubuntu.