Question

I have an android app idea, I want to make the app along with a few batch-mates in my collage.

(1) How do I make sure that these guys will not compromise the intellectual properties involved? In the sense that they will not leak out confidential information, new theories, new ideas, new features descriptions either freely on any medium or to some other company developing similar software. Also, these people will most likely have access to the entire source code (with comments) of the project, how do I make sure that in the future they will co-operate with me,

(2) will not release any part of the code,

(3) Will not freely release alpha versions containing features meant only for premium users. Also,

(4) is there way to effectively work without granting them access to the entire source code?

I am open to all kinds of answers: trust, technical, managerial - leadership, good friendship - relationship with collegues.

UPDATE: We all live in India.

Was it helpful?

Solution

Ok, you have an idea, good. I'm sure your friends have their own too. If you want them to work on yours, I see few options:

  1. pay them for their work.

  2. talk with them, pool the best ideas, come up with a new one that belongs to everybody.

  3. start it yourself, when it's already rolling, call them.

In the first case, you can be sure to make it clear who owns what, and talk very specifically about what you expect they won't do.

In the second case, you share the interest and the risks. drafting a compromise not to stab each other in the back is still a good idea.

In the third case, it might be easier to convince them to work in your idea, and it's a little obvious that you started it all; but still have to write somewhere what belongs to whom, from the start. That also implies recognizing their work, and making sure they get back what they feel is fair.

In any case, you still have to trust them, there's no magic jail where you could put anybody to make them loyal to you.

OTHER TIPS

I know little about India's legal system but consider intellectual property laws. For example, if your idea is patentable, consider patenting it. Yes, this is expensive (and not popular with some people) but this is what patents are for. Make sure each source code file includes a copyright notice. IP law will not stop people stealing your code and ideas but you may be able to prevent them from using them.

If your idea builds upon or integrates with another product or organization. Consider talking to that organization and see if you can work out a preferred or sole licensing arrangement. Hypothetically, if your app is going to market soft drinks, approach soft drink companies and pitch your idea. If they like it, they might fund it, give you technical help and deny that assistance to others.

For technical controls, consider componentizing the system and using segregation of duties. Specifically:

  1. Split the development team into separate teams. Physically separate them so the developers in one team cannot talk to others.
  2. Split the product into components with well defined interfaces and assign each team a different component.
  3. Place the source code of each component in a separate source control system and deny other teams access to that component.

When componentizing, consider vertical slices of the system (e.g. UI, business logic and storage) rather than horizontal layers (e.g. 1 UI team, 1 business logic team, etc). Otherwise, each team may see too much of the system.

This way, each team will know their component but, if someone talks or takes code elsewhere, the worst they can do is talk about their component. You often see this approach in very security-sensitive systems.

For network accessible components, use authentication, auditing and using different development and production credentials. Specifically:

  1. Have each interface require authentication, e.g. a user name and password.
  2. Supply development testing credentials but use different credentials in production
  3. Keep an audit log of accesses and regularly review it.

This ensures any these components are used only for their intended purposes. This may be a reason to move some functionality off the app and onto cloud services, for example.

That said, anything that impairs information sharing within the team is likely to impact team morale and performance. Effectively, you are saying you do not trust your development team. In that case, how can you expect them to trust you? If you trust your developers and share your success with them, they will work harder because it is their product, too.

Also, be aware that the key to most new projects is its execution, not the initial idea. Your idea might be great but, chances are, it is going to change a lot as you develop your product and expose it to customers.

i'm convinced that you won't succeed by founding your business endeavour on open distrust towards your colleagues - remember, you actually need them to build the system, otherwise you wouldn't be concerned with the issue your question adresses.

i'm also convinced that you focus on the wrong aspect wrt intellectual property: while it's correct that the source code embodies your product the edge of your fledgling company will be the brains of the members at the founding stage. the more you suggest dishonorable behaviour or outright violation of the law amongst your coders, the less likely you will attract gifted personnel (or if you do, the easier you'll alienate them). but the more gifted your team the better, in particular as your product will probably evolve (possible far from the inchoate concept) to meet customer demand - so a source code snapshot might be less valuable than it seems at first glance.

a constructive remark at last: source code, even in high-level languages, can be hard to understand. even more so, if comments and documentation are sparse and incomplete. your best protection might be

  • a gifted team
  • component-wise development
  • a coding style of 'no comments'.

it violates basic tenets of sw engineering but will protect you even if a member of your team does leave you: as he will naturally have specialized in only some of the components of your application, the disclosure impact will be somewhat mitigated.

disclaimer: i'm no founder and have not worked in india, so take the ideas with some grain of salt.

Licensed under: CC-BY-SA with attribution
scroll top