gophering on
HN Gopher Feed (2017-12-06) - page 1 of 10
Ask HN: Huge enterprise customer wants to see our source code
184 points by throwawaysource
We are a small 5-person enterprise software startup, operating in
the data analytics/ML space. We are working on starting a proof-of-
concept with a huge potential customer ($50+bn in revenue). We
recently identified our first use case, and are ready to get into
contract negotiations.But then they got back to us with an odd
request: they want to see our source code (likely upon completion
of the PoC). Given that our core IP is our models and algorithms,
we are reluctant to agree. Their justification is: "we want to see
how your algorithms made their decisions."We know that they have
lots of resources and are building up internal data science team.
And yet it was pointed out to me that their goal might not
necessarily be to outright steal our IP, but rather to cover their
bases. But we are still worried they might be "inspired" by the
parts they see and get their internal teams to replicate across
other sites or use cases. And we don't have the resources to
litigate, nor any way of knowing they do this.My questions: 1) Has
anybody run into a request like this? How would you respond? 2) How
likely do you think their goal is to genuinely "see what happens
under the hood" as opposed to replicate in the future? 3) Are there
any legal protections we can put in place to prevent them from not
just copy-pasting our code, but also from "learning from it" or so?
alexchamberlain - 1 hours ago
Isn't this one of the big research areas in the ML space? ie
explaining how a model made a decision. This is hard if you have
the source code. Personally, I'd look into how to explain your
model without giving away the secret sauce.
mslate - 1 hours ago
"If you want to see our source code then acquire us."
mplewis - 2 hours ago
Answer: No.No one gets the secret sauce. They pay for your results.
  threeseed - 1 hours ago
  And in the ML space we laugh at you and goto the next
  vendor.Because we paid for that model, it belongs to us. Just
  like how if I pay for an illustration I expect the PSDs.
throwaway613834 - 1 hours ago
Isn't the logical question to ask "Why do you need to see how our
algorithms make their decisions?" Surely if this is due to legal
issues then they can point you to the relevant law?
bluGill - 2 hours ago
Ask them what their real needs are.  Odds are they really want one
of the two following. Protection in case you go out of business;
Protection in case you have a legal violation (ie you use GPL code
and they link to you - suddenly their code is GPL).If it is the
first, code escrow is very common. You should probably set this up
as a gesture of goodwill even if they don't ask for it.If it is the
second, there are tools that you can run to ensure you don't (you
should anyway - though the tools tend to be "enterprise software"
and thus expensive for what they do). Once you are sure you are
free from that type of them a lawyer can draw up legal
indemnification documents.If it is anything else, this is done -
for an additional fee. 20 years ago a company sold us an OS, as I
recall the price for source code was $100,000 on top of all other
costs. My company refused to pay even though it would have saved
far more money if we had been able to understand what the code was
doing, and thus been able to integrate our code better.I'm not sure
what legal requirements were in place, but you should defiantly
have a lawyer who knows this area of law create the agreement. Not
just any lawyer, one with experience is worth paying for - find the
lawyer first and pay him $200 to give a high end estimate of his
costs to draw up the agreement - this is your minimum price for
seeing the code. (which is to say you expect to make nothing after
the lawyer is paid unless a second customer also wants source
code)Unlike most I wouldn't reject it. However it should be an
additional expense, and it should be covered by some strong legal
ra1n85 - 2 hours ago
I have not run into issues like this, but I would at least make an
attempt to meet them in the middle.  NDA's and the such are not
something I would be confident in, particularly given that this
customer can throw a lot more money and effort into legal.Regarding
meeting them in the middle, I would put together a presentation
that describes how your algorithm works at a high level.  I'd do
your best to split the balance between being transparent and
focused on the customer, and not divulging what you consider to be
differentiating parts of your implementation.If you get push back
for the above, I think you're dealing with either brain rape, or
some pretty unprofessional contacts in your customer's
organization.  If it's the latter, you should do your best to
navigate around those contacts.
notyourday - 2 hours ago
If they are trying not to end up in the situation where you go out
of business and they are screwed, offer them to escrow the code for
a certain amount of money. If you go out of business, they get the
code. If you do not, they don't
  skmurphy - 2 hours ago
  Even source code escrow should be resisted. "Out of Business" is
  not always clear and if you are trying to get acquired your value
  drops dramatically if major customers have your source.
    bluGill - 2 hours ago
    True, the code escrow needs to be written correctly. Done
    correctly it only kicks in if the code goes unsupported.  You
    can be acquired so long as the company buying you continues to
    support it at a "reasonable price". If they don't support the
    code for a "reasonable price" they didn't buy you for the code
    anyway so it won't matter. If they do support it, then the
    escrow doesn't come into play.
    notyourday - 2 hours ago
    Ask your attorney.
      skmurphy - 2 hours ago
      I guess reasonable people can disagree. It's a business risk
      calculation not a point of law.
        valuearb - 1 hours ago
        If you think "out of business" can't be defined adequately,
        it's a point of law. That's what lawyers get paid to do for
  wgj - 2 hours ago
  If the out of business scenario includes the possibility of
  acquisition or asset sale, code escrow is a significant factor
  lessening the value of assets or killing the deal entirely.
  Stated differently, it's not what a buyer wants to find in due
  diligence.The $50+bn company might even be the potential buyer,
  but under code escrow they just get it for free (less whatever
  was negotiated up front.)
    notyourday - 2 hours ago
    Rubbish.Structure it as 1 year, 2 year, 10 year whatever the
    hell deal you want. If you are a $50BN company ( you aren't )
    you simply fire that customer.
    theobon - 1 hours ago
    Typically these are worded as part of support & maintenance and
    is triggered by failure to meet that obligation. Acquisition,
    merger, spin-out, JV or bankruptcy would not trigger it
    provided support is maintained. Also, the force majeure clause
    typically allows some reasonable timeline to reinstate support
    before it is triggered.I would think the positive of a large
    client greatly outweighs the liability of the code escrow.
lee101 - 1 hours ago
Hi i'm founder of a trading prediction and stats
platform that uses machine learning to predict cryptocurrency
price, seems very similar to problems we have been facing.After a
quick call with a massive customer and walking them through our
forecasting strategy and code we saw an abrupt end of communication
after that!Brain rape like something straight out of a silicon
valley TV show
giving away our secret sauce they simply cut all communication and
one can only assume they are implementing their own version of what
we have now...If they are such a huge customer they should be
prepared to pay like everyone else should be if you can prove from
your predictions/charts that your algorithms performance is
solid.Give them a short free trial but be careful not to give them
too much for free.We now only offer a 1 day free trial and the
value should be obvious after that, start with a crazy price and
slowly drip feed discounts, product features and trial extensions
like you would market to a normal customer, if they are going to do
invest time doing any custom integration with your apis ect then
why cant they invest money upfront too?Its easy as a scientist to
not make a strong sales standpoint but your worth more than you
  valuearb - 56 minutes ago
  There are more likely reasons they might have cut you off other
  than "brain rape", specifically  1) They didn't like your code or
  your forecasting strategy. 2) They didn't like you, didn't trust
  that you could get it done. 3) They chose a competitors product.
  4) They canceled the project.I work for a 50,000+ person company.
  I do software evals all the time, not source code but still. When
  their sales people call me, I ignore them. I'm very busy, if I
  want to buy I'll call you.My group (200+ devs) starts and cancels
  new projects all the time. No one has time to call every losing
  vendor and tell them they didn't make the cut, or that we decided
  not to continue the project.
