B2B · Collaboration

How to protect my project?

Aleksandr Savihhin

November 13th, 2015

Hi, I am B2B software developer and have a client who is interested to develop extra features required for him. 
Our software is in cloud and we have monthly fee for using it.
For us it is benefit in co-operation because we will get new features what we can offer to our other clients.
For this client it is also benefit, because he will get system core and can customize it.
For developing new features we offered to use system for free.

It looks like win-win collaboration, but most complicated part for me is how to protect our project code against stealing? 
Nothing will stop him against making clone and creating new service like we have.

Thank you
 

Gabor Nagy Founder / Chief architect at Skyline Robotics

November 13th, 2015

If you're worried about IP theft: modularize, modularize, modularize.
Provide an API for adding new functionality, but don't release the source code for the core.
If you need to release the source code for the system core, it means you didn't design the core to be flexible-enough.
Legal "protections" won't help you in countries that don't respect those.

Mikko Koppanen Senior Technologist

November 13th, 2015

Hello,

does the source include IP that would be hard to develop otherwise? I.e. do you have a groundbreaking algorithm or a completely new paradigm in the code?

If the answer to the previous question is "no" then you might look the problem at a different angle: If your business relies on no one copying the model then you have to think is this a sustainable business model? Development is getting cheaper and more accessible. Nothing prevents your competition developing similar or even superior product and entering the market.

The value (I assume it's the Rated People) of your business is not in the actual code but rather everything else: brand recognition, marketing, customer support etc. I wouldn't be too worried about someone copying your code as there is a still long way from the code to running a successful business. Just make sure you license the code properly and have contracts in place.

Thanks,
Mikko

Gabor Nagy Founder / Chief architect at Skyline Robotics

November 13th, 2015

Modularizing is also good engineering practice. It greatly improves system reliability when you can develop / test and document components independently.
It also makes delegating tasks easier (engineers won't step on each-others' toes, touching the same source code file).

Iryna Avrutova Insider Threats Security Consultant

November 13th, 2015

As I see, you wanted exactly the same - using exsistent code, developed for this client, to others. So, why do you concern about it? It's a karma. Have you signed NDA with a client?

Rob G

November 13th, 2015

just to be clear, are you proposing that this client would develop these new features himself or are you planning to develop these features for him? You say your system is 'in the cloud' - do we assume a SaaS model?