Sanity prevailed! This judgment could have had devastating consequences and turned software development into a copyright nightmare.
I also appreciate this fair use argument, especially when you point out the code in question was 0.4% of the entire API.
Still, I'll always struggle with the idea that "the amount and substantiality of the portion used" when copying an interface is comparable to copying an implementation. The interface is, intellectually, the substantially heavier, "bigger picture" component of the API than the implementation. In my view they are apples and oranges.
So, I'm glad this was the outcome. But I'll always feel like there was something wrong with Googe taking the Java SE interfaces and using them like they did, gratis.
Honestly, the fact that it's 0.4% is a BS heuristic. What if they spent a year and all they did was refactor the code so that codebase was 1.43 million lines instead of 2.86? Would that mean these lines of code are 2x as powerful?
Lines of code is an indicative heuristic, but not a deterministic one.
...at least I hope that's what they did.
Fair use makes sense to me when you're talking about the table of contents of a book. If I take the table of contents of a famous novel and write my own chapters, it makes sense to me that the owners of that book shouldn't be able to sue me. No one is going to read my book instead of Faulkner's. There's no equivalency there.
If I take an API (the table of contents equivalent of software), that's seems totally different, if not the opposite really: the interface is what matters, and the implementation is secondary. If you apply the analogy to a novel, it's as if I took the table of contents of a famous novel, write my own chapters, and it'll be equivalent to the famous novel. My chapters could be slightly "worse", but readers wouldn't necessarily notice a difference between my version or Faulkner's.
But that's kind-of the point IMO - if we take a free-market approach to this, copying (or sort of "standardizing" onto) an API allows for more innovation, since it's not a prohibitive up-front cost to switching the implementation. We don't copyright (or I guess patent, and I know they're different) the user interface of a fridge. Any fridge can have 2 doors and a slide-out freezer, but it's the actual implementation that would matter to a user - how energy-efficient it is, how cold it can get, extra conveniences (maybe akin to API extensions) like a water/ice dispenser that still can be "copied"/used by other fridges. And I'm sure that maybe those "interfaces" were patented originally, but it seems absurd now that they're so commonplace to restrict who can implement them.
I think the same applies for APIs. It's only taking away users from the original implementation if the new one is better.
This is NOT what the Court found. At the very top of the Opinion, it says "we assume, for argument’s sake, that the material was copyrightable. But we hold that the copying here at issue nonetheless constituted a fair use."
Rewriting history the way we do in the context has all kinds of problems associated with it
Ironically the most protected APIs may be the ones nobody implements.
Anyone using fork(), stat(), open(), or other basic parts of the UNIX development environment would be in violation.
Those copyrights were purchased by Novell at some point, and I believe ended up with Attachmate.
One would think that the C Programming Language is also covered by copyright via the K&R books, which would put anyone using printf() in the same position.
That is truly a nightmare scenario.
Absolutely, but courts are supposed to interpret the law, not rule whichever way avoids nightmare scenarios.
The risk of going too far in that direction (and this is by no means the first case in which SCOTUS c̶l̶e̶a̶r̶l̶y̶ may have rationalized a decision for pragmatic reasons) is that it makes the court more corruptible. I am glad the majority ruled this way, because I agree that it leads to a better outcome in this case. On the other hand, any departure from a pure interpretation of the law is very dangerous, because it normalizes the more-corruptible mode of operation, and that can lead to another kind of "nightmare scenario".
You should read the law in question. This would be Section 107 of the Copyright Act, which defines "fair use". It's extremely vague and is best interpreted as a set of considerations that the courts should take into account so that they can handle situations like this one on a case by case basis. If Congress wanted to be more prescriptive, they could (ETA: and if they become unhappy with the courts' decisions they still can in the future), but I think that would lead to worse outcomes.
I was really just responding to the implication that SCOTUS did the right thing because "it would be a nightmare scenario" otherwise.
The law also states that copyright's purpose is to stimulate progress of the arts, and that's why fair use is possible. Interpreting the law also means establishing the limits of fair use.
But, still, yes, determining the scope and applicability of fair use is part of applying the law.
That would seem a reasonable outcome, for much the same reason that copyright not protecting the appearance of fonts under US law is reasonable. Yes, it is overriding copyright protection for a creative work that would otherwise apply. However, it does so because a greater good is served, in this case by ensuring that interoperability cannot be encumbered, something which (as the majority opinion alludes) goes against the very purpose of copyright under US law.
One could argue that this is for the judicial branch, not the legislative branch, to decide.
Now, how do you let third parties program against that non-public API? Would only showing it to licensees be a legal way to do that?
If so, and if the API becomes popular, I don’t see how to prevent those licensees from leaking the API to the world, say through small code snippets on Stack Overflow.
One thing I do see happening is that sensitive and expensive to develop algorithm internals may be prevented from leaking into APIs. I, again, don’t see this as anything other than a win for devs. An API is fundamentally used to get stuff done, if a developer doesn’t need to know the implementation details I overall think this is a win for the developer using the API.
It’d sure have made the practice of taking someone else’s API and re-implementing the innards a lot more interesting:
A: some of those suits are still ongoing, and
B: the suits never alleged infringement based on the API alone, SCO was claiming that Linux copied functional code in multiprocessing modules (we don't know which functions because they demand secrecy, even though it's open source).
Not even SCO, trolls that they are, were insane enough to claim that the APIs themselves are copyrighted.
Also known as compatibility and interoperability. I'm so happy to see that judges understand their importance.
Actually, not really. Both this ruling and the lower courts' rulings in the case operated under the strange assumption that Android was not interoperable with Oracle Java, leaving programmer familiarity as the only reason Google copied the APIs. For example, in the Federal Circuit ruling that the Supreme Court just overruled, they complain that Google "points to no Java apps that either pre-dated or post-dated Android that could run on the Android platform". True; but of course third-party libraries often can run on both Android and Oracle Java, and their importance seems to have been lost on everyone involved in the case... including Google's own lawyers.
Thankfully, Google won anyway, so any defendant in a future case who can make a better interoperability argument will be in an even stronger position.
I _hated_ Scalia while he was on the bench. I fundamentally disagreed with him on a significant amount of his opinions.
Their actual opinions though are of such a different quality to me. Scalia's opinions I could absolutely follow the logic, and at times I found myself sometimes dispairing as I became convinced he might be right on an issue. Essentially, Scalia's logic usually felt on point to me, we just had deep axiomatic differences in how the law should operate and how the constitution should be applied to laws.
Thomas, though, I sometimes have a hard time understanding the argument he's presenting, and sometimes have a "how do you even believe that" reaction to his opinions.
Again, I think I disagreed strongly with Scalia opinions about as often as I do Thomas opinions, I just think they were for very different reasons.
I'm ok with either decision, but, depending on how this precedent going to be interpreted, it could have far reaching consequences, maybe unintentional/undesired ones too.
Seems like a net benefit to me :-)
No, it is not a first class ticket to unicorn valuation, but it is trivially easy to differentiate
- from Google by just providing any kind of customer service to all paying customers
- from AWS and GCP just by allowing on premise solutions
- from Facebook by not reliably failing to protect and/or actively exploit your customers all the time
Need proof? See Slack, WhatsApp and Instagram (before the acquisition), Basecamp etc etc.
GNU/Linux, a free reimplementation of AT&T's Unix interfaces, is largely why commercial Unix isn't really a thing any more.
IAAL but IANAIPL and most emphatically IANYL
But Google's lawyers (inexplicably, in my opinion) failed to talk much about the fact that many Java libraries are interoperable between Android and Oracle Java, leaving the courts to think only in terms of full applications which are not interoperable. Thus the courts have treated this case as if the only benefit to Android's reuse of Java was programmer familiarity.
Edit: For example, in the Federal Circuit ruling that the Supreme Court just overruled, they complain: "Indeed, given the record evidence that Google designed Android so that it would not be compatible with the Java platform, or the JVM specifically, we find Google's interoperability argument confusing. [..Google] points to no Java apps that either pre-dated or post-dated Android that could run on the Android platform." 
To argue interoperability Google would have needed to copy the entire JAVA SE API.
The key difference is that Java SE (designed for desktops) API was considered by Google mostly not required on smartphone/mobile devices envisaged for Android. Sun would only licence Java SE complete (Sun was the one wanting complete interoperability).
To the extent the concept of interoperability enters into it, it was on the human side; the arguments were about leveraging existing programmer knowledge to the extent that Android's requirements were shared with and common to Java SE.
Only if Google wanted to argue interoperability as defined by Sun/Oracle. I've never seen a coherent argument why Sun's TCK should be considered the sole authority on what degree of interoperability should have legal significance in this copyright case, particularly given that Sun's TCK was part of their trademark licensing program.
And there are obvious reasons why a court would shy away from letting something like Sun's TCK be used as part of a significant legal test; for example, it's really awkward for legal purposes to define something as copyright infringement while it's a work in progress, but it suddenly becomes okay as soon as it attains the status of being 100% compatible and bug-free. It's also not clear how the law could reasonably handle a definition of interoperability that Sun/Oracle can unilaterally make into a moving target and add arbitrary requirements to.
The court has to talk about programmer skills because Android (at least, the versions before they switched to OpenJDK) was not entirely source- or binary-compatible with Java SE programs. In fact, the reason why they couldn't license Java SE was that Sun insisted on Android being locked into compatibility in the first place. So this entirely represents an expansion of existing fair use precedent: now, not only does fair use apply to full reimplementations for the sake of interoperability, but also partial reimplementations made for the sake of programmer convenience.
Based on this court decision, it's apparently fair use to lift someone else's API and use it to jumpstart programmer familiarity with your product, if the author of the API previously tried to achieve success in that narrowly-construed, retroactively-interpreted exact same market segment and wasn't very successful.
I see a few things coming out of this. IP holder companies will become even more common: they will be used to hold copyright to one API and license it out to customers -- including independent companies that you would currently recognize as part of the same platform.
But because the IP holder does not provide an implementation and therefore does not 'compete' in a market segment, any unlicensed use of it is necessarily infringing: there's no innate functionality with which one can interoperate under the doctrine of fair use.
Not after this precedent, which says that APIs are free.
What will happen: Intel licensing the i86 instruction set will not be possible from now on, same for ARM.
Patents are what are generally what is used by Intel, etc to protect (and license) new CPU instructions and provide protection for novel ideas/inventions for up to 20 years.
Copyright generally protects specific expressions/implementations of an idea and last up to 95 years for corporate patents, or 70 years + the lifetime of the author for individual patents.
For completeness there is also trademarks which cover names and logos which can last indefinitely, as long as they are in commercial use.
The text of a CPU instruction specification would be covered by copyright, the algorithm for implementing the instruction by a patent, and the branding (ex: MMX) by trademark.
I fail to see why an ISA is fundamentally different than a standard library.
As GP said, the difference is whether it's patented. If Sun had patented parts of the API (or algorithms necessary to implement it), then Oracle would have another weapon against Google even after Google was granted a fair-use defense.
I could understand Intel having a CPU patent for specific CPUs, but an specific ISA?!
A really interesting test case would be to implement an isomorphic encoding to x86 with same instruction widths and what-not such that it's trivial to convert binaries from one to the other, and modify compilers (especially the JIT ones).
No, it doesn't. It says the "fair use" doctrine covers copying an API's "task calling" system, i.e. nomenclature and ontology.
The copyrightability of APIs will have to be determined.
On the plus side though, they only get 20 years of protection. x86-64 in it's original form should be up for grabs pretty soon here.
Aka, that you could clone Harry Potter's plot, characters, and story while not copying each word of the book verbatim, and it still be a copy of Harry Potter.
Would that be a copyright infringement? Probably just trademark infringement at that point?
Copyright attaches to the actual text (illustrations, etc; whatever is “fixed in a tangible form”), not the ideas.
You could write a story about a boy of humble origins who is whisked off to a special school, discovers he’s special, and fights evil. There aren’t that many original plots, after all....
You’ll only get into trouble if the main character is called Harry Potter of 10 Privett Drive, where he resides with his mother’s sister and her awful family, and he later attends Hogwarts, etc.
The merger and scenes a faire doctrine permit lots of overlap in terms of themes, tropes and set dressing. You could certainly write a coming-of-age story set in a magical boarding school; indeed, Harry Potter is neither the first nor the last such novel. One of the classic cases is Walker v. Time Life. The two works, which were found to be non-infringing, both start with a double murder of two cops (one Black, one white) in the South Bronx, both feature demoralized Irish-American cops, and both have similar tropes (rats, cop-talk, etc). A reviewer might reasonably describe it as derivative (and a few did, I think), but not legally so.
What you probably couldn't do is publish the (non-parodic) story of Perry Hotter and his substantially-similar adventures at Pigworts, though that's also absolutely spoiling for a trademark fight.
Music gets weird because it a) seems like there are a lot of possible note sequences but b) there aren't really.
I don't know if their beef is with copyright vs trademark.
Or in other words, a tiny fraction of the original work would essentially be allowed to monopolize the entire space of works involving magical kids going to school.
(And this is why Justice Thomas is widely regarded as the least competent justice of at least the past half century.)
Presumably the issue would be if one wrote a book substantially about the same character as Harry Potter who went through the same plot events in significant detail, but only 0.4% of the sentences were identical and the main character's name was Barry.
Thomas would allow copyright on code regardless of any creativity. This would destroy the software industry. Anyone who is first in time would monopolize entire swaths of software functionality.
And that is what he wants. Thomas is an ideologue, and his sole goal in allowing the copyrighting of code is to destroy the tech industry, which he views as hostile to Republicans. You can see it in the logic of his dissent, which would require the court to override decades of settled case law all supporting the proposition that code and other functional expression. In order to justify his nonsensical arguments, Thomas is forced to come up with an entirely new category of code that is not supported by legislative history or judicial history. Thomas' only justification for this category is...that it's "not fair" to a multi-billion dollar company that the non-copyrightable portions of their code were copied by another corporation. Pity the poor multi-billion dollar corporation, they just can't ever get a break.
Even he notes that his dissent is nonsensical when he admits "declaring code is 'inherently bound together with uncopyrightable ideas.'
This would sound like a convincing position if the company abusing them wasn't a trillionaire corporation. Oracle is literally "the little guy" here.
This case began in 2010 as Oracle attempting to smother a similarly sized competitor...after Oracle acquired the actual creators of Java.
Personally, I think the best code is the code I don't write.
A significant part of my refactoring, is removing as much code as possible, by tweaking algorithms, deriving common base classes, and removing unused code branches.
Every line of code is a potential bug. The less code, the less bugs.
My favorite was replacing a function call with a single character constant.
Then there were two employers who demanded code proliferation (management incentives tied to KLOCs?). Didn't last long at either place.
(start at 20:05 if timestamp fails).
Well, "dollars / year", if you work in an industry where you can directly A-B test against revenue, but I think most of us are happiest not knowing whether our particular lines of code are EV-positive.
Code bases like kubernetes come to mind for LoC far exceeding its value. Code bases like Quake3 come to mind for LoC that provide tremendous value. Every line is an explicit decision to improve the code or make it worse.
Refactoring a system to be generic and re-usable, for example, would reduce LoC yet provide tremendous value. If I were her manager, would I deduct points for -2000 LoC? Would I praise her for taking copy-pasta and making a pattern? I know which I'd choose.
I maintain a reflist of women in the ADB who have no Wikipedia article.
Certainly, the fact that competing encyclopedias exist, and have for hundreds of years, with > 99% identical entry names (but of course, substantively different content), and that predicated not on any given invention or IP but rather the common use English language, would, I think, make the judges rather reluctant to rule differently even should there be 100% match in entries.
It seems to me the judge is saying, “the house was full of 10 tons of jewelry but the robbers only took 10 pounds so that isn’t really stealing lol “
The class of actions classified as fair use describe situations where arguably society can loosen the reigns to substantial benefit to society without destroying the incentive to create.
A classic example would be quoting books to discuss them. The free exchange of ideas greatly enriches society while encouraging not replacing readership.
Reducing it to an analogy to physical property obscures instead of enlightens because it misses all the ways a copyright is different than a right to physical property.
Under the fair use doctrine, maybe. Fair use in the US is literally about being able to use "limited" parts of a copyrighted work without getting permission from the copyright holder. What is "limited"? It depends, but 0.4% could reasonably be called limited.
> It seems to me the judge is saying, “the house was full of 10 tons of jewelry but the robbers only took 10 pounds so that isn’t really stealing lol “
Copyright and fair use apply to the creative substance of the work (in your example, the design on the jewelry, perhaps), not to physical instances of it (the actual pieces of jewelry in the house).
> Google copied these lines not because of their creativity or beauty but because they would allow programmers to bring their skills to a new smartphone computing environment.
Perhaps the measurement should have been a count of bytecode instructions rather than lines of code.
> Sanity prevailed! This judgment could have had devastating consequences and turned software development into a copyright nightmare.
This judgment is the equivalent of someone taking a movie script, shooting a new movie out of it without changing a word, and the court declaring this "fair use" of the script.
Software development wouldn't have turned into a nightmare unless you decide to steal a platform. Which most people don't need to do in order to do their work.
While I think it would be GREAT to see what Nick Nolte (Lucas was considering him) would have done with Han Solo over the wooden Harrison Ford, I'm not sure I care enough to sit through it all again to find out. Blech.
Ethics aside, as a viewer, it'd be kind of cool if this were a thing. Small-time movie makers might like it too.
In fact, they've become a fannish pastime the past few years:
Movie scripts and APIs aren't really comparable as you have presented them.
This decision suggests you could include say, the negative of the neighboring building’s facade so that the two “interoperate” in a sensible way.
...the extent to which the use is transformative. In the 1994 decision Campbell v. Acuff-Rose Music Inc, the U.S. Supreme Court held that when the purpose of the use is transformative ... is more likely to favor fair use.