urda - 2 hours ago
Nope, never let them see it. Those algorithms are key to your
success.Unless they are buying your company and are doing due
gnerix - 1 hours ago
I used to work for a company that did model risk management
consulting for large banks and source code reviews were a standard
part of what we did.  What sounds different from the OPs situation
is that it is the customer who would be conducting the review and
not a third party.  Take everything you read here with a grain of
salt but it would be best to consult a lawyer.  Even if you hold
the patents for what your software is doing under the hood it may
difficult and expensive to sue in the event that your customer does
simply copy your secret sauce
  RHSman2 - 1 hours ago
  Good point. If the OP company is doing something they can't then
  how are they going to know its fit for purpose? From my
  experience the big guys don't really have those skills in house
  OR the ability to organise said skills in a timely fashion.
anonacct37 - 2 hours ago
I'll offer a different pov from many other comments.I work for a
fortune 50 basically doing web server stuff. Right now our security
team would like to run some startups code synchronously as a module
in our web server.Their code could easily cost us millions off
dollars (if the outage was small). I need to make sure their sdk is
free of race conditions, and has proper timeouts and throttling and
has proper metrics.If your product can interrupt billions of
dollars in revenue, I'm going to need some assurances and "we're
really careful" doesn't count.Of course they are free to say "no",
and we can go our separate ways.Because we're public we can't
always tell vendors how much money they've cost us so when they
accidentally point their prod to Dev and cost us millions of
dollars all we can do is try and get a credit on this months
bill.I've services described a pretty specific use case, but there
are other more generic possibilities. It's great that you have
magic data science sauce for scoring customers, but when I get sued
for racial profiling "I didn't know they used race as a factor"
might not save my ass in court.
  awinder - 1 hours ago
  Are you going to audit all of their code changes from now into
  perpetuity as well?  It seems like you kinda alluded to the thing
  that would actually be effective, which is not synchronously
  calling external services in high-uptime-requirement
    pdgonzalez872 - 1 hours ago
    fantastic question. Just because the software complied with the
    requirements at one point doesn't mean it will in the future.
      jrochkind1 - 10 minutes ago
      True, but I'm thinking if you can tell it was written by
      people who know what they're doing, odds are the company will
      continue to have people who know what they're doing.
    IanCal - 1 hours ago
    I'm not sure what you mean here by external service, the
    solution you describe is just "build everything in house" which
    is possibly not reasonable.
      anonacct37 - 54 minutes ago
      If I read the comment right (a big if, I'm terrible at
      interpreting sentences that end in the middle with storm of
      dots and an implication), then he/she is implying that
      obviously we never considered running code asynchronously.If
      so, this implication was inaccurate.
      nerflad - 13 minutes ago
      Not if it really is responsible for keeping billions of
      dollars flowing.
  devit - 55 minutes ago
  Just run it in a separate process with a seccomp sandbox, using
  pipe/socket IPC with a timeout (if it's some anti-DoS/intrusion
  thing, just fail allowing the request, since it's going to have
  false negatives anyway).The IPC cost should not be significant
  compared to the rest of the web server code.Can also ask them to
  do the work and provide a small open source in-process shim that
  sets up and talks to the sandboxed process.
MartinAlbertsen - 1 hours ago
Hi,Would be good to know if its SaaS or something that goes into
their datacenters.If you are SaaS, I would not share source code.
Ever. I often get questions from potential enterprise customers,
and while pushing back is not always easy, the reasons are
respected. One argument is that you are protecting other
customers/tenants by not allowing it, and you will do the same for
them when they are onboarded.If its in their datacenters, there are
many reason they might want to see source code (licensing,
security, scalability etc). But i would still argue you could keep
your core algoritm IP out of that.Other thoughts: Are they vetting
you for potential acquisition?
covermydonkey - 2 hours ago
It's funny seeing this. I work in one of those big corporates and
maybe I can share a little about how they work. From what I've seen
this could be completely normal or a huge red flag.We recently
looked at partnering with an analytics company for a credit scoring
solution. The idea was to use their SaaS and have a contract in
place regarding use, pricing, up-time etc (Corporates will want
that). When we kicked off the procurement process internally an
army of people got involved. Their was a project manager, a number
of lawyers. I believe their were audit and compliance people their
too. They ended up creating a project just to figure out what
needed to be figured out. Here's where it get's helpful. We
couldn't even share what we needed to know with the SaaS team or
product owner because that could compromise the investigation. In
this case, the corporate's concerns were genuine, numerous and
required rigorous answers.In another case I watched an exec try to
figure out how a KYC solution provider has achieved the level of
accuracy in identifying ad-hoc documents in the hope of solving the
problem with internal resources.If I were you I would not send them
your code. Rather say would not be closed to them asking questions
and you answering by showing code as long as it's not the secret-
sauce.Just know that for our scoring problem we actually had to see
how the decision was being made because we're subject to a ton of
legislation around that.
INTPenis - 4 minutes ago
I'm not experienced with these types of situations but my common
sense is telling me that you could, and should, make a high level
design presentation.That could include snippets of code where
appropriate to show exactly how decisions are being made.This
presentation will likely benefit you in the future.
shubb - 2 hours ago
Surely this is what trade secrets laws are for.Probably if you get
then to sign some kind of non-compete non-copy contract and hand
over the source then if they do decide to cut you out, you can just
sue them and make more money than you would have as a startup
anyway.Get it legalled and then just hope they overstep.
dkural - 2 hours ago
I ran a SAAS company for 8 years, going from zero to double-digit
million rev per year.The answer is a clear no. They can PAY YOU to
make custom plots/charts/reporting or run queries if they want to
understand what it does better.  There is almost always a way to
achieve any business goal without requiring source code.The only
case I can think of source code needing formal verification by a
third party is if you're targeting drones to kill people or
government jailing people. That doesn't sound like a commercial
company in any event.
  TAForObvReasons - 2 hours ago
  Have you actually dealt with enterprise sales?  Source code is a
  fairly typical request, and there are software escrow  and audit
  companies specifically set up to address concerns.Microsoft, for
  example, gives source code access to paying enterprises and
  governments under the Shared Source Initiative specifically for
  security vetting and other auditing purposes.OP: Consult a lawyer
  who specializes in these matters.
    aNoob7000 - 2 hours ago
    I've seen my company ask countless time for source code and
    your financials.  If your financials are iffy, you might not
    even get past the RFP process.
    pcsanwald - 2 hours ago
    I agree, although if the company asking is not engaging with an
    aforementioned auditing company (Mitre is the one I've dealt
    with the most), then that would be a red flag to me.
  cat199 - 2 hours ago
  > targeting drones to kill people or government jailing people.
  That doesn't sound like a commercial company in any
    arkades - 23 minutes ago
