The Justice Department is weighing in on the hot-button intellectual property dispute between Google and Oracle, telling the Supreme Court that APIs are protected by copyright.
The Obama administration’s position means it is siding with Oracle and a federal appeals court that said application programming interfaces are subject to copyright protections. The high court in January asked for the government’s views on the closely watched case.
Words can’t describe how stupid this is, so here’s a picture of a bunny wearing a hat.
DoJ said that although headers are copyrightable code, their copying by Google is fair use. (Well, they didn’t state that it is fair use, but the language they used suggests that they think so, but don’t want to speak aloud until court decides.) This approach makes sense.
Sure.
Make illegal until proven otherwise something we (programmers who work as such) do daily.
Very good thing.
You’d better read the actual document instead of the article. DoJ basically says that:
1. declarations in headers are copyrightable and copyrighted,
2. copying declarations without copying the functions constitutes fair use.
That is: DoJ agrees that Oracle has copyright for those headers, but believes that Google didn’t violate it by copying these headers.
…and if a judge (or ultimately SCOTUS) decides to take the first part of the argument and not the second? Having judges and lawyers deciding things like this on their own is like having your accountant decide if you should have open heart surgery or not. I’m having the same apprehension as I had during the SCO era. SMH…
Edited 2015-05-28 13:28 UTC
That is ridiculous. Why would that be fair use? How would that be fair use? “Copying declarations” doesn’t even describe a use… Your conflating two different things.
The DoJ absolutely does not want to legitimize what you just described above. They want you to have to prove in court that how you are going to use the copyrighted (in their opinion) API constitutes a benefit to society in some way. I.e. they are saying it is illegal to copy copy declarations without copying the functions unless you can mount a successful fair use defense.
And to this point. Is Google’s use of Java’s api to create a nice API for Android that developers are familiar with, fair use? Used to prevent lock in?
Personally I think the DoJ’s argument is severely misguided.
There are commonly understood restrictions to copyright, i.e. things which cannot be copyrighted. Methods, systems, ideas, facts, recipes, formulas, algorithms, etc. This has absolutely nothing to do with Fair Use, the arguments covering these things individually are about the nature of these things, not the nature of how they are used.
Recipes (when expressed strictly as a list of ingredients) are not eligible for copyright because society has concluded that they are simply expressions of facts, not creative works. Throw in some prose and a dash of charm though and you can transform one into a creative work, which can be copyrighted. However, the copyright won’t cover the list of ingredients – while you managed to wrap it in some creative flair that doesn’t magical change what it is – there is still a list of ingredients, it is still a list of facts, and that list is not covered by the envelope of the copyrighted work.
APIs are exactly the same thing, and are ineligible for copyright for exactly the same reasons. A file containing API declarations might be eligible for copyright if there is enough “meat” in it, but it still contains a list of function names and parameters constituting a system by which to interface with the underlying implementation, i.e. a list of facts. Those facts have not been considered eligible for copyright historically. Put simply the prevailing wisdom has always been that you cannot own control over knowledge…
Fair Use is a completely different concept – it is an exception to copyright based on use. When a Fair Use defense is mounted, you are not challenging the validity of the copyright, you are arguing that your particular use trumps copyright. Even when you win a Fair Use case, the copyright you violated is intact. Winning a case on a Fair Use defense doesn’t weaken the copyright itself, it simply exempts you from it, based on how you used it.
Lets say the courts accept this argument, i.e APIs are eligible for copyright excepting cases of Fair Use. What they are really saying is that APIs are exactly the same thing as any other creative work – afforded no special treatment at all in the eyes of the law. They are no longer facts, they are now property – you can now claim ownership over the right to knowledge.
Unless you have a use case which benefits society (good luck with that) and the money and resources to mount a defense in court, the knowledge of how to interface with or recreate a compatible implementation of a piece of software is now useless unless you have been blessed by the copyright holder with a license. And now that the line has been pushed back, where will it be drawn? What about file format specifications (which like APIs are merely collections of facts)? Does it extend to that? Will you now be violating copyright merely by creating software to read a file someone else created?
This is all kinds of scary to me. It should be to you too.
Edited 2015-05-28 13:11 UTC
You are aware that the litigants in this case are very large corporations with unlimited legal resources. The argument that smaller entities and individuals are at a disadvantage in legal proceedings may well be true but has nothing to do with this case.
Read it yourself here: http://copyright.gov/circs/circ31.pdf
Doesn’t paragraph 1 pretty much perfectly describe a header file? Doesn’t paragraph 2 pretty much perfectly explain that while your header file might be copyrighted, the system or method is describes is not?
How can you read that and think you can get protection for an API…? That isn’t a random internet opinion – it is guidance published directly by the US Copyright Office.
I really want to know who paid the DoJ to write that brief and how much they were paid for it. Or maybe even what country’s laws it was based on – because it certainly isn’t based on US law…
Edited 2015-05-28 22:50 UTC
Sure the bunny can wear a hat, but we all know PEOPLE aren’t wearing enough of them.
How much Oracle contributed to the democrats to make this happen?
darknexus,
Most software engineers will agree it is 100% stupid for copyright law to block 3rd party implementations.
Who knows what’s happening behind closed doors. I am very unimpressed with this administration. Everything should be debated in the open, after all this country is supposed to be a democracy and the government is ostensibly supposed to be working for us… we’re screwed because neither of the two parties who have the means of being elected are willing to stand up for public interests.
Or perhaps it was Google snubbing the government’s spy operation by ratcheting up encryption…
Don’t forget that the copyright lobby (MPAA, RIAA, etc.) really hate Google – and it sounds like the guy who wrote this is an ex-MPAA crony too:
https://www.techdirt.com/articles/20150526/16550931121/obama-adminis…
Conspiracy theories can be fun
What is actually meant by “the API” in these court proceedings? The actual files themselves? Or the actual function/class names and signatures? What if you demangle the names from the binaries and regenerate those files? What if you write your own based on documentation?
If the principle still holds that copyright only protects expressions of ideas rather than ideas, then it is equal to no protection at all, since the actual files have no real value.
Oracle is claiming that function/class names are copyrightable.
This would be as if Khronos claimed copyright on not just “OpenGL”, but the function names such as glDrawArray that are used in the library, and then using copyright to prevent Mesa from using the same function names in their 3D graphics library.
Thanks.
Oracle is claiming that it has a copyright to the API. Google claims that the header files are are exempt from copyright.
The DOJ is disagreeing with Google but it is in no way agreeing with Oracle.
]{
I thought the original ruling (By the judge that actually bothered to learn Java for the purposes of the case) was that:
Google did violate copyright when copying the header files, but the violation was insignificant, and did not reduce Oracle’s ability to compete, so damages were set at $0.
And
The Java APIs themselves were not copyrightable, as they were necessary for interoperability, and were just functional interfaces, sort of how you can’t copyright the shape and location of the grooves on a key used in a pin tumbler lock.
However, Oracle appealed the decision, and the Court of Appeals sided with Oracle, saying that the APIs themselves were copyrightable.
And, that is where we are at now, waiting on whether or not SCOTUS will hear Google’s appeal of the Court of Appeals decision
I think Thom that you are misinformed. If you look at this link, for example …
https://github.com/lattera/glibc/blob/a2f34833b1042d5d8eeb263b4cf4ca…
You will see that it references a header file which includes a copyright. In this case it’s an FSF copyright. The FSF is asserting copyright for an extremely common and ubiquitous header file.
The government – in this context – is saying that the FSF ( and anyone else ) has the right to copyright header files and assert those copyrights. It specifically limits this to “copying of … code” and does not suggest that, in the absence of copying, a compatible implementation could not be created.
Moreover, the government specifically notes that Google, if it feels that it must copy the files for interoperability, should argue that under the fair use doctrine which is not mutually exclusive with copyright law.
This totally makes sense right? You can make an interoperable implementation ( say like SAMBA ) but you can’t just copy over all the headers to make the implementation interoperable.
]{
Edited 2015-05-28 03:56 UTC
Actually, I think the copyrights are added for the hell of it in most cases… It’s pretty much assumed that public headers are essentially “free for all”. In most cases, you can copy them and make minor formatting changes in such a way that they still work – but you’re not really fooling anyone – it’s the same thing in the end.
The real problem is that headers aren’t always just an API – often they’re full of macros and other small snippets of functional code. One might argue that the macros and functional code are copyrightable while the API is not – this could be an extreme gray area.
On second though – I think the comments in the header are copyrightable – if you stripped those out, I believe that you could essentially remove the copyright header.
Copyrights (at least in the Anglosphere) exist whether or not the thing explicitly says it has. So the inclusion or removal of copyright notice has no effect on its copyrighted status.
That’s why it’s such a hairy situation for APIs. If APIs are covered by copyright, coincidental replications would come under copyright.
Coincidental reproductions do not infringe on any other copyright. But they have to be actually coincidental.
In this case – they were not coincidental.
What does “coincidental” mean in this context?
According to the explanations given by other people above, this ruling would make coincidental reproductions an infringement.
Oracle are arguing for copyright over APIs, not just the files themselves.
They are arguing for the copyright of “Class.method(arguments)”. And in most computer languages there is only one exact way of expressing the API, making it impossible to prove that a reproduction was coincidental.
JAlexoid,
I think kwan_e was speaking hypothetically rather than about this specific case. Say a developer recreates the header files from a verbal description of the API. Even if he never saw the original header files, his header files could still infringe “coincidentally”. The legal distinction would have to boil down to whether his work is a derivative of the original.
1) If an API is subject to copyright, then I don’t see how anyone could claim one’s recreation of the API is not derivative. After all, the developer is intentionally copying the API even if he technically did not copy source files.
2) If an API is not subject to copyright, then it could clearly be demonstrated that his recreation of the header file is not derivative because the likeness to the original is purely coincidental. He clearly copied the API, but since it is not subject to copyright it would be permissible.
I have to agree with galvanash that APIs should not be a “fair use” exception, they shouldn’t have copy protection at all to begin with. Although analogies are often flawed, in this case the “recipe” analogy is spot on. API’s should not be copyrightable because they’re facts, and offering copyright protection for facts is dangerous. I think it’s stupid for us to even be considering API copyrights, but alas there are no bounds to the favors that politicians will do for their wealthy corporate constituents.
Edited 2015-05-28 14:29 UTC
If Google can successfully demonstrate this point, the court will probably rule in their favor.
The best comparison I can think of is when SCOTUS refused to hear a case brought by the Major League Baseball Association on whether or not they own player stats, and could require fantasy baseball leagues to license the player data. The US Court of Appeals said that player stats were facts, and facts could not be copyrighted. SCOTUS refused to hear their appeal, essentially affirming the lower court’s ruling.
Now, the MLB was arguing a “right of publicity” outweighed First Amendment issues (And both the Federal court and Court of Appeals ruled against them),and “right of publicity” is something born out of state law, not federal, but I can see that duplication of an API easily being made into a First Amendment issue.
Well they did actually… And a very good judge agreed with them and went so far as to overrule a jury based on that very argument.
Then the appellate court got their hands on it and wrecked one of the few notable court decisions concerning IP rights where the judge actually got it right.
Hopefully the Supreme Court accepts the case and rules based on existing law and common sense. Im not so confident though after reading the DoJ brief – the whole thing is starting to look like a snow job to me… Well see I guess.
umccullough,
Not to disrupt the conversation going on here, but in terms of the google/oracle case I don’t think it’s was google’s files so much as their use of the Java API itself. Google might very well have written the files from scratch using javadocs for reference, but it’s the API that oracle claimed infringement on. That’s why this is so infuriating: a collection of structures/function prototypes can’t be reimplemented without permission. The implication being: compatibility is not allowed.
Edit: Drumhellar’s post beat mine by a few seconds
Edited 2015-05-28 04:54 UTC
Its both.
Google DID copy few test suite files.
Google DID copy huge parts of API.
Google IIRC do not oppose sentence for former, just letter.
Its not FSF copyright!
Its FSF LICENSE!
Meaning Oracle used license worded by somebody else.
(Which in software world is best practice when we talk about free/open source software, nobody have time to learn bazillions of licenses)
Oracle still hold copyright. If somebody do not meet requirements set by license (like Android do not), then no license is granted.
So those few lines of actual code that got copied? Illegal. (Neigher Google nor Oracle claimed otherwise).
Those API’s?
Oracle is laughing stack of programmers community for that one.
Nobody done this, ever.
Sadly, it hold no value that 99,9% of us programmers are against. Single person backed by enough layers and lobbies seam to be enough to force new law on us.
Heck! I do not even live in USA. Patents are bad enough. Do not break software development more.
(On the other hand do it. Most software development will migrate to EU where I live )
Ummm… By necessity – it’s both. The first line starts with the word “Copyright” – and the rest has no meaning without the copyright. (i.e. The GPL and LGPL both rely on copyright law to propogate – if the FSF *don’t* have the copyright, they have no stick with which to cause you to stop doing the things they tell you not to do in the licence)
As an aside: I wonder about the US copyright law.
Isn’t there something about you having to *register* the copyright? – even if it’s for something European where copyright is an automatic part of creation?
xslogic,
Edited 2015-05-28 12:28 UTC
The White House and any part of it, which the DOJ is, are not a law making body. That is the domain of the parliament – Congress and Senate in the case of the US.
The administration’s responsibility is to execute the law. So whatever the DOJ or any authority contributes is essentially a legal opinion, not more.
It is for – supposedly – independent judges to decide what is according to the law.
I’m still confused why Oracle was taking this tack anyway. Even if you assumed that they were correct that APIs were copyrightable, isn’t this all based on GPL’d Java code anyway? Is Google doing something that violates the GPL license? Nothing in the GPL stops the creation of derivative works or to incorporate the GPL’d code into new works. I can lift a GPL class out of an enormous library and put it, source code and all, into my new library as long as I publish source and attribute, right? What’s so different here except it happened during a time when Oracle allowed Java to stagnate and Google got sick of waiting around for them so rolled some of their own duplicate capabilities around it?
Obama is the most tech-savvy president in history.