views:

237

answers:

1

I've got a question about use of permissive-licensed (BSD, Apache, MIT, etc) source where the line may be heavily blurred between original code and borrowed code.

We are more than happy to disclose a copyrights for original source as required by the licenses.

The specific case I'm wondering about is how to correctly update source headers in files I've modified.

Assume you have some source from another project you'd like to make use of. It contains a header like the following.

/*
 * Copyright (C) 2006, 2007 John Doe.
 * Copyright (C) 2008, 2009 Project comitters.
 * All rights reserved.
 *
 * The software in this package is published under the terms of the BSD
 * style license a copy of which has been included with this distribution in
 * the LICENSE.txt file.
 * 
 * Created on 07. March 2004 by John Doe
 */

For a trivial bug fix, I would just make my small change, send it upstream and hope the fix gets incorporated. When it does, I would drop my patched version and go back to mainline.

Some times I want to use the source as a jumping off point. It gets transformed over time and reworked and improved. It may resemble the original code but it certainly would be our own work by that point.

Is it ok then to replace that header with my own? Should I just write something like "Based on original XYZ by John Doe"?

+2  A: 

The BSD family of licenses expressly forbid you from modifying or removing their headers.

Edit: I suppose I should go more into depth on this.

Essentially, you used their code as a basis for your own. Due to that influence, you are still bound by the original license, and thus have to keep the original attribution intact.

R. Bemrose
Ok, sounds fair. What if I copy over a single function? Do I need to copy the header as well? Does the code receiving that function then become BSD licensed? Should I add their header below our existing one?
Mark Renouf
If you copy even a single function out of a file, unless you could convince a court that the function was too trivial for copyright to apply, then the license of the source file stays with the function.
Eddie