4 ms·
> APIs are clearly creative and not trivial work that should be protected. Creativity is not a sufficient condition for being copyrightable. An obvious example
by magicalist 7y ago
> APIs are clearly creative and not trivial work that should be protected.
Creativity is not a sufficient condition for being copyrightable. An obvious example is functional things that are patentable are also (supposed to be) creative inventions but can't be copyrighted, and then there are things like recipes, which are a representation of a creative work but aren't themselves copyrightable.
That's the argument here, not whether programming is a creative act.
- treis 7y agoI understand the argument but have yet to see one that has a logical consistent separation of API and the rest of the code. In other words, if you go down the API = recipe path then you logically should go down the code = recipe path as well. After all, code is nothing but a complex recipe for a processor to execute.
- icebraining 7y agoThe API doesn't actually run on the CPU, it's just metadata.
- treis 7y agoCan you expand on what "actually run" and "metadata" mean in this context?
- icebraining 7y agoWhen the code of a function is compiled fully until CPU instructions, the line declaring the function name and arguments disappears in the process; it's only used as metadata by the compiler (AOT or JIT). There's no x86/ARM/etc instructions that represent a function declaration.
- treis 7y agoNo java code you write is represented by an x86/ARM/etc instruction. Everything disappears when it's compiled to byte code. If that's what makes an API metadata then every line of Java written is just metadata.
- deleted 7y ago[deleted]
- shawnz 7y agoDisagree. When you write a Java statement you are clearly intending for certain instructions to get executed as a result of processing that statement. When you write a method signature, that doesn't represent any kind of intention for something to take place.
- treis 7y agoI'm not sure what you're disagreeing with, but all the Java code you write definitely does go away > When you write a Java statement you are clearly intending for certain instructions to get executed as a result of processing that statement. When you write a method signature, that doesn't represent any kind of intention for something to take place. If we accept this argument then that means APIs are more copyrightable than code. Instructions, as in the context of recipes or process definitions, are not copyrightable. If we say code is an intent for something to be executed then that's an argument that it should not be copyrightable. Saying that an API is different and not simply instructions means that it should be subject to copyright.
- monocasa 7y agoThe code that ends up getting executed is formally equivalent to the JVM bytecode, but the method signatures completely disappear.
- btilly 7y agoThe question is to what extent that content is functionally necessary. It is possible to have two different programs that do the same thing. And therefore the exact code used is copyrightable. But it is not possible to compile my code written for Oracle against Google instead unless the method signatures match exactly. Therefore the method signatures are more functionally necessary than the exact code.
- nwallin 7y ago> In other words, if you go down the API = recipe path then you logically should go down the code = recipe path as well. After all, code is nothing but a complex recipe for a processor to execute. Recipes that are a list of ingredients are not copyrightable. Recipes that describe putting love into each stroke of mixing the ingredients and how you learned to spread the frosting just so from your gram are copyrightable. IMHO, the API is the former, code is the latter. The fact that both code and the API are recipes does not imply you have to choose between both being copyrightable or neither being copyrightable.
- scarface74 7y agoWould you consider C header files copyrightable? Aren’t they the “API”?