Slashdot Mirror


Ask Slashdot: How To Work On Source Code Without Having the Source Code?

occamboy writes: Perhaps the ultimate conundrum!

I've taken over a software project in an extremely specialized area that needs remediation in months, so it'll be tough to build an internal team quickly enough. The good news is that there are outside software engineering groups that have exactly the right experience and good reputations. The bad news is that my management is worried about letting source code out of the building. Seems to me that unless I convince the suits otherwise, my options are to:

1) have all contractors work on our premises — a pain for everyone, and they might not want to do it at all

2) have them remote in to virtual desktops running on our premises — much of our software is sub-millisecond-response real-time systems on headless hardware, so they'll need to at least run executables locally, and giving access to executables but not sources seems like it will have challenges. And if the desktop environment goes down, more than a dozen people are frozen waiting for a fix. Also, I'd imagine that if a remote person really wanted the sources, they could video the sources as they scrolls by.

I'll bet there are n better ways to do this, and I'm hoping that there are some smart Slashdotters who'll let me know what they are; please help!

234 comments

  1. An NDA works and makes for Target to sue by Joe_Dragon · · Score: 4, Insightful

    An NDA works and makes for Target to sue if the code gets out.

    1. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 1

      An NDA works and makes for Target to sue if the code gets out.

      It is also super common to have clauses in any consulting agreement that all materials related to the project must be returned and any copies of the code or materials returned or destroyed at the end of the engagement.

      If they are too paranoid to allow that to cover them, then you will probably need to do all work on-site, and they wouldn't want to have the on-site staff have any outside access to the internet at large. Any sort of remote access to do work is basically the same as letting the code out of the building unless you are editing it in custom environments that don't permit copy of code in or out.

    2. Re:An NDA works and makes for Target to sue by AmiMoJo · · Score: 1

      It kinda sounds like they are outsourcing to somewhere that they think an NDA will be impossible to enforce, or where the source will be leaked and they won't be able to prove anything due.

      In any case, the only other option is to tell the bosses to pony up the cash to get the people they need on site, even if that means temporary accommodation for them. Any remote system you manage to devise will simply allow the source to be stolen anyway.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    3. Re:An NDA works and makes for Target to sue by gstoddart · · Score: 4, Insightful

      It kinda sounds like they are outsourcing to somewhere that they think an NDA will be impossible to enforce, or where the source will be leaked and they won't be able to prove anything due.

      Then .. they're doing it wrong.

      If you think either of those things, why the hell would you hire them? That would be idiotic, if not outright irresponsible.

      --
      Lost at C:>. Found at C.
    4. Re:An NDA works and makes for Target to sue by arth1 · · Score: 4, Insightful

      An NDA works and makes for Target to sue if the code gets out.

      That works great unless the managers look to save money by outsourcing to countries where such lawsuits would go nowhere, and contractor companies disband/reband at the first sign of trouble.

    5. Re:An NDA works and makes for Target to sue by cayenne8 · · Score: 5, Insightful
      Hey...sometimes you just gotta work on site.

      NDA's are nice...but I've seen them ignored and nothing much could be done about it, unless your company is a BIG one with some powerful attorney's and deep pockets.

      So, I'd say the simplest thing would be to have them work on site. Sounds like with the fast timing requirements, it might actually just be better for them to work and test ON the machines that will be running it, to make sure it runs fast enough....?

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    6. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 2, Insightful

      Any remote system you manage to devise will simply allow the source to be stolen anyway.

      Not only will they still be able to steal the source code on a USB stick if you bring them in on site, they will also be plenty of opportunities for them to take a lot more if you don't intend to have one guard standing behind each of them whenever they are there.
      If you don't trust them you can't use them. Not on site and not remotely.

      It is hard to get suits to understand this.
      Outsourcing is the magic black box that solves every problem but they are convinced that the company value is tied to the company name/logotype and not to know-how of the replaceable people that are working for them.

    7. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 4, Insightful

      If someone is willing to ignore your NDA, then they're also willing to walk off with a copy of the code. If you can't trust them, don't hire them.

    8. Re:An NDA works and makes for Target to sue by smooth+wombat · · Score: 0

      Is that like if someone is willing to cheat on their spouse then they're also willing to walk off with a copy of the code? The whole trust thing?

      --
      We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
    9. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      Exactly, You would need an NDA regardless. They can store valuable parts of the source code in their own brains. Try as they might our corporate overlords don't yet have the technology to purge our memories.

    10. Re:An NDA works and makes for Target to sue by AmiMoJo · · Score: 3, Insightful

      That would be idiotic, if not outright irresponsible.

      This is management. If it works they saved a load of money and get a nice bonus. If it goes wrong they blame occamboy. It's win-win!

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    11. Re:An NDA works and makes for Target to sue by Immerman · · Score: 1

      >Try as they might our corporate overlords don't yet have the technology to purge our memories.

      I see they finally caught up with you. Damn it man, we were counting on you to make the evidence public!

      --
      --- Most topics have many sides worth arguing, allow me to take one opposite you.
    12. Re:An NDA works and makes for Target to sue by Eunuchswear · · Score: 1

      OB PKD -- Paycheck.

      --
      Watch this Heartland Institute video
    13. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      To go even further, you can put them in a bunker with shielding to prevent wireless communication, use an auditing operating system that tracks all permission escalations and files access, disable all usb ports and destroy all storage devices before they leave the bunker...

      And then you should get form estimates on the costs of implementing that approach as compared to remote work on VM's over a secured lan with an NDA controlling their use of the data and present that to your corporate decision makers. When faced with the costs for good security most CFOs will go the less expensive route unless there is a way to make more money (DOD contracting) be being secure

      And yes, snowden was working in a secure environment, but used his admin rights to subvert it, so ymmv

    14. Re:An NDA works and makes for Target to sue by ShanghaiBill · · Score: 4, Insightful

      If someone is willing to ignore your NDA, then they're also willing to walk off with a copy of the code.

      This is assuming the source code is actually worth something to someone else. Most companies have a wildly inflated idea of what their code would be worth to a competitor. In general, your competitors have no interest in seeing your crappy code, and are too busy with their own problems.

      I once consulted for a company that decided to "open source" some of their code. There were objections that they were giving away their "crown jewels", but they went ahead and did it. A year later, they had this many downloads of the code: 0.

    15. Re:An NDA works and makes for Target to sue by gstoddart · · Score: 1

      LOL .. hear that occamboy? Cover your ass very thoroughly.

      --
      Lost at C:>. Found at C.
    16. Re:An NDA works and makes for Target to sue by jellomizer · · Score: 5, Insightful

      Well more to the point, no matter what happens the damage is done.
      Source Code isn't as much of a threat to the organization as it is people who understand what it is doing.

      From the sound of the story, it seems like they are doing high-frequency-trading, and if the source is released then competitors can just start up their own competing company, and you loose out on your competitive advantage. However source code is usually minor part of the detail. It is when people understand what is going on and why it does it. Then they can go ahead and make a better version using the principles they learned maintaining your code.

      I have worked across a lot of organizations and I never copy the source code to my personal devices, and when I am done with the project I remove whatever I have. However what I learned from working with the code is where I am at an advantage. I find new ways to solve problems, I keep track of it, and flag it in my mind as a better way to approach a problem. I learn and get better. If I were to just take the code and make a competing company, I wouldn't have myself a real advantage, as I may not understand it.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    17. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      Sounds like with the fast timing requirements, it might actually just be better for them to work and test ON the machines that will be running it, to make sure it runs fast enough

      I hope you mean on test machines with similar hardware. Testing on live servers always ends in disaster eventually.

    18. Re:An NDA works and makes for Target to sue by pla · · Score: 5, Insightful

      NDA's are nice...but I've seen them ignored and nothing much could be done about it, unless your company is a BIG one with some powerful attorney's and deep pockets.

      Free hint, corporate America - I don't need the actual code in-hand to walk away with anything actually worth stealing from your code.

      The implementation amounts to nothing more than mere documentation, to a skilled programmer. The underlying concepts hold all the value, and once I've seen them, you can't make me un-see them. "Oh, what a cool way to schedule garbage collection without sacrificing soft-realtime I/O responsiveness! I'll have to remember that one!" - Done. Your one jewel-amongst-the-dross just became mine.

      So whether enforceable or not, the NDA has a hell of a lot more practical use here, as opposed to trying to control physical access to your preeeciousss source code.

    19. Re:An NDA works and makes for Target to sue by Bert64 · · Score: 2

      Indeed if they are that paranoid, then the onsite staff could easily copy the code if they wanted to, forcing people to work onsite provides zero additional assurance unless you take extreme measures such as cutting off all outside access and searching people as they enter/exit etc.

      The only protection you have is the NDA and other contracts between contractors/employees and the company, even the NSA couldn't physically stop someone from getting data out of the organisation.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    20. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      In many states NDAs are easily, and legally, ignored. I do agree that if you cannot trust someone, do not hire them.

    21. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      Also wipe your ass very thoroughly.

    22. Re:An NDA works and makes for Target to sue by meloneg · · Score: 1

      In many states NDAs are easily, and legally, ignored. I do agree that if you cannot trust someone, do not hire them.

      You may be confusing non-disclosure with non-compete. The latter are rarely enforceable.

    23. Re:An NDA works and makes for Target to sue by bonehead · · Score: 1

      This X1000...

      Management, in many (most) companies consists of two complimentary skills. Stealing credit and deflecting blame.

      These people love meetings. Attending a meeting is a chance to claim involvement with the project if it turns out to be successful. If it fails, you just say you didn't really have anything to do with it except attend a couple meetings.

      Either way, you just sit back and wait for your promotion. No productive work necessary!

    24. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 5, Funny

      A year later, they had this many downloads of the code: 0.

      4,294,967,296 downloads? That's quite impressive!

    25. Re:An NDA works and makes for Target to sue by Austerity+Empowers · · Score: 1

      An NDA works and makes for Target to sue if the code gets out.

      No, in many companies you may not discuss anything at all without an NDA, but an NDA itself is not sufficient to get code access. Half of my previous employers would not allow contractors to even see code without a VP to sign off, and even then had to do so on site, with company equipment and were not allowed any electronics. Contractors are second class citizens in many places, usually for the same reason as why you hired them: they are disposable and will go off to other work (almost certainly at a competitor) when you release them.

      Most of the time option "1" is what employers require, and tell those that won't work on site to take a hike. Option "2" is good if you can ensure file sharing doesn't work, and your mgmt believes it to be viable (which really requires a paper trail, not so much their personal opinion).

      Honestly if a job is so essential to company success that you have to have these rules, then you really should have on-staff employees doing it, and reserve contractors for peripheral stuff that isn't so sensitive. That said, I know a few micro-mgmt types that really and truly believe everything employees do at work is top secret...

    26. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      > Not only will they still be able to steal the source code on a USB stick

      Or leave an SSH tunnel out to, and then back into your site.

      I once had an "architect" at a stock firm quietly set up such a tunnel out to his home machine, and back in from his home machine, so he could do work from home more easily. Which was understandable, but his insisitence on using private SSH keys to and from such sites, with the private key stored on his NFS shared home directory, with local root SSH access, just made it a *prize* to take a walk all around his systems and document the walk for

      I offered to put up an /etc/motd on all his systems saying "come see us", but was blocked by my manager from doing so. My manager assembled it all in a file for use if he ever felt like getting the architect fired, but refused to act on it. And since I was a contractor, well, my options were limited.

    27. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 1

      This goes for regular salaried employees as well.

    28. Re:An NDA works and makes for Target to sue by Austerity+Empowers · · Score: 1

      I don't need the actual code in-hand to walk away with anything actually worth stealing from your code.

      I don't disagree with the overall premise, but there are many times when the actual implementation is more important than the concepts. How long did Microsoft keep the world hostage with proprietary document formats? There are quite a few examples of this in the industry.

      If you think like an asshole, by which I mean an investor or CEO, then you have to figure out what is the fastest way to get rich quick and minimize the investment. Your concepts require translation to turn in to code, code requires testing to turn in to functional code, and, at times you require marketing & sales to turn it in to cash. While you are translating concepts to code, and code to functionality you are taking a paycheck, benefits, and office, infrastructure, and time, all of which requires accounting & other business overhead. This costs money. So, thinking like an asshole, how can we do away with all that and reduce it to the minimum (ideally just sales, hopefully on a website)? Steal as much as possible. It may be that the investment only makes sense to an asshole if the product is essentially stolen (or uh...leveraged).

      Concepts are valuable to you, and if the market is relatively open and ready for a new product might be profitable to pursue. But give an asshole an easy way to cheat, he'll do it. So protecting your code isn't entirely insane. Protecting code so important to your company that you feel the need to employ draconian measures, but then hiring labor you can't trust because they are temps... that is probably insane.

    29. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      Realtime headless secret code... sounds like HFT algos. Yes, the company will probably kill to protect that information. Yes, it probably is worth that much financially. It's also evil, and I hope to god that some Indian outsource-quant steals the code, posts it on China's version of GitHub, and sells it again to every competing HFT firm.

    30. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      I agree completely with what you said. A lot of companies place an insane value on their 'secret sauce'. It's especially hilarious when it's nothing more than some web app with a SQL back-end. When you look at the quality of Open Source systems out there, starting with Linux...one has to be delirious to think their little Python/C# code which moves data from point A to B is worth the hard drive space it is on. Heck, even Microsoft just put their Deep Learning toolkit on Github :)

      I wonder if this 'valuation' comes from the bean counters since they tend to look at salaries, benefits, etc more than anyone, than the actual developers.

    31. Re:An NDA works and makes for Target to sue by Austerity+Empowers · · Score: 1

      That and generally employees tend to stay around a bit longer and won't immediately run off to a competitor unless they are laid off. HR tends to screen out resumes for employees whose work history looks like a bingo card. You can trust an employee a bit more because he has more to lose and has incentive to stick around a while and not immediately run off to a competitor.

      A contractor on the other hand has to eat, he'll run off immediately at the end of his contract and take the best option available to him, which is frequently at a competitor. I can't blame them one bit, and if they borrow a bit of code it may be free money. Honestly just don't let contractors work on projects that are core to the business, that's not what contractors are supposed to be used for anyway. If it's really important you have employees doing it, and you motivate them to stay.

    32. Re:An NDA works and makes for Target to sue by Chris+Mattern · · Score: 1

      That would be idiotic, if not outright irresponsible.

      To which many managers will reply, "Yeah, but it's cheap."

    33. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 1

      An NDA works and makes for Target to sue if the code gets out.

      Having me sign an NDA is an insult. I have a reputation. I don't blab about your secrets.

    34. Re:An NDA works and makes for Target to sue by BarbaraHudson · · Score: 1

      Even working on-site is no guarantee that code won't leak out. Thinking otherwise is foolish. You balance the risks vs the rewards, and make your decision accordingly. Anyone who doesn't understand that there's risk in everything should be sent back to the nursery.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    35. Re: An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      How the hell do you know who to trust? It's not like liars arent bold face.

    36. Re:An NDA works and makes for Target to sue by Pseudonymous+Powers · · Score: 1

      Most companies have a wildly inflated idea of what their code would be worth to a competitor. In general, your competitors have no interest in seeing your crappy code.

      It depends on what they're planning on doing with it. I agree that a competitor's codebase is going to be of approximately zero interest to developers trying to implement a similar system. It might, however, be very interesting to a legal team, who might want to scan it for patent and licensing violations. If they can find some, real or imagined, they can exploit these liabilities for FUD purposes, or to strategically cripple the competition's products.

    37. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      An NDA works and makes for Target to sue if the code gets out.

      Posting anonymous... NDAs don't mean squat if those breaking it are in countries where such NDAs are unenforceable (think China.) I don't mean to dis the country, but the risk of lost/stolen intellectual property or violation of NDAs is real: http://www.cbsnews.com/news/60...

      Similar issues exist with Pakistan or certain Eastern European countries such as Romania (I won't bother to provide the links).

      Caveat Emptor. If you are going to provide remote access to contractors, make sure they operate in a country where the NDA is actually enforceable.

    38. Re:An NDA works and makes for Target to sue by luis_a_espinal · · Score: 2

      If someone is willing to ignore your NDA, then they're also willing to walk off with a copy of the code.

      This is assuming the source code is actually worth something to someone else. Most companies have a wildly inflated idea of what their code would be worth to a competitor. In general, your competitors have no interest in seeing your crappy code, and are too busy with their own problems.

      I once consulted for a company that decided to "open source" some of their code. There were objections that they were giving away their "crown jewels", but they went ahead and did it. A year later, they had this many downloads of the code: 0.

      Be that as it may, it would be irresponsible for a company to be careless to protect its intellectual property (even if it is shitty.) Also, sometimes the code might be shitty, but *what it does* is what is important. Without disclosing, I've seen some truly crappy code that yet are integral parts of systems delivering hundred of millions in value.

      The potential value of a system is not just on how it is constructed, but in the services that it can render. And like any business, systems might operate on the red for years before turning a profit. So until you know for sure, you gotta protect your jewels, even if your "jewels" are nothing but a pair of dried out raisins :P

    39. Re:An NDA works and makes for Target to sue by zwarte+piet · · Score: 1

      Pro choicers are not to be trusted??????

    40. Re:An NDA works and makes for Target to sue by Alypius · · Score: 1

      I think he was alluding to the mantra of "if you can't trust me with a choice..."

    41. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      I think this is FUD beyond FUD. For patents, you don't need code. In fact, do ANY software patents include code? You just need a general implementation. Also, if you have closed code, it is easier to be accused of intentionally violating the patent. At least with opening the code, the plaintiffs cannot claim intentional violation.IANAL

    42. Re:An NDA works and makes for Target to sue by The-Ixian · · Score: 4, Informative

      Any sort of remote access to do work is basically the same as letting the code out of the building

      I can attest to this.

      I have worked for large corporations that utilize proxied access to the Internet and locked down removable media.

      It was still trivially easy to circumvent by using PuTTY to open an SSH tunnel over 443 to my home network, then using port forwarding to open an RDP session to an internal Windows box (complete with file transfer and drive redirection).

      I really just wanted to see if it could be done more than anything else.

      PuTTY turns out to be on the approved executable list of every place I have worked.... Hey, if you give me the tools.... *shrug*

      --
      My eyes reflect the stars and a smile lights up my face.
    43. Re:An NDA works and makes for Target to sue by PhilHibbs · · Score: 1

      And they probably believe/deny* AGW. *Delete as appropriate.

    44. Re:An NDA works and makes for Target to sue by Tablizer · · Score: 1

      Amen!

      CYA Rule #7: Put it in writing.

      If you spot a shady or risky practice in the works, I suggest you write your caution in an email and CC enough people to have a decent record.

      You WILL likely take flack for sending it, but it provides you with a degree of protection if The Finger is aimed at you later. Better to be slapped early once than risk being spanked 10x later.

      Just make sure you word it politely. There are ways of mentioning risk without sounding too much like a spoil-sport.

      Example: "I'm concerned that using non-US labor increases the risk of intellectual property loss because they are outside the reach and jurisdiction of the USA courts, law enforcement, and our organization's own private investigators. Attached are some articles on real-life occurrences of this. [Do your homework: present evidence.] This project highly depends on the safe-keeping of intellectual property, which is put at greater risk under such practices. If you feel my concerns are unfounded, I welcome an expanded discussion on this. Thank you for letting me express my concerns."

    45. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      > Honestly just don't let contractors work on projects that are core to the business, that's not what contractors are supposed to be used for anyway Unless you're IBM, in which the MOST stupid, boneheaded and expensive option wins.

    46. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      From the sound of the story, it seems like they are doing high-frequency-trading, and if the source is released then competitors can just start up their own competing company, and you loose out on your competitive advantage.

      If this is really for development in the HFT space, submitter's boss needs to buck up and hire inhouse developers, period. We're talking millions of dollars on the line and OP is looking for ways to hire remote workers. That tells me straight away that OP's boss doesn't want to pay warm bodies to show up at the office. OP wouldn't be looking for remote-worker options if the boss man was willing to pony up for local talent.

      This cheap-ass attitude is what got Goldman Sachs' HFT code exfiltrated by a Russian. Submitter, you would do well to remind your boss about that disaster. Not to mention the idea that if your entire business model revolves around exploiting the American financial markets, and you're too fucking cheap to hire local Americans to do the work, you deserve whatever consequences you get.

      Seriously, I'm just disappointed. Some bigwig stands to make a fortune and they aren't willing to hire local Americans to get them there. Fuck that.

    47. Re:An NDA works and makes for Target to sue by mikael · · Score: 1

      It wouldn't make any difference. They are constantly upgrading their algorithms, looking for faster hardware, flaying device drivers down to the bare bones, moving to colocation facilities, making use of multi-core CPU's, GPU's servers, clusters and farms that the algorithm itself wouldn't be enough.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    48. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      Any sort of remote access to do work is basically the same as letting the code out of the building unless you are editing it in custom environments that don't permit copy of code in or out.

      Or the use of a screen recording program on the remote end? You'd need to administer the computers they're using for remote access as well to be sure.

    49. Re:An NDA works and makes for Target to sue by tnk1 · · Score: 1

      Fair enough, but you would not believe how much of a cheapskate that even a rich executive in a big firm can be.

      Not that I don't understand it. The best way to get rich is to spend as little money as possible to begin with.

      Of course, that cheapskate tendency does create these situations (and a lot of heartburn for subordinates). They want cheap help, but they are also possessive of their secret sauce. The only solution is to provide options and let them pick the cheapest one. I also frequently suggest that you do good research, find the best price you can... and then pad your estimate to prepare for the inevitable request for you to knock more off the price of the cheapest option.

    50. Re:An NDA works and makes for Target to sue by tnk1 · · Score: 1

      Hey...sometimes you just gotta work on site.

      NDA's are nice...but I've seen them ignored and nothing much could be done about it, unless your company is a BIG one with some powerful attorney's and deep pockets.

      Maybe so, but what matters here is whether his boss believes in NDAs, not him.

      If his boss believes an NDA will work, then it is the boss' problem, not his.

      In any event, it should be part of the list of options provided.

    51. Re: An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      More or less, yes. Discipline, or the lack there of is the number one reason companies choose not to hire us software developers.

    52. Re:An NDA works and makes for Target to sue by BitZtream · · Score: 1

      Yea, and how does that actually help?

      Your source code is leaked. Suing doesn't actually make it unleaked. It exacts a little revenge but it doesn't actually fix the problem in any way.

      Second, what if they simply don't have the money to sue for? Sure, you check for insurance and all that ... and then they don't actually pay it along the way and aren't actually covered when the event occurs, or maybe you just can't actually demand anyone thats properly insured.

      If your solution to a problem is 'just sue', then you certainly don't understand the problem and are likely part of it.

      Let me ask you this: If car hits you while you walk across the street IN THE CROSSWALK in front of a cop who see's the whole thing ... Does suing do you any good when you're buried 6 feet deep?

      Lawsuits are a form of revenge, they aren't actually a solution to anything other than lawyer salaries.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    53. Re:An NDA works and makes for Target to sue by Joe_Dragon · · Score: 1

      RDP file transfer chokes on big files, you can do x11 forwarding over SSH.

    54. Re:An NDA works and makes for Target to sue by Joe_Dragon · · Score: 1

      and enforce HDCP on video out.

    55. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      That could create some interesting tax implications. Think Social Security and Worker's Comp. May not be as cheap as they thought in the long run.

    56. Re:An NDA works and makes for Target to sue by mysidia · · Score: 1

      That can still be defeated through the use of a cheap HDMI splitter.

    57. Re:An NDA works and makes for Target to sue by mysidia · · Score: 1

      Massive Zeta inhibitory peptide injections which interfere with LTP. Inhibiting PKM in behaving animals erased spatial long-term memories in the hippocampus that were up to one month old, , ,
      and erased long-term memories for fear conditioning and inhibitory avoidance

      In the neocortex, thought to be the site of storage for most long-term memories, PKM inhibition erased associative memories for conditioned taste aversion in the insular cortex, up to 3 months after training

    58. Re:An NDA works and makes for Target to sue by dbIII · · Score: 1

      It might, however, be very interesting to a legal team, who might want to scan it for patent and licensing violations. If they can find some, real or imagined, they can exploit these liabilities for FUD purposes, or to strategically cripple the competition's products.

      Hence NVIDIA refusing to release their driver source code after SGI got burnt that way and some SGI people later went to work for NVIDIA. Software patents suck and make zero sense since copyright does the job.

    59. Re:An NDA works and makes for Target to sue by LordWabbit2 · · Score: 1

      Heh, did this myself. You give me a server on the other side of the firewall and I will get through it. Firewalls are for stopping id10t's from watching cat videos all day. At one point I didn't want to expose any ports on my home network so I wrote a program to check my gmail every 5 minutes. I could send an email to my home email and give my home pc instructions to do stuff, download this, zip it up and mail it to xyz. Eventually I just shelled out some bucks for a cheap ass virtual server somewhere, the lag in the email thing got up my nose. But basically if you allow internet access (even just email) and get in people who are competent you better get people you can trust. To be honest that can be said for all IT work, if you don't trust the guys digging around in your database / code you are screwed.

      --
      There are three kinds of falsehood: the first is a 'fib,' the second is a downright lie, and the third is statistics.
    60. Re:An NDA works and makes for Target to sue by AmiMoJo · · Score: 1

      You should be careful with RDP. I recall a story from a talk at a conference (DEF-CON maybe?) a while back where some white hats traced someone using RDP to liberate data. When he connected to the remote machine it by default shared a printer, and by looking at the list of printers that had been previously connected on employee PCs they figured out which one he was using.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    61. Re: An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      If that's Rule 7 then what the fuck are Rules 1 through 6?

    62. Re:An NDA works and makes for Target to sue by lsatenstein · · Score: 1

      Hey...sometimes you just gotta work on site.

      NDA's are nice...but I've seen them ignored and nothing much could be done about it, unless your company is a BIG one with some powerful attorney's and deep pockets.

      So, I'd say the simplest thing would be to have them work on site. Sounds like with the fast timing requirements, it might actually just be better for them to work and test ON the machines that will be running it, to make sure it runs fast enough....?

      Even with working on site with an NDA, it does not mean that a few words said after two beers will not be two words about the application. The two words may not describe the code, but it may describe the personnel or mention the project name.

      --
      Leslie Satenstein Montreal Quebec Canada
    63. Re:An NDA works and makes for Target to sue by Anonymous Coward · · Score: 0

      They do NOT download it because if it is INDEED a Crown... you see WHERE is the idea (powerhorse function), and implement it yourself! Or copy and paste... Take RETE, for instance. If you have no idea how it works... you want the code, but if you SEE how it happens, you simply start off! This will be true for any and all algorithms, once exposed as algorithm code is just work.

    64. Re:An NDA works and makes for Target to sue by toddestan · · Score: 1

      My theory is that management knows how the code is a bunch of quick hacks with band-aids on top of it, and worry that if it got out it would be embarrassing more than anything else. However, their competitors code is likely not much better, but in that case they may be more worried about their customers looking at it, and asking uncomfortable questions.

    65. Re:An NDA works and makes for Target to sue by countach · · Score: 1

      Yeah, or just email yourself a zip is the easier way. Whether on or off site it's pretty damned hard to stop the code escaping if someone wants it to escape. If you lock your systems down so hard it can't escape you might make life miserable for developers actually trying to test and deploy your code. Unless you are working on the launch systems for ICBMs I would say don't bother.

  2. Option 1) by Anonymous Coward · · Score: 0

    1) have all contractors work on our premises — a pain for everyone, and they might not want to do it at all

    You have a requirement, this solves it. It sounds like a done deal to me.

    Plus, your bosses will be happier I expect. They can see the people working on the code and not assume it's being 'zapped off' somewhere.

    1. Re:Option 1) by bobbied · · Score: 2

      Yea, but you better have the NDA's in place, even if they are working locally. Not that an NDA will keep them from dropping your source onto a USB thumb drive and taking it home....

      Do what the Suits want, as much as you don't like it... They sign your paycheck.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    2. Re:Option 1) by __aaclcg7560 · · Score: 2

      If the company has fulltime employees who have never worked with contractors, bringing in a team of contractors will make them feel insecure that the contractors might replace them. This often becomes a hostile work environment, especially if the contractors are being paid more. Fulltime employees who haven't been in the job market for 8+ years are most likely to have issues.

    3. Re:Option 1) by Anonymous Coward · · Score: 0

      Just make sure that the PCs they use are locked down to physically prevent USB sticks and on a network completely separated from the internet.

    4. Re:Option 1) by PPH · · Score: 1

      especially if the contractors are being paid more

      And then the full time employees figure that the company has no more loyalty to them. So they figure they need to do something to get ahead financially. It ends up being the full timers that sneak the code out and sell it to the competition. Been there, seen it happen.

      --
      Have gnu, will travel.
    5. Re:Option 1) by SQLGuru · · Score: 2

      You forgot the other bonus that you know the work won't be sent overseas where intellectual property is harder to defend. If you contract out with a company and give them remote access, who's to say that the work wouldn't be done in China where all knowledge is "public". At least by controlling the work environment, you minimize the impact. Provide the consultants with hardware you control (and lock down the USB ports) and restrict them to only certain areas of the network. If possible, even limit them to only portions of the code that they need to access and not the entire project/repository. If a developer can only see a single module but not the "wiring" and can only run builds created and deployed by a build server, you've kept as much secret sauce in the vault as you can. NDA and Lawyers protect the rest......so invest well.

    6. Re:Option 1) by __aaclcg7560 · · Score: 1

      So they figure they need to do something to get ahead financially.

      Typically, when threatened with being laid off, fulltime employees will announced their intention to draw six months of unemployment benefits to take a vacation and then find a new job. My roommate did that following the dot com bust. He couldn't get back into the industry and took a cashier job with Walmart in 2002. He's still working there today.

    7. Re:Option 1) by BoberFett · · Score: 1

      If he's still there, that guy probably wasn't much of an employee to begin with. Taking a 6 month break from your career doesn't prevent you from moving out of your WalMart job for 14 years. I've taken several breaks during my career, raning from 6-month to 2-year sabbaticals, and I keep moving up and making more money every time I go back to work.

    8. Re:Option 1) by __aaclcg7560 · · Score: 1

      If he's still there, that guy probably wasn't much of an employee to begin with.

      He stopped learning after he graduated from school, did reasonably well in his first job that lasted for six years, and, after returning from his six-month unemployment vacation, he found his job skills obsolete when he went looking for a job. The funny thing is that he had enough money saved up to put himself through several boot camps to get up to speed. He just didn't want to take responsibility for himself and settled for a less demanding career. I've seen this tragedy played out quite a few times over the years.

    9. Re:Option 1) by bobbied · · Score: 1

      Physical access trumps any lockdown you can do. Sure lock it down and block USB, but there are many ways to skin a cat. IF they want your source code, it's theirs... All you can do is deal with them in court and that is most easily done when armed with an NDA.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  3. safe rooms by Anonymous Coward · · Score: 2, Insightful

    one option is allowing them to remote in from designated remote locations to virtual desktop implementations, safe rooms/clean rooms, where cell phones, etc. are not allowed. although there is still the concern of using screen capture software, so provide the computer equipment too, so you can lock down admin rights, software, dlp tools, proxy redirects, and all of the other goodness that can be used to limit the risk. This is one solution used in corporate america

    1. Re: safe rooms by Anonymous Coward · · Score: 0

      Sounds like a great work environment! People must be standing in line for a job like that

    2. Re: safe rooms by bhcompy · · Score: 2

      Various government offices work that way. I work at one such office on occasion. Check your electronics at the door, put them in a locker, go through a security check, and off to work you go on a secured and locked down computer. And there are people standing in line to make the kind of money a govt contractor makes doing IT/dev

    3. Re:safe rooms by Z00L00K · · Score: 1

      That will only work if you have full control over the site of work. As soon as you say "remote" you have a security hole.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    4. Re: safe rooms by Antique+Geekmeister · · Score: 1

      Unless you also lock off the network pretty thoroughly, people _will_ leave remote access in place. Even more fun is when the people in HR have a modem plugged in at their desks, and the people in sales catch wind of it and submit a help request to get the same thing.

    5. Re: safe rooms by bhcompy · · Score: 1

      The places I'm describing are typically air gapped.

  4. No problem ... by gstoddart · · Score: 5, Insightful

    I'll bill you at triple my usual rate to pretend to have fixed your code, and you continue to pretend I could have done so without seeing your code.

    If you quadruple my rate, I won't even admit to ever have done so.

    I think it sounds perfectly equitable.

    More seriously, that is what contracts are for. If you can't write a contract and hire people you can trust, you can't accomplish this task. At the end of the day, they'll see your code, and it will enter their brain.

    As has been pointed out elsewhere, this is what NDAs with big penalties are for.

    --
    Lost at C:>. Found at C.
  5. Remote access by AvitarX · · Score: 1

    Though the source could be stolen, it would prevent accidental leakage of the source.

    Seems a reasonable compromise.

    --
    Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
  6. Proprietary techniques by Anonymous Coward · · Score: 0

    If there are proprietary techniques that must be safeguarded, the developers will need to understand said techniques in order to work on the code. So either way the idea itself is going to be known outside the premises.

    1. Re:Proprietary techniques by Z00L00K · · Score: 2

      And 99% of all source code out there uses standard algorithms, the key is that for some unique solutions it's the combination of the algorithms that's the unique thing.

      The 1% are those top secret encryption algorithms and their encryption cracking algorithms that various military outfits works on, but they would hardly ask such a question at Slashdot. If the person asking the question works for such an agency then it's time to get a new job.

      However the data processed by the code is another issue.

      Reasons for why a company has a strict limit on their code access is usually because either they have stolen the code - even from a GPL project or they don't want to look like fools with huge security holes in their solution.

      In either case you don't want to hire consultants to manage that, you want to have full-time employees that you have control over. The hiring of consultants on the conditions that the poster provides seems to me to be a warning flag.

      Another reason for unusually strict rules on the code and use of consultants is that they want to have the job done free by having a clause stating breach of contract if anything happens - even if it's not the fault of the consultant.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  7. Option 3 by Anonymous Coward · · Score: 2, Informative

    Perform solid background checks and pay the employees enough that you can trust them.

    You have to be able to trust your employees. Onsite requirements will not aid in this.

    Note: Also... I am also misunderstanding why you can not have them remote into "local" boxes onsite, and run/execute the code from there. That code should execute in exactly the same manner as a local system running the code.... the remote contractor screens might take a little time to update.... but largely should be identical to physically being onsite.

  8. Have them work on the premises. by 91degrees · · Score: 5, Informative

    Speaking as a contractor, I'll work on site if you insist. You're the boss. Provide me with equipment and coffee, and I'll suck it up.

    We're whores. We want your money. We don't care if your demands are stupid, as long as we can meet them.

    1. Re:Have them work on the premises. by gstoddart · · Score: 4, Insightful

      I mostly agree, except you forgot one thing ... but it will cost you.

      --
      Lost at C:>. Found at C.
    2. Re:Have them work on the premises. by cat_jesus · · Score: 4, Insightful

      Right. As a consultant I will tell you when your requirements are stupid and costly. If you still insist on me working inefficiently it's your dime. I'll happily take more of your money to do it the wrong way and I will make sure my recommendations are clear in the documentation.

    3. Re:Have them work on the premises. by Anonymous Coward · · Score: 0

      What I"m doing now (working on-site as contractor ... long-term), while I look for a consulting job that lets me work remotely. And yes, one reason I haven't bailed faster ... it does pay rather well.

      As to worries about the code/NDA/etc. What's the cost of not getting this done vs the risk of a potential 'spill' or 'heist' of your code and the cost of that? That's the *real question* to answer.

    4. Re:Have them work on the premises. by zwarte+piet · · Score: 1

      Next....!

    5. Re:Have them work on the premises. by Anonymous Coward · · Score: 0

      If you're onsite, with their equipment, coffee, etc...the IRS might and probably will consider you a W-2 employee. Not a good a thing for the employer if you report it.

    6. Re:Have them work on the premises. by Drethon · · Score: 1

      From experience, on site has been the best as there is less confusion about what needs to be done. While an e-mail may go days without a response, dropping by at a desk works nicely.

      If you want to give them the ability to work off site, provide laptops with encrypted hard drives and an NDA (as mentioned by an earlier poster). I've been working for years on government contracts where they really don't want the info getting out and it has worked pretty well.

    7. Re:Have them work on the premises. by Anonymous Coward · · Score: 0

      Just remember, if you require someone to work on-site they are now legally employees, not contractors. As such, you must pay the extra 7.51% social security and worker's comp. Just saying. This doesn't apply for things like constructing a building where it would be impossible to do the work anywhere but on site, but for software development, design and engineering and the like, I can say from the absolute certainty of first hand experience that it applies.

      You might be able to get away with it if no one notices, but you would best be served by incorporating the additional overhead into your cost formula.

    8. Re:Have them work on the premises. by 91degrees · · Score: 1

      Fair point. I'm not American so I forgot that different rules would apply (In Britain, working on-site is a factor but not the sole criterion)

    9. Re:Have them work on the premises. by Anonymous Coward · · Score: 0

      Just remember, if you require someone to work on-site they are now legally employees, not contractors. As such, you must pay the extra 7.51% social security and worker's comp. Just saying. This doesn't apply for things like constructing a building where it would be impossible to do the work anywhere but on site, but for software development, design and engineering and the like, I can say from the absolute certainty of first hand experience that it applies.

      You might be able to get away with it if no one notices, but you would best be served by incorporating the additional overhead into your cost formula.

      Nope. That is not how the US tax code works. If you disagree, please post the relevant US Code and/or CFR.
      Since you are posting anonymously, I must assume that you are neither an accountant nor tax attorney, and that you are spreading misinformation.

    10. Re:Have them work on the premises. by Anonymous Coward · · Score: 0

      If you're onsite, with their equipment, coffee, etc...the IRS might and probably will consider you a W-2 employee. Not a good a thing for the employer if you report it.

      The rule weighs how much the employer directs the work versus specifies the result. The percentage of annual income the worker receives from each business is also considered.

  9. SSH by Anonymous Coward · · Score: 0

    This is not only pretty much exactly what SSH is for, but I thought everyone who studied computers in any academic setting at all was required to go through such a thing at least once.

    1. Re:SSH by Anonymous Coward · · Score: 0

      It would be trivial to fetch the source code once you have SSH access.

  10. It doesn't matter... by Anonymous Coward · · Score: 0

    If they are writing code, they will have access to the source code. Does it matter if it's on premises, by remote access, VPN or otherwise? Once you let them in the door and give them an account and/or computer they have access to steal the code.

    Better to use the legal route and ensure their contract includes NDA.

    Where this can get tricky is when you cross international borders. But if it's all in one country, it makes no difference if they are on site or not.

     

  11. This is what APIs / abstraction is for by Anonymous Coward · · Score: 3, Interesting

    You don't give them any source code. You create interfaces (in the Object Oriented Programming sense) and "dummy" implementation version of what your executables do. You provide these to the subcontractors.

    This way, they can work on the new source code remotely, without accessing the existing proprietary stuff.

    1. Re:This is what APIs / abstraction is for by arth1 · · Score: 1

      Yes, but the problem is that creating and maintaining those APIs can take more time and effort than the coding job, and managers are often not aware of how much work that can be.
      If they want a job done fast, and that's why they want to bring in people, it's not a good option.

    2. Re:This is what APIs / abstraction is for by Anonymous Coward · · Score: 0

      Well they're idiots then.

      The parent poster's comments about abstraction are absolutely spot on. It is possible to securely work on projects (software or otherwise) and the #1 key is compartmentalization.

      Look back on all of the big top-secret projects in history, and they all involved thousands of people, but only a very small group knew how it all went together. Each worker bee was only focused on one small part.

      That's the only way the article poster (which I think is BS BTW) can meet their objectives is to break the project up and provide those abstraction layers and unit tests.

      Of course the company doesn't realize this, hasn't planned for this, and will most likely fail at their objective.

      Did I mention they are most likely idiots?

    3. Re:This is what APIs / abstraction is for by D.McG. · · Score: 1

      Ridiculous. You should ALWAYS be coding to an interface. The interfaces are the contracts between subsystems. Design those first, and more people can work in parallel.

    4. Re: This is what APIs / abstraction is for by Anonymous Coward · · Score: 0

      Let me guess. You are a Java person.

    5. Re:This is what APIs / abstraction is for by Anonymous Coward · · Score: 0

      If they want a job done fast, and that's why they want to bring in people, it's not a good option.

      If they want a job done fast, bringing in people that aren't already involved in the project is not a good option.

    6. Re:This is what APIs / abstraction is for by clay_buster · · Score: 1

      Interfaces are foreign to a lot of developers in certain environments. Java moved strongly to this partially based on Spring and Dependency Injection. A lot of C# folks still don't like dependency injection or understand the need/use for interfaces. I don't use Ruby, Perl, Python or Node.js so I have no idea where there thinking is on interfaces.

    7. Re:This is what APIs / abstraction is for by luis_a_espinal · · Score: 1

      You don't give them any source code. You create interfaces (in the Object Oriented Programming sense) and "dummy" implementation version of what your executables do. You provide these to the subcontractors.

      This way, they can work on the new source code remotely, without accessing the existing proprietary stuff.

      That's what API's are partially for. There is a shit-load of behavior that cannot be captured with APIs alone. APIs are necessary, but not sufficient. If you think APIs will insulate you from the issues being discussed here, you are in for a nasty surprise.

    8. Re: This is what APIs / abstraction is for by D.McG. · · Score: 1

      C++, Objective-C, Java. Pure Virtual classes, protocols, interfaces, are all the same thing. Learn them, use them.

  12. Pirates' view by jones_supa · · Score: 1

    Well, well, where are the pirates to now say "no one loses anything if someone makes a copy"? Then I would respond that they lose the potential value of the code. Then the pirates respond "no one knows if the company would have made money with the code, it's all speculation".

    1. Re:Pirates' view by Ace17 · · Score: 2

      Pirate here.

      You seem to be confusing "no one loses anything if someone makes a copy" with "no one loses anything if the internals of this program are made public".
      These are two very different beasts.

      The first sentence refers to a business model based on selling copies. The second sentence refers to trade secrets. If the code implement some secret method giving the company a competitive advantage, making it public might make the company lose this advantage. If the code contains some obvious security flaws (e.g hardcoded passwords), making it public might decrease/increase the security of systems running this code. I think this is what we're dealing with here (is the software refered to in TFA meant to be sold as off-the-shelf software?)

    2. Re:Pirates' view by Anonymous Coward · · Score: 0

      I think this is what we're dealing with here (is the software refered to in TFA meant to be sold as off-the-shelf software?)

      Unlikely. The requirements match those of High Frequency Trading, so I'll assume that's what the employer is trying to do.

      I should note that there was one exchange (IEX) that used a spool of fiber optic cable to attempt to counter HFT abuse.

  13. Wrong solution by Anonymous Coward · · Score: 0

    Tell your management having people work locally A) makes it harder to find people to work on the project and B) provides no technical barrier to people copying the source code. Even people working in the building can find all sorts of creative ways to smuggle out code if they want to. I mean, unless the computer isn't networked, has no functioning USB/CD access and you are strip searching people as they leave the building, then there is no point in having them work locally.

    Tell management to have everyone sign a contract that includes an NDA. That way they have less incentive to steal the code since getting caught means going to court. It will be much easier and faster, plus it means you can hire the right people for the job rather than just people from the local talent pool.

  14. You pretty much covered the options by enjar · · Score: 5, Informative

    You can do the onsite thing, but you are right in that you will limit the groups which may be interested, and also you may need to pay more as the group may include the cost of hotel stays, food, etc in their quote for doing the work. So you can limit your potential personnel and it can cost more.

    If you do the remote thing, they don't have to log into virtual desktops, they can log into real hardware just as well if performance is an issue.

    Also, "I need you to fix my source code but you can't see it" ... that's kind of a paradox.

    And regarding your source code, set up a NDA. If the group you contract with is a quality group with a good reputation, this shouldn't be a problem. Actually I hate to break it to your management, but unless you are doing an air gap/search of employees entering a special lab where they have no means of getting the code off (floppies, USB keys, etc), your source code has likely left the building one way or another, for good or ill.

    You can also tell your management that if they want to do this all internally, etc that the timeline needs to be extended. They are giving you legitimately contradictory constraints. Not that this is uncommon (constraints conflict all the time), but you need to know where the flexbility is.

    1. Re:You pretty much covered the options by Tjp($)pjT · · Score: 5, Interesting

      I have done some forensics work in software. The most secure setup was a room with cameras, the computers in a locked box, PS/2 keyboard and mouse with attached cords that go into the locked box, VGA only monitor, and a printer filled with pre-numbered sheets of paper. I emptied all my electronics including watch, no calculator, no phone, etc. Allowed items were a pen/pencil and notepad. I was escorted into the room (roughly 1500 miles from my office) the paper was loaded by the escort. When I wanted to leave the room I pressed a buzzer button. The escort collected the printouts, and the paper supply. briefly looked to see if there were obvious missing pages. They can't see my notepad, and my instructions were to write small, though the cameras were not supposed to see the monitor or desk surface. After their side examined the pages I printed out, they allowed a lawyer to pick up the copies, as I had to review the printouts in the lawyers offices and not personally ever posses them. Under those conditions with a 10 hour work day (8 onsite, 2 writing up the days notes onto a computer at the hotel room) it is amazing how little code can be reviewed in a day. They did allow tools of our choice to be installed on the computers at their expense. And they installed the software versions we said were suspect in source form.

      Under these conditions, if you forced them on developers, you'd be paying them what I was paid for forensic investigation, somewhere around $250-300 an hour if you want top quality people. And they will burnout in short order, so keep a queue filled with replacements. I could do that for only short bursts at a time.

      Even then, I could have copied the code onto paper line by line. And in some cases did for short segments that showed infringement.

      In even the harshest of conditions code can still leak. But your biggest weak point is if your network is not air gapped and you use source code control, keeping the social engineering aspect in check so you aren't hacked. For contractors and employees, only hire ones you trust and depend on NDAs and integrity. And a VPN that is appropriately encrypted is like working in the office. Supply the computers and you can install monitoring software on them, and USB management software to provide gentle no-no-no reminders as they try to work they way they normally would.

      --
      - Tjp

      I am in wallow with my inner money grubbing capitalistic pig. ... Oink!

    2. Re:You pretty much covered the options by countach · · Score: 1

      Was this military? Hard to imagine anyone else with this level of paranoia.

  15. Options 1 or 2 work fine by Anonymous Coward · · Score: 0

    Answers are already here. We do lots of contract work...when I need them to work here, they work here. I'm paying them and they have to work with my constraints. Remote virtual environment is OK, if you have a well configured environment that doesn't allow data to flow to the client machine.

    But an NDA is essential, as is clearly documenting that you own any source code created for project.

    1. Re:Options 1 or 2 work fine by tepples · · Score: 1

      when I need them to work here, they work here. I'm paying them

      Are you willing to pay a premium for relocation so that they can work with your constraint?

    2. Re:Options 1 or 2 work fine by Bert64 · · Score: 1

      There is no such thing as a remote environment that doesn't allow data to flow to the client machine...
      All you can do is close off some of the obvious routes, but there are plenty of other routes such as screen dump and ocr, and ofcourse the contractors will retain memory of the system whatever you do.
      And even if you have people onsite, you have to go to extreme lengths if you want to ensure there's no way for them to smuggle data in or out.

      There really is no substitute for an NDA, plus hiring people you can actually trust to follow it.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  16. Dark glasses by Anonymous Coward · · Score: 0

    That will keep them from seeing anything.

    1. Re:Dark glasses by Anonymous Coward · · Score: 0

      More specifically, Joo Janta 300 Ultra-Chromatic Secret Sensitive Sunglasses

  17. Frozen? by Anonymous Coward · · Score: 0

    Is this the NodeJS version of the term "blocked"?

  18. Remote Locked Office by Anonymous Coward · · Score: 1

    What about:
    * Contractors work in a locked room on their site (or a mutually leased site near their office).
    * Dedicated network that only talks to your network (e.g. a VPN'ed extension of your corporate network).
    * All work done on machines you purchased. Machines cannot be removed from this site.
    * Agreement no other machines will be connected to this network (you can even lock things down by MAC if you're not trusting on this).

    This is functionally equivalent to them working on your site - all work is done on your owned machines in a fixed location from which they are not removed, no ability for anyone to transfer source code outside your network except via your (hopefully locked down) network that wouldn't apply equally if they worked on-site, code is not copied to any machine you don't own. There aren't a lot of attacks on this setup that wouldn't equally apply if the contractors were on-site (e.g. "plug in a thumb drive and copy the code.")

    The only slight differences are how easy direct supervision would be, and I suppose in theory a risk if the network was compromised.

    That said, having worked on the other side of this multiple times, the long pole of the tent is ALWAYS getting the hardware, network, configuration - those folks are generally overworked in most corporate environments, so this can be weeks before you get started...

  19. Re:An NDA to contractors in India or China by Anonymous Coward · · Score: 0

    Like you can win a lawsuit in India or China. Ha ha ha.

  20. It's not efficient by ChrisMaple · · Score: 2

    If the job can be divided into independent chunks, define an interface and subcontract each chunk to a different subcontractor.

    --
    Contribute to civilization: ari.aynrand.org/donate
  21. sign the code by phantomfive · · Score: 1

    Set up an automated build machine task to sign the code on every commit. Then every time someone wants to check out the code, make sure it gets sent to them in an encrypted way (in other words, use git). Tell the managers that the code signatures will allow you to cryptographically verify the code.

    The reality is, if an employee wants to steal your code, you will not be able to stop them.

    --
    "First they came for the slanderers and i said nothing."
  22. Make contractors work on your premises! by Anonymous Coward · · Score: 1

    If they refuse, you are not paying them enough.

  23. #2. Why is this a question? by xxxJonBoyxxx · · Score: 1

    Do #2. I worked for years with a "primary" desktop with a beefy configuration doing all my compiles; I maybe sat at my desk and used the monitor once a week. Most of the time I just RPC'ed into it from whatever building I was in or from home. Connectivity was an issue on maybe 0.5% of the days, and then it was only temporary (after all, if the company's Internet is down, it won't stay that way for long). After doing that for a while I couldn't imagine being tied to a chair in front of a specific machine for development (shudder).

  24. I suspect you're doomed to failure :( by tatman · · Score: 4, Insightful

    " so it'll be tough to build an internal team quickly enough "

    This smells of failure. Contractors aren't going to get up to speed any faster than internal resources (sans technology specifics like expertise in a language). Our management tried the same thing: hire contractors for a short term (less than 3 months), hurry up scenario. Except it took a month to interview and get the contractors on site. Much of the 3 months of contractors time was spent to get their environments setup, work with IT to configure permissions and the contractors themselves to learn the complex product enough to contribute. Not to mention the loss of focus of the internal team assisting the the contractors.

    I would spend more effort coming up with a realistic plan that has a chance at success rather than trying to meet a date that is not going to be met. Build a plan that includes a mix of internal an external resources. I would include time to hire contractors (remembering that background checks take time) plus all of the other activities that will consume time away from producing the finished product.

    --
    I've always said English was my second language. Had Romeo and Juliet been written in C, I might have understood it.
    1. Re:I suspect you're doomed to failure :( by gstoddart · · Score: 5, Insightful

      " so it'll be tough to build an internal team quickly enough "

      This smells of failure.

      It is failure, but it's unrealized failure, and management may not understand how bad of a failure it is. Having a company which no longer employs the resources to fix and maintain their products means someone has already harmed the company beyond easy repair and failed to do anything about it.

      If you need this remediated within months, you're probably months past the point where you should have done something about it.

      No longer having the skillset to maintain your product means you are so deeply screwed it isn't funny. You're just pretending you still have that product.

      So, which is it? They laid off everybody who could do this? Or they pissed off everybody who could do this and they left on their own?

      Because, really, if you don't have the internal skills to fix it ... how can you possibly be qualified to evaluate, hire, and oversee the external skills in that impossible timeline?

      This is a pretty epic fail ... and in my experience that means management usually dropped the ball along the way. This is like a company making rocket engines suddenly realizing they don't have any rocket scientists.

      --
      Lost at C:>. Found at C.
    2. Re:I suspect you're doomed to failure :( by Anonymous Coward · · Score: 3, Insightful

      If only someone had done some research on this idea and come up with a simple law for us all to remember, like "Adding manpower to a late software project makes it later."

    3. Re:I suspect you're doomed to failure :( by abies · · Score: 3, Insightful

      Contractors aren't going to get up to speed any faster than internal resources (sans technology specifics like expertise in a language).

      Depends. If he is talking about things like HFT (sub-ms speed and paranoia of employer to share sourcecode), you can get contractors with a lot more that just expertise in language - they know exactly what to code from start till the end, what are common stumbling blocks etc. It is just getting a person to write a http web server, in some alternate world when there are no open source projects and no reliable 3rd part providers. Getting a contractor which has already written 5 web servers for different companies is going to speed you up really a lot.

      Such dynamic is not common in other areas - but in other areas, being few % faster than competitor does not let you earn order of magnitude more money. There is huge negative incentive for companies to share their code and no incentive for contractors to spread/share their knowledge in form of open source, as it can directly cuts into their future profits.

      Said that, it might something else, because:
      - for amount of money you are paid (we are talking 1000+ daily, in whatever currency you happen to like), people are generally willing to relocate, especially for shorter projects, which this one seems to be
      - HFT is not exactly a hot subject right now (and they might be already reasonable off-the-shelf solutions, I'm outside of that for some years now)

    4. Re:I suspect you're doomed to failure :( by Anonymous Coward · · Score: 0

      9 women, 1 baby, 1 month ... what, that's not possible?!?!?!

    5. Re:I suspect you're doomed to failure :( by Bert64 · · Score: 1

      If the contractors are already familiar with writing such algorithms, then chances are they worked for your competitors. And if they retain memory of competitors algorithms, they will retain memory from yours too.

      This is another reason why being paranoid about sourcecode leaving the building is pointless...

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    6. Re:I suspect you're doomed to failure :( by BitZtream · · Score: 2

      Because you had one guy who did all the awesome work and yesterday he dropped dead?

      This is a regular occurrence in business. Ive helped out multiple small companies when the ONE guy who wrote the code that the ENTIRE company revolves around ceases to be available for some reason. One of them was literally hit by a bus and he was the only one that worked on software for a company with roughly 30m in revenue that year and a couple hundred employees. A small company, but to me thats huge to have ONE guy that holds the keys to the kingdom so to speak. Its always some guy that either founded the company or is best friends with the founders or something, a Steve Woz type of guy.

      Yes, it was a shitty situation beforehand to have it all in 'one guy's lap, but in most cases it works fine every day so it happens a lot. The likely hood of that one guy walking out with no warning at all is really low, and death even lower ... but it does happen.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    7. Re:I suspect you're doomed to failure :( by Anonymous Coward · · Score: 0

      This is extremely common in small shops. And not just with software. Elite minds are rare things, and if you have one they can do things better, faster and cheaper than other people. But they'll often achieve this by solving problems in a nonstandard way. (that's where a lot of the better, faster and cheaper comes from). So you might have a network setup to do something that would normally require $200k of big-name vendor software and hardware, but Mr. Guru managed to figure out how to get it done with the hardware on hand and a couple of linux boxes. Good luck following behind that guy if you only have 2 network engineers and a handful of help desk guys.

      Our shop at a rapidly growing startup was very much as you describe. We had a small group of very talented people working on core software that was absolutely critical to the company. Even as the company grew, we were all basically irreplaceable. Fortunately for the company we were all highly ethical. Seven of us played a critical role in building the company to a billion dollar valuation. Then we had to build out an IT department that could support that valuation - meaning no single point of failure people, full SDLC documentation, division of roles, etc. I had to put together a team of 60 people to do the work that seven were doing the "back of an envelope and a case of mountain dew" way.

      I will say this, nothing will ever beat working the high-wire act with that elite group of people. We were putting code into production within hours of new feature requests - and never had a major problem in a half-dozen years. It is really fun to brainstorm new ideas with high-level business people and IT people and just run all day with no filters and no safety net. There really is nothing like it.

      In all that time only one of us decided to leave. And he was very conscientious and helped transition all of his work. If we had suffered an unexpected loss during that rapid growth phase we would have been in a world of hurt - not as much from the difficulty in following behind as from the massive loss of institutional knowledge. This vast knowledge of the company and its resources is what allowed these talented people to work so amazingly rapidly. Without that background, even a very talented and experienced developer was going to take weeks to do what they were accomplishing in hours.

  25. The remote desktop thing works, but... by Anonymous Coward · · Score: 0

    it still doesn't prevent someone from copying source code. We use that method here at Microsoft, and people still wholesale copy source code to their home boxes. With all of the slow Internet connections around there, remote desktop is painful to use. We do it out of necessity.

    1. Re: The remote desktop thing works, but... by Anonymous Coward · · Score: 0

      Remote Desktop over dialup sucks. I have several friends that have quit because they could no longer work from home. That policy has really hurt Microsoft. Of course, they were forced to do this because those Republicans were seizing so many laptops.

    2. Re: The remote desktop thing works, but... by Anonymous Coward · · Score: 0

      I remember when the first laptop was seized at the Canadian border. Management freaked out.

    3. Re:The remote desktop thing works, but... by Anonymous Coward · · Score: 0

      And that policy is because of the Republicans. They ordered their thugs in blue to start randomly stealing laptops at borders. They stole a few Microsoft laptops at their hate-center in Blaine, WA where they random search people and randomly arrest people and hold them for hours without charges. Without charges. They are illegal, but our Republican-rulers don't care. They don't care. They use those border patrol thugs to steal from us and illegally imprison us at random. That is the way of their kind. We shouldn't be surprised. We also shouldn't be surprised when there's an equal and opposite reaction from Microsoft that has ground many of our lives down to dust. I can no longer work from home so with my hour+ commute, I spend about two hours less per day with my kids. Those Republicans have taken about 500 hours a year with my children away from me.

    4. Re: The remote desktop thing works, but... by Anonymous Coward · · Score: 0

      Repukians hate children.

    5. Re: The remote desktop thing works, but... by Anonymous Coward · · Score: 0

      Adding the RDP requirement meant probably a 1/3 of employees could no longer work from home.

    6. Re: The remote desktop thing works, but... by Anonymous Coward · · Score: 0

      And Microsoft hasn't done much politically locally to get us faster access.

    7. Re: The remote desktop thing works, but... by Anonymous Coward · · Score: 0

      Microsoft is so anti-Internet that they fight it even when it hurts themselves.

  26. WTF by Anonymous Coward · · Score: 0

    First off, you are being incredibly paranoid to have this concern and clearly don't understand software development. If it's such a small amount of code that someone can steal it by simply glancing at it then you're hiring the wrong people for such a precision piece if software, especially if you don't even trust them to work on it. Not to burst your bubble, but I can tell you without even seeing it that it's not that good, otherwise people like you wouldn't be overseeing the work. It's just not the way it's done. Software development is an iterative process.

    My recommendation would be to seek psychological counseling or figure out how to write your own damn code so that the world will never know it existed in the first place...

  27. Seperation of duty by Anonymous Coward · · Score: 0

    Work onsite.
    NDAs as detailed above.

    Break your work down into the various elements that may need worked on:

    1) networking
    2) data validation
    3) application processing
    4) user interface

    After all, why would the network guy need to see the user interface routines (that's what APIs / function call parameters are for).

    Your content versioning system should also help seperate out such access.

    Have someone in-house perform the build activities if you really do not trust everyone, or setup a special build account that can take instructions to perform a build so that X engineer can perform their own localised build. There are ways to read file content but not view them, if you really must.

    Unless you are doing something really funky like using a single file for all of your code, then the seperation of duties should help limit your exposure.

    1. Re:Seperation of duty by Hognoxious · · Score: 1

      You're assuming that it's written in a clean, modular way. Or that the task isn't to rewrite it so that it is.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  28. Have them work on site using your secure computers by CQDX · · Score: 1

    If you are really paranoid, have them work in a secure room that doesn't have Internet access and where personal electronics are forbidden. No laptops, no USB drives, no smart phones, nothing that could be used to copy code.

    And regardless of the code security issues, managing remote contractors is slow and difficult. If time is a consideration, they must work in your office where questions can be asked and answered quickly... no need to schedule a teleconference on Outlook 3 days from now.

  29. Build an internal team anyway by Anonymous Coward · · Score: 0

    Whether you bring in consultants in-house to assist a new internal team, or you build the internal team from scratch, that will pay off far better for your business than mucking around with consultants and/or contractors in the long term.

    Keep your internal team strong and capable of maintaining your products, or fail.

    Every time we've had consultants come in and muck around with our code, all sorts of new security holes, bugs, and issues pop up, some that don't rear their head for over a year.

    Do the right thing and hire quality people on the inside, even if you need consultants in the short term.

    1. Re:Build an internal team anyway by TapeCutter · · Score: 1

      Subcontractors code, consultants consult. They are different jobs.

      There are different levels of software services offered by different companies, in rough order of cost you have....
      - The one man act, an employee with few legal rights who costs a bit more than a full timer but can be dismissed on a whim.
      - The body shop, a group of consultants that rent out multiple one man acts.
      - The coding shop, an external group of one man acts who write code to spec on their own premises and equipment.
      - The big guns, large multi-nationals that take over the entire project and impose their processes and people onto the customer.

      Nobody gets fired for hiring a "big gun" because they will get the job done. Both the coding shop and the big gun will cost you an arm and a leg but you will get what you asked for (which if you are not careful might not be what you wanted).

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  30. Why would you need access to the source code??? by orallo · · Score: 0

    As long as the documentation is up-to par the rest of the system can be a black box as far as I'm concerned, just tell me what the inputs/outputs are and what process needs to be implemented between them... /most of the time I rather NOT see other people's code

    1. Re:Why would you need access to the source code??? by TapeCutter · · Score: 1

      What's it like to work in a utopian environment?

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  31. Simple by Anonymous Coward · · Score: 0

    It's simpler than You imagine: If You don't want anyone having a piece of your source code, just DIY.

    PPL I think we should check on some users from ./ before it become some sort of silly merchandising bbs driven by G$$g_l_£.

  32. Time to light up the war-room by Anonymous Coward · · Score: 0

    So it sounds like you have an unrealistic short deadline, and a situation where code must stay in.

    Sounds like a job for a VDI type environment for sure - and definitely folks must come into the office as well.

    And the folks who come in shouldn't get a desk - they should be (with you and the rest working on this) in a single large conference room that gets relabeled as the "war room."

    This gives the temps who work on it some bragging rights in their resume when they leave, focuses attention, and allows open collaboration to get things done fast. Just gotta make sure you get quality devs that can function in an interactive environment without talking their heads off.

  33. open source it by ooloorie · · Score: 2

    Once you open source it, you don't have to worry about the source code getting out anymore...

  34. What if you give the suits what they want? by generic_screenname · · Score: 4, Interesting

    Post a job ad, with a caveat in the description that developers can't see the code they are supposed to work on. Report back when you don't get any results. Have some conversations with recruiters and candidates, and document the WTF reactions while you're at it. It may also be worth getting different quotes from the team you wanted to hire: one at a rate with reasonable accommodations that allow them to do their jobs, and another where they will have to deal with endless BS because management doesn't trust anyone. The truth of the matter is that someone really, really wants to target your company, they will. An employee could steal something. You could be hacked. A very determined assailant, given enough time and resources, will get to you. There are tradeoffs made to account for this possibility, while allowing enough latitude for people to do their jobs. It's the same with this group of contractors. If they really, really wanted to steal from you, then they could, and no amount of legal procedure would stop them. If they have built up a good reputation, then they probably won't do this. At the end of the day, this gets down to managing the fear level of your superiors, and it may mean letting something go undone until they come around to letting go a little bit.

  35. Cameras are so, so tiny these days by Medievalist · · Score: 4, Insightful

    You cannot physically enforce security of code sources you are allowing people to see - unless you are going to have them work entirely naked, under constant physical observation, with full body cavity searches every time they enter or leave the workroom.

    Hire someone trustworthy, pay them well, and have them work on-site. That is the path to success. Anything else is almost guaranteed to create the situation you're trying to avoid; paranoia breeds dissent and distrust breeds subterfuge.

    1. Re:Cameras are so, so tiny these days by Anonymous Coward · · Score: 0

      hmm.... what you are saying would not impress the U.S. military. You are not allowed to have electronics of any kind in certain classified areas. If you are caught with said electronics you can go to jail for a very long time.

    2. Re:Cameras are so, so tiny these days by phantomfive · · Score: 1

      Yeah, and that didn't stop the classified documents from getting stolen, did it?

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Cameras are so, so tiny these days by gstoddart · · Score: 1

      hmm.... what you are saying would not impress the U.S. military. You are not allowed to have electronics of any kind in certain classified areas. If you are caught with said electronics you can go to jail for a very long time.

      And yet I wonder what a real world audit would reveal about what actually happens.

      Because, really, how much do we believe they have 100% success in enforcing it? I don't.

      --
      Lost at C:>. Found at C.
    4. Re:Cameras are so, so tiny these days by shaitand · · Score: 1

      Even then people have built in video cameras. They are called eyes. Developers who work on the source are going to know how it works. It doesn't make a lot of difference if they re-implement it when they go home. Their code will look different but will have been written with the benefit of knowing how yours works. Not much you can do about it.

      Set up a local environment to remote access. Lock it down to a reasonable degree and tell people they aren't allowed to remove the code from the env. You can log their actions but no matter how much you lock things down there will always be a way to get data out if people are determined enough.

    5. Re:Cameras are so, so tiny these days by Anonymous Coward · · Score: 0

      We moved to a new office and were told 'absolutely no cameras of any sort on site'; a few months later the management issued us all with official Windows work phones - with fully functioning cameras.

    6. Re:Cameras are so, so tiny these days by evilviper · · Score: 1

      You cannot physically enforce security of code sources you are allowing people to see - unless you are going to have them work entirely naked, under constant physical observation, with full body cavity searches every time they enter or leave the workroom.

      Memorize a few lines per-day, then write them down as soon as you leave the office... That's how exam/test prep software gets their questions. You need several people doing this, working together, but it will be possible to smuggle out your secrets, no matter how hard to try to avoid it.

      Not to mention that a tiny wireless transmitter could even be hidden in a tooth, or implanted under the skin, somewhere, which would work even if you need to use Morse-code. More realistically, a micro SD card is TINY and unlikely even a cavity search would find it.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  36. Re:Have them work on site using your secure comput by wonkey_monkey · · Score: 1

    And no ventilation access in the ceiling that's just the right size for a pint-size movie star to dangle through.

    --
    systemd is Roko's Basilisk.
  37. NDA is your only hope by roc97007 · · Score: 3, Informative

    Your boss needs to understand that whether they access source at home or at work, they'll have access to source. You can't put those worms back in the can. Traditionally, a condition of employment is to not put the company's intellectual property at risk. This is true regardless of the work arrangement.

    That said, there is precedent for having developers work from a citrix farm. And yes, there are reliability challenges. Whether this is practical depends on how good your IT is.

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
    1. Re:NDA is your only hope by Drethon · · Score: 1

      Not to mention that almost any security system to prevent people from transferring data off the site can be worked around one way or another. Any perfectly secure system is perfectly static, nothing will ever change in the data it is protecting.

  38. Contractors will always come on-site by mveloso · · Score: 3, Insightful

    If you pay them enough, contractors will do the work on-site. It's not a pain, it's SOP.

  39. Can't have your cake and eat it, too. by Drewdad · · Score: 4, Insightful

    You cannot simultaneously keep something secret and share it.

    This question really doesn't make sense... How do you have a highly-valuable source code repository and simultaneously require external developers to modify/maintain it? How was the code developed initially? Did you have contractors develop it initially, and then have some kind of falling out? Did you have a mass walkout of your staff?

  40. high-speed trading by Anonymous Coward · · Score: 0

    The sooner you realize the work you do and are trying to get others to help you with is not contributing to the betterment of humanity the sooner you can find a job that does.

  41. Document the costs and benefits, management decide by raymorris · · Score: 4, Insightful

    Maybe the cost to have people work on-site is worth it, maybe not. Management said they wanted to keep the code on-site, and management wants to manage costs. Management can decide whether working on-site is important enough to them that they want to spend the additional money, after you tell them how much it will cost them.

    So estimate the costs for each option, then let management decide - do they want to spend three times as much to have people on-site, given that there is little to no benefit? Are they happy with remote desktop, given the costs? Let management decide their own priorities.

  42. Re:Why do you have this job? by Anonymous Coward · · Score: 0

    VOTE UP!

    No idea who voted you down, but I agree 100%.

    This article is obviously BS and the poster either fake, or an idiot.

    Slashdot is not just dieing...it's dead.

  43. Lowering the bar solves this problem by Anonymous Coward · · Score: 0

    The bad news is that my management is worried about letting source code out of the building.

    Right off, you have a premise where you know that management isn't very serious. You need to accept mediocre performance and quality. This does not mean failure. You can still do a perfectly acceptable job (plenty of computer programs were written inside of offices); just don't expect your software to be in the same league as what come out of more serious or "competitive" companies.

    Once you accept that, then this..

    have all contractors work on our premises — a pain for everyone, and they might not want to do it at all

    ..isn't a real problem. So you don't use the "don't want to do it at all" contractors. Use whatever contractors are willing to work at your office. Yes, lots of people will say no. Many of the people you initially want, will say no. But not everyone. Some will say yes, and as for the gaps, you'll eventually find someone. Maybe from your very neighborhood. (Your office doesn't stink, does it?)

  44. Not sure I really follow by shaitand · · Score: 2

    Why exactly are their own personal systems better for testing than the exact same hardware remote accessed via RDP? It isn't as if the video lag is a relevant factor in benchmarking sub-millisecond response software. Personally, I'd lean toward ssh access to a jumphost myself using key based authentication so you can revoke keys. Then they can just port forward whatever and run most things locally including graphical applications and desktops if that is what is wanted for some reason.

    As for the source code not being allowed to leave if there is a way to get in and work with the code there is always going to be a way to get it out. Have them sign an NDA (which you'd want regardless) and tell them the code is not allowed to leave the environment. Working with vi, emacs, gcc etc on a local host isn't much different than working using a remote terminal, the same for x-forwarding a graphical ide it looks and feels much the same as it does on the remote system but when you go to save you get the remote filesystem rather than the local one. If some reason you really need windows (can't imagine why but whatever) you can do pretty much the same thing with rdp. If they execute the binary it is executing on the box they rdp into and talking to these headless servers, not running on their local hosts they are just seeing the results on their local host.

    Just take reasonable precautions, both in terms is digital security, legal security, and policy and tell management you've done so and that the source code will not be permitted to leave. At some point you are going to have to accept imperfect ability to enforce, this would be true with the workers onsite as well. No matter how locked down you are there is a way around it even if you pat down employees when they enter and leave. And honestly, most people who break the rules wouldn't actually be doing it for nefarious reasons anyway they'd just be working around your restrictions to suit their personal preferred workflow.

  45. high frequency trading, huh? by Anonymous Coward · · Score: 0

    Better lock them in and don't let them leave.

  46. Re:Have them work on site using your secure comput by gstoddart · · Score: 1

    Hey, Tom Cruise isn't that short.

    --
    Lost at C:>. Found at C.
  47. "..and good reputations" by Anonymous Coward · · Score: 0

    What part of "..and good reputations" does your boss not understand ?

  48. A clear solution by Anonymous Coward · · Score: 0

    My first step would be to start networking for a new job. This place is going to be 'managed' into the ground in 18 months.

  49. Cloud Rescue? by Spinlock_1977 · · Score: 2

    I'll suggest using AWS Workspaces for the desktops - no infrastructure to maintain, and if it goes down, a thousand Amazon engineers will jump on the case. You can also arrange for a VPN tunnel into your datacenter if access to central resources is needed. Suits like VPN tunnels.

    Regarding source code, with AWS at least you control the desktops and can wipe them if needed, but the devs will still see the source. Perhaps a strategic division of labour would prevent any one developer from seeing the entire body of source code?

    --
    - The Kessel run is for nerf herders. I can circumnavigate the entire Central Finite Curve in a lot less than 12 parse
  50. Impossible job ad = open door for a H1B to take t by Joe_Dragon · · Score: 1

    Impossible job ad = open door for a H1B to take the real job at a low pay rate.

  51. Split the teams by Anonymous Coward · · Score: 0

    Split your team in 2 and have the first half working on Odd # line of code and the other halt working on Even # line of code

  52. Open another office by Anonymous Coward · · Score: 2, Interesting

    Why don't you open another office space closer to your team. They might not come to work at your place, but they might go to another place where you could still control the environment. Then hire security personnel to watch them work if you want !

  53. Convince Management by firewrought · · Score: 3, Insightful

    I don't know your situation. I assume it's not the military-espionage sector but something more akin to HFT or something esoteric in the manufacturing segment.

    The raw truth is that it's very, very hard to prevent data exfiltration by a competent software developer who has adequate tools/access for his job. At the same time, it's very, very easy to hamstring a competent software developer and thereby torpedo their time-efficiency. If you're really worried, start with the "edges"--thing like NDA's, copyright/patent agreements, and background/credit checks--stuff that doesn't interfere with day-to-day work. Anything beyond that (change management, device restrictions, copyright headers in source code, etc.) should be more about avoiding sloppiness than about avoiding malice.

    The other raw truth is that management frequently believes their software to be more valuable than it actually is. Frequently, the software that it cost you a fortune to build would be nigh worthless to a competitor because integration, customization, and data conversion would make it extremely unattractive compared to improving their own in-house product or buying a commercial product where the vendor is used to making customizations. (Much better in some cases to give your software away [if not open source it]: there are probably a lot of missed opportunities for companies to make their toolset the de facto standard for an industry, reaping money or market influence in the process.) Ask your management to imagine receiving an offer for an illicit copy of their competitor's code. Would they be willing to risk it? My guess is that they'll say "no", and you might want to start job hunting if they say "yes".

    Finally, of your two proposals, only onsite work sounds viable. Standing up a fussy/novel telecommuting scheme is sure to frustrate developers [perhaps challenging them to deliberately thwart the system when they wouldn't have given it a thought otherwise]. Moreover, if anything goes wrong [which is very likely], it's your headache and your fault. Don't even mention option (2)... it's just a creative way to get yourself fired. Provide management with option (1) only: if contractors refuse to work onsite, management can think a little bit harder about what their real needs are... updates to the product or [illusionary] control of the source code.

    --
    -1, Too Many Layers Of Abstraction
    1. Re:Convince Management by Anonymous Coward · · Score: 0

      This was my reaction as well. Unless you're going to strip them naked into/out of the building/on the way to the restroom: communication silos are a more effective strategy than keeping people on site. This is one benefit to how the DoD makes projects congress-proof as well.

      Even if you have a remote desktop environment: they can always use a screen recorder with OCR to ex-filtrate data. I suppose you could always do what the Egyptians did to the engineers behind the pyramids and kill them after the project competition....

  54. you should rewrite it in node.js by slashdice · · Score: 4, Funny

    node.js doesn't block so it's faster than c. And since it's javascript, you can find programmers anywhere. Like that homeless guy holding a "callback(){ return food; }" sign. Underneath the stench is a 10x webscale javascript ninja that can rewrite your code in es6 javascript.

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    1. Re:you should rewrite it in node.js by Spinlock_1977 · · Score: 1

      "node.js doesn't block so it's faster than c"

      A curious statement.

      --
      - The Kessel run is for nerf herders. I can circumnavigate the entire Central Finite Curve in a lot less than 12 parse
    2. Re:you should rewrite it in node.js by Anonymous Coward · · Score: 0

      Well ...
      when you operate in the sub-millisecond Real-Time environment, every bit counts.
      And if the homeless coder is, like slashdice suggest, 10x, then node.js must be faster than C. Even if it would block.

      Am I still making more sense than slashdice?

    3. Re:you should rewrite it in node.js by plopez · · Score: 3, Informative

      https://www.youtube.com/watch?...

      I think this is what OP was referring to.

      --
      putting the 'B' in LGBTQ+
    4. Re:you should rewrite it in node.js by Anonymous Coward · · Score: 0

      Thanks for giving me a good laugh this morning. The lengths people will go to support a religion....

  55. Ahoy, matey by Anonymous Coward · · Score: 0

    > as they scrolls by

    Arrr, be ye a pirate?

  56. And once fixed it will last forever? by Peter+(Professor)+Fo · · Score: 1

    You have a POLICY to make, not a one-of decision. Maintenance will be on-going. It's a people problem.

    I would have a be-nice-to-good-people policy. Make them feel wanted and respected. That's down to your management. Then if you hire-in an outside company use an NDA (of course) and make it clear this is an ongoing relationship.

  57. SF movie solution by Anonymous Coward · · Score: 0

    Ben Affleck starred in a 2003 movie, "Paycheck". http://www.imdb.com/title/tt0338337/
    After each engineering contract, the hiring company would chemically erase his memories.
     

  58. Option 1 by mark-t · · Score: 1

    If they don't want to do it, then either you need to find someone who is willing to work on-site, or else you need to pay them enough money that they are willing to do so.

    If a person lives too far away from where they work for a daily commute to be viable, then they either need to move closer to work or else find a job closer to home, IMO.

    (Yeah, I'm a sympathetic bastard, aren't I?)

  59. You will fail. by Anonymous Coward · · Score: 0

    Run. Hide. Failure is the only option.

  60. Seriously, NDAs are the only solution by gweihir · · Score: 1

    Make sure the people are trustworthy, have them sign an NDA and that is it. How do you think really security-critical software gets external reviews? Also, even work on premises would let them steal the important parts of the code if they were so inclined, it is not that hard.

    One thing you can do for trustworthiness is look for people and small (!) consultancies that already work with stuff of comparable sensitivity and difficulty.

    Oh, and pay really well. Nothing makes contractors care less than being treated like cheap monkeys.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:Seriously, NDAs are the only solution by Anonymous Coward · · Score: 0

      All an NDA will do is make the great people decline your offer. They have better things to do than that.

    2. Re:Seriously, NDAs are the only solution by gweihir · · Score: 1

      You have no idea how the real world works. The only people that will decline for that reason are those with huge egos and typically rather mediocre skills. These are the people that like to be described as "rock-stars". Hint: None of them are.

      However, even with an NDA you can get a lot of interesting insights when doing such a job. You can just not use them directly or use them to compete with the business where you had them. But that is the deal any employer with interesting technology has to make. As soon as people are working on it, they are going to learn and improve their skills and insights. There is no way around that.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  61. You're asking slashdot about NDAs? by Anonymous Coward · · Score: 0

    What strain are you smoking?

  62. Management problem needs management solution? by Anonymous Coward · · Score: 0

    Usually contracts have an intellectual property clause. Any contract is based on trust.

    Get two sets of quotes. One for offsite, and one for onsite.

    If offsite is not trusted, then onsite is always a possibility, but at a higher cost.

    Push the quotes back up the food chain. Let someone else make the decision.

    If offsite is a no-go, you may need your budgets increasing for on site.

    If intellectual property is a real concern, recruit two teams of freelance staff, working on different halves, and keep them apart. Use internal staff for systems integration and testing.

  63. Sound pretty Zen by Locke2005 · · Score: 1

    Is that a Zen koan, like "What is the sound of one hand clapping?" Grasshopper, when you can answer the question "How to work on source code without having the source code?", then, and only then, you will be a true master!

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
  64. Modularity (Unix "Do One Thing" philosophy) by im_thatoneguy · · Score: 1

    The only option to achieve that through process not physical security is to write everything sufficiently modularly that every module is untrusted and interfaces through documented APIs. This can actually be a good requirement since it should make updating any one feature relatively easy. I know of at least one large fortune 500 company that is rewriting everything on the assumption that the network is publicly accessible. This has the nice side effect that you can actually make it publicly accessible to mobile employees.

    If every developer is assigned a specific module to write that does a very narrow set of goals then all they need to do is take in data of format XYZ and output data of format UVW. At some point you'll need someone in house for architecting what modules you need developed and an integrator to handle the bits you seem to be paranoid about exposing to developers but it would limit the potential exposure to any one developer going AWOL.

    The downside of course is that depending on the task it can get very difficult to break up a large project into discreet chunks/interfaces.

    1. Re:Modularity (Unix "Do One Thing" philosophy) by SuiteSisterMary · · Score: 1

      Then, you hire the government to do it, with very frequent breaks to read new policies on toilet paper pools.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  65. Tough Problem by MakersDirector · · Score: 0

    So here's what you are confronted with:

    No matter how you set up and protect your environments, source code will inevitably be available to the coders you hire. To a crafty and intelligent programmer, even if you are compartmentalizing that access. you can assert a 'need' to get to know other key areas of the system which will invariably allow you to depict and visualize an overall architecture, which can then be leveraged to get to know other areas that may present a 'black box'.

    What you have is a matter of trust. No matter HOW much you protect yourself, any exposure you provide presents a threat, which speaking from personal experience, is a rocky road of paranoia I just do not advocate.

    So here's my advice:

    First - Hire according to culture and ethics. H1Bs, while less expensive, provide a cultural influence in their work that ripples throughout your organization. Think about it this way: The logic and reason that they bring with them which developed their culture and values is being asserted within the code they create and the products they create for your organization. This effects the mindset of those leveraging the product because the actual implementation of the rules you request in the software will always be different based on the cultural and ethical influences of those doing the development. Hire according to (a) who your target market is and (b) the culture you like to model your own company after. Put simply: Corruption will occur in your software endeavors when the corporate culture is in misalignment with the developer's culture.

    Second - show a preference for full timers - people who are vested in your success - rather than consultants - who are vested in the project's success (which can come at the detriment of related projects).

    Third. Create an NDA ONLY for consultants. For full timers, you gotta show trust and have this NDA relationship be implied.

    Fourth. Try to isolate your core systems before introducing others into the mix. Sure, you might have a finite staff to work with and sure, this might take a few years to achieve, but DO NOT relent to corporate and stakeholder pressure to 'hurry up and produce' - DO IT RIGHT and isolate the core systems you consider proprietary and are not ready to share.

    AS You isolate your systems. Objectify. Don't use reverse engineerable code such as .Net, it takes me 2 seconds to use .net reflector to produce a workable version of an assembly and then modify it to suit my own needs. DONT do this with mission critical code! Period end of story. Maybe even leverage old school code that isn't interpreted such as COM assemblies. This FORCES you down a path of placing features and fluff in externalized layers where leveraging .net or java or other interpreted languages and becomes more amenable.

    Finally. Find an advocate. if you're not n bed with the CEO or President, then hire a prostitute. No, just kidding (kinda)... Really though - if you're in a sizable organization, then make friends with the C and SVP level staff so they can go to bat for you and act as your defense when you're retooling your environment.

    WHY? They can mitigate the risk of pressure exerted by the stake holders and other short term profiteers, and help you focus on creating a sustainable framework not just for your future, but for theirs should they decide to hold your organization and/or company for the long term.

    If you're a mere manager or project manager. Quit thinking like one. YOU have the power to say no to your directors and to go direct to the CIO. Sure. you might get your butt handed to you. but people have a tendency to respect those who believe in themselves. Even if they're wrong.

    As for virtualization versus working in the office.

    Quit thinking so in the box. In a situation like yours you HAVE got to come up with different options rather than acting with obedience to the orders you're given.

    Good luck.

  66. Trust me! by swilver · · Score: 1

    You don't trust me with your source, but you do trust me to modify it... interesting!

    Anyway, I'd never work for any company that forces me to work with one hand tied behind my back. I'll work for one of the 99 other offers I got instead.

  67. pastebin.india by Anonymous Coward · · Score: 0

    Just plonk all the source up on there and away you go (before the contractors do).

    Years ago (before pastebin) we once found / caught out a contractor who posted up almost a complete testing server's contents, including passwords - as he was looking for help solving some coding issue he ran into. Many of the contractors have degree-mill level skills (read: zero) and no clue about NDAs.

    Good contractors will never do this, but you get what you pay for.

  68. More money by DouglasLloydMaclaine · · Score: 1

    Offer more money so that the programmers are willing to work on site. This just sounds like a case of the el-cheapo effect.

  69. The only way to be sure... by Anonymous Coward · · Score: 0

    Lock them in a room, with access to the relevant (air gapped) systems only, until they're done, then flood the chamber with Nitrogen. They won't feel a thing.

  70. API specifications? by istartedi · · Score: 1

    API specifications? If the suits won't let those leave the building then yeah, it's all got to be on site like others are saying. Sounds like a nice little train wreck you've got going.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  71. Option 1 by Anonymous Coward · · Score: 0

    Having worked for several years in software development - it is understood in a lot of cases that option 1 is non-negotiable.

  72. One unmentioned possibility - ship hardware by bugnuts · · Score: 2

    Besides an NDA and security policy, you can ship them all encrypted laptops. Disable the USB connectors and external data connectors (physically, with epoxy) except maybe a single encrypted keyboard/mouse device like a logitech unified transceiver glued into one port, and only allow vpn into your systems to run executables. Also install gps tracking software in case of loss.

    If you have them work on site, that's not cheap. It sounds like you're in the HST business, and that means probably based in NYC, and that means floorspace is a premium. On site work would cost a minimum of $50-100k/yr per contractor.... those contractors would much rather get an extra $45k per year and work from their own office on a $5k super laptop + keyboard + dual monitors, saving you a ton of money per person and making them happy. Have them pay for their own network, and do remote backups every night.

    1. Re:One unmentioned possibility - ship hardware by toddestan · · Score: 1

      Seems to me that if you ship them a physical computer that they will have in their possession for an extended period of time it would be really hard to keep them from the source code off of it if they were determined enough. You'd have to keep them from disassembling the laptop to get the drive out, or working the epoxy out of the ports. Plus you'd to completely disable all networking, including the wireless, or they could just copy the files off that way. Failing that, there's always things like pointing a camera at the screen and OCR'ing the text as it scrolls by, or encoding it in audio and playing it through the speakers. Presumably the computers would have some kind of programming environment on them so they could automate it, and even if it's slow it won't matter if they have the machine unsupervised for weeks.

      Also, you might want to take into account how much management would freak out if one of the computers ends up being "lost".

  73. Distributed onsite by Anonymous Coward · · Score: 0

    Open an office close to each of the developers. You control the environment, the developer is close to home. Everybody's a winner.

  74. After the dotbomb... by tlambert · · Score: 1

    Typically, when threatened with being laid off, fulltime employees will announced their intention to draw six months of unemployment benefits to take a vacation and then find a new job. My roommate did that following the dot com bust. He couldn't get back into the industry and took a cashier job with Walmart in 2002. He's still working there today.

    After the dotbomb... the sit on your ass cubicle warmer jobs never came back.

    These are all the people that were hired without any training, but an interest in the subject, because the companies were so desperate to "scale" that they pulled them out of the educational system early to demonstrate to the VCs that they were "staffing up". They are basically cubicle warmers, if they never made the transition to "apprenticed geeks coming up the old fashioned way". Most companies don't want such people, even if they've previously made the transition, since in many cases, experience does nothing for your ability to work on a team, the way a formal education would.

  75. This is always always a bad idea. by Anonymous Coward · · Score: 0

    First, it stops you from security auditing the code,
    second it stops you from doing code reviews,
    third, if the company goes under you wont have any source at all.
    fourth, if they're found to use GPL code, then you're screwed legally there too.

    At best you might let them keep copyright.

  76. Actually, no by Anonymous Coward · · Score: 0

    Working on premise won't help either. These people will still have to leave the building once in a while. There goes your code.

  77. Complicated by terminal.dk · · Score: 1

    So the code is so big and complicated, that nobody could hire a group of cheap indian / chinese programmer to write something better in 6 months ? Must be a huge package, like MS Office.

    Small programs like Photoshop could be 80% written by a couple of people in 6 months. Look at RC equipment, communication protocols are reverse engineered, and people are using arduinos as converters within a couple months. My FlySky i6 / TGY-i6 6-channel transmitter had its firmware hacked within a few months, now it does 10 channels, with the iA6B 6-channel receiver. And it has virtual switches etc. This is not new firmware, it is just reverse engineering, and changing. I have a $7 logic analyzer, so I also look at protocols on the wire/pins of chips.

    Software is overrated in value. The value lies in the product, the marketing, the customers. OK, without software you would not have the other. But the software alone is worthless.

    Look at my $7 logic analyzer. It s a Saleae Logic clone. Runs with the original software. And with many free 3rd party apps. People by SL to support them, and to get them to further develop the software. Or to be legit. But anybody could bundle some of the Open Source software with a clone, and sell for $50 instead of $150 like SL. But they would not have a chance. They don't have the name. If you get a clone, why not get the cheapest ?

  78. This guy should contact the MPAA by Anonymous Coward · · Score: 0

    Apparently the MPAA are experts at sharing digital assets, but not allowing you to copy them....

  79. What is wrong with virtual desktop? by ralatalo · · Score: 1

    If you do the virtual desktop correctly, they have basically the same delays as being there in person, the screen refresh and human ability to notice and interpret. They will be able to record the screen/session so could technically still copy the code but it would require a lot of work, but a NDA should help.
    The locked down desktop should provide them all the access they need. You can decide if you want to allow them to print or not.

    Just image that they are using Xwindows and exporting their displays back to their own computers.

  80. Not letting the source code out of the building .. by Ihlosi · · Score: 1
    ... does that mean that the contractors have no chance of survival once the project is over?

    If someone looks at the source code and then leaves the building, the source code is technically outside the building. If a halfway competent person looks at the source code, they'll know what parts are interesting and which ones are not, and only memorize the juicy interesting stuff.

  81. I do not want your code! by Anonymous Coward · · Score: 0

    Here comes my observation from my 15 years as a software developer:

    1. I do not want your code! If I want to copy your softwares logic, give me the manual for your product.

    2. I would never ever work in an environment where I was forced to remote login to touch the code.

    Why would I want your code? What would that give me? I _write_ software for a living.

    1. Re:I do not want your code! by Ihlosi · · Score: 1
      1. I do not want your code! If I want to copy your softwares logic, give me the manual for your product.

      Sorry, no manual. Here's the code. *SCNR*

  82. Stop looking at this a technical problem by Martin+S. · · Score: 1

    The real problem here is not technical, it is a management problem. They are defining how you achieve the objective when they should be giving you the objective and delegating the how to you. That is the problem you need to address with them.

  83. Re:Document the costs and benefits, management dec by houghi · · Score: 1

    This. A manager told me once that these kind of things are very easy. Just look at it as if you offer a menu. You have a starter, a soup, main course, desert, coffee and wine during the meal.
    You tell them the cost and then thye decide if they want the whole meal, drop the starter, or the soup or the wine or whatever.

    The hard part is to stick to your price. Do not be tempted to give the whole menu for the price of the menu without the soup. So you need to have good knowledge of the pricing and be able to defend those prices.

    Be prepared for all the questions. e.g. but what if we use cheaper hardware? That should already be part of the menu.

    If you are smart about it, you have three prices. The cheap one where everything will fail, the perfect one that is WAY too high and the one that you want to sell to management, because you know it will be the best because you did your investigationand you have the experience they hired you for.

    I have been in meetings where the CEO said basically: Seems very clear you know what you are doing, so do whatever you think needs to be done. That did not mean a free for all, it ment that the decision was well thought out and all (as in the huge majority of them) questions were thought of.

    So yes, let them decide and help them make that decision and when they choose to have no maincourse, make it clear that they will go hungry at the end and that ordering extra food later wil take longer and cost more as the chef is already gone home.

    --
    Don't fight for your country, if your country does not fight for you.
  84. Trust and care by dindi · · Score: 1

    This won't help or change anything, but I have to chip in with this thought.

    1. Treat your employees like human beings and pay them well so they don't have the incentive to steal from you
    2. Hire people you trust. If you don't trust your employees, fire them and hire ones you trust. If you don't trust anyone: write your code yourself.

    But most importantly : think about why you cannot trust your employees.

    I worked at environments where security guards (more like bodyguard types) were looking over your shoulder all the time. I also worked in banking where
    This is not a way to spend 8+ hours a day.

    More to the topic:

    Develop APIs with a trusted in-house team. Have your contractors work with those APIs ... Might or might not work in your case/code/environment/project.

  85. Encapsulate by kwelch007 · · Score: 1

    Put the code into a .DLL or similar share-able code source, document it, and let them work off of that. Use the GNU/BSD/Mozilla/whatever license to protect it.

  86. Two remote choices. by telkis · · Score: 1

    The "expensive" but quick to implement citrix workspace. It even has the ability to run a Linux environment. The hardware to run this software is quite expensive, as well as a learning curve on the management of citrix workspace software.

    The cheaper KVM on Linux route. You still need robust hardware. As long as you don't need a 3D graphicly accelerated environment, it should work fine for remote work.

    For both instances disable USB mass storage device connections. They could still cut and past steal the code, but it would be quite a pain to do so.

  87. You've been setup to fail by Anonymous Coward · · Score: 0

    You should resign from the project to save your own skin.

  88. Convince the suits... by MoarSauce123 · · Score: 1

    ....or change jobs. It is somewhat of a defeat to throw the towel in, but if management is intent to set you up to failure you need to move when they do not move. I am sure you find a contractor to do the work on premise if the price is right. Still will need an NDA and good corporate legal.

  89. Go back to India. by Anonymous Coward · · Score: 0

    Also, I'd imagine that if a remote person really wanted the sources, they could video the sources as they scrolls by.

    Go back to India.

  90. Your management suffers from by Kogun · · Score: 1

    a misplaced sense of security. The building is not securing the source code. You should first focus your efforts on convincing why physical security of the building is not what is protecting the source. I ponder what extraordinary circumstances you might be working under, already. Are there not non-compete contracts in place with current employees?

    Regarding hiring outside help, perhaps, there is another issue: assuming your company is in the US, is the code possibly subject to International Traffic in Arms Regulations (ITAR)? If there is a hint of a possibility, then you need to look into this as it will restrict who can be hired to work on the code, as well as the physical location.

    I know of one company that was so distrustful of its employees (or, more likely trying to hide something) that only the founders were allowed direct access to the version control system for the flagship product. They had in place a ridiculous check-out, check-in procedure that slowed development, needless to say. It smelled pretty strongly that the source had been ripped off from the founders previous employer and that they worried that access to version control history would reveal that. No surprise that culture there was stifling and the guy I knew that worked there did not stay long.