Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Aristotle (5147)


Blah blah blah blah blah []

Journal of Aristotle (5147)

Wednesday April 09, 2008
03:22 PM

Derivative? What does that mean?

[ #36114 ]

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?

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • 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.

  • 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?

  • 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 lookin

    J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
    • 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…