views:

540

answers:

3

I have a copyright section in the contract I give to my clients stating that I retain copyright on any works produced during my work for them as an independent contractor. This is most definitely not intended to place arbitrary restrictions on my clients, but rather to maintain my ability to decide on how the software I create is licensed and distributed. Almost every project I work on results in at least one part of it being released as open source. Every project I work on makes use of third-party software released in the same fashion, so returning the favour is something I would like to continue doing.

Unfortunately, the contract is not so clear when it comes to defining the rights of the client in the use of said software. I mention that the code will be licensed to them, but do not mention specifics about exclusivity, ability to produce derivatives etc.

As such, a client has raised concerns about the copyright section of my contract, and has suggested that I reword it such that all copyrights are transferred entirely to the client on final payment for the project. This will almost certainly reduce my ability to distribute the software I have created; I would much prefer to find a more mutually beneficial agreement where both our concerns are appeased.

Are there any tried and true approaches to licensing software in this kind of situation? To summarise:

  • I want to maintain the ability to license (parts of) the software under my own terms, independently of my relationship with the client;
  • with some guarantee to the client that no trade-secrets or critical business logic will be shared;
  • giving them the ability to re-use my code in their future projects;
  • but not necessarily letting them sell it (I'm not sure about this, though...what happens if they sell their business and the software along with it?)

I realise that everyone's feedback is going to be prefixed with "IANAL", however I appreciate any thoughts you might have on the matter.

+3  A: 

Create a license that grants the client the right to use and modify the software, but restricts distribution outside the organization the software is licensed to.

That should cover your needs, since you state in your contract with the client that you retain control over the copyright of the software, and they license it from you under a license chosen when the contract is signed.

As long as you also sign a NDA when you sign the contract, their secrets will be covered by that.

Edit: Oh yeah, almost forgot: IANAL

Lars Mæhlum
+2  A: 

Try breaking the project into components with their own licenses. This way business logic has their copyright and generic components have your copyright and open source license.

Andrei Railean
A: 

After considering the two answers given, I decided that a combination of the two approaches would yield the best results.

With that in mind I have defined two types of deliverables; generic and client-specific. The client receives exclusive ownership of the client-specific deliverables upon final payment, and I maintain ownership of all generic deliverables. The client is granted a "perpetual, irrevocable, limited, non-exclusive, non-transferable, worldwide license, without the right to grant sub-licenses (except to affiliates and subsidiaries)".

This change satisfies the requirements of both myself and the client.

Nathan de Vries
Be careful to agree on which ones are generic and which ones are client-specific ahead of time.
jprete