Hacker News new | ask | show | jobs
by d_j_b 3687 days ago
"For me, declaring code is not code," Page said.

This sentence sounds pretty odd to me. What does Larry Page mean?

5 comments

I think he means that the code that doesn't do anything, just describes the interface between two software components is not a code (that you should be prevented from copying) because of its one to one equivalence with the interface.

Describing interface with words is exactly the same as declaring it with code. So such code is nothing more or less than verbal description of the interface (or any other description of it using any other syntax).

Not sure if that helps. If you can copyright interface, or just algorithms. Unless Java interface was specifically made free and open by Sun then it's really clear cut case.

Does this mean that all code written in pure functional languages is not code, since it does not "do" anything?
It describes calculations or operations, so functional code still seems to perform or describe some actions.

Constraint logic programs seem more of the grey area I think you're talking about. Is a set of constraints "code" (c.f. https://en.wikibooks.org/wiki/Prolog/Solving_a_Logic_Puzzle#... )?

What if I perform calculations with C++ type declarations? C++ templates are Turing-complete after all.
You're confusing declarations with declarative.
I think he means header files compile to nothing, they do not end up as actual computer instructions. They only serve to help programs call the actual implementations (which he'll see as the real code) correctly.
I'm not sure if this interpretation of his words is what he meant to say.

I'd argue that code that "compiles to nothing" can be protected by copyright, too, even if it is not distributed to customers. E.g., extensive documentation inside comments in the source files is definitely copyrighted. Complex build rules might be copyrightable, too, although they definitely end up in the distributed application.

Therefore, it would probably be counterproductive to assert such a thing in court.

Google is trying to make the case that interfaces aren't 'code' here. That's the entire case here, right?
Yes. I just wanted to clarify that code that "compiles to nothing", e.g., build instructions, may still be copyrightable. Therefore, I do not think that Page wanted to extend his definition of "non-code" to anything besides interfaces/declarations.
No. Previous case already found APIs can be copyrighted. This one is about fair use.

Unless that claim about interfaces becomes crucial in some unforeseen way.

So fancy type-level assertions that prove the correctness of your program are also not code? That's a weak argument.
But declarations can have an effect on the instructions generated.
I read it as .h vs .c files. There's code that declares what code is, e.g. the API, and then the actual implementation of that API. His argument is only the latter is copyrightable.
He means declaring method signatures (ie/ Java's API) is not code in itself.
interfaces are not code.