3 ms·
No. It's not a derivative work. Creating a compatible piece of software is not copying. Even if you've seen the original code. If you're not literally copying a
by jahewson 11y ago
No. It's not a derivative work. Creating a compatible piece of software is not copying. Even if you've seen the original code. If you're not literally copying and pasting code, it's fine.
Copyright protects the code itself from being copied, but the ideas, abstractions, overall design, and even individual APIs are not eligible for copyright protection
- timClicks 11y agoI don't think that is accurate. If your work is derived from the source - even if you don't replicate the original - you're infringing copyright. That's why clean room design is so important.
- AnimalMuppet 11y agoDefine "derived from". Back in the BIOS clone days, they had someone read the IBM BIOS code, and write a detailed specification from it. They had someone else never look at the IBM BIOS, read the specification, and write code to implement it. (This was the "clean room" approach - the IBM BIOS was never in the room of the implementers.) But that's still "derived" in the sense that it implements the same functionality. But it's perfectly legal. So "derived" doesn't mean "implements the exact same functionality as the other, and we examined it in detail to make sure". Why did they do the clean room approach? So that IBM could never claim that they had copied the IBM BIOS, even by re-typing rather than electronically copying. Well, if you're re-implementing it in Rust instead of in C, you're not copying it, either. You're making a completely new implementation. (Rust doesn't take C code as valid syntax, so far as I know, so typing in the same code from memory wouldn't get you anywhere.)
- jahewson 11y agoNo, a "derived work" is a legal concept, it means "you copied the original". Being inspired by, or even deliberately designing for API compatibility with an original work is not "derivation" nor is it "copying", as far as copyright law is concerned. Remember only certain portions of the original are eligible for copyright in the first place, e.g. APIs are not, module or class structure is not, ideas are not. It's important to remember that copyright law protects works from being copied, not from being read. Clean room is a legal tactic used against an aggressive adversary, it's not something that's at all necessary or appropriate in the general case.
- realityking 11y agoThe Federal Circuit Court of Appeals (and apparently the Supreme Court) would disagree with you on copyright protection for APIs. https://en.m.wikipedia.org/wiki/Oracle_America,_Inc._v._Google,_Inc https://en.m.wikipedia.org/wiki/Oracle_America,_Inc._v._Goog....
- jahewson 11y agoI knew someone would post this. Yes, that's technically correct, but 1) this could still go to the supreme court, 2) it's now back at the lower court for a ruling on whether copying APIs is "fair use" with all bets on the answer being "yes". So although I wouldn't dismiss the distinction, unprotected vs. fair use make no practical difference, we can copy freely either way.