LWN.net Logo

It'll be the other way

It'll be the other way

Posted Apr 23, 2009 14:50 UTC (Thu) by jzbiciak (✭ supporter ✭, #5246)
In reply to: It'll be the other way by BenHutchings
Parent article: Oracle: SELECT * FROM Sun

Copyright applies to the expression of an idea, not the idea itself. If I reimplement an idea, it doesn't matter if I have access to someone else's expression of an idea. For example, if I see one movie about an asteroid hitting the Earth, that doesn't stop me from making my own movie about an asteroid hitting the Earth. Copyright doesn't protect the idea.

The same applies to the ideas embodied in source code. That means the algorithms, the APIs, etc. I can use the source code as a definitive reference to how it works.

But, there may be specific ideas embedded in that code. For example, there may be some whizzy algorithms that allow it to operate efficiently, or cute optimizations that make for a compact implementation. Or, there may be behavioral quirks that are exposed in the API that are artifacts of the implementation. How something implemented is a secret if you choose to keep it a secret. (This is why AT&T header files in SVR4 say that the code is unpublished proprietary source that is property of AT&T. See also Data General vs. Digital Controls Corporation.)

The Phoenix BIOS vs. IBM BIOS clean room reimplementation was trying to avoid copyright infringement claims in addition to trade secret claims. For such a small piece of performance critical code, it's likely that the implementations will look very similar with only superficial differences. IBM could plausibly claim the code was copied and modified lightly rather than reimplemented unless Phoenix could point to an airtight process that prevents that. We're talking 8K bytes of object code here, so the odds of this happening are high.

For something much larger and higher level than x86 assembly code, there is much more room for unique expression of the ideas embodied in the code. As long as it isn't directly plagiarized (ie. copied with only trivial changes), I don't see how any court could argue that a reimplementation (distinct re-expression of the ideas) would be a copyright violation.

So, I'll go back to my original point: You don't need a clean room to reimplement GPL code. You just need to reimplement it. You won't hit trade secret issues, nor will you hit copyright issues if you re-express the ideas in the original code in your own way.


(Log in to post comments)

It'll be the other way

Posted Apr 24, 2009 1:08 UTC (Fri) by mjg59 (subscriber, #23239) [Link]

You assume that there are always multiple sensible ways of representing the code. If you hit a case where this isn't true, you either end up writing obfuscated code in order to avoid direct copying or you potentially end up with an awkward lawsuit. Safer to just clean room it.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds