Invariant Properties

  • rss
  • Home

Why You Should Move To Offsite Source Control

Bear Giles | October 27, 2015

A nightmare came up in a casual conversation at work: another group that had been an acquired business but not yet fully integrated into the corporate ecosystem had come into work on a Monday a while back and discovered that all of their computers had been stolen over the weekend. This included their subversion server. All of their source code was lost.

Fortunately one employee had checked out the latest code on his personal laptop on Friday and they were able to restore from that. It would have been disastrous if nobody had code on their personal gear. (I should point out that it is often against corporate policy for developers to have copies of the software to work on at home. This shows why it may be better to encourage developers to keep copies on encrypted disks as a form of ad hoc distributed backups.)

Source code repositories are often sitting on a spare computer somewhere. Sometimes it’s in a locked room, sometimes not. Locked rooms might slow down burglars but they won’t stop fires, flooding, etc. In theory you can create backups AND make off-site copies AND periodically restore the system from backups to ensure your process is solid but in practice if you ever need to put your emergency plans into action you’ll have wished you spent a few bucks earlier to make the problem go away.

There are two broad solutions:

First, set up your own server at a hosting company. You can probably still find colocation and hosting businesses that will lease you a real or virtual server but it will probably be easier to get an AWS micro instance. Install subversion or git and you have a working off-site repository. This gives you the most control but you’ll still need to manage the system – perform backups, periodically check for software updates, etc.

Second, hire someone else to do it. Get a private repository at GitHub or one of the other sites that provide low-cost repositories. The lawyers might grumble but, realistically, few of us write code that’s intrinsically valuable – it’s only valuable as part of the business’s ecosystem. There’s still the risk that the third-party source repository could go down or go out of business but that risk is easy to mitigate.

Something that is not a solution is to bury your head in the sand and pretend it will never happen to you. Even if you avoid theft, fires, flooding, angry ex-employees, etc., you have to recognize the real risk that computer hardware fails fairly often. I’ve had a motherboard and a couple hard drives fail at home despite being on surge protectors and UPSes – they’re only engineered to last the normal replacement interval for consumer computers and things like source code repositories and databases tend to be on systems that run 24/7 and are largely forgotten until the hardware breaks.

(This is “foreshadowing” – another essay in my queue is an exploration of whether I should put my personal databases into the AWS cloud. It has similar questions.)

Categories
Uncategorized
Comments rss
Comments rss
Trackback
Trackback

« Dhalgren: three notes Hadoop Insight of the Day »

Leave a Reply

Click here to cancel reply.

You must be logged in to post a comment.

Archives

  • May 2020 (1)
  • March 2019 (1)
  • August 2018 (1)
  • May 2018 (1)
  • February 2018 (1)
  • November 2017 (4)
  • January 2017 (3)
  • June 2016 (1)
  • May 2016 (1)
  • April 2016 (2)
  • March 2016 (1)
  • February 2016 (3)
  • January 2016 (6)
  • December 2015 (2)
  • November 2015 (3)
  • October 2015 (2)
  • August 2015 (4)
  • July 2015 (2)
  • June 2015 (2)
  • January 2015 (1)
  • December 2014 (6)
  • October 2014 (1)
  • September 2014 (2)
  • August 2014 (1)
  • July 2014 (1)
  • June 2014 (2)
  • May 2014 (2)
  • April 2014 (1)
  • March 2014 (1)
  • February 2014 (3)
  • January 2014 (6)
  • December 2013 (13)
  • November 2013 (6)
  • October 2013 (3)
  • September 2013 (2)
  • August 2013 (5)
  • June 2013 (1)
  • May 2013 (2)
  • March 2013 (1)
  • November 2012 (1)
  • October 2012 (3)
  • September 2012 (2)
  • May 2012 (6)
  • January 2012 (2)
  • December 2011 (12)
  • July 2011 (1)
  • June 2011 (2)
  • May 2011 (5)
  • April 2011 (6)
  • March 2011 (4)
  • February 2011 (3)
  • October 2010 (6)
  • September 2010 (8)

Recent Posts

  • 8-bit Breadboard Computer: Good Encapsulation!
  • Where are all the posts?
  • Better Ad Blocking Through Pi-Hole and Local Caching
  • The difference between APIs and SPIs
  • Hadoop: User Impersonation with Kerberos Authentication

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Pages

  • About Me
  • Notebook: Common XML Tasks
  • Notebook: Database/Webapp Security
  • Notebook: Development Tips

Syndication

Java Code Geeks

Know Your Rights

Support Bloggers' Rights
Demand Your dotRIGHTS

Security

  • Dark Reading
  • Krebs On Security Krebs On Security
  • Naked Security Naked Security
  • Schneier on Security Schneier on Security
  • TaoSecurity TaoSecurity

Politics

  • ACLU ACLU
  • EFF EFF

News

  • Ars technica Ars technica
  • Kevin Drum at Mother Jones Kevin Drum at Mother Jones
  • Raw Story Raw Story
  • Tech Dirt Tech Dirt
  • Vice Vice

Spam Blocked

53,793 spam blocked by Akismet
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox