Derivative? What does that mean?

Aristotle on 2008-04-09T20:22:00

Here is something I personally never really figured out:

When does derivative code cease to be derivative?

Several times I have taken code written by other people and put it through so many cycles of refactoring that, even though each of the intermediate steps is clearly derivative from the previous one, the result bears no resemblance to the original whatsoever. Is it still derivative? The original code served as a springboard, and for that certainly continues to deserve credit. But both the computational expression of the problem in question and the understanding that led to that particular expression is entirely my own. The credit I owe in that case seems like the credit a successful pupil might owe to a teacher: the work is still the pupil’s. I learned from the code – by scrapping it piecemeal, in a gradual process of transformation, in which the result feels like mine.

Who has copyright on that work?

When does imitation end and inspiration begin?


Only the Expression of an Idea

chromatic on 2008-04-09T21:05:46

This is not legal advice, but if you've removed or replaced all expressions of the original copyrighted idea, you have a new work perhaps inspired by the original but by no means a derivative work.

And what about the algorithm itself?

Limbic Region on 2008-04-09T22:56:02

Let's say you look at a piece of code, understand the algorithm used, and re-implement the algorithm from scratch. You may end up with some of the same variable names, loops, and general structure despite having written every line from scratch. Is that derivative?

... of yore

daxim on 2008-04-10T10:41:24

;) http://en.wikipedia.org/wiki/Ship_of_Theseus#Aristotle.27s_causes

Does publication alter it?

jdavidb on 2008-04-23T13:33:33

It seems to me that if you started with code and performed several iterations privately and came up with something completely different and then published it, it would not be derivative. But if you published each iteration, each would be derivative of the previous and therefore tainted.

I'm not sure my definition agrees with legality, though. I'm certain the only way to be truly legally safe is to operate in a cleanroom, reimplementing from open specs, documentation, and reverse engineering, never looking at the code you don't want to derive from. Of course, some tyrants would like to have this defined as derivative as well. It really does seem to me though that if the first thing you publish is completely distinguishable from the original and noone could ever see any evidence you worked with the original (other than perhaps interoperability) you would probably be safe from legal prosecution, even if what you have might technically be a derivative work. In that case you'd have a derivative, but noone could prove it.

As an example which supports my argument, look at how GNU initially set out to reimplement UNIX: take a UNIX box and rewrite each individual program, piece by piece. You started with UNIX, and if you were taking the OS as a whole you'd have a derivative work at every step, but in the end you had something which was not a derivative work; it was just a reverse engineered reimplementation, with new features added. Of course, maybe they had extra protection since each piece was a separate work unto itself. But if you look at the OS as a whole, they did what I was saying: a complete OS was not published by anyone until you had something which was not a derivative work.

As an example which opposes my argument, think of cheating in a University course; I'm pretty sure that no professor I ever had would have considered taking someone else's program and rewriting it and rewriting it and rewriting it until it was completely different to be anything other than cheating. They always made "did you look at somebody else's source code?" to be the clear delineation between cheating or not. (i.e., we could talk about it all we wanted) But they also maintained that they'd pretty much be able to tell in most circumstances if we'd shared code at some point, even if things were different. I'm betting that at this stage in my career, I could produce a "derivative" work that they'd never be able to prove, or possibly even suspect.

Really, it's a line I don't want the law delineating. I think things like this are best covered by private agreements with the companies involved, rather than one-size-fits-all intellectual "property" law. I think the presence of that law discourages the innovation we'd see otherwise.

Re:Does publication alter it?

Aristotle on 2008-04-23T14:19:46

I have considered all of the same cases or variations on them, actually. I agree with your conclusion, but your thought experiments are not helping. :-) You have restated my questions, but not given any answers…