RHSman2 - 1 hours ago
In a past life I was at a SaaS company that was asked this from
every single customer (and they were BIG customers). We always said
no. No, no, no.You know why? It was not secret sauce at all and
boolean logic. Amazing how the wool was pulled over a pile of
rubbish ;)
rhapsodic - 58 minutes ago
If I were you and I decided that this is worth it, I would try to
arrange the deal so that it only occurs after all of their other
due diligence has been completed, and the source code audit is the
last remaining obstacle to doing the deal. And I would insist that
they first define, at least roughly, what it is acceptable and
unacceptable. So, after the audit is completed, unless they can
point to something in the code that is unacceptable, then they are
compelled to go through with the deal.You want to avoid a situation
where you accommodate them on this, and they come up with some
other hoop you have to jump through. Or where they give you some
vague excuse like, "thanks, but we decided to go in a different
direction" and walk away.
indescions_2017 - 1 hours ago
You can find templates for proprietary information agreements at
EveryNDA:Defeat the Confusion: Confidentiality v. Non-
disclosure/Examples of Microsofts Shared Source licensing can be
found as well. These contracts are typically reserved for heavy
hitters. Who have enhanced security or performance requirements.
FBI, JP Morgan, etc. And of course Microsoft has open sourced large
portions of its own dev tools and sdks.Microsoft Shared Source
Initiative think what
you may begin to realize is that its their alternative data that
represents the motherload. And its not your algorithms but level of
service that will differentiate you. The insights mined from that
alternative data may be so valuable as to outweigh your other
concerns. And gaining access to it might be the paramount mission
for your startup. As the executive, ultimately its your call. Good
hvindin - 57 minutes ago
My 2c as someone who works on the enterprise side of these
requests:There are a couple of reasons reasons we might ask to look
at your code:1. While not a reason to look at your code, instead,
if we don't have a valid reason to look or don't have access to
technical resources either internal or via external consultants who
we are fairly confident could build whatever the software is we are
buying given time and resources then we DO NOT WANT TO SEE YOUR IP.
This goes as far as shell scripts vendors use for stuff that we
don't particularly care about. If they leave them on our boxes we
make sure we destroy the data. If the company is worth 50bn then
there is it a very small chance their about to make a huge pivot to
your particular niche and therefore need your code to solve a
problem. The reason companies buy software is because they don't
want to pay people to maintain it and in addition they DEFINITELY
don't want to get sued for looking at your code. So for no other
reason than legal repurcussions you can probably trust them not to
do anything sketchy. (Disclaimer: small business units do sometimes
go rouge. Make sure youre talking to someone who understands the
company wide impacts of fucking this up)2. If the code is going to
be used in sensitive environment (ie. Air gapped networks) we may
want to scan for both destructive malware dependencies or just bad
code that intentionally or unintentionally might damage systems.
Also you would be amazed how many vendors build hooks to call out
to the internet in standalone software packages that they "certify"
for offline use.3. If we need to build a bunch of integrations
ourselves (ie you would be useless to us in so far as needing to
understand legacy core banking systems and the like and therefore
are not helpful with your knowledge of the code base, we need
someone with knowledge of both code bases at a fairly low level)
then depending on the size of the code base we might ask for all of
it or just all the external interface implementations. Not the
definitions. The actual code.4. If you are a small company it is
not unlikely that we will negotiate a clause which says that if you
disappear or all your developers die or whatever, then we are
allowed to internally use your code base to build our own stuff
since we will end up with dependencies on it and will want to make
sure we can still function without you (this is obviously not
ideal, we would rather throw money at you to make problems go away,
but if you aren't a business any more then we just have to hire
people to do it) I actually heard a colleague working at a
competing bank in Australia tell me that their agreement with
hashicorp gives them ownership of consul enterprise code base for
use internally if hashicorp disappears. You just need to make sure
your lawyers and on this properly to make sure you clearly define
the circumstances in which the large companies expectations of you
maintaining the code are no longer met and therefore they can do it
if they need to.5. If we just don't trust you to not be hiding some
black magic bullshit behind the scenes. This is usually the result
of particularly uninformed sales people making claims that cannot
technically be true, and thus out due diligence require that we
handle it ourselves. It's also much more likely that we will
recommend a bunch of software auditing companies we have used and
we trust to audit the code base for us, just so we don't have the
liability of your IP in our heads.6. If we have government
financial institution regulations which apply to the thing we want
to use your software for and we are required to check of sign off
the risk. As an example, an Australian bank running things on cloud
platforms that hook back into traditional on prem systems it is
mandatory without exception that all data at rest or in flight be
encrypted. We trusted a large software company on this and only
when we had auditors sniffing traffic over the network did we
discover that major data intensive operations relating to backup
integrity decrypted everything and then pumped it over the wire
between instances using HTTP at which point we where $6m deep in
licensing fees so we had a few very difficult conversations about
"fix it or fuck off and pay us substantial reparations" because we
suddenly needed a lot of technical lawyers (who ate as rare as hens
teeth) to explain what had happened to avoid fines that could have
cost literally billions.Summary: there are a bunch of reasons a
company might want to see your code.  If the person you are talking
to is speaking on behalf of the whole organisation (ie. They
understand broader business implications of doing anything shady)
then you're almost definitely safe. If your a bit on the fence
about the whole thing, get a third party auditor in, but the
request itself is pretty reasonable.
  hvindin - 42 minutes ago
  I just remembered a specific use case which we had where we where
  told no re: looking at code and it completely screwed us.One of
  the banks owned by our parent company was using a system built by
  HP to determine loan rates. Now, being a bank that's kind of
  their core competency so letting someone else build it just seems
  silly.But two years later I was on a project trying to hook a
  bunch of stuff up to this system and we noticed that we couldn't
  get a proper test run because it kept giving us different figures
  for the same inputs.After asking again for the code, or even
  pseudo code that would explain the behaviour we again told no.A
  bunch of lawyers got in a room and they explicitly threatened to
  sue us if we tried to decompile their code or monitor the system
  to learn the logic. My response to this was immediate alarm bells
  because that meant we where not allowed to actually test the
  system which paid for most of the development of and hosted
  internally.A discussion with just our lawyer revealed that,
  because it was related to home loan rates, our liability was
  actually significantly reduced if it where technically possible
  to decompile the code and verify what it was doing because the
  cost of not being able to explain it to auditors would be so high
  and the amount we would be sued for might maybe max out in the
  10's of millions.After a bit of very low level analysis we found
  that their algorithm for determining a load rate included a
  random number generator to determine an arbitrary discount in the
  case that very similar data was input repeatedly.We later
  discovered that a developer was trying to be clever and get more
  home lones sold and had entirely missed the point of risk
  profiling properly. Ie. We don't want to sell you a home loan at
  a low interest rate if the risk of you defaulting makes it less
  profitable.Eventually the resolution we came to was that HP would
  fix this shit up and they would provide us with all of the
  original source they had access to.But for the next 20 years or
  so we will be carrying the liability of potentiallt hundreds of
  loans (this system wasn't used by most business units at the time
  but we where thinking of expanding out its use, hence the
  project) that have an interest rate that is lower than it needs
  to be (like 1-1.5% lower!) to cover the risk profile of the
  person who got the loan.And all we needed was the code and that
  wouldn't have happened.
