Several years ago, a potential client contacted me to work on a charting add-in. In the contract the client wanted me to sign was a clause that I would not create any chart that I created for this company and that I would never use any code that I used in creating its add-in.
Given that Excel has only a handful of chart types, I concluded that the first clause was unreasonable. The second was as bad, if not worse.
Depending on how one interpreted the code clause, would I be barred from using the Charts.Add method? Or a If statement? After all, there aren’t all that many ways to programmatically create a chart to visually represent data in a worksheet range.
A couple of years later I happened to visit the company’s website and discovered that the product was available for sale. Among the many charts were the classic BCG Matrix Model Chart and the Marimekko chart. I couldn’t help but wonder who agreed that s/he would never ever create any of the charts in the add-in. Not to mention that, strictly speaking, any Excel chart is really nothing more than one of the basic chart types, or a combination of the basic chart types, formatted appropriately. So, is this developer barred from creating a XY Scatter chart, a Bubble chart, and a Column Chart? I imagine if one went through all the charts in the add-in one would be barred from creating any chart in Excel! {grin}
Since then, I’ve worked with companies large and small including one of the world’s largest financial news provider, one of the largest, if not the largest, U.S. retail brokerage, a public utility company, several large regional health care providers and many smaller companies ranging from 10 employees to, oh, several hundred employees. And, I have not had a problem signing the contract, if any, that these companies have required.
Until a couple of weeks ago. A potential client contacted me about some work it wanted done. There were two clauses in particular that reminded me of the experience from all those years ago.
In the quotes from the contract below, I’ve replaced the company name by Cn (or Company name).
Non-Disclosure, Non-Complete and Confidentiality.
Each party acknowledges that it and its employees or agents may, in the course of this Agreement, be exposed to or acquire information which is proprietary to or confidential to the other party. Each party agrees to hold such information in strict confidence and not to disclose any such information to any third parties. Each party agrees that they will not engage in direct work with the other party’s clients.
Spelling and grammatical errors apart, I realize the intent of the last sentence was probably that we not poach the others clients. But, a literal interpretation would require something very different. If a company, say company ABC, is already a client of both Cn and myself, are we now both required to drop it as a client? {grin}
Intellectual Property.
Any writing or work of authorship, regardless of medium, created or developed by Cn or Tushar Mehta in the course of performing the Services under this Agreement and relating to any existing works owned by Cn or its clients shall not be deemed a “work for hire” and shall be owned solely and exclusively by Cn. To the extent any such work for any reason is determined not to be owned by Cn, Tushar Mehta hereby irrevocably assigns, transfers and conveys to Cn all of Tushar Mehta’s right, title, and interest in such Cn Work, including, but not limited to, all rights of patent, copyright, trade secret, know-how, and or other proprietary and associated rights in such Cn Work.
Again, I imagine the intent is very different than a literal interpretation of the clause. Cn probably wants an assurance that if it shared an existing model with me, any changes I made to it would still leave ownership with Cn. The place where I had a problem was what if I used code from my code library? Say, I drop my menu creator class into the Cn project? Or my equivalent of the now depracated Application.FileSearch? Or my version of the superset of the Range.Find method?
What happened? Well, I asked Cn if it was open to reviewing the clauses I had a problem with. A few days after my email, my contact informed me that Cn had found someone willing to sign the contract as-is.
What would you have done?
Maybe, having had a lawyer review a similar contract, you already know that my interpretation is overly paranoid?
Or, you know that the contract is unreasonable and therefore unenforceable?
Or, would you also have asked for a revised contract?
Or, just sign the contract and then ignore it when dealing with future clients? After all, how will Cn know what you do with another client?
Or, checked with a lawyer?
Or, something that I haven’t thought of myself?