法庭對陪審團的問題只有一個:Google 在使用 Java API 的時候是否為在版權法律允許下的正當使用?陪審團全體一致認為「是的」,全票通過,Google 勝訴。
New York Times
 
Google Prevails as Jury Rebuffs Oracle in Code Copyright Case
A jury ruled in favor of Google on Thursday in a long-running legal dispute with Oracle over software used to power most of the world's smartphones.
2012.5.9
Oracle v Google
    Who owns the perk in Java?  
    May 8th 2012, 0:28 by G.F. | SEATTLE
 IN 2010 Oracle accused Google of pilfering its 
intellectual property (IP) for use in the Android mobile platform. It 
has since presented oodles of forensic evidence, including e-mails among
 Google executives and bits of allegedly copied program code. On May 7th
 a federal jury in San Francisco found in its favour. Sort of.
Google,
 the jurors decided, had indeed copied Oracle's IP related to bits of 
its Java infrastructure. For a start, the search giant purloined nine 
lines of Oracle's code for its own version of Java, out of 15m that make
 up the contentious software. Damages for this misdeed, which will be 
set at a later stage of the trial, cannot exceed $150,000 by statute. 
More controversially, Google was also deemed to have infringed Oracle's 
copyright by mimicking "the overall structure, sequence and organisation
 of copyrighted works", even where it had not directly copied any code.
Curiously,
 the jurors could not agree whether this infringement was in fact 
acceptable under the law. This means that Oracle cannot collect damages 
from Google (it was seeking up to $1 billion) or require Android to be 
partially rewritten, at least for now. To add to the confusion, it 
emerged that one juror had discussed the case with her husband, which 
the law forbids. Google has called for a mistrial. It now seems likely 
that this first part of the case, which now proceeds to humdrum patent 
disputes, will be either retried or appealed.
So, what is all the 
fuss about? Oracle's copyright-related accusations centred on two bits 
of software plumbing: application programming interfaces (APIs) and Java
 virtual machines (JVMs).
Start with APIs. These are the link 
which allows software developers to create applications which interact 
seamlessly with a programming language (like Java or C++) or a service 
(like Facebook or Twitter). Without an API, programmers would first have
 to suss out how the gears and cogs inside the target platform work, and
 then construct software to mesh with those. Moreover, different 
hardware platforms would require separate software versions, which would
 need to be constantly updated as languages or services are tweaked by 
their makers. APIs limit such inefficiencies.
Fortunately for 
programmers, they do not need to write software in machine code, an 
impenetrable string of 0s and 1s that a computer processor understands. 
Instead, a separate program called a compiler translates code written in
 a particular "high-level" language (whose vocabulary and syntax are not
 entirely unlike that in natural language) into machine-readable 
commands. APIs make coders' lives easier still, by providing access to 
ready-made chunks of code to perform some basic, well-defined tasks, 
from simple ones like displaying dates to the more complicated, such as 
creating encryption keys.
An API for a particular language is 
paired with a functional counterpart, a library containing snippets of 
code in that language which perform the tasks in question. These can be 
integral parts of languages, paid and licensed add-ons, or some 
combination of public source and free-but-copyrighted code. Then there 
is an instruction manual in plain, albeit technical English. It includes
 descriptions of what each snippet does, together with a command (known 
as a function call) that, if inserted into a program's source code, acts
 as a shortcut to the relevant section of the library. Any snippet in 
the library could be written from scratch—but this takes time and, 
crucially, fails to take advantage of the extensive testing the existing
 code in the library has been subject to. It is easier, and safer, 
simply to bung a reference to the required function into the newly 
created program.
To run on a particular piece of hardware, a 
program written in a high-level language must first be converted, or 
"compiled", into machine code (this typically happens after the program 
has been completed and prior to distribution). When the hardware runs 
the compiled program and reaches the function call, it jumps to the 
relevant section of the library (which is included in the completed code
 and compiled with it), runs the function's code, and jumps back to the 
main flow of the program.
Besides snippets of code in a high-level
 language, some APIs' code libraries contain portions pre-compiled 
for specific hardware platforms, with the appropriate one picked 
automatically when the remainder of the program is compiled for a given 
device. Java API code libraries contain only high-level code. A Java 
program is compiled all at once. This is where virtual machines come in.
A
 virtual machine is a computer program which simulates a physical 
