|
Authored by: al_dunsmuir on Wednesday, May 16 2012 @ 11:26 AM EDT |
Please identify the error in the title of your post. [ Reply to This | # ]
|
|
Authored by: al_dunsmuir on Wednesday, May 16 2012 @ 11:28 AM EDT |
Please avoid staying on topic in this section. [ Reply to This | # ]
|
|
Authored by: al_dunsmuir on Wednesday, May 16 2012 @ 11:29 AM EDT |
Please mention the news story's name in the title of the top
post.[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 11:29 AM EDT |
It is quite obvious that Oracle is struggling to make a causal nexus in relation
to the rangecheck code. They keep bringing up TimSort and how it is 20x faster
and key to Android speeds.
1 - TimSort is not the infringing code, rangecheck is.
2 - Bloch testified that the 20x speedup in TimSort is not attributable to the
rangecheck code, but unrelated code in TimSort. This was never rebutted or
contested in testimony by Oracle.[ Reply to This | # ]
|
|
Authored by: al_dunsmuir on Wednesday, May 16 2012 @ 11:30 AM EDT |
Please post all transcriptions of Comes exhibits here for PJ.
Please post the HTML as plain text for easy copying.[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 11:32 AM EDT |
With many thanks to feldegast and reporters
Raw
tweets
Feldegast
tweets[ Reply to This | # ]
|
- Oracle will call Page, Rubin, Lindholm & Schmidt in any damages phase - Authored by: Anonymous on Wednesday, May 16 2012 @ 11:33 AM EDT
- Boies and Baber may be nearing agreement on damages phase - Authored by: Anonymous on Wednesday, May 16 2012 @ 11:34 AM EDT
- Judge arrives in court - Authored by: Anonymous on Wednesday, May 16 2012 @ 12:23 PM EDT
- Judge signing off on damages approach? - Authored by: Anonymous on Wednesday, May 16 2012 @ 12:28 PM EDT
- Jury will only decide patent damages - Authored by: Anonymous on Wednesday, May 16 2012 @ 12:32 PM EDT
- Stipulation says jury won't decide copyright damages - Authored by: Anonymous on Wednesday, May 16 2012 @ 12:55 PM EDT
- Statutory damages for rangeCheck etc if judge rules SSO non copyrightable - else new jury - Authored by: Anonymous on Wednesday, May 16 2012 @ 12:57 PM EDT
- Alternative Raw Feed - Authored by: Anonymous on Wednesday, May 16 2012 @ 01:00 PM EDT
- Oracle not getting a big payout anytime soon - Authored by: Anonymous on Wednesday, May 16 2012 @ 01:06 PM EDT
- Latest ZDNet article by Rachel King - including stipulation document - Authored by: Anonymous on Wednesday, May 16 2012 @ 01:43 PM EDT
- Oooh! Oooh! A jury question - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:11 PM EDT
- Oracle are there, and Baber for Google, but no other Googlers - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:12 PM EDT
- Waiting for the jury question... - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:21 PM EDT
- Judge is back in the room - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:29 PM EDT
- Jury: What does "containing" mean - symbolic reference resolution or literal contents - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:36 PM EDT
- Google: "It's literal" - Oracle: "It's not literal" - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:37 PM EDT
- Judge goes with Google's view - It's literal - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:50 PM EDT
- Jacobs tries to convince him to change his mind: No - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:51 PM EDT
- Jury laughing behind door - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:51 PM EDT
- Jury planning to leave at 1pm. Answer hasn't changed their minds - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:52 PM EDT
- Loud unexplained beeping - Authored by: Anonymous on Wednesday, May 16 2012 @ 03:54 PM EDT
- Tweets have gone quiet and we're past jury home time n/t - Authored by: Anonymous on Wednesday, May 16 2012 @ 04:15 PM EDT
|
Authored by: al_dunsmuir on Wednesday, May 16 2012 @ 11:34 AM EDT |
On twitter, Rachel King is describing "massive huddles" between the
lawyers. Judge Alsup has delayed his entry until 08:30 PDT.
Signs of desperation in the Oracle camp? Perhaps the realization that that damp
feeling is from the water lapping their ankles on the sinking case?[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 11:39 AM EDT |
It's all in 1 word:
some causal link
Now... if one
is afflicted a little bit with dislexia... one could be reading:
some casual
link
And the word "casual" certainly takes on a far more generic meaning
than "causal".
I wonder if such a tiny mis-read in Legal Terminology can
explain much of BSF's apparent behaviors.
RAS[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 11:58 AM EDT |
"that Google actually knew or should have known that its actions
constituted an unjustifiably high risk of infringement of a patent."
Nowadays, Sitting down at your keyboard, opening a file and
typing in more than 8 lines of code is an action which constitutes "an
unjustifiably high risk of infringement of a patent". [ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 12:03 PM EDT |
What about the Constitutional language, itself, "to promote the useful
arts" in this context. Details of arcane case law obscure that the patent
monopoly is granted to promote, not inhibit the useful arts. Sun developed Java,
but sat still about extending it in any real measure to mobile devices. Is the
purpose of the monopoly, the policy basis of it, to permit firms' restraining or
impeding the useful arts? The Lead, Follow, or Get out of the way saying comes
to mind. It would make good patent law - especially if the tire companies
suppress elastomer technology that would yield 300,000 mile tire life, or the
oil companies suppress extended gas mileage technology. The point is Sun
declined to want to be a player in the mobile device market, they had no
business plan to leverage Java there, but wanted to retain control over those
willing to test the market. Impeding the useful arts is NOT what the
Constitution says.[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 12:10 PM EDT |
Does anyone know more about Noser and its involvement in the eight test files? I
did a search and this is what I found:
http://www.noser.com/en/oha
If Noser was part of the copyright violation - how would this affect Google?
Wouldn't Oracle have to go after Noser?[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 12:20 PM EDT |
One thing that I wish the media would pick up on more is the reality behind
these "9 lines of code".
When you look at the infringing code as a
programmer it is even more ridiculous when you think of the
following:
- The 9 lines are really 3 if statements and a
header
- The form of the if clause is mandated by
mathematics... i.e. checking if a parameter is less than 0, etc.
- The error
classes thrown are standard Java classes for the conditions found. There is no
discretion on the part of the programmer.
- The parameters to the
out-of-bounds error class are not discretionary.
- The only discretionary
portion of the code is the parameter to the illegal argument error.
To
illustrate the simplicity of what Oracle is claiming as infringed, the following
is the pseudocode. The bold-italics parameter description is the
only discretionary part of the code.
void range_check(int
array_len, int from_index, int to_index) {
if
(from_index > to_index) throw
illegal_argument_error(description);
if
(from_index < 0) throw
out_of_bounds_error(from_index);
if (to_index >
array_len) throw out_of_bounds_error(to_index);
}
So Oracle is really claiming infringement of a single
parameter, which in the infringed code assembles an error string indicating that
the from_index is greater than the to_index.
--
nyarlathotep [ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 12:37 PM EDT |
What puzzles me, the doctrine behind recovering infringers' profits is that
competition with the copyright or patent holder causes lost profits to the IP
owner. If I own a valuable property, such as copyright to Michele Bachmann's
autobiography [this is a hypothetical] and some corner press in East St. Louis
publishes a knock-off paperback pulp version of the identical text, then every
dollar that competitor earns as a profit is money I might have earned from my
use of my IP in publishing the book based on business risk and reward balancing
in press run size, promotional spending, etc. But Sun was not using Java,
actively, at all, in the mobile device market. They were not deprived of lost
profits by an infringer. They did not have any of their own potential profits
siphoned away. They owned but did not use, so there was no impeded profit
stream. They suffered no lost profit, and should be awarded nothing unless they
pursue an equitable royalty charge theory. So, what's an equitable royalty in
this situation? It seems the infringers' profit theory arose in equity, and was
codified. Equity is for the court and the court has wide discretion in fixing a
suitable equitable remedy. But the codification step suggests it goes to the
jury. Or is the doctrine entirely a judicially fashioned remedy, not within the
federal code?
In any event, instructions and closing argument on "infringers profit"
damages theory should be a soap opera within a soap opera. Lawyers on both sides
doing a lot of hand waving while making practical and impractical suggestions.
Give the jurors popcorn and cotton candy?[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 01:41 PM EDT |
From the Verge:
Oracle and Google take
copyright damages out of the jury's hands[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 01:46 PM EDT |
Here is Rachel King's latest article about what happened in court this
morning:
http://www.zdnet.com/b
log/btl/oracle-google-hammer-out-potential-trial-roadmap/77162?utm_medium=twitte
r&utm_source=twitterfeed
She has also uploaded the stipulation
to Scribd:
http://www.scribd.com/zdnetrac
hel/d/93799869-Oracle-
v-Google-Stipulation-Regarding-Copyright-Damages
[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 02:01 PM EDT |
It is really amusing how they claim that the performance of
the rangeCheck method uber important, because it is called
2600 times...
To put this into perspective: I'd assume that on a current
Intel desktop cpu, the function body can be executed in
pretty much 2 (amortized) clock cycles, if none of the
conditions is true (this should be the case most of the
time, everything else would indicate bad programming in the
app). So the mighty 2600 calls could be executed about
500000 times per second (if inlined).
Let's assume that the java/dalvik/arm stack is 100 times
slower. It could still execute the 2600 mighty rangeChecks
during boot in half a millisecond. Hardly anything I would
notice when I go shopping for a new phone...[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, May 16 2012 @ 02:16 PM EDT |
With all this infringer's profits nonsense.
He obviously knew they were desperate, but maybe he didn't
think they were *that* desperate.[ Reply to This | # ]
|
|
Authored by: BitOBear on Wednesday, May 16 2012 @ 08:46 PM EDT |
Some (non-software) people may be wondering what rangeCheck() is for an how
significant its use actually is to a running applicaton, Android, or the phone
itself. This is a BitOBear grade answer to that question.
It isn't significant to a "finished" program of "normal
construction".
A range check on an array bounds ony "fails" (e.g. "means
something") if the program itself is caused to ask for something that it
"knows, or should have known" does not exist. The ever elusive
"properly written code" is supposed to "scrub it's input" at
run time to make sure that it never asks for this out-of-range data. Good coding
is the belt that holds up the pants of a running application. functions like
rangeCheck() are the suspenders that catch said pants when the programmer
doesn't know how to, or didn't take the time to, buckle his belt properly.
In a language like "C", the programmer is -never- given such a
function automatically by the language. Instead the programmer places a check on
the "gateway point" between what the programmer can control (e.g. his
own code) and what he cannot (e.g. what the user types, or what he might get
from some other program). If the programmer has done his job then once he knows
the input is valid, the program needs never check the input again.
Languages like Java (and effectively all interpreted languages as well) have the
check "built in" to the act of looking at some structures (such as
"arrays") and they perform the check -every- -time- something tries to
get or put something from or into an array. In short the language says "I
don't care if you want a belt or not, you are going to wear these suspenders
young man" like a very patrician guardian.
Doing this range check is not very expensive.
Doing this "inexpensive" range check -every- -time- can add up to a
huge run-time tax (computing expense) on a program.
The reason that every programmer has written rangeChec() "hundreds of
times" is that normally you -want- to put on your belt in some situations
(e.g. do a manual range check at the gateway points in your code).
Further, building wholly new code is a bit like having to "tailor and fit
your pants" in public. You want to find out if the pants fit well, but you
don't want to be walking about pants-less while you do it.
To this end, most languages have something called "conditionally compiled
code". This is code that you can include or exclude from any given
compilation run, and so any given copy of the executable by "setting a
switch" of some sort when you build the program or part thereof. In the C
language this is usually done by "defining, or not" the symbol
"DEBUG". When the symbol is defined the suspenders code is included.
This, in C++ here, looks something like:
template <class Value>
class Array {
...
Value getValueAt(int Index) {
#if defined(DEBUG)
rangeCheck(Index);
#endif
...
return ValueDiscovered;
}
...
};
The programmer does this so that during development he can pay the expense to
have his suspenders slow down everything so that he can find out if -his- code
does a bad thing internally. Once he knows his code -doesn't- do a bad thing he
can deliver it for "production release" where the DEBUG switch value
is -not- DEFINED.
In his code he might still have a range check at his gateway points that -isn't-
conditional on the DEBUG switch, if he is getting input from an untrusted
source.
-That- range check usually looks different than the rangeCheck() we are talking
about here because rather than throwing an error exception it would likely do
things like tell the user that we don't believe s/he was born in 2150 C.E. nor
1972 B.C.E. since those dates of birth are unreasonable on a drivers license
here at the DMV.
So range check "belt" code is code that is -expected- to fail for
normal (non exceptional) reasons like, well, the existence of unreasonable
users.
While rangeCheck() "suspenders" code is about unexpected and therefor
exceptional (throws exceptions typically) reasons like previously unidentified
bugs in the code (like a Y2k style error turning the birth year 1920 into 2020
on a census form after some database searched upchucked the year "20"
for a two digit year). [gateway "belt" code -should- have caught this
since a database is an "untrusted" source.]
Java is "belt and suspenders" or at least "you will wear your
suspenders young man" patrician because it was build with the web in mind,
and the web is full of unreasonable users trying to do things harm for sport.
In terms of applicability to the case at hand. Google has no reason to put
"spoliation" values in GooglePlay or the Google Ad Service. If we
presume they "belt test" their ads and application delivery code
before releasing it, we know that -by- -design- those ads avoid any condition
where the phone operates with rangeCheck() actually throwing an exception.
So we know that the execution tax of calling rangeCheck() -must- be paid because
the Java spec says it -shall- be paid, but the contribution of rangeCheck() to
the presentation of an ad or the installation of a program via GooglePlay is
-nill-.
In fact if rangeCheck() -ever- -did- step in to the process, the process would
fail. The ad would not be displayed or the application would not be bought, so
by definition if rangeCheck() -acts- -at- -all- within any Google revenue
generation attempt, Google -loses- money.
The only -nexus- that can therefore be proved, is that -every- -time-
rangeCheck() is a cost event, not a profit event, for Google. It can prevent a
sale. It can prevent an ad view. It -always- and -constantly- slows the
operation of the phone. The function rangeCheck() is pure entropy.
We do not charge the family of the accused the cost of the bullet used in their
execution here.[ Reply to This | # ]
|
|
Authored by: ais523 on Wednesday, May 16 2012 @ 09:21 PM EDT |
"5. Google would not risk its brand and reputation by engaging in
infringement unless the benefits of doing so were substantial."
Wow, this is an angle I hadn't thought of at all, and is possibly the
cornerstone of Oracle's case here. Obviously all the copying Google did was
massively important to Android, because if it wasn't, they wouldn't have taken
the risk of being caught!
I think the problem here is that that only applies if the copyright infringement
was wilful by the company (as in, a deliberate decision to steal code rather
than having a contractor cut a few corners or an employee reuse code in one
context that they'd intended for another). And Oracle don't seem to have been
trying to prove that.[ Reply to This | # ]
|
|
Authored by: bugstomper on Thursday, May 17 2012 @ 12:13 AM EDT |
In Oracle's brief they said
For example, the PolicyNodeImpl class
alone is intricate and would likely take days if not weeks to write from scratch
because it requires substantial understanding of security certificates and all
the surrounding code just to get started.
It just so happens that
PolicyNodeImpl was the only one of the eight files that I looked at in depth to
see what role the testing actually had in Android.
- PolicyNodeImpl
in the JDK is the default implementation of the interface PolicyNode. As far as
I can tell it contains the bare minimum implementation of the required methods
of the interface, to provide skeleton implementation that can be used by some
internal functions of the JDK to build default Policy trees. It isn't used even
for that in Android.
- The only use I can see for PolicyNodeImpl in
Android was as an example implementation of the PolicyNode interface used by the
PolicyNodeTest class to test that it works. I couldn't see that the test
actually tested anything other than that PolicyNodeImpl itself worked, and
PolicyNodeImpl was not used anywhere else in Android.
- Android does
contain a class that it actually uses which implements the PolicyNode interface,
PKIXPolicyNode, which comes from the FOSS security library BouncyCastle.
See
Android 0.9 beta Javadoc for PKIXPolicyNode
This did
not "take days if not weeks to write from scratch" at least it did not take
Google that long because it was already available from the BouncyCastle library
which Google had already identified to Noser in their contract as being a good
source to use for files for Android.
So much for Oracle's
argument.
[ Reply to This | # ]
|
|
|
|
|