Can anyone clarify how I should go about protecting intellectual rights?

Dear All,

I am creating an on line app and web site. The end user is very keen to protect his idea and to have exclusive rights over the app.

He is funding the project so I have no issues with his right to do as he pleases with the result.

However included in the solution are various generic routines which I would wish to reuse elsewhere. So I do not wish to wrap this in any kind of agreement that might prevent me from reusing my own code.

But at the same time we want to, as far as possible, prevent any one from ‘lifting’ the idea.



This is a common problem. I come up against it in my own work as an independent software developer.

In my terms and conditions, I say that the client has full rights to all intellectual property developed as part of the project. But, as an exception, I retain the rights to any generic code or general-purpose tools that I develop for the project (and I label these with my copyright notice). The client is free to use this generic stuff and to make it available to other developers for the purpose of maintaining the application, but I still own the rights to it, and am free to exploit it in any way I please.

Obviously, I put the whole thing in more careful language. I’ve occasionally had clients who have queried this clause, but so far none have refused to accept it.


Hi Mike,

Thank you very much for responding. This indeed makes sense, I assume that you not only have T&C’s but also mark your code appropriately.

I have tried to get my head around the GNU License and the MIT licenses in an attempt to see if either or both of these fit into the equation.

At an entirely superficial level, having no expertise in this area, my understanding of the GNU GPL is that I am permitting the client free access and use of the application. But this does not prevent him from using the application as he pleases. This does NOT make the application freely available to all, only freely available to the permitted user.

I also looked at the MIT license to cover those routines necessary for the application to function but which I would like to protect and reuse.

Again at a hopelessly basic level my understanding is that using the MIT license in the context of a GNU GPL licensed application should achieve this goal.

Do you have any idea if my thinking is correct. I am less concerned about protecting my input than protecting his idea.




Glad you found my suggestion helpful. Yes, I do mark the code in question, with a simple copyright notice.

Unfortunately, I can’t help with the GNU or MIT licences, as I have no experience of them. I can only say that, if you find it difficult to get your head round them, then maybe you shouldn’t be using them. After all, if you can’t easily understand them, neither will the client, and they will fail to achieve their purpose.

You really need to keep this whole licensing thing as simple as possible. State your terms, in clear and unambiguous language that everyone will understand, and you should be fine.


Miki has provided you a good road map and seems to understand this issue thoroughly. However, if you do a lot of programming, I would suggest you have a standard contract prepared by a lawyer which you understand completely.

The lawyer should work with you as he writes the contract, and then again, review it with you line by line so that you understand your obligations as well as those of the client.

A good rule of thumb, if you cannot explain it to your client, you do not have a good understanding.


here in my jurisdiction (New Zealand) what you ask for is the default position - whole project is IP of client, underlying routines is IP of me. I had a client question this though and my lawyer qualified further with these clauses:
2.3 Notwithstanding s 21(3) of the Copyright Act 1994, the Client acknowledges that until it has paid the charges for each stage of the Project Plan in full the Developer and not the Client has all rights to and risk in the Software and the Associated Documentation for that stage of the Project Plan (whether partially or fully completed).
2.4 The Developer acknowledges that all existing Software Code provided by the Client to the Developer for the purposes of the Project shall at all times be and remain the intellectual property of the Client.
2.5 Any software built and/or developed by the Developer for the Client during the term of this agreement in relation to the Project shall not be used by the Developer in its entirety as a product for any client of the Developer other than the Client.
2.6 For the avoidance of doubt the Client acknowledges that the Client has acquired no rights in relation to the underlying open source code that has been utilised in relation to the Project or to such individual pieces or portions of code developed by the Developer dealing with underlying basic concepts for the Project. The Client acknowledges that the Developer retains the right to reuse underlying basic concepts, such as the shopping cart or the generic access control libraries, for existing and future clients even if they were developed for the Client in the first instance. The Client further acknowledges it will receive no benefit for any reuse of the underlying basic concepts by the Developer pursuant to this clause.
2.7 For the avoidance of doubt, nothing in this Agreement shall not prevent the Developer from providing services to any other person or entity seeking to engage the Developer to provide services to them, whether they are in the same or different industry to the Client.

In addition, I use MIT and GPL licences to protect myself. I explain it like this:

  • GPL won’t be in action unless you distribute
  • I won’t distribute as a whole, because we have a contract
  • You won’t distribute as a whole, because that would be unwise (ok, lets say stupid)
  • If you sell to someone, you will distribute, so your client (investor) will be in the same situation
  • you can’t stop my from using parts, as they are open source (and I probably haven’t even written them)

HTH, Jochen

Hi Mikl,

Yes this sounds very reasonable. A very straight forward plain English approach does seem best to me. I whole heartedly agree that if I can’t explain it I shouldn’t be using it… Indeed that is exactly what prompted my enquiry.



Thanks attorney jaffe, I am sure that you are probably correct. I would however, as you suggest, need to be doing a volume of such transactions to justify such a cost.
But I whole heartedly take on board the fact that I must be able to understand what is being used.


Your para 2.7 reminds me of a point that needs considering:

[/FONT][INDENT]For the avoidance of doubt, nothing in this Agreement shall not prevent the Developer from providing services to any other person or entity seeking to engage the Developer to provide services to them, whether they are in the same or different industry to the Client
When a professional works for a client, it’s a given that the professional will respect the client’s confidentiality. You don’t disclose information you learn about the client’s business, and you don’t use that information for your own benefit. That’s either written into the contract, or understood as a normal part of professional conduct.

But what if, while working for the client, you acquire experience in the techniques the client uses to run his business (to make the business more efficient, to increase its sales, or whatever). You later take on a job for a competing client. Nothing wrong with that. But are you then entitled to use the experience you gained with the original client for the benefit of the new client? Obviously, your experience belongs to yourself. But if the experience was based on information obtained from another client, would that client be entitled to stop you using it?

I’m only raising this point as a matter of interest. It’s never been a problem for me, and I’m not looking for a definitive answer.


Hi Jdog,

Many thanks for your input. This wording is quite formal and not perhaps what I would be aiming at. Nevertheless I could see taking these points on and re-wording them in plain language could be the core of what I am aiming for. Indeed it is very nice to see my thoughts affirmed in your terms. I couldn’t have been too far off in the first place.