emh68 - 2 minutes ago
Easy: Make them pay for the privilege, based on how much you think
it?s worth you to NOT show them.
mseebach - 1 hours ago
According to to their stated motivation, they're not actually
interested in the source code: they want to know how your software
makes decisions, presumably important ones on behalf of their
business. The people who articulate such a request (management), as
a rule, are not qualified to answer it by looking at the source
code. If that is indeed their concern, they've probably filtered it
through their internal development shop, who's come up with the
idea that they could review the source code and answer. Management
thought that was a splendid way to do it - no need to bother you
guys with such tedious busywork (OK, probably slightly rose-tinted,
but the general outline of the narrative is plausible).If this
understanding is what they're really after, then that's what you
need to think about answering. Worrying about ML as an opaque black
box is a bit of a thing these days, so it will probably come up
with future clients as well.If you answering this is not satisfying
to them, and they keep insisting on the source code, and they can't
articulate why, then they are not being honest, and you should walk
away (or at least clearly state that if they don't withdraw that
requirement, there will be no agreement).
itamarst - 6 hours ago
Options:1. Ask for a giant pile of money for the privilege.2. Come
up with visualization that answers their question without giving
them access to source code. Presumably "how do we know we can trust
results" is a common problem.3. Walk away.
  smacktoward - 2 hours ago
  And a possible 1a: Tell them you'll be happy to give them your
  source code, and everything else to boot, if they'll buy your
  company.This way you get to jump straight to your exit, and can
  maybe also structure the deal so that you and your employees get
  jobs at the BigCo (if you want them). Feel free to set the
  selling price as high as you like -- they would want the deal
  more than you would, so you have a lot of leverage in the
  negotiation.And if they balk? Hey, they asked for terms to see
  the source code, you gave them terms! It's not your fault if they
  don't like them :-D
    Animats - 2 hours ago
    Good answer. No, they don't get to see your source code without
    buying the rights to it. Otherwise you're going to end up in
    trade secret litigation after they steal something.
  pedrorijo91 - 2 hours ago
  maybe what they want is just white box explanation on your
    threeseed - 1 hours ago
    This is all it is. I ask for explanations every week from
    vendors.And everyone here is going on about them wanting to buy
    the company or acquire licenses to the code. It's just bizarre.
