hexagon logo

Sneaky Sneaky

We have a -government- customer that wants to buy our code so they can run the program themselves. We are using some code that we consider proprietary in nature (I.E. we developed internally how to obtain results that they seek) We want to hide that or lock their ability to understand what we do, as to retain other programs with said company - but out of good grace sell a program that is obsoleting so they may run it at their pleasure.

What sort of sneaky sneaky tricks do you guys have to bury code deep?
I was thinking of a pulling the code from a text file (have never done this). But I'm also not sure how robust that can be.
  • Well, at the end of the day, if they are good at what they do, there probably isn't a way for you to completely hide the code.

    If you pulled the data from a .txt file, their IT department (if they're worth their weight in salt) would be able to access it pretty easily.
    If you put it into a .exe file, they might not be able to access it, but I've got no idea how you would do that.

    Otherwise, you could obfuscate the code and make all of the names and such really hard to understand, which would only slow them down, if they decided to break it apart piece by piece...

    Why not upcharge the crap out of it with a bunch of copyright and such notices, saying that "we don't care what you do with this code, but don't reverse engineer it or we'll sue"?
    AFAIK that's why a lot of companies request this sort of thing, to cover their butts
  • We have a -government- customer that wants to buy our code so they can run the program themselves. We are using some code that we consider proprietary in nature (I.E. we developed internally how to obtain results that they seek) We want to hide that or lock their ability to understand what we do, as to retain other programs with said company - but out of good grace sell a program that is obsoleting so they may run it at their pleasure.

    What sort of sneaky sneaky tricks do you guys have to bury code deep?
    I was thinking of a pulling the code from a text file (have never done this). But I'm also not sure how robust that can be.


    They're probably just trying to buy the time savings by buying the work instead of developing it themselves. If you allow time to go you'd probably be out of a potential buy. Certainly something to think about but your creation is YOUR creation do as you wish with it.
  • I don't think there's any way you can hide your code/algorithm - if PC-DMIS can run it, a human being can decode it. Period. All you can do is obscure, and that will not make any friends of that customer…

    Set the price tag to what you believe it (idea + programming + testing + verifying + profit?) is worth, and see if they'll pay.
  • Yeah, there's no doubt there. They will be made aware of the code being hidden if we do 'hide' it for that reason. On that note it has been a sensitive subject as we originally proposed a price for what you speak and we were scoffed at. Disappointed I think the better route for next time would have just been that that program is not for sale, but we were afraid of that consequence... go figure.
  • Well, you always have to balance with "How much is that customer worth to us (in the long run)?". It may be you *need* that customer, in that case their price tag is the right one...
  • because posting about this on the internet is great idea!
  • In my experience, if a customer wants the method of measurement to accept your product... I'd do whatever it takes to keep that customer, especially if it promotes consistent product acceptance and drawing interpretation.

    Aerospace is pushing Net-Inspect down everyone's throats for AS9102 FAIR's. This isn't a far stretch, to start demanding the measurement routine to be added to those net-inspect fairs submittals!

    You can call subs, use external alignments, use groups... implement difficult to attain or utilize probes or sensors (unique star probes or use custom-order probes)... But no matter how you skin the cat, DMIS is open-source code, that anyone with equivalent knowledge as you will be able to reverse engineer.
  • What do you consider "proprietary in nature"? I've had customers ask for the program in the past, but there are lines of code that useless to them (CMM logs for calculating run time, File Writes for importing to our check sheet system, DataPage code, etc), so I axe those out and leave the main code intact. IMHO, if you're trying to hide something from the customer because you're taking a shortcut to "make parts in spec", you are setting yourself up for failure and potentially a lawsuit if the component fails and causes an injury or fatality.