|
Authored by: Anonymous on Friday, April 20 2012 @ 12:42 AM EDT |
Heh, this is one thing I really get annoyed by almost everyone when they start
discussing text versus binary. Everything in "software" is represented
in binary. Everything is represented as "ones and zeroes". Every
instruction, data, text and even source code ;). Most of the time when
"binary" is mentioned, they are specifically talking about something
that is not easily presented in a text editor. It's really a misnomer.
Technically, it should probably be called non-ASCII thingys/files (okay,
nowadays there's Unicode, but lets not complicate things further in this
discussion XD).
So if one really cannot copyright "ones and zeroes", then one cannot
copyright "software" of any kind. It doesn't matter if it were a photo
or text file or even source code ;). Given that we do know these things are
potentially copyrightable, "ones and zeroes" cannot be a reason not to
allow copyright protection.
As for the API libraries being only presentable as "ones and zeroes",
that is also not true. Just as only with the right tools, one can present text
files in a human readable form (these tools are known as text editors and other
text display capable software). Without such tools, text files are just
"ones and zeroes" as well :p. With the right tool, Java libraries (and
even C/C++ libraries to some extent) can be presented in a human readable form
as well. This tool is usually called a decompiler/disassembler. See
http://java.decompiler.free.fr/?q=jdgui for an example.[ Reply to This | Parent | # ]
|
|
Authored by: stegu on Friday, April 20 2012 @ 10:08 AM EDT |
> (I'm not actually certain whether the parameter ordering
> needs to be matching in Java, or whether parameter naming
> in addition to typing is used there. Correct me if I'm
> wrong.)
Parameter type and order are what matters in Java.
The name of the parameters in the method declaration
is unimportant and is not visible outside of the
scope of the method implementation.
Different parameter names may be used in an abstract
method and a concrete implementation of it. Here, also,
only the type and order are important.
The declarations
int max(int a, int b)
and
int max(int firstInt, int secondInt)
are exactly equivalent, except for the parameter
names in the plain English documentation that is
automatically generated from the source code by
tools such as Javadoc.
[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Friday, April 20 2012 @ 10:17 AM EDT |
My understanding is that source vs binary is just smoke. Any
binary form is
just a translation for source code
into a form usage by the particular
computer. That makes the
binary copyrighted.
What makes the complications
here is the two stage process
where the program gets converted into bytecode and that bytecode
is converted by the virtual
machine to run on a specific computer
(mainly hardware and
operating system). So really you have at least two API
sets:
- The API used by the compiler to link the APIs that are
mentioned in the programmer's code to the create the
bytecode.
- The
API used by the virtual machine that links the
bytecode to computer to create
the running program.
As an non-expert, there is no reason that the
API for
the first set has to be identical to the second set (just
less
confusing if both as as similar as possible), but, not
knowning anything, the
second set may have to return the
expected object type that the first needs. So
knowing the
first API has the correct names, the second API just needs
to find
the
variables it needs from a class without needing the same
signature
as the first API. (In
Python you can write functions that use *args and
**kwargs
to handle all arguments without providing any individual
variable
names.)
Oracle has to use whatever definition and confusion it can
because
the Judge and jury are not programmers and have to
rely on non-programmers to
convey the meanings. It is rather
hard to convey the different meanings of API
without
clear demonstration or personal usage of these. Perhaps
Google
will spend the time (hard given the Judge's harsh
timeline) clarify all this
for everyone. [ Reply to This | Parent | # ]
|
|
Authored by: PJ on Friday, April 20 2012 @ 10:30 AM EDT |
Yes, I removed that bit after the reporter immediately
noticed I had misunderstood his notes.
The problem is, and the judge is experiencing this
as well, if you didn't start out knowing what an
API is, and then you hear all the different
definitions from the witnesses and the lawyers,
it's not hard to get confused. [ Reply to This | Parent | # ]
|
|
Authored by: Rhialto on Friday, April 20 2012 @ 12:31 PM EDT |
But the term "API library" is nonsense. A library *has* an interface.
Every library has an interface (even if the interface is empty, in which case it
is fairly useless).
---
I have not "authored" this, I have written it.[ Reply to This | Parent | # ]
|
|
|
|
|