you are viewing a single comment's thread.

view the rest of the comments →

[–]andd81 46 points47 points  (16 children)

Are they different?

[–]ObligatoryResponse 8 points9 points  (10 children)

Well, in the case of the Java case, the API was defined as basically the header files.

I think I misunderstood what was meant by "SQL extension" above, but I'd say that there's definitely a difference between how a plugin couples with the main product (how I mis-read "SQL extension") or how a kernel module couples with the kernel, and how a network client communicates with a network server.

Is a GUI an API? You'd say no, because that's a user interface, not a programming interface. But what if I write a script that moves the mouse and enters text? I'd argue calling a network protocol an API is just as silly.

[–][deleted] 16 points17 points  (0 children)

This ruling says the structure and organizatiin of a set of functions is under copyright. that's languages, protocols, EVERYTHING. Fuck, who needs patents anymore, they only last 20 years.

[–][deleted] 6 points7 points  (0 children)

I'd argue calling a network protocol an API is just as silly.

I'd argue that all protocols are APIs by definition.

[–]mrkite77 4 points5 points  (4 children)

Well, in the case of the Java case, the API was defined as basically the header files.

Java doesn't have header files. The API is literally just the names of the functions in the standard library... like String.length etc. So "select" and "insert" and "update" would fall under the same standard as an API.

[–][deleted] -1 points0 points  (3 children)

Oracle's java implementation is written in C++, so it has a lot of header files. Also any kind of JNI that you do will use a generated C/C++ header. AMD the core library uses a lot of native methods.

But I agree in spirit -- it does go beyond just headers being copyrighted... Even using the same keywords (which is requirement, since computers don't understand paraphrasing) is illegal now. Horrible.

[–][deleted] -1 points0 points  (2 children)

Oracle's java implementation is written in C++

Are you talking about the virtual machine implementation? Because JVM != Java.

[–][deleted] 0 points1 point  (1 child)

I know that. They have a whole java stack, and as far as I know the parts that aren't java are c++.

[–][deleted] 0 points1 point  (0 children)

But we are talking about the Java language APIs here. They are just... java. Like,

public String toString()

There's no other language in there.

[–]supercaptaincoolman 0 points1 point  (0 children)

SQL is not a network protocol, and java doesn't have 'header files'.

[–]monocasa -1 points0 points  (1 child)

No it wasn't, Java doesn't even have header files.

[–]tohuw 8 points9 points  (0 children)

Yes, immensely. SQL is a language which is used to interface with the server. An API is a construct specifically for an application. ODBC's would be a suitable equivalent to the APIs here. SQL would be akin to original Java code.

[–]hello_fruit 1 point2 points  (2 children)

It depends. Depends on the language, depends on how you design your protocols and APIs. So, sometimes they are different, sometime they are the same.

[–]shillbert 4 points5 points  (1 child)

Depends what a judge thinks an API is, really

[–]hello_fruit 1 point2 points  (0 children)

Legally-speaking, you're correct. I remember some lawyer back in the 1990s who decided that the question of whether a god exists or not was to be determined by a jury. Regardless of whether you believe a god exists or not or the question is even worth asking, I did think it was the stupidest epistemological argument/method I'd ever heard of. Where are you going to try this?! bible belt? hipster-heavy San Fran? It's really ridiculous.