Why I won’t sign your NDA

Unfortunately, as a freelance software developer, time and time again, I am asked to sign an NDA. I can understand where the desire comes from on the part of the requester and I am not completely against them but requesting that I sign an NDA raises a big red flag. Here are the reasons why.

  1. It’s an idea. Simply that.

Ideas are abundant and everyone has them all the time. Most likely, a Google search will show that someone has tried or is doing something similar. But even more importantly, an idea is less than 1% of the required effort to get to a successful product. I know this because I have worked in a startup environment and it requires an awful lot of hard effort to get together a saleable/subscribeable product. Software is complex.

And then past having a ‘product’, there is a requirement for clever sales and marketing. I am no marketing expert. I have created services where my customers love it to death but I can’t find enough of a similar type of person to make it viable in the long-term.

Asking me to sign an NDA when something is at an idea stage indicates that you might not understand what is required to get to an end-game. And that you think that one humble developer is going to have the domain and sales and marketing expertise to get there.

2. In exchange for my free advice, I get to sign an NDA

Usually when I first speak to someone who is interested in my services, there is a discussion about scope and feature-set. This is usually encompassed within the ‘idea’ and although I would like to think differently, the reality is that the initial thoughts I have about the architecture usually incorporate fairly common open-source components used by many developers world-wide. Getting data out of a database and displaying it on a web page is what everyone wants to do these days.

I don’t charge for these scope definition discussions but in return for this free advice and constructive thinking, I get to sign a document that could allow you to sue me. Great.

3. Waffly terms like ‘know-how’ and no time constraints

I will never sign an NDA that says ‘know-how’. What does that actually mean? That I know how to write Python and Javascript? That I can create a database schema? That I can model a concept as a software object? These are the skills of my trade and yet you are asking me to sign a document that will potentially require me to refrain from doing such. And for an infinite period of time?

My skills are what makes me valuable and I need to exercise them. Plus it appears your lawyers have gone overboard in describing what to encompass.

4. The need to understand software (and the developer culture that surrounds it)

Developers are developers because we like to build things and have other people look at them and say ‘Cool!’. The days of open source are well and truly here and the likelihood is that we will use many open source projects to build your project. Turning up with an NDA on first meeting is a bit like showing up at the local communist meeting with a copy of Mein Kampf.

The best clients to work with are those who understand software. An NDA request is a red flag that you may not know much about software development or the open-source culture that that web infrastructure largely runs on.

If you really think that you have something that is ‘special sauce’, like a neural net classifier training technique, or a custom mathematical algorithm, then write an NDA addressing specifically that.

Otherwise, you should just be thinking about finding people who will pay for your idea and creating attention around it.