Live data from Hacker News

Google’s copying of the Java SE API was fair use [pdf]

supremecourt.gov

351–360 of 965 posts

Re: Google’s copying of the Java SE API was fair use [pdf]

#351
post #192

Earlier quoted context omitted.

What bad things would have happened? This ruling specifically says that it was fair use, not that APIs are copyrightable - which seems to be the buggy man. As it currently stands, APIs absolutely fall under copyright laws.

Once you use someone's API, then they dictate where and when your program works, unless you rewrite your program to not use that API. Given the countless and fundamental APIs that are typically used in any program, do you not think that is a Bad Thing? Given that most programmers have assumed that to not be the case, it would be very bad for existing code at the very least.

Well, if you are looking at an API which’s license explicitly forbids copying, I would stay away from copying it. While this case do give a precedent, it is much more about this specific case being a fair use according to the supreme court, than on whether APIs itself are copyrightable.

Also, given most programmers’ assumptions, I would not base much on that alone :D But IANAL, so do ask one, to be safe.

Re: Google’s copying of the Java SE API was fair use [pdf]

#352

Earlier quoted context omitted.

So if I copy the entire A volume of Encyclopedia Britannica, but leave B-Z alone, I'm good?

No but it’s okay to copy all the entry names in the encyclopedia and fill in the content yourself

This is an excellent metaphor but now I am curious, is it literally true?

Re: Google’s copying of the Java SE API was fair use [pdf]

#353
After experiencing 'good' and 'bad' API design, I'm really hoping that people who invest in creating great APIs get to benefit from their hard work even after this.

This decision doesn't appear to speak to why the 11,500 lines were actually important, other than to 'steal' developers away from Java - which in effect is poaching without the hard paper trail and paystubs.

So in the end, I find this setting us all up for the real battle... the utility of APIs and languages, which will bring us back to settle squarely what is a 'utility' & 'design' patent, and what is a copyrighted material.

I'm curious to know who will take it up -- I doubt anyone of consequence will be copying APIs after this.

Re: Google’s copying of the Java SE API was fair use [pdf]

#354

For better or worse, the same arguments ( "API is copyrightable" ) is what was used in the past to prevent 98's Microsoft from doing embrace-extend-extinguish to Java with their "JavaVM with P/Invoke'd Win32 API". The idea in that case was that when you try to implement something identical to the Java language and standard library, it doesn't matter if you call it Java or "Visual J++"; you are still implementing Java…

I'm not sure the "API is copyrightable" argument was relevant in the Microsoft-Sun case. Keep in mind that case was settled privately. Since it was never decided in court, it's hard to say what the most relevant claims were, but I don't see Sun making much of the copyright claim. They had a licensing claim because they claimed Microsoft had licensed the Java trademark but was not implementing it fully according to the spec. That seems rather different than this case.

Re: Google’s copying of the Java SE API was fair use [pdf]

#355

Judge William Alsup learned to code for this case, and was therefore able to avoid a lot of the BS being peddled around the significance of some of the code: > The argument centered on a function called rangeCheck. ... It was in Oracle’s interest to play up the significance of rangeCheck as much as possible, and David Boies, Oracle’s lawyer, began to argue that Google had copied rangeCheck so that it could take Andro…

I just took a look at the rangeCheck: https://majadhondt.wordpress.com/2012/05/16/googles-9-lines/ Is this example correct? Can someone explain to me how this: if (toIndex > arrayLen) is correct? If the array length is say 5, and toIndex is 5, that should still throw an index out of bounds exception, right? But it would be acceptable here.

Aside from the questionable inequalities, there's a missing closing parenthesis after the arguments on the first line, too.

EDIT: as has been pointed out, the inequalities are correct. The original code can e.g. be found here, including doc comments showing the intended meaning of the arguments: http://www.groklaw.net/pdf3/OraGoogletrialexhibits/2012-04-2... (all the way at the end)

Re: Google’s copying of the Java SE API was fair use [pdf]

#356
post #203

Earlier quoted context omitted.

I'm glad for the verdict but this is such bullshit. Google implemented exactly enough to create the illusion of letting people use their Java talents then dragged their feet with a half broken out-of-date language environment. And they did all this to save money, not some sort of noble rebellion or clever hack. > Sun offered a licensing deal of between US$30 and 50 million. Schmidt said Google would have paid for tha…

That's a thorough miss-understanding and misrepresentation of the situation. It also has nothing to do with open source specifically. Google never promoted Dalvik as being a licensed Java VM implementation and never claimed it was a compatible Java runtime. The license was for logos and trademarks. As long as they didn't use those logos and trademarks, there's no violation of the license for those things. The API cas…

This sounds like you read Jonathan Schwartz's testimony and almost misinterpreted it.