processor. It allows applications designed for one platform, Microsoft 
Windows, say, to run on another, like Apple Macintosh. A Java VM is not 
itself written in Java but in another language like C++, and then 
compiled in the machine code for the device on which it has been 
installed. Every combination of processor and operating system (Apple's 
iMac running on an Intel chip, say) therefore has its own unique JVM.
Just
 as real processors understand a specific machine vernacular, all JVMs 
speak a machine-code-like version of Java (called Java byte-code). In 
effect, they act as translators between Java byte-code and the physical 
hardware's machine language. In theory, then, any Java program only 
needs to be compiled once and should run on any JVM, prompting Java's 
developer, Sun Microsystems (which Oracle bought in 2009), to hail it as
 "write once, run anywhere". 
In practice, however, Oracle offers 
four types of JVM which support distinct dialects of Java byte-code, 
tailored for smart cards, mobiles, desktops and servers. A program 
compiled for a server JVM may not necessarily work on a mobile JVM, or 
vice versa, as some elements needed to carry it out may be missing from 
the other sort of virtual machine. A slimmed-down mobile JVM, for 
instance, lacks the ability to perform complex server tasks, which are a
 drain on processing power and would unnecessarily slow down a 
smartphone. A server JVM, meanwhile, does not need to be able to be 
efficient about draining a battery.
Oracle also licenses other 
companies to create their own JVMs, on the condition that they can show 
that their virtual machines are capable of running any software written 
for at least one of the four classes of virtual device. This lets 
device-makers create bespoke JVMs for their gadgets.
Google 
created its own version of Java, which it dubbed Dalvik, for its Android
 mobile platform, complete with Dalvik APIs, libraries and VMs. Although
 Dalvik and Java differ on the surface, their structure and many 
features are identical. As a consequence, a Java program can be adapted 
to work in Dalvik and vice versa. Crucially, programmers who know one 
are by the language's fundamental similarities proficient in the other. 
When a Dalvik program is compiled for use on the Android platform, 
however, its byte-code is different from Java's—and therefore 
incompatible with other JVMs.
To create all its Dalvik 
paraphernalia Google relied on open-source projects, only some of which 
had secured licences from Oracle. It supplemented them with code of its 
own, without obtaining a licence. The upshot is that 37 of Dalvik's 173 
APIs are functionally identical to Java's (which itself sports a total 
of 166), albeit implemented using different underlying code.
All 
this irked Oracle in several ways, prompting the lawsuit. First, the 
company alleged that Google pinched bits of its code for Dalvik's 
API-associated libraries. Google admitted this but said it had removed 
the contentious snippets long ago. The jury agreed with Google, apart 
from the nine lines mentioned in its verdict. Second, Oracle accused 
Google of copying its language designs, using its API descriptions, and 
building a virtual machine incompatible with other elements of the Java 
infrastructure, without obtaining permission or licences. Here, the 
jurors agreed with Oracle.
In doing so, they were told by the 
presiding judge to assume that it is not just the particular wording of 
the plain-English API descriptions, the function calls, or the 
underlying code that are protected by copyright. So are the functions 
themselves, regardless of how they are implemented in software, at least
 so long as the functions' inputs and outputs are indistinguishable. 
Some observers found this odd, given that there is currently no clear 
doctrine about whether API functionality is in fact subject to 
copyright.
Either way, despite concluding that infringement had 
occurred, the jury still deadlocked on whether Google's actions fall 
within the "fair-use" doctrine, which in the context of software might 
be construed as permitting Google to figure out and emulate all that 
Java does without seeking a license or permission. The judge accepted 
this partial verdict and may yet bring his own opinion to bear on the 
question of doctrine at a later stage of the trial. 
Google 
insists that API functions, as separate from code, cannot be subject to 
copyright. That, Google has warned, would be like claiming ownership of 
ordinary words in a language. If its call for a mistrial is heeded, it 
will rehearse those arguments anew. If not, it is likely to appeal 
against the ruling, possibly all the way to the Supreme Court.
Many
 tech types are jittery about a verdict fully in favour of Oracle. 
Equivalent API functions based on distinct source code abound across all
 aspects of hardware, software and services, on the internet and 
offline. If the court ultimately sides with Oracle it might reshape the 
nature of technological development.
    
    
  
IN 2010 Oracle accused Google of pilfering its 
intellectual property (IP) for use in the Android mobile platform. It 
has since presented oodles of forensic evidence, including e-mails among
 Google executives and bits of allegedly copied program code. On May 7th
 a federal jury in San Francisco found in its favour. Sort of.
Google,
 the jurors decided, had indeed copied Oracle's IP related to bits of 
its Java infrastructure. For a start, the search giant purloined nine 
lines of Oracle's code for its own version of Java, out of 15m that make
 up the contentious software. Damages for this misdeed, which will be 
set at a later stage of the trial, cannot exceed $150,000 by statute. 
More controversially, Google was also deemed to have infringed Oracle's 
copyright by mimicking "the overall structure, sequence and organisation
 of copyrighted works", even where it had not directly copied any code.
Curiously,
 the jurors could not agree whether this infringement was in fact 
acceptable under the law. This means that Oracle cannot collect damages 
from Google (it was seeking up to $1 billion) or require Android to be 
partially rewritten, at least for now. To add to the confusion, it 
emerged that one juror had discussed the case with her husband, which 
the law forbids. Google has called for a mistrial. It now seems likely 
that this first part of the case, which now proceeds to humdrum patent 
disputes, will be either retried or appealed.
So, what is all the 
fuss about? Oracle's copyright-related accusations centred on two bits 
of software plumbing: application programming interfaces (APIs) and Java
 virtual machines (JVMs).
Start with APIs. These are the link 
which allows software developers to create applications which interact 
seamlessly with a programming language (like Java or C++) or a service 
(like Facebook or Twitter). Without an API, programmers would first have
 to suss out how the gears and cogs inside the target platform work, and
 then construct software to mesh with those. Moreover, different 
hardware platforms would require separate software versions, which would
 need to be constantly updated as languages or services are tweaked by 
their makers. APIs limit such inefficiencies.
Fortunately for 
programmers, they do not need to write software in machine code, an 
impenetrable string of 0s and 1s that a computer processor understands. 
Instead, a separate program called a compiler translates code written in
 a particular "high-level" language (whose vocabulary and syntax are not
 entirely unlike that in natural language) into machine-readable 
commands. APIs make coders' lives easier still, by providing access to 
ready-made chunks of code to perform some basic, well-defined tasks, 
from simple ones like displaying dates to the more complicated, such as 
creating encryption keys.
An API for a particular language is 
paired with a functional counterpart, a library containing snippets of 
code in that language which perform the tasks in question. These can be 
integral parts of languages, paid and licensed add-ons, or some 
combination of public source and free-but-copyrighted code. Then there 
is an instruction manual in plain, albeit technical English. It includes
 descriptions of what each snippet does, together with a command (known 
as a function call) that, if inserted into a program's source code, acts
 as a shortcut to the relevant section of the library. Any snippet in 
the library could be written from scratch—but this takes time and, 
crucially, fails to take advantage of the extensive testing the existing
 code in the library has been subject to. It is easier, and safer, 
simply to bung a reference to the required function into the newly 
created program.
To run on a particular piece of hardware, a 
program written in a high-level language must first be converted, or 
"compiled", into machine code (this typically happens after the program 
has been completed and prior to distribution). When the hardware runs 
the compiled program and reaches the function call, it jumps to the 
relevant section of the library (which is included in the completed code
 and compiled with it), runs the function's code, and jumps back to the 
main flow of the program.
Besides snippets of code in a high-level
 language, some APIs' code libraries contain portions pre-compiled 
for specific hardware platforms, with the appropriate one picked 
automatically when the remainder of the program is compiled for a given 
device. Java API code libraries contain only high-level code. A Java 
program is compiled all at once. This is where virtual machines come in.
A
 virtual machine is a computer program which simulates a physical 
processor. It allows applications designed for one platform, Microsoft 
Windows, say, to run on another, like Apple Macintosh. A Java VM is not 
itself written in Java but in another language like C++, and then 
compiled in the machine code for the device on which it has been 
installed. Every combination of processor and operating system (Apple's 
iMac running on an Intel chip, say) therefore has its own unique JVM.
Just
 as real processors understand a specific machine vernacular, all JVMs 
speak a machine-code-like version of Java (called Java byte-code). In 
effect, they act as translators between Java byte-code and the physical 
hardware's machine language. In theory, then, any Java program only 
needs to be compiled once and should run on any JVM, prompting Java's 
developer, Sun Microsystems (which Oracle bought in 2009), to hail it as
 "write once, run anywhere". 
In practice, however, Oracle offers 
four types of JVM which support distinct dialects of Java byte-code, 
tailored for smart cards, mobiles, desktops and servers. A program 
compiled for a server JVM may not necessarily work on a mobile JVM, or 
vice versa, as some elements needed to carry it out may be missing from 
the other sort of virtual machine. A slimmed-down mobile JVM, for 
instance, lacks the ability to perform complex server tasks, which are a
 drain on processing power and would unnecessarily slow down a 
smartphone. A server JVM, meanwhile, does not need to be able to be 
efficient about draining a battery.
Oracle also licenses other 
companies to create their own JVMs, on the condition that they can show 
that their virtual machines are capable of running any software written 
for at least one of the four classes of virtual device. This lets 
device-makers create bespoke JVMs for their gadgets.
Google 
created its own version of Java, which it dubbed Dalvik, for its Android
 mobile platform, complete with Dalvik APIs, libraries and VMs. Although
 Dalvik and Java differ on the surface, their structure and many 
features are identical. As a consequence, a Java program can be adapted 
to work in Dalvik and vice versa. Crucially, programmers who know one 
are by the language's fundamental similarities proficient in the other. 
When a Dalvik program is compiled for use on the Android platform, 
however, its byte-code is different from Java's—and therefore 
incompatible with other JVMs.
To create all its Dalvik 
paraphernalia Google relied on open-source projects, only some of which 
had secured licences from Oracle. It supplemented them with code of its 
own, without obtaining a licence. The upshot is that 37 of Dalvik's 173 
APIs are functionally identical to Java's (which itself sports a total 
of 166), albeit implemented using different underlying code.
All 
this irked Oracle in several ways, prompting the lawsuit. First, the 
company alleged that Google pinched bits of its code for Dalvik's 
API-associated libraries. Google admitted this but said it had removed 
the contentious snippets long ago. The jury agreed with Google, apart 
from the nine lines mentioned in its verdict. Second, Oracle accused 
Google of copying its language designs, using its API descriptions, and 
building a virtual machine incompatible with other elements of the Java 
infrastructure, without obtaining permission or licences. Here, the 
jurors agreed with Oracle.
In doing so, they were told by the 
presiding judge to assume that it is not just the particular wording of 
the plain-English API descriptions, the function calls, or the 
underlying code that are protected by copyright. So are the functions 
themselves, regardless of how they are implemented in software, at least
 so long as the functions' inputs and outputs are indistinguishable. 
Some observers found this odd, given that there is currently no clear 
doctrine about whether API functionality is in fact subject to 
copyright.
Either way, despite concluding that infringement had 
occurred, the jury still deadlocked on whether Google's actions fall 
within the "fair-use" doctrine, which in the context of software might 
be construed as permitting Google to figure out and emulate all that 
Java does without seeking a license or permission. The judge accepted 
this partial verdict and may yet bring his own opinion to bear on the 
question of doctrine at a later stage of the trial. 
Google 
insists that API functions, as separate from code, cannot be subject to 
copyright. That, Google has warned, would be like claiming ownership of 
ordinary words in a language. If its call for a mistrial is heeded, it 
will rehearse those arguments anew. If not, it is likely to appeal 
against the ruling, possibly all the way to the Supreme Court.
Many
 tech types are jittery about a verdict fully in favour of Oracle. 
Equivalent API functions based on distinct source code abound across all
 aspects of hardware, software and services, on the internet and 
offline. If the court ultimately sides with Oracle it might reshape the 
nature of technological development. 
Google's Tim Lindholm faces off with David Boies on Java license
CNET
Tim Lindholm said that he didn't mean that Google needed a license for Java in his 2010 email that said, "We conclude that we need to negotiate a license for Java under the terms we need." by Dan Farber April 19, 2012 12:51 PM PDT Follow @dbfarber ...
See all stories on this topic » Google Employee Testifies His Java Email Was Misinterpreted
Wall Street Journal
By John Letzing Of DOW JONES NEWSWIRES SAN FRANCISCO (Dow Jones)--The Google Inc. (GOOG) employee who wrote an email that Oracle Corp. (ORCL) said bolsters their infringement case against the Internet giant testified Thursday that the internal memo was ...
See all stories on this topic » Google Engineer Says E-Mail Didn't Refer to Java License
BusinessWeek
By Karen Gullo on April 19, 2012 A Google Inc. software engineer testified that when he wrote in a 2010 e-mail, “We need a license for Java,” he didn't mean a license from Java's creator, Sun Microsystems Inc., or any other company.
See all stories on this topic » Apple, Google, Intel fail to dismiss staff-poaching lawsuit
Reuters
By Jonathan Stempel (Reuters) - Apple Inc, Google Inc, Intel Corp and four other technology companies were ordered by a judge to face an antitrust lawsuit claiming they illegally conspired not to poach each other's employees. District Judge Lucy Koh in ...
See all stories on this topic » EXPLAINER: Here's What Google And Oracle Are Fighting Over (ORCL, GOOG)
San Francisco Chronicle
After the excitement of Larry Page and Larry Ellison testifying earlier this week, the Google-Oracle trial has turned into a highly technical discussion about Java. So what the heck is really going on? Here's our brief explainer.
See all stories on this topic » Oracle probes Google engineer about key email
Reuters
By Dan Levine | SAN FRANCISCO (Reuters) - A Google engineer, testifying in a high-stakes trial pitting Oracle Corp against Google Inc, denied that he referred to Oracle or any other company when he wrote in an email that Google should take a license to ...
See all stories on this topic » 
Google's Lindholm dances around questions about Java licences
ZDNet (blog)
By Rachel King | April 19, 2012, 12:45pm PDT Summary: After Google CEO Larry Page claimed that he isn't too familiar with him, Google software engineer Tim Lindholm took the stand in the IP trial against Oracle on Thursday. Tim Lindholm leaving the ...
See all stories on this topic » 
ZDNet (blog)
APIs take center stage at Oracle-Google trial
CNET
The scene of the Oracle-Google trial Thursday was more like a computer science classroom than a courtroom as the witnesses explained the inner workings of Java and APIs. by Dan Farber April 19, 2012 10:26 AM PDT Follow @dbfarber The scene of the ...
See all stories on this topic » Oracle Vs. Google: Tour The Evidence
InformationWeek
Google CEO Larry Page took the stand and gave Oracle's attorney's little with which to work. There were no unexpected revelations or confessions. In part, that's because both companies have already laid out their cases in slide decks that summarize ...
See all stories on this topic » Apple, Google, others to face antitrust suit over staff poaching
Los Angeles Times
By Jessica Guynn SAN FRANCISCO -- Apple, Google, Intel, Pixar and other high-tech companies will face an antitrust lawsuit that alleges they illegally conspired not to poach each other's staffers. San Jose US District Court Judge Lucy Koh rejected a ...
See all stories on this topic » 
APIとは【Application Program Interface】(プログラミングインターフェース ...
e-words.jp/w/API.html
APIとは:あるプラットフォーム(OSやミドルウェア)向けのソフトウェアを開発する際に使用できる命令や関数の集合のこと。また、それらを利用するためのプログラム上の手続きを定めた規約の集合。個々のソフトウェアの開発者がソフトウェアの持つすべての機能 ...
Lex_Oracle/Google lawsuit 
法庭對陪審團的問題只有一個:Google 在使用 Java API 的時候是否為在版權法律允許下的正當使用?陪審團全體一致認為「是的」,全票通過,Google 勝訴。
| 
 
Google Prevails as Jury Rebuffs Oracle in Code Copyright Case 
A jury ruled in favor of Google on Thursday in a long-running legal dispute with Oracle over software used to power most of the world's smartphones. | 
2012.5.9
Oracle v Google
Who owns the perk in Java?
    May 8th 2012, 0:28 by G.F. | SEATTLE
IN 2010 Oracle accused Google of pilfering its 
intellectual property (IP) for use in the Android mobile platform. It 
has since presented oodles of forensic evidence, including e-mails among
 Google executives and bits of allegedly copied program code. On May 7th
 a federal jury in San Francisco found in its favour. Sort of.
Google,
 the jurors decided, had indeed copied Oracle's IP related to bits of 
its Java infrastructure. For a start, the search giant purloined nine 
lines of Oracle's code for its own version of Java, out of 15m that make
 up the contentious software. Damages for this misdeed, which will be 
set at a later stage of the trial, cannot exceed $150,000 by statute. 
More controversially, Google was also deemed to have infringed Oracle's 
copyright by mimicking "the overall structure, sequence and organisation
 of copyrighted works", even where it had not directly copied any code.
Curiously,
 the jurors could not agree whether this infringement was in fact 
acceptable under the law. This means that Oracle cannot collect damages 
from Google (it was seeking up to $1 billion) or require Android to be 
partially rewritten, at least for now. To add to the confusion, it 
emerged that one juror had discussed the case with her husband, which 
the law forbids. Google has called for a mistrial. It now seems likely 
that this first part of the case, which now proceeds to humdrum patent 
disputes, will be either retried or appealed.
So, what is all the 
fuss about? Oracle's copyright-related accusations centred on two bits 
of software plumbing: application programming interfaces (APIs) and Java
 virtual machines (JVMs).
Start with APIs. These are the link 
which allows software developers to create applications which interact 
seamlessly with a programming language (like Java or C++) or a service 
(like Facebook or Twitter). Without an API, programmers would first have
 to suss out how the gears and cogs inside the target platform work, and
 then construct software to mesh with those. Moreover, different 
hardware platforms would require separate software versions, which would
 need to be constantly updated as languages or services are tweaked by 
their makers. APIs limit such inefficiencies.
Fortunately for 
programmers, they do not need to write software in machine code, an 
impenetrable string of 0s and 1s that a computer processor understands. 
Instead, a separate program called a compiler translates code written in
 a particular "high-level" language (whose vocabulary and syntax are not
 entirely unlike that in natural language) into machine-readable 
commands. APIs make coders' lives easier still, by providing access to 
ready-made chunks of code to perform some basic, well-defined tasks, 
from simple ones like displaying dates to the more complicated, such as 
creating encryption keys.
An API for a particular language is 
paired with a functional counterpart, a library containing snippets of 
code in that language which perform the tasks in question. These can be 
integral parts of languages, paid and licensed add-ons, or some 
combination of public source and free-but-copyrighted code. Then there 
is an instruction manual in plain, albeit technical English. It includes
 descriptions of what each snippet does, together with a command (known 
as a function call) that, if inserted into a program's source code, acts
 as a shortcut to the relevant section of the library. Any snippet in 
the library could be written from scratch—but this takes time and, 
crucially, fails to take advantage of the extensive testing the existing
 code in the library has been subject to. It is easier, and safer, 
simply to bung a reference to the required function into the newly 
created program.
To run on a particular piece of hardware, a 
program written in a high-level language must first be converted, or 
"compiled", into machine code (this typically happens after the program 
has been completed and prior to distribution). When the hardware runs 
the compiled program and reaches the function call, it jumps to the 
relevant section of the library (which is included in the completed code
 and compiled with it), runs the function's code, and jumps back to the 
main flow of the program.
Besides snippets of code in a high-level
 language, some APIs' code libraries contain portions pre-compiled 
for specific hardware platforms, with the appropriate one picked 
automatically when the remainder of the program is compiled for a given 
device. Java API code libraries contain only high-level code. A Java 
program is compiled all at once. This is where virtual machines come in.
A
 virtual machine is a computer program which simulates a physical 
processor. It allows applications designed for one platform, Microsoft 
Windows, say, to run on another, like Apple Macintosh. A Java VM is not 
itself written in Java but in another language like C++, and then 
compiled in the machine code for the device on which it has been 
installed. Every combination of processor and operating system (Apple's 
iMac running on an Intel chip, say) therefore has its own unique JVM.
Just
 as real processors understand a specific machine vernacular, all JVMs 
speak a machine-code-like version of Java (called Java byte-code). In 
effect, they act as translators between Java byte-code and the physical 
hardware's machine language. In theory, then, any Java program only 
needs to be compiled once and should run on any JVM, prompting Java's 
developer, Sun Microsystems (which Oracle bought in 2009), to hail it as
 "write once, run anywhere". 
In practice, however, Oracle offers 
four types of JVM which support distinct dialects of Java byte-code, 
tailored for smart cards, mobiles, desktops and servers. A program 
compiled for a server JVM may not necessarily work on a mobile JVM, or 
vice versa, as some elements needed to carry it out may be missing from 
the other sort of virtual machine. A slimmed-down mobile JVM, for 
instance, lacks the ability to perform complex server tasks, which are a
 drain on processing power and would unnecessarily slow down a 
smartphone. A server JVM, meanwhile, does not need to be able to be 
efficient about draining a battery.
Oracle also licenses other 
companies to create their own JVMs, on the condition that they can show 
that their virtual machines are capable of running any software written 
for at least one of the four classes of virtual device. This lets 
device-makers create bespoke JVMs for their gadgets.
Google 
created its own version of Java, which it dubbed Dalvik, for its Android
 mobile platform, complete with Dalvik APIs, libraries and VMs. Although
 Dalvik and Java differ on the surface, their structure and many 
features are identical. As a consequence, a Java program can be adapted 
to work in Dalvik and vice versa. Crucially, programmers who know one 
are by the language's fundamental similarities proficient in the other. 
When a Dalvik program is compiled for use on the Android platform, 
however, its byte-code is different from Java's—and therefore 
incompatible with other JVMs.
To create all its Dalvik 
paraphernalia Google relied on open-source projects, only some of which 
had secured licences from Oracle. It supplemented them with code of its 
own, without obtaining a licence. The upshot is that 37 of Dalvik's 173 
APIs are functionally identical to Java's (which itself sports a total 
of 166), albeit implemented using different underlying code.
All 
this irked Oracle in several ways, prompting the lawsuit. First, the 
company alleged that Google pinched bits of its code for Dalvik's 
API-associated libraries. Google admitted this but said it had removed 
the contentious snippets long ago. The jury agreed with Google, apart 
from the nine lines mentioned in its verdict. Second, Oracle accused 
Google of copying its language designs, using its API descriptions, and 
building a virtual machine incompatible with other elements of the Java 
infrastructure, without obtaining permission or licences. Here, the 
jurors agreed with Oracle.
In doing so, they were told by the 
presiding judge to assume that it is not just the particular wording of 
the plain-English API descriptions, the function calls, or the 
underlying code that are protected by copyright. So are the functions 
themselves, regardless of how they are implemented in software, at least
 so long as the functions' inputs and outputs are indistinguishable. 