polskibus - 2 hours ago
If you agree, this may mean no investor will be serious with you
after that (you've shown your internals to lots of other people).
Use that as an excuse to say no.
babuskov - 2 hours ago
> How would you respond?In these situations it's best to ask
yourself a simple question: what would Coca-cola do if they asked
to see the formula.
  threeseed - 1 hours ago
  Bad analogy. Better one is:If you hired a photographer would you
  expect the RAW files ?I would.
coleca - 2 hours ago
I've seen huge enterprise customers ask similar things in the past.
Especially with startups, they know that if they decide to steal
your algorithm and replicate it, you will never be able to afford
to sue them.  I've seen a number of enterprises  where they had a
team large enough that they could throw whatever resources it took
to build your solution and once they had some ideas how it worked,
then they were off to the races.It could also be a bluff to see how
far they can push you.  Enterprises love to ask for ridiculous
things to see if they can get it.  I once worked for a fairly large
retailer ($10b/yr) that wanted to put into a contract with
Microsoft that they could have access to the Windows and SQL Server
source code.
hoodoof - 2 hours ago
This is just politics.Find a way to say "yes", which satisfies
their need to hear you say "yes", but your "yes" conditions mean
they need to spend money (which they won't want to do), and further
conditions, even if they do, as other commenters have suggested,
make the process dysfunctional.Watch our politicians in government
handle any issue.  They are masters of saying "yes" and delivering
"no", which makes people feel like they got "yes".
  amarraja - 1 hours ago
  Slightly off topic, but....> Find a way to say "yes", which
  satisfies their need to hear you say "yes"This is the best skill
  to train if you're going to be working with enterprise clients.
    hoodoof - 1 hours ago
    Winning government work (which is probably similar to large
    enterprise) is all about ensuring all of the government tender
    requirements get a "yes" tick when considering your product,
    but then ensuring that your fine print gets you out of all the
    unsavory things you had to agree to for those "yes" ticks. You
    can afford at this stage of the process to underprice and beat
    your competition. Note that the thing you underprice is the
    fixed price commitments that the government will change anyway,
    invalidating your fix price commitment instead switching over
    to the overpriced fine print pricing (see below).You might
    wonder how to do that without them noticing that you are
    backing out of all your commitments. You in effect force them
    to agree that the fixed price commitments that you make are
    only valid if the government does their bit of the project, and
    you lock down exactly what their bit is.  Anything outside this
    clearly defined scope is a "variation" or "change".You do it by
    identifying the grey areas and putting a condition on each grey
    area.For example there might be a requirement in the tender
    that you'll deliver some report in a week, or build some
    software function in 3 months at a fixed price.  You would have
    some fine print to say "if all client staff are available to
    contribute, if all systems are fully available for review and
    if all approvals are gained. 1 week project $2,000 additional
    hours $220 per hour".  You know its going to take far more than
    one week, now you are going to get paid for it, but you charged
    only $2,000 for the initial week which was likely cheaper than
    the other tender submitting companies who you are competing
    with.  You just got them to agree to pay you $220/hour, and
    they didn't realize that most of the project will actually be
    carried out under this bit of fine print because they didn't
    meet their commitment to their side of the project - bingo!Your
    client can't disagree with the grey area conditions because its
    only reasonable that if they require the report in a week that
    they do their side of the project work and if they don't then
    you need to be paid for the extra time it is taking.Your client
    will be optimistic about what they can do when it comes to what
    they need to contribute to the project.  Take advantage of that
    optimism and get them to be paying you when it takes them
    longer than they expected to do their bit.The real money is
    made in these additional terms because in many cases all the
    initial conditions of the contract become irrelevant for
    various reasons and thus the terms are dictated by the fine
    print that you defined, that the client is not paying close
    attention to during the tender assessment process because all
    they care about is ticking off their predefined requirements,
    which you already made sure you get a big "yes" tick on.  This
    is how big companies make scads of money from government
    consulting contracts.  They know to make their initial tender
    extremely appealing to the client and their fine print
    extremely lucrative.Make sure you have a good project manager
    whose job is mainly to track actual against contract
    commitments and get signoff when moving to hourly instead of
    the fixed price commitments.
      goialoq - 55 minutes ago
      You're exactly right and that makes me feel sick about how
      ugly the world works.
        hoodoof - 51 minutes ago
        All business is a variation on this.  If you're wanting to
        be a business person in a "nice" world where its not all
        about manipulation and sleight of hand then you can do that
        but you won't be mega successful.Read up on Bill Gates
        Windows license contracts that the hardware manufacturers
        had to sign .... genius.Truth is all in how you tell the
          carapace - 4 minutes ago
          I remember the day a friend explained to me that MS Word,
          Internet Explorer, and MS Frontpage were the same DLL
          just with different entry points.
davidkellis - 2 hours ago
Sure, access to the source is acceptable if they're offering to buy
you out.
pcsanwald - 2 hours ago
my .02 from having been CTO at a SaaS analytics company for a long
time: "we want to see how your algorithms made their
decisions."that's great product feedback. and a problem you need to
solve. You shouldn't solve it by handing out your source code.
  aeorgnoieang - 1 hours ago
  In ML, that's a problem lots of people want to solve!
taude - 25 minutes ago
I don't think this is that extra-ordinary of a request. I work in
FinTech, and we have routinely had large financial institutions who
hire third-party companies in doing code audit and reviews. The key
is the third-party companies who do this for their business.I think
the key for you is that it needs to be a third-party company that
specializes in these types of code audits.  I would NOT just hand
over source code to the actual company.
njyx - 6 hours ago
This is a complete no-no. There really is no justification for this
whatsoever.What does "cover their bases" mean?As them to explain
what they are trying to achieve and find other ways to assuage
their concerns.The only legitimate thing is to have something in
case you fail and they have "banked" on you. There is a legit way
to solve that. basically  if they want that tell them they should
pay for an Escrow service - that will hold your code and they would
receive it if you ever cease to exist. But it's important that they
would need to pay those fees (they are significant.)That should
make them back down.It's entirely unreasonable for them to demand
access to source code.
  threeseed - 2 hours ago
  I work for an enterprise company and we demand the source code
  for machine learning models from vendors all the time. This isn't
  like asking for the code to Excel. It's a model derived from our
  data that has likely no use for anyone but us and is highly
  susceptible to misunderstandings of the data. We absolutely need
  to verify your work.Models are the output of the process. It's
  like going to graphic designer for work and them not giving you
  the PSD file. It's just not acceptable.
    codingdave - 2 hours ago
    > You clearly have no idea what you're talking about.I have no
    idea what I'm talking about in this specific niche either...
    but does it normally go over well when you start a conversation
    that way?
      sologoub - 1 hours ago
      The parent comments author has this in the profile:>about:
      CEO at http://www.3scale.netI'd venture to say there is at
      least some qualification to answer here. 
      awinder - 1 hours ago
      I don't think people who start conversations like that are
      able to effectively gauge other human's reactions, they're
      kinda inter-related lol.
      threeseed - 1 hours ago
      I have removed the comment.It's just frustrating that this
      poor startup is going to make a monumentally bad decision
      based on people in here who have no zero clue what they are
      talking about.
    rimliu - 17 minutes ago
    By this logic the said designer should also get Photoshop
    source code from Adobe.
  mikestew - 1 hours ago
  It's entirely unreasonable for them to demand access to source
  code.The government and large corporations apparently disagree,
  or Microsoft wouldn't have their Shared Source Initiative. And
  for any nay-sayers in the crowd, that should be all that need be
  known: Microsoft thinks it's okay, and they have a lot more to
  lose than you do.The only legitimate thing is to have something
  in case you fail and they have "banked" on you.Which might be the
  exact thing they're trying to avoid. If your "machine learning"
  algorithm amounts to a bunch of nested if statements, they'd
  probably rather not "bank on you" in the first place.
    dv_dt - 1 hours ago
    Microsoft also has enough legal resources to assure recompense
    for any license or ip violations...
    kjksf - 1 hours ago
    Bringing up Microsoft is neither here nor there.Microsoft made
    the decision to create Shared Source Initiative only after they
    were very successful and only after a very, VERY detailed cost
    vs. benefit analysis.Furthermore, they are handsomely paid for
    it (e.g in order to be eligible, you need to pay for at least
    10k Windows licenses as per
    us/sharedsource/enterprise-sour...) and it's ultimately up to
    Microsoft to grant/deny access.And since we're talking about
    Microsoft, in the early days they were infamous for pumping
    competition for technical information under the guise of due
    diligence and then crushing said competition by developing
    competing products.The person who asked the question is clearly
    not at the "successful monopoly" stage as Microsoft but more in
    the "there are legitimate concerns someone might steal our core
    ip" stage.
    akoncius - 1 hours ago
    well I presume that MS does not provide access to code to
    direct competitors. Which is OP?s concern- client is building
    ML team and so on and they ask access to code.National agencies
    such as FBI are not threat to MS to become competitor, unlike
    OP?s client.
lasereyes136 - 2 hours ago
Well, having worked for a small software startup that did just
that, I can tell you what we did.We agreed to letting them audit
the code with conditions.1. The audit happened on our computers
with someone from our team in control (me). I locked the computer
when I wasn't physically there to watch what they did. 2. We
removed the most sensitive part of the code and told them what it
did. We kept the method signature. 3. All of the source code
remained on my laptop and my laptop was never attached to their
network. 4. We could tell them that we would not answer any
question they asked. 5. They paid for expenses and time. It lead to
a decent sized contract.It lasted about 2 days for a medium sized
Java application. They asked one or two questions I wasn't allowed
to answer and took it well when I told them so.I am not a lawyer
but you can also ask for a non-compete and or a non-disclosure from
their individual employees that will conduct the review. Get your
lawyer on that before you do it.It is up to you or your company to
decide what to do. No one can tell you if it a good or bad decision
for you. At least for me and my company, it worked out. As far as I
know the auditing company never developed a competitor and was a
customer of my company for a long time to come.
  sonium - 1 hours ago
  There is also a very fine difference in the exact wording. You
  might even have the choice to decide the location where the
  physical copy of the code is located (E.g. your office, not
  theirs / on the north pole) and they actually might never
  actually bother to show up. Does the source code even need to be
  humanly readable or are the actually more happy with a schematic
    bonestamp2 - 59 minutes ago
    For many reasons, always choose your office as the location.
    Even if they're paying expenses, it makes your employees
    available for other things that may come up at your site. All
    the security benefits are obvious, but lastly... from a sales
    standpoint, it allows you to treat them like a welcomed guest
    and win them over on your turf.Either way, get the review done
    fast. As they say, time kills all deals.
  evantahler - 1 hours ago
  I've done this too.  The question is usually a matter of
  compliance more than anything else. They want to check the
  licenses of any included packages, makes sure there's no
  encryption stuff that can't leave the USA, etc.Doing what OP
  described is great: it lets their folks do the audit with no risk
  of you loosing "ownership".  It shows you are both a good partner
  and value what you do.
    sheetjs - 1 hours ago
    License compliance is incredibly important and unfortunately
    overlooked by many smaller firms.  The potential liability to a
    GPL or other violation is just not worth it.Anecdote: We have
    released code under the Apache 2 License (our biggest project
    by far is and we've been
    roped into negotiations because some companies tried to take
    shortcuts by copying our code without proper attribution.
      nugget - 1 hours ago
      What exactly is the potential liability for a GPL
      violation?I've gone 12 rounds with IP lawyers over these
      theoretical violations (static vs dynamic links).  But I
      found it odd that I could never find a single case of
      significant liability due to infringement.  The nature of
      damages is unclear and the landscape of counter-parties (with
      an incentive to sue) is amorphous.  It seemed like worst-
      case, a proven infringer just had to re-write the offending
      module and make a $10k donation to an open source foundation.
      I've never knowingly infringed GPL and am not advocating that
      anyone should; it's just as I said, I found the legal
      community's focus on this area out of step with their
      otherwise well-measured calculations of risk and reward.
        GFischer - 58 minutes ago
        Usually, when doing due diligence, anything that might
        conceivably be a lawsuit or ongoing lawsuits results in a
        lower price or funds in escrow or similar agreements.So,
        even if there never was a big payoff, the mere potential is
        a big red flag for the due diligence team (and leverage for
        negotiations as well). They can add indemnification clauses
        on contracts (they won't do that for a small company like
        the OP I guess).
        bonestamp2 - 57 minutes ago
        > I found the legal community's focus on this area out of
        step with their otherwise well-measured calculations of
        risk and reward.That seems true with pretty much any legal
        area. But, it's not their job to calculate risk, it's their
        job to tell you what is legal. It's management's job to
        decide if they want to take the risk or take the legal
        Jach - 54 minutes ago
        I have no idea what lawyers actually think but the fears I
        hear about generally don't come from lawyers. The most
        common fear I think is "we'll be forced to release our
        closed code!" But no, my intuition is that even with
        willful violation of something licensed under e.g. the AGPL
        which is supposed to force such a thing on a SaaS company,
        the worst case is something like: the company is hit with
        the maximum penalty for copyright infringement and will
        have to shell out a few hundred thousand dollars and
        someone goes to jail for a few years, and the company has
        to immediately stop distributing/serving products with the
        software on them until the software is either legally
        licensed, legally distributed, or replaced.
          SwellJoe - 38 minutes ago
          Jail for copyright violation? I guess people who've
          distributed pirated goods, like movies or music, have
          gone to jail, but I've never heard of it happening to a
          software developer. Fines are plausible, but I'm having a
          hard time imagining a scenario that leads to jail time.
        TAForObvReasons - 46 minutes ago
        Most cases are settled out of court or aren't
        opinion.pdf interesting read
      kornish - 1 hours ago
      For companies interested in addressing licensing concerns
      before they balloon into real problems, FOSSA builds a
      platform which analyzes code and automates license
      disclosures and legal boilerplate:
      disclosure: founder is a friend and all around great person.
    eps - 20 minutes ago
    License compliance is easily verified using 3rd party services
    like Black Duck.You basically install a scanner on your
    machine, feed your sources into it, it hashes them line by line
    and sends hashes to the mothership for analysis. It then spits
    out the report that file X, line Y matches something in the
    open source package Z. At least that's how it worked a decade
    ago, when we had to do a pre-acquisition source code audit.
  FireBeyond - 52 minutes ago
  Slightly tangential, but working for a small software company
  (<20 employees) who writes Line Of Business code for very large
  enterprise customers in the health care industry, we at times
  offer source code licenses, but at the very least (and this was
  my original point), our license as a vendor also includes source
  code escrow in the event of our collapse. We haven't really had
  anyone request a pre-sale source code review.
  tootie - 1 hours ago
  You mean to say that you reserved the right to not answer certain
  questions or that you refused any questions?
    lasereyes136 - 1 hours ago
    We reserved the right to not answer certain questions. I
    answered most of their questions, only 1 or 2 were in areas
    where I wasn't suppose to give them answers.
  provost - 1 hours ago
  One thing I would note is that the individual employee might not
  be authorized to sign a legal document, such as "a non-compete
  and or a non-disclosure". My company informs us told to actively
  refuse to sign any legal documents (even at visitor check-in) --
  we have a Legal team for that. All documents should be signed by
  Legal before I step on site.
    DoofusOfDeath - 30 minutes ago
    Out of curiosity, are you barred from installing software on
    company computers, because you're either explicitly or
    implicitly accepting an EULA?
      provost - 4 minutes ago
      There is a list of pre-approved apps, and a method to request
      approval if it is not on the list. Also, there is a list of
      approved licenses for open source software.
cvaidya1986 - 2 hours ago
Reply back with ?is this an acquisition offer??
  threeseed - 1 hours ago
  Never worked for an enterprise company before I take it.Because
  nobody when they are dealing with a vendor is thinking about how
  to acquire them. They just want your product.
sixdimensional - 1 hours ago
Here's a somewhat contrarian view - if what you are making is so
good (or unique/special/non-trivial) that it is valuable to more
than just one huge customer, then just because they are huge and
you are seeing dollar signs, doesn't mean you should agree to their
request without due consideration.They may attempt to compete with
you or re-implement what you do, but again - if what you did is so
good and perhaps non-trivial to re-implement (an assumption), then
you should consider the value of what you have above their
immediate demands.  They might not have to be your "only"
customer.If you are trying to build a business to last on your own,
you must ask yourself, is this the kind of customer I want?Of
course, you should consider who the customer is and their
mission/vision/values/actions, what your and their goals might be
in this instance, how to accommodate their request (like the
suggestions for code escrow, etc.) while protecting yourself
(surely there are ways through a competent IP lawyer).Sometimes the
big customer can break (or make) your company.  I think your course
of action depends a lot on what you have and what you want.That
they are interested in you so seriously is probably a good sign, as
much as it is something to be concerned about.  Consider the value
of your use case and what it might be to others as well.This might
be me being naive, but, if they will be good to work with, and a
good customer to have, they will be willing to work with you
fairly.  Otherwise, be cautious and consider the calls for legal
patio11 - 1 hours ago
I think this is a signal that you're probably underpriced by a
factor of 2X to 10X.So this is a sales objection. With regards to
that justification, I'd want to know a) who in the business is
generating it and b) what they expect to feed your answer into.Is
this just somebody who wanted to sound smart in a meeting? Then
they don't need your source code; they need ~5 nice PowerPoint
slides and you're done. I'd be polite but firm in this case.Is this
e.g. a risk management officer? Then OK, that is a totally
reasonable ask. It's going to cost you $20k and some legal
wrangling regarding non-disclosure and non-competes, but we will
give up to 2 team members of yours up to one business day of access
to our code in a clean room on our hardware, under supervision by a
technical leader, with appropriate rules of engagement regarding
questions.Is this a business unit head sniffing for new things to
build? Then I will not automatically eject out of this
conversation, but my price just had another zero added to it, at
  twotwotwo - 30 minutes ago
  How specifically did the request for source code signal to you
  that the vendor's charging too little? You suspect the customer
  is worried that the product is really nothing because it's priced
  so low? High prices from a vendor signal they mean business and
  ward off fiddly objections? (I'd expect the opposite, higher
  price => higher stakes => more interest in knowing just what
  you're purchasing.) That an ML product with source that BigCo
  would want to read probably has some special sauce that deserves
  a high price? Just that most small vendors looking at selling to
  very large customers tend to underestimate the optimal price?I
  guess I risk inviting you to reply "Yes." or "mostly yes" with
  that laundry list, because most are theoretically plausible
  signals and sort of statements of the same idea, but what was
  your thought process leading to the conclusion they're
  underpriced? As someone who works for a vendor this is relevant
  to my interests :)
    patio11 - 18 minutes ago
    How specifically did it signal to you that they're
    underpriced?Because the poster is surprised by this requirement
    and doesn't have standardized answers to it yet.In poker, there
    is this thing called "assigning a range" to someone based on
    their actions. You can't see their cards, but their actions
    might give you signal where you could say "Hmm, playing like
    they have a middle pocket pair and not totally air nor a
    monster." If sophistication with regards to enterprise sales is
    a spectrum like poker hands, surprise about certain parts of
    the process causes me to adjust my range accordingly, and that
    plus experience working with software people colo
  dogma1138 - 49 minutes ago
  I?m a security engineer at a large financial organization and we
  audit all 3rd party products most of these audits include a code
  review.This is a compliance process and it?s controlled by the
  FCC.All of your suggestions would make the company that I at
  least work for to simply walk away from table.This has happened
  more than once and all of our contracts contain a clause that if
  it the application does not get a pass from our application
  security team the procurement would not continue.
    patio11 - 28 minutes ago
    Thank you for your comment. Can you add, for the benefit of the
    peanut gallery, what the typical cost of a one year software
    license you pay for is? I have a good guess but I think HNers
    need to hear people-other-than-me say it to internalize it.
    lsaferite - 20 minutes ago
    > controlled by the FCCI'm guessing this is a typo?
  trjordan - 48 minutes ago
  Another possibility is they're worried you'll go out of business.
  In that case, they don't need to see the code right now. You can
  set up a code escrow agreement in case you cease to exist.
tonystubblebine - 2 hours ago
I want to plus one everyone saying no. All of their reasons make
sense to me.In addition, I'd love to help your confidence with
getting used to the idea that saying no is ok. I remember being in
this situation many times and feeling like if we said no we'd lose
the client and maybe go out of business.But truly, clients often
ask for things that aren't very important to them and they will not
mind being told that the answer is no.The mistake you can make here
is to blow up your no answer into a big deal.The term I was given
for how you should respond is "the principle of the simple
explanation." People are totally ready to believe you, so just say
no in the simplest way possible.In the middle of some other
response just include a line like:"Re: source code access. No, our
source code is proprietary and we don't share it."Or even more
simply "No, we don't share access to our source code."
  vidarh - 45 minutes ago
  Your no answers reminds me of an experiment I read about where
  they determined people were more likely to accept a request if
  you included pretty  much any justification, even when totally
  self evident.E.g people are more likely to cut in line at the
  copier if you say 'can I cut in line, because I need to make a
  copy'. Even with an inane excuse like that (everyone else there
  also needs to make a copy) people are more likely to accept.So
  your first example is likely the better one, even though the
  reason given is basically void of explanatory content.
  ufmace - 1 hours ago
  This. The request may be a big deal to you, but it isn't
  necessarily a big deal to the client. Don't go big on the
  ultimatums and alternative plans until they indicate that it is a
  deal-breaker for them.
samat - 1 hours ago
It is so funny to read very decisive answers with no explanation
and/or not mentioning if author has any real world experience
dealing with this kind of deals and/or machine learning.
mbesto - 2 hours ago
Everyone in here is generally giving you the right advice.If you
want someone to help specifically advise, guide you through the
process, and potentially represent you in negotiations, feel free
to get in touch and I can probably help.By way of background, I
primarily work with investors who are selling middle-market
software companies to larger companies (over 80 or so personally
and oversaw another 80 or so, over the last 3 years). I have a lot
of insight and experience into contract negotiation from both sides
of the table here. I've also worked for/with the big enterprise
software players (SAP, Oracle, Microsoft, etc).
nkw - 2 hours ago
1) Yes. I would say "no".  2) Not very.  3) Yes, but they are not
likely to be effective or easy to enforce.If they want to look at
it badly enough they can buy it.
matt_s - 2 hours ago
They stated their intent was "to see how your algorithms made
decisions" that sounds like its your secret sauce.  They didn't ask
for escrow of source code should you go bankrupt.Have your people
interacting with them be confident enough to tactfully state they
will walk away from the PoC if that is a condition.Coca-cola hasn't
revealed theirs, why should you?Ask more questions about if they
are seeing things in the analytics results that don't look
correct... that might be their concern if they are basing business
decisions on your software.
  threeseed - 2 hours ago
  > They stated their intent was "to see how your algorithms made
  decisions" that sounds like its your secret sauce.It's not the
  secret sauce though. The models are the output.The secret sauce
  is the engine that builds it and companies aren't asking for the
  source for that.
