4 ms·
> E.g. POSIX C headers are protectable. But Lisp FFI declarations that compile down to the same ABI do not infringe This distinction does have a certain clarit
by cfallin 11y ago
> E.g. POSIX C headers are protectable. But Lisp FFI declarations that compile down to the same ABI do not infringe
This distinction does have a certain clarity to it, but isn't there a certain sense in which there's "only one way" to describe an API for a given language? "int foo(int a, int b)" is hard to write another way; perhaps I can rename the parameters.
(Your Lisp FFI example sidesteps this issue because API declarations in different languages will, of course, look different.)
In other words, I think there may be an "information content" argument. If the abstract operations are not copyrightable, and there is only one obvious way to write down the API's function prototypes in (e.g.) Java or C, does the source code really carry additional copyrightable value?
- pcwalton 11y agoI wonder whether, for example, Java's "double sinh(double x)" from java.lang.Math could be found to be infringing on the pre-existing "double sinh(double x)" from math.h. The API is literally textually equivalent, right down to the variable names, despite the language being different. (I'm genuinely curious what case law now considers the line to be; this isn't a rhetorical question.)
- rayiner 11y agoInfringement requires copying, not just text equivalence. If the C programmer was "writing C" and the Java programmer was "writing Java" there is probably no infringement because there is no copying.
- pcwalton 11y agoThanks, that's helpful. (java.lang.Math is awfully similar to math.h; I actually wonder if, historically, there was copying.)
- jacobolus 11y agoHistorically, almost everything in computing is a copy of a copy of a copy, usually ultimately leading to some pseudocode in an academic journal somewhere. If everyone along the line asserted their copyright, the whole field would collapse.
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]