The license included using Java's name and trademark and that was for Sun's benefit, not Google. Google wasn't asking to call it a Java phone. That's why part of the testimony is actually Sun saying they'd pay for that

And the rest of your comment is completely missing the mark here.

You're saying MS was in the wrong with J++ because they licensed Java.

I'm saying MS was in the wrong because saying you're using language X then randomly not supporting parts of that language is a shitty thing to do when you have a large presence because then you start to fragment the language's user base.

Copyright be damned. (Which is exactly why I said I wish they could have taken a different angle)

-

Logo or no logo, for years Google said you program Android in Java.

Their "Java" did not track the language everyone else knows, using a strange smattering of features from 6 and 7 in this weird hybrid that hobbled along.

As a result there was plenty of confusion among developers about what worked on Android. As someone who has mostly held day jobs that involved Android for a decade or so now, I can confidently say it was problematic and Android dragging its feet while being such a large platform caused people to avoid using language features.

When Lambdas first landed for example, I remember multiple projects refusing to use them since there was no official way to support them on Android (retrolambda which was written by a former coworker of mine addressed this)

This is so simple, Android should have licensed Java, created a compatible implementation, and kept it up to date. Would it have been hard? Yes. Would it have been better for Android developers who ended up using wonky work arounds, people learning Java and dealing with two sets of rules, and the Java ecosystem as a whole? Also yes.

Re: Google’s copying of the Java SE API was fair use [pdf]

#357

Earlier quoted context omitted.

My understanding is no. Copyright requires human authorship (the case of the monkey selfie found it to be public domain because a monkey did it, e.g.), and code written by a machine is likely to follow similar precedent and be uncopyrightable.

Well if it's your monkey (or program) that generated it (music or art or whatever) and the monkey can't talk, what's to prevent you from copyrighting it?

You can certainly try to copyright it, but if the person who slavishly copies the case can demonstrate that you didn't write it yourself, you lose the copyright protection because you're not the author. There are copyright cases which turn heavily on who the actual author of the work in question is--the Happy Birthday song being perhaps the most famous.

Re: Google’s copying of the Java SE API was fair use [pdf]

#358

First of all, very good news. Second of all, what does this mean for Fuchsia, Dart, and related projects? I always assumed they were a hedge against Google having to pay exorbitant licensing fees to Oracle. Now that the threat has disappeared, will those projects be sunsetted too?

Given the investment going into Flutter for cross-platform mobile (and now desktop and web) development, I would be very surprised to see Dart get Google Readered.

To be honest, the investment into Flutter pales in comparison to Android (mobile, TV, ChromeOS, etc.). Flutter has always been a side project.

Re: Google’s copying of the Java SE API was fair use [pdf]

#359

Earlier quoted context omitted.

On the other hand, it's the sort of ruling that could make companies less skittish about using GPL software.

Solely because the GPL may now be so weak nobody is worried about enforcement. If Google can so blatantly create a monopoly scale business by ripping off something instead of complying with the license or licensing it separately, there is no teeth to the GPL at all, and releasing your business' code under GPL is an existential risk. They might use the GPL software, but feel no compunction to either open source their…

Except that Google only copied the API, so how does that apply to anyone doing more than that?

For that matter, how does that have anything to do with the GPL at all? If you distribute your software under a proprietary license instead, how does that affect whether anyone can reimplement your API? If somebody wants your implementation then they get it under your license. If all they want is their own implementation of your API then your license doesn't matter, does it?

Re: Google’s copying of the Java SE API was fair use [pdf]

#360

From the dissent: > The Copyright Act expressly protects computer code. It recognizes that a “computer program” is protected by copyright... And it defines “‘computer program’” as “a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.” §101. That definition clearly covers declaring code—sets of statements that indirectly perform computer function…

> Thomas seems confused here. An API (declaring code) is not a computer program. A computer cannot execute declaring code - by definition - because it is missing the implementation. This standard doesn't really make sense, and the legal standard says nothing about executability. What about programs with external dependencies, or a code snippet? Those won't necessarily be executable in a self-contained sandbox, but I'…

> Declaring code defines subprograms

Absolutely not. No points awarded.

Declaring code declares subprograms. They are defined by the implementation.

> A declaration provides basic attributes of a symbol: its type and its name. A definition provides all of the details of that symbol--if it's a function, what it does; if it's a class, what fields and methods it has; if it's a variable, where that variable is stored.

https://www.cprogramming.com/declare_vs_define.html

> the purpose of declaring code is to connect pre-existing method calls to implementing code

That sounds mostly right to me. Without declarations, the compiler cannot connect the function call to the implementation. Thomas ignores a crucial idea that decoupling definition & declaration enables multiple implementations for the same declaration.

> Declaring code creates the method calls.

That's nonsense. I have no idea what this means.

Post reply on HN