unpythonic - 22 minutes ago
When I worked for a very large networking company, we wanted to
bring in a small company's only product which would have been
central to the day-to-day running of engineering.  Because they
were so small with so little track record, we wanted to make sure
that we could get their source code should they ever go out of
business.I can't think of a good reason to require code inspection
prior to purchase.  Testing, measuring, and generally trying to
break the code during evaluation seems fair game though.
pcl - 2 hours ago
Are you rolling out your product as a SaaS offering, or is this
something you're planning to license to people to run on-premises?
If the latter, I expect that you'll get lots of requests for
source, either for inspection or for escrow.Personally, I wouldn't
be scared of BigCo ripping you off. For the most part, large
companies care a lot about staying on the right side of their
contracts, and also it's generally really hard for a large company
to out-innovate a startup. So I would be pretty surprised to see
them steal your source (assuming you put in place an appropriate
NDA etc.). EDIT: I'd be even more surprised to see them try to
compete; the worst likely case is that they steal the source and
stop paying you, not that they steal the source and get into the
data analytics / ML business themselves.However, I think that in
the ML world, this "what the hell is the algorithm doing" question
is a really common one, and it'd be super-worthwhile to invest in
some sort of tooling to peel back the cover of the algorithm a bit.
Validation of appropriate responses against future data is a real
quagmire right now, to the point that some people are using ML to
help find a solution, but then trying to re-implement the logic
more traditionally once the ML algorithms figure out what to design
for. I think there's something there, at least for a good subset of
use cases.Also, it's common for a large enterprise to require some
sort of source code escrow if they do a big deal with a startup.
Sounds like this is different than what they're asking for, since
the source in escrow won't be available to them until the escrow
conditions are triggered. Again, I wouldn't be concerned about
signing escrow agreements, but I would make it a negotiation point,
rather than a standard term.
  pge - 2 hours ago
  Can you elaborate a little on this? The reason I ask is that my
  experience has been different. I have seen a lot of requests for
  code escrow (source is released to big company if and only if
  small company goes out of business) when a large company was
  dependent on a third-party product, but I have almost never seen
  a request to review source code (the one exception being selling
  into classified government environments where security
  considerations required a source code review).
    pcl - 2 hours ago
    I wouldn't say it's been the norm in my experience, but I've
    definitely been on the receiving end of requests for source
    (both when working at a large enterprise and at a startup). In
    my experience, this is much more common when selling something
    that will run on-prem or in process, however.
