views:

273

answers:

3

If so, what is your policy on doing so? Do you claim copyright/trade secret for ALL source code files or do you claim copyrights for all and Trade Secrets for only those that contain Trade Secrets?

Can you post sample comment blocks with the legalese and how you arrived at it?

I bring this up, because some time ago, when i worked for IBM, there were specific instructions on what to put in the legal part of software headers that seemed to make a lot of sense. There were different levels of protection to claim. The lowest being publicly available in which case you would provide a standard "AS-IS"/"No Warranty"/"Free"/"Leave this message" provisions. The next level claimed Proprietrary/Confidential and stated that only explicitly authorized individuals are allowed access (and that if an employee/contractor ends their relationship, they must return/delete/destoy/etc. The highest claimed that the contents were Trade Secrets and went even further.

I know that is is not strictly a programming question, but I can't think of a better place to survey what real developers do and possible get folks to post their policies and even sample headers (omitting company names, etc.)

I will start by posting the one that I am using as an answer. I built it by running searches on Google Code (oddly and ironically there are lot's of such header publicly available there) and then taking what seemed to be the best stuff from each.

My hope is that the SO community can vote up/down and add comments to each answer and we can evolve to a best practice that others can follow.

If this is best as a community wiki, I am 100% fine with that. I will let someone else make that determination.

+1  A: 

Here is the one that we use universally in all of our proprietary code:

///
/// [COMPANY NAME] LLC ("COMPANY") CONFIDENTIAL
/// Unpublished Copyright (c) 2009-2010 [COMPANY NAME], All Rights Reserved.
///
/// NOTICE:  All information contained herein is, and remains the property of COMPANY. The intellectual and technical concepts contained
/// herein are proprietary to COMPANY and may be covered by U.S. and Foreign Patents, patents in process, and are protected by trade secret or copyright law.
/// Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained
/// from COMPANY.  Access to the source code contained herein is hereby forbidden to anyone except current COMPANY employees, managers or contractors who have executed 
/// Confidentiality and Non-disclosure agreements explicitly covering such access.
///
/// The copyright notice above does not evidence any actual or intended publication or disclosure  of  this source code, which includes  
/// information that is confidential and/or proprietary, and is a trade secret, of  COMPANY.   ANY REPRODUCTION, MODIFICATION, DISTRIBUTION, PUBLIC  PERFORMANCE, 
/// OR PUBLIC DISPLAY OF OR THROUGH USE  OF THIS  SOURCE CODE  WITHOUT  THE EXPRESS WRITTEN CONSENT OF COMPANY IS STRICTLY PROHIBITED, AND IN VIOLATION OF APPLICABLE 
/// LAWS AND INTERNATIONAL TREATIES.  THE RECEIPT OR POSSESSION OF  THIS SOURCE CODE AND/OR RELATED INFORMATION DOES NOT CONVEY OR IMPLY ANY RIGHTS  
/// TO REPRODUCE, DISCLOSE OR DISTRIBUTE ITS CONTENTS, OR TO MANUFACTURE, USE, OR SELL ANYTHING THAT IT  MAY DESCRIBE, IN WHOLE OR IN PART.                
///

NOTE: this has been reviewed by legal counsel - we are US based.

caryden
Scary. Might be more legal stuff than code in some files.
Adam Matan
Look I hate lawyers as much (probably more) than anyone. But trust me, I know from painful experience, it is much easier to clearly label things than it is to spend tens of thousands of dollars on lawyers later.
caryden
Yeah. 1500 characters, even across thousands of files, is pretty miniscule in the day of cheap terabyte drives. Well worth the protection.
ceejayoz
+1  A: 

My company (a startup) is pretty lax, and allows me to release my code under whatever license I want to.
I've always liked the WTF Public License:

// DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE  
//                   Version 2, December 2004  
//  
// Copyright (C) [name]
// Everyone is permitted to copy and distribute verbatim or modified
// copies of this license document, and changing it is allowed as long
// as the name is changed.
//
//      DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
//   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
//
//  0. You just DO WHAT THE FUCK YOU WANT TO.
BlueRaja - Danny Pflughoeft
I have been writing SW since I was 10 yrs old. I was a Venture Capitalist for about 3 years (I hated it). I have invested in, built,bought and sold many SW-based companies ($200MM+ value). I truly hope your "lax" startup has a solid revenue model and NEVER needs to raise outside funds and NEVER plans to be acquired. You have cratered its potential market value. It is all too easy to be flippant about these things. I have had to send 30+ hard-working, extremely talented employees home at Christmas without a job, because the company they worked so hard to build was unable to raise capital.
caryden
I love the WTFPL.
ceejayoz
@caryden If his startup is permitting the WTFPL and allowing public release of that source to the internet, it's clearly not an important part of their business model. Plus, if it's never released to anyone outside the company, the license doesn't harm any IP - it can be relicensed at any time.
ceejayoz
@ceejayoz - if it is not an important part of their business model, I agree. But your second point is NOT true legally. That header will forever prevent his company from claiming anything embodied in that file as a Trade Secret under the UTSA. Also, any person within the company who access to this code and then leaves the company can take this code with them and use it to compete with them. The statement at the top of a file is MORE THAN A LICENSE when used for proprietary code. In fact, for proprietary code (where the source is NOT shared with customers) it is the opposite of a license.
caryden
@caryden I'd suspect anyone told "eh, give it whatever license you want" isn't working with vital trade secrets. If they are, it's the company's fault, not the coder.
ceejayoz
You guys are funny.
BlueRaja - Danny Pflughoeft
@ceejayoz - I suspect that you are right. One of the reasons I raised the question here is that all to often the folks at the top do not understand software or the legal stuff and lawyers are some of the most technically deficient folks in the world. All too often, either the CTO/Product Development Leader thinks about these things or they simply fall through the cracks until you are either sued or need to sue to protect your company's income stream (and your employees jobs) - then it is too late. My other "soapbox" reason is that large companies (and do) litigate small cos into the ground.
caryden
+1  A: 

I do know I just wasted a morning going through all of them and changing them from "Copyright (c) xxxx-2009" to "Copyright (c) xxxx-2010" and rebuilding everything.

Martin Beckett
Behold the power of sed!
Anders