views:

246

answers:

17

Hi everybody

I'm starting a .NET project and my developers have their own laptops. How can I prevent the developers from taking the source with them out of the company?

Edit:

Can I setup Team Foundation Server in such a manner that every uer have only access to some source code files?

+1  A: 

You can't... once you lose physical control you've lost the battle to keep information safe.

monksy
+4  A: 

You really can't do anything about that. Source code is after all just plain text and nothing will prevent them from copying it over. Likely the only option you really have is legal venues for ensuring your source is not abused.

Marek Karbarz
A: 

Pay for company laptops?

Joe
and even then nothing will prevent copying of the source code
Marek Karbarz
+10  A: 

I would imagine such an effort would be futile. Best to pursue this legally.

Blake Taylor
+3  A: 

You can't.

If people have access to any of the internet, email, instant messenger, USB ports, networked laptops, then it's impossible to prevent them taking the source by physical means. And no developer worth their salt will agree to work without those things.

All you can do is ask them to sign an NDA which means they can't disclose the code publicly (though of course it can still 'leak' anonymously) and trust them to do the right thing. After all, you're trusting them to build your product.

Greg Beech
A: 

Can I setup Team Foundation Server in such a manner that every uer have only access to some source code files?

Alex James
1) Edit your question, don't add this as an 'answer'. 2) Yes, that's all in the documentation for TFS.
Greg Beech
+5  A: 

Chain the laptops to the desks.

John Nolan
nice one. haha =D
thephpdeveloper
well, if they have internet access they can email or upload the code.
hab
A: 

You can never be safe from any kind of theft.

Makach
A: 

The best way to prevent developers is to either have:

  • Source code control that locks files at check-out and that a user can't checkout a whole project

  • Great developers that are of high moral fiber (with great working conditions)

It's just a shame that the first option is counter productive (as they can't build the system for themselves to smoke test) and the second option is impossible for some companies.

Spoike
A: 

By not letting them use their laptops at work, and don't have an internet connection, and don't let in/out any writable storage media of any kind (floppys, CDs, DVDs, memory sticks...).

I would rather go for some kind of source code protection policy to keep the source code from getting in the wrong hands, instead of implying that the developers are the wrong hands...

Guffa
+7  A: 

Short Answer You can't

Long answer - gain some trust, not everyone is out to get you or your IP. I've seen companies flatter themselves over IP that frankly has little to no resale value on the open market. Not saying this is your case, but yeah, have a little respect for the developers.

JL
I'd also like to say that I'm glad I don't work for this person. Distrust like this is a self-fulfilling prophecy; his company is not long for this world.
Greg D
!Greg 100% Agreed, treat people like kings and they'll think of you as a king, treat people like dogs, and you'll soon bring out the worst in people
JL
A: 

You could consider some virtual development enviroments. This way the files never leave the company servers.

Henrik Jepsen
+2  A: 

Everything you do to try and stop developers walking off with the source code is going to do nothing but slow your development team down. Don't waste your time. If you don't trust your developers then hire new ones you can trust.

I'm currently working in a company that is trying to do something similar. We used to be fairly lax (maybe too much so) with access to our source code until we were bought out a couple of months ago. Now we have to jump through all sorts of hoops to get at the code and all it has done is slow us down development wise. The code is actually less safe now because we were denied access to our VPN from home in case we 'stole the code'. The result? - we now all carry the entire trunk around in USB keys in our pockets so that we can actually do our job at home and on-site. The code can now be left accidentally on a train, a taxi, or on the desk in plain view of our competitors working at the same site. Ridiculous.

This is actually the first company I have worked for where the code has some real commercial value. I could easily sell it to a competitor for 50k or so if I felt like it. I wont, and neither will any of my colleagues. Our honesty is the only real protection my company has for its source code, everything else they try to implement just annoys the developers - who may then think about jumping ship to the competition, which would be a disaster for the company even without us taking the source code.

Russell Troywest
trust comes with time, you can't hire trustworthy people, its impossible.
Vince
To a large extent what you say is true Vince but when hiring someone to do a job like software engineering you have to start out with a position of trusting them and then watch closely. You have to give your software engineers the keys to the crown jewels or they can not do their job.
Russell Troywest
+2  A: 

You can prevent your developers from bringing the source code home only be closing access to it. So that nobody can work on your project.

This is going to be ridiculous environment: no trust in a team. The worst thing that can be.

But this is valid concern to protect your Intellectual Property. The most common thing is to just sign an NDA.

So:

  1. sign NDA;
  2. trust your team (and your team will respect and trust you)

Cheers.

Dmytrii Nagirniak
A: 

Trust your team or fire them. If you can't trust your team then I would give up trying to produce software with them.

Quibblesome
+1  A: 

I often take source code with me home If I think I'll need to use it again some day.

I have a nice library of code snippits that I take with me from job to job so don't be supprised if those same developers bring code to your company that they've written elsewhere and save you time by doing that.

Keep in mind that I only keep code that won't violate IP. I'm talking about basic routines, nothing ground breaking.

To answer your question, you can try an approach that Microsoft takes with its windows kernel developers.

Sit them down on work stations that are disconnected from the internet, no email allowed and screen them for portable storage devices when they leave work :-)

Vince
+3  A: 

The most effective way to achieve this is as follows:

  1. Fire everyone.

  2. Shut down the business.

Seriously. This is the 21st Century, and digital technology is pervasive. Source code is the simplest form of information to move around: ASCII text files. And are you seriously going to tell me that developers stop talking shop when they go home? I know I don't. I'm mulling over problems, algorithms, requirements, deadlines, and all that other whatnot. Do I share it with competitors? Hell no.

But my point is that intellectual property isn't at risk just because we've stepped away from our keyboards. Preventing the theft or distribution of software is a futile effort; you might as well shove gags down everyone's throats while you're at it.

Whoever is behind this idea needs to seriously rethink what it is that they're trying to achieve here. The more barriers you erect between a developer and the tools he needs to get his work done, the longer it will take him to deliver the product. Time to market is everything these days, especially in this economy. And no manager who wants to keep his job wants to be the guy who has to explain that the product is X months late because he erected insurmountable obstacles that prevented his teams from getting their work done.

Mike Hofer