paul7986 - 21 minutes ago
My partner and I met with Google ATAP after emails and
conversations.Our experience if I was you is to be weary.  Google
just wanted to see our secret sauce and once revealed kick us to
the curb.They need to pay you or you walk away!
simonswords82 - 46 minutes ago
There's a lot of technical focus here. For me, it's about the
money. If a client is going to pay me ?3m to use my software,
you're damn right they can review our source code. As the amount of
revenue/profit declines, so too does my desire to expose my
business to the risk of a source code review.
rubyfan - 2 hours ago
I work a a large corp and we occasionally run our own POCs or
engage externally to learn about significant aspects of a
technology or process. Sometimes learning about what matters can
make us better at selecting good vendors.We are generally not in
the business of the services our vendors provide and don?t have the
staff, expertise, incentives or instructional fortitude to
compete.That said, I?d never ask for a vendors source code
(especially on a POC) unless I felt like an escrow situation was
warranted if they went out of business.If I were you I?d ask for1.
Something like a non-compete or exclusivity agreement. They will
not replicate the functionality internally or work with another
vendor.2. A lot of money to see the source code. If they are trying
to learn from what you have, then you are providing them with a
material benefit you should be compensated for. Offer to throw in
consulting services if their objective is to learn.Bottom line,
cover the risk that they steal your magic or otherwise benefit
without you being compensated.
Clubber - 1 hours ago
Another data point, but I worked for a company that made an
expensive DSS for a very lucrative industry. We showed a potential
"partner" our code and how it worked and everything. They took our
ideas and made their own product as a direct competitor. Reminded
me of Apple and Xerox.Definitely get legal council involved.A
possible way to protect yourself is print it out and put it in old
fashioned binders and let them see the binder while you are
watching. Not sure if that will fly, but it would be hard(er) for
them to steal it. Tell the company your concerns (which are valid)
and what methods they would accept. I don't think it's unreasonable
for you to bring it up with them.
  valuearb - 54 minutes ago
  In Apple & Xerox case, legal council was involved. Xerox actually
  got paid to allow Apple to see their PARC demos. And no source
  code was shared.And in the end, the Macintosh was a huge leap
  beyond the Alto, that really didn't work much like it at all.
