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

Comments

A little off topic but a question of interest to at least me.

Written by ojblass

I believe GitHub and Google Code are free, as long as you don't break the limits.

Written by Zifre

But they both suggest you opensource your code, because everybody can download it anyway

Written by Sergej Andrejev

@Zifre - Also Unfuddle.com - free Subversion hosting.

Written by 5arx

Accepted Answer

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.

Written by Sergej Andrejev
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki