|
Oracle v. Google - What's the Deal With the Java Specification License? |
|
Wednesday, April 18 2012 @ 01:45 PM EDT
|
The opening statements having been made, and it is worth a look at some of the slides presented by each of the parties regarding the use of the Java API specification (i.e., the narrative telling you what needs to be in an API implementation) and the claims of each party. There is a clear disconnect between what Oracle claims and the practices that Sun and now Oracle follow when it comes to the Java API specifications, and it shows up graphically when one looks at the following slides and then looks at the actual Java API specification license. Let's start by looking at the Oracle slides.
On Oracle slide 33 Oracle asserts that one must have a license to "provide class libraries based on Java API designs." Of course, this is already a bit ambiguous because they don't say what kind of license you actually need, just that you need to have some form of license. You will also note that they love to now use the term "designs" instead of "specifications." That clearly is intended to boost their asserting that there is creative expression protected by copyright in those specifications.
Then Oracle makes the bold statement that "Google took Java API designs." Not that Google obtained a license to the Java API specifications that permitted Google to make an independent implementation of those specifications. Took. Stole.
Next Oracle asserts that "Google copied from Apache Harmony knowing that it was not licensed." But look at the highlighted text on this slide. It doesn't talk about the specification license, it talks about Java SE TCK license. As we will learn, these are two very different licenses, and there is nothing in the Java API specification license that requires a party to enter a Java SE TCK license.
Just to further deceive the jury, Oracle then talks about its ownership of the copyright in Java 2 SE and display their copyright registration. Of course, that registration proves nothing about the copyright protection that may or may not exist with respect to Java 2 SE. Any copyright protection that may cover J2SE existed at the time it was written. Registration is only required in order to bring an action for infringement, and there is nothing in the act of registration that conveys copyright protection to that which cannot be protected by copyright.
Oracle persists in its assertions that Google COPIED from the API specifications (DESIGNS) in creating Google's independent implementation thereof. As we will see, this assertion is inconsistent with the Java API specification license.
Finally, Oracle implies that, by consulting (READING) the API specifications (Java docs) and creating an independent implementation, Google acted illegally.
In its opening Google states that it utilized portions of the open source Apache Harmony in building Android.
Google also points out that Apache Harmony, while not TCK compliant, could freely ship, a point that Sun conceded.
Finally, Google emphasizes that an API specification is not the same as the source code that actually implements that specification.
So which of these two versions of the facts is the more correct? Well, to understand that you need to understand that there are two licenses from Sun/Oracle involved. One license pertains to the API specifications, and, as noted here, Oracle asserts that "Any use or implementation of this Specification is subject to this License agreement." The specification license is found here.
The first thing to note about the specification license is that it says nothing about trade secrets or confidentiality. In other words, Oracle does not claim that the specifications are protected as trade secrets, only under copyright (and possibly patents). That is material because one's right to restrict another's use of material protected by trade secret are far broader than the rights to restrict under copyright. Here are the operative sections of the specification license:
1. _License for Evaluation Purposes_. Sun hereby grants you a
fully-paid, non-exclusive, non-transferable, worldwide, limited license
(without the right to sublicense), under Sun's applicable intellectual
property rights to view, download, use and reproduce the Specification
only for the purpose of internal evaluation. This includes (i)
developing applications intended to run on an implementation of the
Specification, provided that such applications do not themselves
implement any portion(s) of the Specification, and (ii) discussing the
Specification with any third party; and (iii) excerpting brief portions
of the Specification in oral or written communications which discuss the
Specification provided that such excerpts do not in the aggregate
constitute a significant portion of the Specification.
2. _License for the Distribution of Compliant Implementations_. Sun also
grants you a perpetual, non-exclusive, non-transferable, worldwide,
fully paid-up, royalty free, limited license (without the right to
sublicense) under any applicable copyrights or, subject to the
provisions of subsection 4 below, patent rights it may have covering the
Specification to create and/or distribute an Independent Implementation
of the Specification that: (a) fully implements the Specification
including all its required interfaces and functionality; (b) does not
modify, subset, superset or otherwise extend the Licensor Name Space, or
include any public or protected packages, classes, Java interfaces,
fields or methods within the Licensor Name Space other than those
required/authorized by the Specification or Specifications being
implemented; and (c) passes the Technology Compatibility Kit (including
satisfying the requirements of the applicable TCK Users Guide) for such
Specification ("Compliant Implementation"). In addition, the foregoing
license is expressly conditioned on your not acting outside its scope.
No license is granted hereunder for any other purpose (including, for
example, modifying the Specification, other than to the extent of your
fair use rights, or distributing the Specification to third parties).
Also, no right, title, or interest in or to any trademarks, service
marks, or trade names of Sun or Sun's licensors is granted hereunder.
Java, and Java-related logos, marks and names are trademarks or
registered trademarks of Sun Microsystems, Inc. in the U.S. and other
countries.
3. _Pass-through Conditions_. You need not include limitations (a)-(c)
from the previous paragraph or any other particular "pass through"
requirements in any license You grant concerning the use of your
Independent Implementation or products derived from it. However, except
with respect to Independent Implementations (and products derived from
them) that satisfy limitations (a)-(c) from the previous paragraph, You
may neither: (a) grant or otherwise pass through to your licensees any
licenses under Sun's applicable intellectual property rights; nor (b)
authorize your licensees to make any claims concerning their
implementation's compliance with the Specification in question.
4. _Reciprocity Concerning Patent Licenses_.
a. With respect to any patent claims covered by the license granted
under subparagraph 2 above that would be infringed by all technically
feasible implementations of the Specification, such license is
conditioned upon your offering on fair, reasonable and
non-discriminatory terms, to any party seeking it from You, a perpetual,
non-exclusive, non-transferable, worldwide license under Your patent
rights which are or would be infringed by all technically feasible
implementations of the Specification to develop, distribute and use a
Compliant Implementation.
b With respect to any patent claims owned by Sun and covered by the
license granted under subparagraph 2, whether or not their infringement
can be avoided in a technically feasible manner when implementing the
Specification, such license shall terminate with respect to such claims
if You initiate a claim against Sun that it has, in the course of
performing its responsibilities as the Specification Lead, induced any
other entity to infringe Your patent rights.
c Also with respect to any patent claims owned by Sun and covered by the
license granted under subparagraph 2 above, where the infringement of
such claims can be avoided in a technically feasible manner when
implementing the Specification such license, with respect to such
claims, shall terminate if You initiate a claim against Sun that its
making, having made, using, offering to sell, selling or importing a
Compliant Implementation infringes Your patent rights.
5. _Definitions_. For the purposes of this Agreement: "Independent
Implementation" shall mean an implementation of the Specification that
neither derives from any of Sun's source code or binary code materials
nor, except with an appropriate and separate license from Sun, includes
any of Sun's source code or binary code materials; "Licensor Name Space"
shall mean the public class or interface declarations whose names begin
with "java", "javax", "com.sun" or their equivalents in any subsequent
naming convention adopted by Sun through the Java Community Process, or
any recognized successors or replacements thereof; and "Technology
Compatibility Kit" or "TCK" shall mean the test suite and accompanying
TCK User's Guide provided by Sun which corresponds to the Specification
and that was available either (i) from Sun's 120 days before the first
release of Your Independent Implementation that allows its use for
commercial purposes, or (ii) more recently than 120 days from such
release but against which You elect to test Your implementation of the
Specification.
First, let's focus on paragraph 1. Paragraph 1 purports to grant the rights to "view, download, use and reproduce the Specification
only for the purpose of internal evaluation." Okay, which of these "rights" are rights reserved to a copyright holder (we are going to ignore any Oracle patent claims for now because they are largely irrelevant). Copyright reserves to the holder the right to exclude others from "copying, modifying (making derivative works), and distributing." (While there are some other rights, they do not particularly pertain to software or written documents such as a specification, e.g., you are unlikely to "publicly perform" a specification.) Whoa, wait a second. While downloading is arguably copying or distribution and reproducing is copying, where are the exclusive rights under copyright to exclude others from viewing or using? They don't exist! So Oracle is claiming to grant rights you already have!
In a similar manner, paragraph 2 of the license purports to grant the right to make an implementation from the specification. This is where Sun/Oracle are unhinged from reality. I don't need their permission to make such an implementation! That's like saying I need the permission of a HOW-TO author when I read his book and learn how to make a repair to the plumbing in my house. I have taken and used the IDEA expressed in the authors work, not the EXPRESSION itself. Also, note that the license in paragraph 2 is "under any applicable copyrights or, subject to the
provisions of subsection 4 below, patent rights it may have covering the
Specification." [emphasis added] Okay, so if I don't need Oracle's copyright, if any, in the specification to make an independent implementation and none of Oracle's patents pertain to such an independent implementation, then this section is entirely irrelevant.
Oracle goes on, in paragraph 2, to say that your right to create and distribute an independent implementation is subject to meeting the requirements that it:
a) fully implements the Specification
including all its required interfaces and functionality; (b) does not
modify, subset, superset or otherwise extend the Licensor Name Space, or
include any public or protected packages, classes, Java interfaces,
fields or methods within the Licensor Name Space other than those
required/authorized by the Specification or Specifications being
implemented; and (c) passes the Technology Compatibility Kit (including
satisfying the requirements of the applicable TCK Users Guide) for such
Specification ("Compliant Implementation").
Again, this does not say that I can't create an independent implementation that doesn't do these things, only that I am not covered by the purported Oracle copyright and patent license grants if I don't do them. This interpretation is further buttressed by the following language in paragraph 3:
... except
with respect to Independent Implementations (and products derived from
them) that satisfy limitations (a)-(c) from the previous paragraph, You
may neither: (a) grant or otherwise pass through to your licensees any
licenses under Sun's applicable intellectual property rights; nor (b)
authorize your licensees to make any claims concerning their
implementation's compliance with the Specification in question.
It doesn't say I need this license grant to make an independent implementation, only that without this license grant I can't pass along any rights I may have received from Oracle.
The license defines an independent implementation as:
... an implementation of the Specification that
neither derives from any of Sun's source code or binary code materials
nor, except with an appropriate and separate license from Sun, includes
any of Sun's source code or binary code materials.
It would seem pretty clear from that definition that Google made an independent implementation.
So where does this whole thing about the field-of-use restrictions (that prevent an independent implementation from being used on mobile devices) come into play. Why, it's in that separate TCK license referred to in Oracle's third slide above. But notice that in that slide Oracle maintains that "[t]hese restrictions prevent Apache Harmony from implementing Java SE." They do no such thing! Apache never signed the TCK license. That didn't prevent Apache from creating and distributing Harmony; it only meant that they couldn't call it Java or imply that it was Java-compliant, a point which Sun admitted (see Jonathan Schwartz's comment in the second Google slide).
Many of Oracle's claims and presentation in this case will be based on misdirection and creating a false understanding of Oracle's rights and Oracle's right to restrict the activities of others. The Oracle position is in direct conflict with the previous statements and actions of Sun upon which Google relied. If Google can keep the jury straight on these points, Oracle will be shown to have significantly overreached in bringing the copyright claims in this suit.
|
|
Authored by: darrellb on Wednesday, April 18 2012 @ 01:57 PM EDT |
It seems that Oracle is attempting to control use of the specifications like
one would control software. That is, restrict use and enforce via EULA.
Oracle ignores the fact that written specifications are not software.[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 02:00 PM EDT |
So, basically, Google aren't complying with a license that they never asked for,
needed, or asked for? The scoundrels.[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 02:02 PM EDT |
... [ Reply to This | # ]
|
|
Authored by: rsteinmetz70112 on Wednesday, April 18 2012 @ 02:02 PM EDT |
I think this clearly is going down the path of an EULA.
The purported license seems to be saying you can't download a copy of their
specifications unless you agree to these terms, which require you to give up
rights you would otherwise have.
Was the Specification available in other forms? Like could you buy a copy?
---
Rsteinmetz - IANAL therefore my opinions are illegal.
"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk
[ Reply to This | # ]
|
|
Authored by: SilverWave on Wednesday, April 18 2012 @ 02:05 PM EDT |
:-)
---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions
[ Reply to This | # ]
|
|
Authored by: SilverWave on Wednesday, April 18 2012 @ 02:06 PM EDT |
:-D
---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions
[ Reply to This | # ]
|
|
Authored by: SilverWave on Wednesday, April 18 2012 @ 02:07 PM EDT |
;-)
---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions
[ Reply to This | # ]
|
- Is Speed Trader Mark Gorton Killing Wall Street? - Authored by: joef on Wednesday, April 18 2012 @ 03:54 PM EDT
- They already do. - Authored by: Anonymous on Wednesday, April 18 2012 @ 08:56 PM EDT
- Coming to Alsup's Court? Leave Cough, Heavy Hands at Home - Authored by: Anonymous on Wednesday, April 18 2012 @ 04:41 PM EDT
- Google Boss Takes Stand in Oracle Trial, Dodges Android Questions - Authored by: PolR on Wednesday, April 18 2012 @ 11:26 PM EDT
- Welcome to the Google-Oracle Patent Circus - Authored by: Anonymous on Thursday, April 19 2012 @ 02:34 AM EDT
- Florian Mueller Admits Oracle Has Hired Him. Raise Hand If Surprised - Authored by: dio gratia on Thursday, April 19 2012 @ 04:16 AM EDT
- Google CEO Can't Recall Much in Trial Over Patented Java Tech - Authored by: Anonymous on Thursday, April 19 2012 @ 05:08 AM EDT
- Future News pick: Larry Ellison knocks Oracle's Linux strategy - Authored by: Winter on Thursday, April 19 2012 @ 07:13 AM EDT
|
Authored by: SilverWave on Wednesday, April 18 2012 @ 02:08 PM EDT |
:-|
---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions
[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 02:16 PM EDT |
From Brandon Baileys tweet feed
2-3 days for $7.4Billion is not due diligence.
It's a punt at best, corporate negligence at worst.
I don't care how big your team of advisers is, you can't even check the asset
register of a company like Sun in 3 days.
Heads they win.
Tails you lose.
If Oracle fail to win the purported billions they are owed, that light at the
end of the tunnel is a more likely to be a shareholder class action steam
locomotive at full speed.
[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 02:18 PM EDT |
All this seems completely irrelevant since to just read the publicly published
API (class names, method names) you don't need to accept that license. And you
don't even need to go read them on Oracle's website, you can read the IBM
version, the Apache version, the GNU version, buy a book in a bookstore, or just
yum install java-1.6.0-openjdk-docs and read your local version.
Unless Sun/Oracle somehow got everybody to agree (click-through EULA?) to a
license before reading these public documentation I don't see how they can even
claim such a license is relevant.[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 02:47 PM EDT |
When you do or do need a license (for what BTW. copyright, trademarks, patents?)
seems like a simple question of law.
So why does the judge just let them go on and on about this hypothetical license
nobody even really needs? Shouldn't he just intervene and make clear to the jury
Oracle is just making stuff up?[ Reply to This | # ]
|
|
Authored by: sproggit on Wednesday, April 18 2012 @ 02:47 PM EDT |
There is an interesting aspect to this case that mirrors what we witnessed when
SCO accused IBM of putting SCO copyright materials into the Linux Kernel.
In both cases, one party remained consistently vague and evasive with respect to
the evidence that they would bring to trial, the exact alleged infringing code
and the exact alleged nature of the infringement. The other party was able to
respond with flawless clarity, specificity and accuracy to any accusation, once
it was clear what was being accused.
In both cases, one party continually adapted the story relating to the alleged
misdeed. There were patents involved. Then there weren't. Well, there were
thousands of lines of copyrighted code involved, then there weren't. In short,
one party continually adapted their claims as their opponent continued to
refute, fact for fact, each of the claims being made.
I've been thinking about the reasons for that.
Now, it would be simplistic to say that the party with the variable story was
just lying at the outset, and has had to continually adjust their tune to match
events as they unfolded. This would be a little unfair in Oracle's case given
that much of their case was built around patents that legitimately existed but
which were subsequently overturned by re-examinations of the USPTO.
It might also be simplistic to say that in both court cases the party with the
flexible case happened to be represented by BSF. Though we might infer that such
a variable set of legal arguments is merely part of their "MO" - so as
to not permit the other party to prepare adequately for trial. [ Let's leave to
one side the fact that the lawyers in the courtroom are supposed to be, first
and foremost, officers of the court.
Let's apply Occam's Razor and go with the simplest solution:
the party with the shifting story is prepared to go to any lengths - including
misdirection, sleight of hand, and perhaps not telling the entire truth - to win
the case.
I can only hope that this becomes apparent during the trial and that the jurors
draw the appropriate conclusions from that.[ Reply to This | # ]
|
- Spotting The Truth - Authored by: Anonymous on Wednesday, April 18 2012 @ 02:57 PM EDT
- Spotting The Truth - Authored by: Anonymous on Wednesday, April 18 2012 @ 04:52 PM EDT
- Occam's Razor - MS not relevant - Authored by: Anonymous on Wednesday, April 18 2012 @ 05:24 PM EDT
- Paranoia - Authored by: sproggit on Wednesday, April 18 2012 @ 05:41 PM EDT
- Paranoia - Authored by: PJ on Wednesday, April 18 2012 @ 05:53 PM EDT
- Paranoia - Authored by: Anonymous on Wednesday, April 18 2012 @ 07:52 PM EDT
- Chess - Authored by: sproggit on Thursday, April 19 2012 @ 01:49 AM EDT
- Chess - Authored by: PJ on Thursday, April 19 2012 @ 02:05 AM EDT
- Chess - Authored by: bilateralrope on Thursday, April 19 2012 @ 03:39 AM EDT
- Chess - Authored by: JK Finn on Thursday, April 19 2012 @ 06:02 AM EDT
- Paranoia - Authored by: Anonymous on Thursday, April 19 2012 @ 02:48 AM EDT
- MS, doubtful. Apple, likely. - Authored by: Anonymous on Wednesday, April 18 2012 @ 06:27 PM EDT
- Summing up: - Authored by: Anonymous on Thursday, April 19 2012 @ 06:28 AM EDT
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 04:56 PM EDT |
We need to drop all this nonsense, port hadoop to some other language and
exclusively adopt postgresql for big data.
We'd be better off performance
wise and in every other way. [ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 04:57 PM EDT |
Seems Oracle is pressing Google to come up with other "unlicensed"
examples. Even though I don't know how/why Google would have to know, here are a
couple just in case it matters.
Apogee sells virtual machines their news page mentions which versions use GNU
Classpath or Harmony as their core class library http://www.apogee.com/news
Aicas http://www.aicas.com/ sells JamaicaVM some versions which are based on the
GNU Classpath core library. For example this one:
http://www.aicas.com/jamaica/3.4/doc/html/index.html
They worked together with ESA (European Space Agency) on AERO-VM
Boeing uses OVM for unmanned aerial vehicles using GNU Classpath.
http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA456895
http://www.cs.purdue.edu/homes/jv/soft/ovm/n.html (scroll down to see Gosling
present it at JavaOne!)
Transvirtual used to market Kaffe, which was a completely independent
implementation https://en.wikipedia.org/wiki/Kaffe
http://linuxpr.com/releases/2225.html.
As was Wonka from Acunia. http://en.wikipedia.org/wiki/Wonka_VM
http://www2.prnewswire.co.uk/cgi/news/release?id=74791
Sadly both companies don't exist anymore, so maybe the market for alternative
java implementations isn't that big/great. But now that Google has shown it can
be big/great suddenly Oracle pays attention?
And obviously everybody that distributes GCC (GNU Compiler Collection) which
contains GCJ (GNU Compiler for the Java programming language) which includes
lots and lots of big and small companies. Including of course two of the biggest
IBM and Oracle:
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/gcc/
http://public-yum.oracle.com/repo/OracleLinux/OL6/1/base/x86_64/libgcj-src-4.4.5
-6.el6.x86_64.rpm [ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 05:10 PM EDT |
In the 90s SUN Microsystems copied the Windows APIs and Windows Designs into a
SUN Product: "WABI" (Windows ABI) which was sold and suppoerted by
SUN. It was a clone of Windows 3.1.
How do SUN's claim of ownership of the Java Design and copying them contrast
with SUN's copying with WIndows Desing and copying those?
Also Larry Ellison claims that when founding Oracle they copied the designs of
the relational database technology developped by IBM and used those papers and
public documents as their design documents. So Oracle copied the relation
database designs from IBM.[ Reply to This | # ]
|
|
Authored by: sproggit on Wednesday, April 18 2012 @ 05:51 PM EDT |
Tin foil hats at the ready please...
Oracle paid $7.4 Billion for a company then valued at $5.6 Billion. The deal
included Oracle essentially buying up all of Sun Microsystem's debts. As Sun's
10Q showed, they were burning cash at a frightening rate, and racked up
significant operating losses in their most recent 10Q.
So along comes Oracle and pays very significantly over-the-odds for Sun. For
now, for this speculative theory, it actually doesn't matter what their prime
motive was. [ If you've read my other posts you'll know where my suspicions lie
].
But how about it?
Oracle pays $1.8 Billion over-the-odds for Sun. Let me re-state that. $1.8
*Billion* more than the company was worth. That's more than 30% over-the-top.
If you were an institutional shareholder in Oracle, how would you feel about
that? Annoyed, maybe? Perhaps you'd feel that the value in Oracle that you'd
bought into was being diluted with this rash business deal?
Well...
Oracle got:-
Hardware and maintenance contracts [but the engineers left]
OpenOffice [but they upset the community, so it forked to LibreOffice]
MySQL [but that was available free anyway]
Solaris [but that only generates revenue off the back of hardware sales, which
were falling]
and...
JAVA...
Kerching!!!
Maybe - just maybe - Oracle needed something to "justify" their
decision to buy Sun. Justify it to their shareholders. So how do you justify the
purchase? Well, one way would be to start to generate some revenue from all the
various bits of the company that you just bought, even if it meant trying to
find ways of charging for things that weren't previously charged for...
We can all see from Oracle's case that they are changing the rules with respect
to charging for JAVA [ witness the way that Apache and Google have been treated
so differently ].
Maybe Mr Ellison is actually running scared? Maybe the directors actually really
need to have a big deal on the table to justify the purchase of Sun. Maybe the
$4 Billion or $5 Billion or whatever the original sum they demanded was actually
calculated to offset the loss of a rash purchasing decision.
You think?
Like I said, a whacky idea...[ Reply to This | # ]
|
|
Authored by: MDT on Wednesday, April 18 2012 @ 07:43 PM EDT |
I posted this in response to someone who wanted to know where the line was
between the non-creative functional bits and the creativity, given that APIs
were creative.
-----------------------------
Why would you say an API specification is 'creative'. Have you even considered
what you're talking about?
Assignment : Please write an API specification for our new programming language,
called FU. The API in question is an Average function. Please see any
mathematics text book to find out what 'average' is. It should be able to handle
multiple numbers at once in some way, not just two. Ensure that the
specification follows standard object oriented programming rules. This is the
first mathematical function for our new language, so your solution will be used
as a guide for future API specs (Mean Value, Maximum Vale, Minimum Value, Etc).
Response : Hmm, a function specification for an average function? Ok, let's see.
We're using OOP rules, so we should have a class library. Since we're doing
mathematical operations, I'll call it MATHEMATICAL. No, that's too long, I don't
want to type that all the time. Ok, MATH it is. And multiple arguments huh?
Well, I can either have an unlimited argument list, or I can have an array of
numbers. I'll write up both. Hmm, call it Average_Numbers? No, too long again.
Average? Nah, AVG will work. Ok, I probably ought to handle multiple number
types too, integers, decimals both.
decimal math.avg(num1 decimal[, num2 decimal, ... , numn decimal])
decimal math.avg([]numarray decimal)
integer math.avg(num1 integer[, num2 integer, ..., numn integer])
integer math.avg([]numarray integer)
There, one API specification. Written in 2 minutes flat, using standard class
nomenclature. This is not creative, it's the natural result of applying
programming best practices. If you go look at any class oriented language, it's
going to have something REALLY similar to those two lines as the spec for an
API.
The creative part, if you want to call it that, is the code that IMPLEMENTS
those API specifications.
---
MDT[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 08:19 PM EDT |
The express intent of the license is obvious - to protect
the Specification and it's distribution, so the point about
Sun "not claiming confidentiality" should be simple to
defeat. And if the Specification can be copyrighted as
creative work, whatever limits Sun/Oracle puts on use and
distribution of their copyrighted material is their own
business decision.
Whether API specification can be protected as creative work
is another question. Google in their slides compares
Specification (API) to Source code, which is known to be
protected as creative work. They imply in the slide that API
is akin to metaphorical "problem" or "result" definition,
and source code is akin to of of the creative "solutions" to
that problem.
Unfortunately for Google, that claim is incorrect. Any non-
trivial programming project consists of higher-level
function/class/structure specification (API), implementation
and use. Programming effort is spent circling between those
3 modes, and, generally, most of the time of high-level
experts working on project is normally spent in the
"specification" stage. That's why some have titles like
"architect". The implementation and use part can generally
be offloaded to underpaid "code-monkeys" if the high-level
specification is well defined and explained.
This means that most of the "creative work" spent on the
source-code is actually spent on it's API, protecting that
API as major part of creative work.
Imagine for a moment if that was not the case:
Say you get your hands somehow (either by working at MS or a
worker's forgetfulness) on source code of Windows 8
operating system. If specifications are NOT copyright-able,
you can remove all function implementations, or replace them
with explanations of results expected, and you would be free
to distribute that specification as well as make
"Independent Implementations" based on those, and sell them.
Even better, the documentation that pertains to the
functions in the code, except where it explains
implementation details, can be distributed and used as
well..
Does that sound realistic?
In fact, such a "specifications-only" source fork (or maybe
"header-fork") is different from Sun/Oracle's Java
specification only in amount of documentation. That is, Java
probably has much better documentation than your pirated
Windows source code ever will.
[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 09:22 PM EDT |
Thanks for the article but it is very old news. This is exactly why the ASF
wrote
its open letter to Sun - see http://www.apache.org/jcp/sunopenletter.html.
I'd love to see Google have that read to the jury. Note though that the lack of
the TCK never prevented the ASF from developing Harmony. It only limited
Harmony in claiming and proving it was a compliant implementation of Java
and calling itself Java.
Furthermore, Oracle's actions prove what a sham the whole JCP process is and
why the ASF was right to resign. What good are specifications where the only
allowed implementations are those blessed by Oracle?
I am glad that these slides aren't evidence because the very first slide -
"when
is a Java License necessary" is incorrect. The second item should be
checked
"No", in which case the copyright issue is out the door.
I have no idea why the judge hasn't yet thrown out the copyright suit but I
expect a summary judgment motion from Google that gets serious
consideration.[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, April 18 2012 @ 11:05 PM EDT |
This is interesting. From a legal perspective, how does this apply to an
archtect's blue prints or Coca-Cola's secret formula? What about the
design of a microprocessor? Can i take intel's design and implement it as
specified? Are you unable to legally protect designs? Is a software design
different? Or, is this more about Sun's particular license?[ Reply to This | # ]
|
|
Authored by: Anonymous on Thursday, April 19 2012 @ 04:02 AM EDT |
or are they straight copies from Harmony?
Just curious.[ Reply to This | # ]
|
|
Authored by: Anonymous on Thursday, April 19 2012 @ 05:47 AM EDT |
The Oracle position just seems to confuse me more every day, glad I'm not on the
jury. They're saying that:
a) It's NOT Java and is a fragmenting fork (they stole our copyrights!!)
b) It IS Java and needs to be licensed (just like Apache Harmony... oh wait)[ Reply to This | # ]
|
|
Authored by: Anonymous on Thursday, April 19 2012 @ 06:47 AM EDT |
I get the impression Oracle are claming that by GPLing they avoid fragmentation
- but surely, I can take the GPL Java, break it completely, and as long as I
publish my code, I can release incompatible VMs?[ Reply to This | # ]
|
- Fragmentation - Authored by: Anonymous on Thursday, April 19 2012 @ 07:42 AM EDT
- Fragmentation - Authored by: Anonymous on Thursday, April 19 2012 @ 08:16 AM EDT
- No. - Authored by: Anonymous on Thursday, April 19 2012 @ 08:19 AM EDT
|
Authored by: Anonymous on Thursday, April 19 2012 @ 08:36 AM EDT |
Oracle's arguments appear to have more holes in them than a screen door, but
this attempt to confuse design with specifications could be their undoing.
There are really three things involved;
- Design (what it looks like)
- Specification (size, dimension, weight, length, what it does)
- Construction (how it works)
Design: Parameters get passed to a function/method, the function performs
operations on the item(s) it receives and returns a result.
Specification: Provides the details of an API element, i.e.
Result = Max([numeric value],[numeric value],[...])
Max takes a set of numeric values and returns the one that is the largest.
Implementation: How it is done
This is the code, the 'how it's done'.
One could argue that API design is universal, they all get used the same way,
you give it parameters and they return results of some kind.[ Reply to This | # ]
|
|
Authored by: iraskygazer on Thursday, April 19 2012 @ 12:36 PM EDT |
Keep the eye on the prize. What about the fact that a specification can't be
copyright protected; and the fact that Oracle seems to think that the words
specification and design are interchangeable? If a specification could be
protected by copyright how could a simple bolt for an airplane or auto be
manufactured without infringing on the rights of the creator of the
specification? Oracle is way off course on their argument. And in some cases it
seems that they are outright lying to the court and jury when reinterpreting the
words specification and design. You design specifications but you don't
specification designs.
Also, specifications provide a mode of collaboration so entities, like engineers
and software programmers, speak about the same or similar concepts and ideas.
The term specification automatically implies that the information is to be
shared.
[ Reply to This | # ]
|
|
Authored by: Anonymous on Thursday, April 19 2012 @ 02:12 PM EDT |
Apache could just drop support for MySQL and specifically forbid it in a new
license. I think this is a good idea. There's always drizzle.[ Reply to This | # ]
|
|
|
|
|