victor106 - 2 hours ago
If my memory serves me right, This is exactly how Microsoft stole
Apple's code in the early days
  davewasthere - 1 hours ago
  I'm not sure it does.Apple borrowed ideas from Xerox. Microsoft
  were given source code for Mac in order to keep producing Office
  for it. Both Apple and Microsoft have copied UX elements off of
  each other.But I don't recall Microsoft stealing Apple's code.
  Maybe copying some GUI elements at most...
d--b - 2 hours ago
If their justification is "we want to see how your algorithm made
its decision", you should perhaps have your model output more stats
and infos about that.As a user of data tools myself, I am generally
suspicious of any black box model, and would like to understand the
model well before using it. For instant if your model is a deep
neural network, I'd like to know the structure of the network and
the activation of the layers when I run my data through it.If
they're really interested about the guts of the model they will
agree to a solution like that. Having the source code will
certainly not help them understand this as it is highly unlikely
that anyone will dig into this.Note that asking for the source code
is fairly common practice in finance cause people generally
distrust black boxes (at a firm I worked for they specifically
chose MySQL over some other tools because they had the ability of
looking through the code if they needed to).There is actually no
point for them to look at your code...You can agree to something
where if you go bust, then you'll give them the source code.
fshean - 2 hours ago
1) Yes - We said no because the source code is an embodiment of our
trade secrets and the basis of our company but we'd be happy to
answer your questions.2) Likely they aren't trying to "steal" you
IP.  They stated their goal as them want to see how your algorithms
made their decisions.  So just answer as best as you can without
giving away your trade secrets.3) Yes, there is a way to do this
with legal protection.  Which would be to follow a clean room
process.  However, this is pretty expensive for a small company to
do.  So I wouldn't offer it.
codezero - 2 hours ago
I've had customers ask to see certain parts of the source, and
we've never done it ? it has also never been a dealbreaker. If it
is, I'd be very suspicious of that deal.
sbinthree - 1 hours ago
Unless downtime of your application results in money lost for them
(as opposed to bad decision making) then I would probably say no to
this. If it comes down to "Is the data science good enough?" that
is basically a sales objection. If you can, talk about success with
other companies and your track records. There are legitimate
reasons for a customer to need to see your source code, verifying
that you can do your job is not one of them. Treat like a sales
kuwze - 1 hours ago
It sounds like they want to understand how an algorithm came to
it's decision. If I were in your position, I would ask if rule
extraction would satisfy their needs.
bluetwo - 2 hours ago
Gut answer is No.Honestly, they are no experts, or they wouldn't
need you, so them reading and interpreting your code is a patently
ridiculous request.However, there is a huge opportunity here, based
on the fact this is new ground for you and them. If they are truly
worrying about justifying later the decisions to be made, then you
CAN agree to design a report based on whatever your engine is
doing, that shows addditional useful data (i.e., not just the
correct decision in each situation, but the likelihood of it being
correct or expected return). Invent a middle-ground solution.Then
  bluetwo - 2 hours ago
  By the way, there is a saying in negotiating that you may want to
  repeat to yourself a couple times: "If you're not willing to say
  'no', then you are not really negotiating."
dedbalawyer - 40 minutes ago
Yes, if forced, ask for an escrow source code agreement where you
release source code only in the instance of your company's
bankruptcy/insolvency and they are stuck with an unfinished
product. Otherwise, this is too great a risk of your sauce being
out there.
bg4 - 1 hours ago
The answer is no. I had huge enterprise customer do the same thing,
asking lots of questions. We didn't tell them much but they were
asking very detailed questions as to the how. They didn't follow
through with the deal and released a competing product about a year
later.They were simply fishing us for answers on how to solve
threeseed - 2 hours ago
Most of the people in this thread clearly don't understand the
situation as Analytics/ML is quite different to normal IT.1) The
company is not going to acquire you nor will they sue you.2) They
absolutely want to replicate what you've done. It's not so that
they can build their own startup and compete with you. It's because
they genuinely want to understand how you got the results.
Companies are increasingly basing their decisions on ML models and
it's not acceptable for them to just "trust your black box".
Especially since your model could be based off a misunderstanding
of the data.3) If you decide to say no then chances are they will
walk away. Especially in the ML space companies are not going to
let their core intellectual property be locked away in someone
else's vault. They will simply not work with you.4) The best way to
handle this is simply to get them to sign a NDA or something
equivalent that protects you in the case that a rogue employee
decides to build a startup him/herself.I am someone who works in ML
for an enterprise company. For god sake give them the code and be
grateful they are even doing a PoC with you.
  RHSman2 - 1 hours ago
  Best answer here. I am in the exact same situation BUT I actually
  share the code from the get go because of the need to understand
  decisions (and GDPR is going to make that even more important).
  If the OP company is doing something that is not possible
  elsewhere then fine but if they are just allowing them to goto
  market faster then the effort to re-engineer and get working
  (particularly in the AI/ML space) is pretty time consuming. EDIT:
  I think that the time of proprietary algorithms as MOATS  are an
  old way. Things are moving SO fast now that your business is
  going to be outdated with the next release of Tensorflow or
  whatever is over the horizon.
anigbrowl - 1 hours ago
What would you see this technology outright for if they just asked
you to cash out and leave? Double or triple that amount and ask for
it to be put in escrow as security, subject to release on the
decision of an arbitration panel consisting of 3 academic computer
scientists. They'll refuse of course, but it gives you something to
negotiate with.