Some observers found this odd, given that there is currently no clear 
doctrine about whether API functionality is in fact subject to 
copyright.
Either way, despite concluding that infringement had 
occurred, the jury still deadlocked on whether Google's actions fall 
within the "fair-use" doctrine, which in the context of software might 
be construed as permitting Google to figure out and emulate all that 
Java does without seeking a license or permission. The judge accepted 
this partial verdict and may yet bring his own opinion to bear on the 
question of doctrine at a later stage of the trial. 
Google 
insists that API functions, as separate from code, cannot be subject to 
copyright. That, Google has warned, would be like claiming ownership of 
ordinary words in a language. If its call for a mistrial is heeded, it 
will rehearse those arguments anew. If not, it is likely to appeal 
against the ruling, possibly all the way to the Supreme Court.
Many
 tech types are jittery about a verdict fully in favour of Oracle. 
Equivalent API functions based on distinct source code abound across all
 aspects of hardware, software and services, on the internet and 
offline. If the court ultimately sides with Oracle it might reshape the 
nature of technological development. | Google's Tim Lindholm faces off with David Boies on Java license CNET Tim Lindholm said that he didn't mean that Google needed a license for Java in his 2010 email that said, "We conclude that we need to negotiate a license for Java under the terms we need." by Dan Farber April 19, 2012 12:51 PM PDT Follow @dbfarber ... See all stories on this topic » | ||
| Google Employee Testifies His Java Email Was Misinterpreted Wall Street Journal By John Letzing Of DOW JONES NEWSWIRES SAN FRANCISCO (Dow Jones)--The Google Inc. (GOOG) employee who wrote an email that Oracle Corp. (ORCL) said bolsters their infringement case against the Internet giant testified Thursday that the internal memo was ... See all stories on this topic » | ||
| Google Engineer Says E-Mail Didn't Refer to Java License BusinessWeek By Karen Gullo on April 19, 2012 A Google Inc. software engineer testified that when he wrote in a 2010 e-mail, “We need a license for Java,” he didn't mean a license from Java's creator, Sun Microsystems Inc., or any other company. See all stories on this topic » | ||
| Apple, Google, Intel fail to dismiss staff-poaching lawsuit Reuters By Jonathan Stempel (Reuters) - Apple Inc, Google Inc, Intel Corp and four other technology companies were ordered by a judge to face an antitrust lawsuit claiming they illegally conspired not to poach each other's employees. District Judge Lucy Koh in ... See all stories on this topic » | ||
| EXPLAINER: Here's What Google And Oracle Are Fighting Over (ORCL, GOOG) San Francisco Chronicle After the excitement of Larry Page and Larry Ellison testifying earlier this week, the Google-Oracle trial has turned into a highly technical discussion about Java. So what the heck is really going on? Here's our brief explainer. See all stories on this topic » | ||
| Oracle probes Google engineer about key email Reuters By Dan Levine | SAN FRANCISCO (Reuters) - A Google engineer, testifying in a high-stakes trial pitting Oracle Corp against Google Inc, denied that he referred to Oracle or any other company when he wrote in an email that Google should take a license to ... See all stories on this topic » | ||
| 
 | ||
| APIs take center stage at Oracle-Google trial CNET The scene of the Oracle-Google trial Thursday was more like a computer science classroom than a courtroom as the witnesses explained the inner workings of Java and APIs. by Dan Farber April 19, 2012 10:26 AM PDT Follow @dbfarber The scene of the ... See all stories on this topic » | ||
| Oracle Vs. Google: Tour The Evidence InformationWeek Google CEO Larry Page took the stand and gave Oracle's attorney's little with which to work. There were no unexpected revelations or confessions. In part, that's because both companies have already laid out their cases in slide decks that summarize ... See all stories on this topic » | ||
| Apple, Google, others to face antitrust suit over staff poaching Los Angeles Times By Jessica Guynn SAN FRANCISCO -- Apple, Google, Intel, Pixar and other high-tech companies will face an antitrust lawsuit that alleges they illegally conspired not to poach each other's staffers. San Jose US District Court Judge Lucy Koh rejected a ... See all stories on this topic » | 
APIとは【Application Program Interface】(プログラミングインターフェース ...
e-words.jp/w/API.html
APIとは:あるプラットフォーム(OSやミドルウェア)向けのソフトウェアを開発する際に使用できる命令や関数の集合のこと。また、それらを利用するためのプログラム上の手続きを定めた規約の集合。個々のソフトウェアの開発者がソフトウェアの持つすべての機能 ...Lex_Oracle/Google lawsuit
Why didn’t Google just sign
 up for a licence and move on? Oracle’s lawsuit alleges that when Google
 used the Java programming language as the basis for its Android mobile 
operating system – without taking a licence – it misappropriated 
intellectual property Oracle acquired when Oracle bought Java, along 
with Sun Microsystems, in 2009. The trial is set to start today. A 
licence would not have been expensive. There is even a free, open-source
 version.
As Oracle tells it, Google built Android out of Java building blocks 
so that it would be easy for the legions of existing Java developers to 
write Android applications. But it didn’t want to make Android fully 
compatible with other Java-based platforms, which taking a licence would
 have required.The idea was to keep the applications within the Android ecosystem, and under Google’s control. Developers can check in, but they can’t check out. This damages “the entire Java ecosystem”, according to an Oracle lawyer, because part of the value of any Java application is in its ability to “talk” to all the others.
This story turns the images of Android as open software, and of Google’s “don’t be evil” ethic, upside down. Oracle is also cast against type, as the defender of openness, protecting compatibility in the name of all Java developers.
Yet it is a bit hard to see how Google has harmed Java developers by building the first viable mobile operating system they can use and profit from. Anybody who has written an app for Android will have little trouble recasting it for another Java platform. Oracle is more likely concerned to participate in the future of a popular operating system that may grow beyond phones, and even enter Oracle’s core market, business software.
Of course, all of this is only relevant if Google is found to have violated Oracle’s intellectual property, which Google denies. There will only be reparations if there was a theft.
| Google: Oracle Wants To Glom Onto Android's Success InformationWeek Day two of trial featured Oracle CEO Larry Ellison on the stand, plus Google assertions that case boils down to Oracle trying to latch onto Android's accomplishments. By Thomas Claburn InformationWeek Defending itself in a San Francisco courtroom ... See all stories on this topic » | ||
| 
 | ||
| Google and Oracle battle over the future of Android CNN By David Goldman @CNNMoneyTech April 17, 2012: 3:49 PM ET Google CEO Larry Page (left) and Oracle CEO Larry Ellison will testify against one another in the coming weeks. NEW YORK (CNNMoney) -- A landmark court battle between Google and Oracle has begun ... See all stories on this topic » | 
 
沒有留言:
張貼留言