Jump to content

Google v. Oracle (Supreme Court Copyright Case)


TwiceHorn

Recommended Posts

11 minutes ago, TwiceHorn said:

This is a solid post.

I will give you a different perspective on the bold, after I concede that IP has been used very opportunistically in the software area because its protection has been in a state of flux for the last 30 years. 

The different perspective is this:  when IP protection forces people "not to copy" something they want to copy or imitate as an expedient, they are often forced to innovate in the course of avoiding that piece of IP.  This is a well-known positive aspect of patents.

I would also add this comment.  This particular case is an example of Oracle behaving opportunistically, probably after Google behaved opportunistically, but more in line with industry practice. 

Most software publishers publish APIs in order to increase adoption and use of their software.  Until now, API's have been at least dubiously copyrightable, yet we don't see a huge glut of copyright suits claiming rights in APIs, even in the 10 years that this case has placed APIs in the crosshairs.

Fears that developers are all of a sudden going to become aggressively proprietary with their heretofore freebie APIs are seriously, seriously overblown.

A reminder that Oracle seeks the status quo, while Google seeks a new, blanket rule on the way to no IP for software period.  Don't kid yourself, this is what Google wants.

That's not what they're afraid of. What they're afraid of is that Oracle owns Java, MySQL, and quite a few things that once were open-source, and have a well-earned bad reputation. They could really wreak havoc with this.

 

Moreover, if the law allows an actor to behave badly, then they will behave badly. Maybe not today, maybe not tomorrow, but eventually and with devastating effect.

Link to comment
Share on other sites

9 minutes ago, Rimbo said:

That's not what they're afraid of. What they're afraid of is that Oracle owns Java, MySQL, and quite a few things that once were open-source, and have a well-earned bad reputation. They could really wreak havoc with this.

 

Moreover, if the law allows an actor to behave badly, then they will behave badly. Maybe not today, maybe not tomorrow, but eventually and with devastating effect.

Well, Oracle has been maintaining this position since 2010.  If they were going after someone other than Google, why wait?  

As aggy says, get your licks in now.

And the copyright statute of limitations is three years, so Oracle's plans to devastate the industry are kinda fucked.

Also, I am guessing that this case is a result of an API licensing anomaly on the Sun to Oracle transition.  Are not most APIs pretty clearly licensed on a royalty free (open source or something) basis?   Granted, that could change on a dime, but I don't think most "proprietors" would be motivated to do so, even by whatever profit that might generate.

Edited by TwiceHorn
  • Hook 'Em 1
Link to comment
Share on other sites

21 minutes ago, washparkhorn said:

All of the briefs are on the SCOTUS blog that I linked.

Also, I violently disagree with this:

Quote

However, Oracle and its supporters misleadingly argue that Google is seeking to weaken copyright protection for all software. 

You better bet your ass Google is trying to weaken copyright protection for all software.  Except maybe theirs.  Obviously, for now, Google has revenue models that don't depend on software sales revenue, so they don't care about being proprietary about it, except Chromecast.  But they are bastards that want to fuck the rest of us, make no mistake about that.

Edited by TwiceHorn
Link to comment
Share on other sites

18 minutes ago, TwiceHorn said:

And the copyright statute of limitations is three years, so Oracle's plans to devastate the industry are kinda fucked.

Also, I am guessing that this case is a result of an API licensing anomaly on the Sun to Oracle transition.  Are not most APIs pretty clearly licensed on a royalty free (open source or something) basis?   Granted, that could change on a dime, but I don't think most "proprietors" would be motivated to do so, even by whatever profit that might generate.

Oracle isn't "most proprietors", and if they know they can pull this sort of shit in the future or even just threaten it, they're going to use it at a bludgeon against their customers. They lock data into a physical datacenter and threaten lawsuits and licensing compliance audits if you don't pay them arbitrary "license maintenance fees". There's loads of articles on how to avoid dancing that dance because it's such a well-known factor in big tech.

Oracle faces a litany of class action suits over their predatory and exploitative practices with respect to licensing and general "shittiness". If they win this suit, it represents a tectonic shift in how software must be handled (because if you don't protect your copyright, someone else can steal it), it will introduce a mountain of process overhead just to keep the lawyers happy and cashing checks, and it will materially damage the ability of American companies to innovate and build new things. Because at that point, every API, every call to a 3rd party service, every linkage in your entire software stack MUST be defended and MUST be licensed, otherwise you'll get a suit just like what oracle is trying to do to google. Except that will be the new status-quo.

Lawyers who don't know their ass from a socket shouldn't be deciding the rules on this stuff. Classical IP law from hundreds of years ago was not built to adequately handle the complexities and abstractions of modern software and the code that makes it.

Link to comment
Share on other sites

13 minutes ago, Captainant said:

Oracle isn't "most proprietors", and if they know they can pull this sort of shit in the future or even just threaten it, they're going to use it at a bludgeon against their customers. They lock data into a physical datacenter and threaten lawsuits and licensing compliance audits if you don't pay them arbitrary "license maintenance fees". There's loads of articles on how to avoid dancing that dance because it's such a well-known factor in big tech.

Oracle faces a litany of class action suits over their predatory and exploitative practices with respect to licensing and general "shittiness". If they win this suit, it represents a tectonic shift in how software must be handled (because if you don't protect your copyright, someone else can steal it), it will introduce a mountain of process overhead just to keep the lawyers happy and cashing checks, and it will materially damage the ability of American companies to innovate and build new things. Because at that point, every API, every call to a 3rd party service, every linkage in your entire software stack MUST be defended and MUST be licensed, otherwise you'll get a suit just like what oracle is trying to do to google. Except that will be the new status-quo.

Lawyers who don't know their ass from a socket shouldn't be deciding the rules on this stuff. Classical IP law from hundreds of years ago was not built to adequately handle the complexities and abstractions of modern software and the code that makes it.

What you're failing to take into account is that unless Google wins, nothing has changed for Oracle.  Oracle may be a bad actor, but I don't see that much of their bad action is centered around APIs.

This isn't creating a new law in favor of Oracle, it's maintaining the status quo.

And, copyrightablity of software was established in the US in 1974 for the Copyright Act of 1976.  While copyright law is centuries old, its application to software is new and considered, even if it's not perfect.

And, patent lawyers have been enacting policy on technical subject matter far more complex than software for the entire history of the United States and several centuries in the rest of the civilized world.  Don't let your technical  arrogance eat you up.

In fact, that whole post is just wrong.  A loss would constrain Oracle, but it won't expand anything.  As of this moment, and for the last 45 years, APIs have been at least theoretically copyrightable.

Edited by TwiceHorn
Link to comment
Share on other sites

11 minutes ago, TwiceHorn said:

In fact, that whole post is just wrong.  A losss would constrain Oracle, but it won't expand anything.  As of this moment, and for the last 45 years, APIs have been at least theoretically copyrightable.

But this is the first case actually testing those boundaries for copyrighting an API. There has not previously been a case like this, and literally every entity that understands the technical definitions and operational consequences involved with this ruling has sided against Oracle. 

It's really only law dawgs and copyright lawyers that want oracle to win. The issue has united MS, Google, Amazon, and every other tech company that operates at scale and would be subject to Larry Ellison's army of lawyers protecting the IP and contracts they bought (not created) to bleed existing customers dry. 

It doesn't matter if they already theoretically could - they weren't. And if they win, they will. 

Edited by Captainant
Link to comment
Share on other sites

22 minutes ago, bernorange said:

Well, they did abandon "don't be evil" from their code of conduct, so it's allowed.

I'm about as mad at Google these days as I was at Microsoft 20 years ago for slightly different reasons, but still related to their bigness.  I take solace in the fact that the mighty can fall quickly.

Link to comment
Share on other sites

Just now, Captainant said:

But this is the first case actually testing those boundaries for copyrighting an API. There has not previously been a case like this, and literally every entity that understands the technical definitions and operational consequences involved with this ruling has sided against Oracle. 

It's really only law dawgs and copyright lawyers that want oracle to win. The issue has united MS, Google, Amazon, and every other tech company that operates at scale and would be subject to Larry Ellison's army of lawyers protecting the IP and contracts they bought to bleed existing customers dry. 

It doesn't matter if they already theoretically could - they weren't. And if they win, they will. 

No one has bothered to try to draw a distinction between APIs and the rest of software. This is not an expansion of rights, it's just a potential contraction of them.

Curiously, all of those companies you mentioned, including Oracle, have a habit of stepping on little guys whenever they can.  And although the enemy is ostensibly Oracle, for now, anything that denies IP protection categorically is going to wind up hurting little guys most of all.

Link to comment
Share on other sites

38 minutes ago, TwiceHorn said:

All of the briefs are on the SCOTUS blog that I linked.

Also, I violently disagree with this:

You better bet your ass Google is trying to weaken copyright protection for all software.  

I think that quote is referring to this specific suit. Also, as I have hinted at before, Google would benefit more (from a "fucking everyone else" standpoint) not to weaken copyright law. So It's definitely a disingenuous point of view for Oracle to take.

Because an API can be clearly distinguished from implementation, it doesn't weaken software copyrights in general to say that an implementation of an API is fair use.

Link to comment
Share on other sites

13 minutes ago, Rimbo said:

I think that quote is referring to this specific suit. Also, as I have hinted at before, Google would benefit more (from a "fucking everyone else" standpoint) not to weaken copyright law. So It's definitely a disingenuous point of view for Oracle to take.

Because an API can be clearly distinguished from implementation, it doesn't weaken software copyrights in general to say that an implementation of an API is fair use.

It does apply to this suit.

But, as mentioned previously, while one would think that reasonably strong IP protection would favor Google, it has been very actively undermining IP protections, both patent and copyright, for a couple of decades now, both at the policy level and with their litigation strategies.  Including bamboozling Obama into appointing their chief patent counsel to be Commissioner of Patents.  She now works for AWS. I've been doing patent law almost 30 years now, and we have had some hostile Commisioners of Patents in that time, but she took the cake, and the blue ribbon prize, for being an anti-patent Commissioner.

Edited by TwiceHorn
Link to comment
Share on other sites

Lol.  This thread is a wonderful reaffirmation of a decision I made many years ago.  Every engineer, of any stripe, that walks into my office seeking guidance is offered a handshake, a smile, (and sometimes a drink depending on the situation), and then ultimately the door.  Engineers and lawyers are fundamentally incapable of communicating with one another.  I don't envy anyone of either persuasion who is forced to regularly deal with the other professionally. 

 

 

  • Haha 1
Link to comment
Share on other sites

2 minutes ago, Samson's Wig said:

Lol.  This thread is a wonderful reaffirmation of a decision I made many years ago.  Every engineer, of any stripe, that walks into my office seeking guidance is offered a handshake, a smile, (and sometimes a drink depending on the situation), and then ultimately the door.  Engineers and lawyers are fundamentally incapable of communicating with one another.  I don't envy anyone of either persuasion who is forced to regularly deal with the other professionally. 

 

 

What if you're both?

There is a fundamental disconnect in the ways of thinking.  I have a paper on it somewhere.

Link to comment
Share on other sites

7 minutes ago, TwiceHorn said:

What if you're both?

There is a fundamental disconnect in the ways of thinking.  I have a paper on it somewhere.

My wife is an attorney, let me tell you the ways we have disconnects from time to time lmao. If you find it, I'd be interested to read that paper

Edited by Captainant
Link to comment
Share on other sites

You may find this interesting.  https://www.yalelawjournal.org/pdf/906_h4mx5p7w.pdf

Thanks for the substantive comments, all.  You helped me clarify my thinking on it, which I think is best summed up in post 95.  I am very wary of bright-line rules based on semi-arbitrary categories like "API" that may be subject to varying definition.  If the software at issue is as functional as is contended, that should be relatively easily demonstrated in the course of defending a copyright lawsuit.

As far as I am aware, software copyright suits are relatively rare because outright copying is rare and proving copyrightability is difficult even without bright-line rules.  And bright-line rules against protection almost always have unforeseen consequences that divest rights from the deserving.

Edited by TwiceHorn
  • Hook 'Em 2
Link to comment
Share on other sites

3 minutes ago, TwiceHorn said:

You may find this interesting.  https://www.yalelawjournal.org/pdf/906_h4mx5p7w.pdf

Thanks for the substantive comments, all.  You helped me clarify my thinking on it, which I think is best summed up in post 95.  I am very wary of bright-line rules based on semi-arbitrary categories like "API" that may be subject to varying definition.  If it is as functional as is contended, that should be relatively easily demonstrated in the course of defending a copyright lawsuit.

I guess my last point is that API's as a technical concept are well-defined and a known quantity. Hell, cloud vendors have entire services that exist just to store schemas, organize and route API requests to other services; AWS's API Gateway is one such example. 

It's not even nit-picking to try to claim a locally ran program is an API, it's just incorrect. What docker does, and pretty much any virtualization layer (including Oracle's recently acquired VMware) does could very probably be described as an orchestrated composition of APIs since they all commonly route and decompose complex instructions into machine code to be ran against distributed and potentially remote systems. 

I get why you see things the way you do through a legal lens, but it just plain doesn't make sense on a technical level. APIs are a way to expose functionality of a service or system for outside consumption. A program or application is a way to harness the local computing power to do a task. 

  • Hook 'Em 2
Link to comment
Share on other sites

1 hour ago, TwiceHorn said:

It does apply to this suit.

But, as mentioned previously, while one would think that reasonably strong IP protection would favor Google, it has been very actively undermining IP protections, both patent and copyright, for a couple of decades now, both at the policy level and with their litigation strategies.  Including bamboozling Obama into appointing their chief patent counsel to be Commissioner of Patents.  She now works for AWS. I've been doing patent law almost 30 years now, and we have had some hostile Commisioners of Patents in that time, but she took the cake, and the blue ribbon prize, for being an anti-patent Commissioner.

Yeah, but even you have to realize that patents went way, way beyond the pale during the 00's. I mean, they were handing out patents for any tiny little thing, no matter how stupid it was.

Link to comment
Share on other sites

1 hour ago, TwiceHorn said:

Thanks for the substantive comments, all.  You helped me clarify my thinking on it, which I think is best summed up in post 95.  I am very wary of bright-line rules based on semi-arbitrary categories like "API" that may be subject to varying definition.

Yeah, I don't think there's a lot of wiggle room on the definition of API. There's wiggle-room in plenty of other things (e.g. just what the heck does "DevOps" mean, exactly? Because I've had that title for 3 jobs now and I still don't know), but API is very clear.

  • Haha 1
Link to comment
Share on other sites

35 minutes ago, Rimbo said:

Yeah, but even you have to realize that patents went way, way beyond the pale during the 00's. I mean, they were handing out patents for any tiny little thing, no matter how stupid it was.

Yes, I not only realize that, I concede it.  The patents at issue mostly were filed in the late 80s and early 90s after the Supreme Court declared software to be patentable.  The USPTO was unprepared to deal with the onslaught of software patent applications and granted some real stinkers.

The onslaught kind of redoubled with the advent of the internet and e-commerce in the 90s.  And because the USPTO didn't have decades of prior art like it does with about every other technological area, caught with its pants down.

Also, the software industry, prior to resolution of the patentability question in 1981, became accustomed, naively, to being free of patent claims.  The industry has never recovered from this free-rider mindset, which has also mostly extended to the internet at large.

Those patents were enforced in the aughts at least partially as a result of tort reform, which put entrepreneurial plaintff's lawyers behind a lot of pretty shitty patent suits, creating the "troll problem."  So, an industry unused to being sued for patent infringement was suddenly beset with some pretty shitty patent suits.  The net result of this is that the software industry thinks it's special and not subject to the ordinary rules of business and law.

But the legislative (and judicial) reaction to that was severe overkill and permanent damage to the system that was a long-term reaction to a short-tem problem.

And the "pooh-poohing" of the definition of programming interface doesn't acknowledge how things work in courts.  To prove that something is an API is essentially to prove that it is so functional that it can't be copyrighted.  The name assumes something that is not self-evident without examining the software.  Which is all I think should happen here.

Edited by TwiceHorn
  • Hook 'Em 1
Link to comment
Share on other sites

2 hours ago, TwiceHorn said:

I'm about as mad at Google these days as I was at Microsoft 20 years ago for slightly different reasons, but still related to their bigness.  I take solace in the fact that the mighty can fall quickly.

I blame Ballmer for a lot of MS shit.    They are a very different company these days.

Link to comment
Share on other sites

This kind of stuff makes me wonder why Oracle bought MySQL (I mean beyond what they said when they bought it).   They make no money off of MySQL itself.  Edit: I know they saw MySQL as a competitor, and by buying it and breaking up the community, they probably thought they hurt it.

I switched all my sites over to. MariaDB a while back, and I know a lot of people who have been doing the same.    People have been concerned about it.

Edited by atomheartbevo
Link to comment
Share on other sites

40 minutes ago, Rimbo said:

Yeah, but even you have to realize that patents went way, way beyond the pale during the 00's. I mean, they were handing out patents for any tiny little thing, no matter how stupid it was.

Also, how "stupid" was one-click if almost the entire e-commerce industry adopted it at one point (noting that one-click really isnt that popular anymore, but shopping carts, another "stupid" patent, are industry standard)?

The issue with "one-click" and perhaps internet patents more generally, was that it had essentially been done before.  In addition to not generating prior art at the patent office by not filing patent applications until the 80s, the software industry has a terrible record of documenting itself.  The software industry continues to have problems proving that patents are invalid or improvidently granted with actual evidence.  But it sure does bitch a lot about patents that it can't prove are invalid.

Link to comment
Share on other sites

16 minutes ago, Murfdogg21 said:

Seems like either TwiceHorn owns Oracle stock or Mrs. TwiceHorn got banged by a Google exec. 

Neither as far as I know.

This thread rekindled my anger at GOOG after considering more deeply what is at issue here.  

Edited by TwiceHorn
  • Haha 1
Link to comment
Share on other sites

12 minutes ago, atomheartbevo said:

I blame Ballmer for a lot of MS shit.    They are a very different company these days.

You may be right, but Bill Gates the kindly philanthropist has overshadowed the ruthless cocksucker that he was back then.  It has been a marvelous rehabilitation.

Microsoft got humbled by the marginalization of the operating system and associated application software by the internet and mobile computing.

  • Hook 'Em 1
Link to comment
Share on other sites

5 minutes ago, TwiceHorn said:

You may be right, but Bill Gates the kindly philanthropist has overshadowed the ruthless cocksucker that he was back then.  It has been a marvelous rehabilitation.

Microsoft got humbled by the marginalization of the operating system and associated application software by the internet and mobile computing.

On, Bill’s ego was enormous, and he deserves a lot of the credit for MS acting shitty, but watching how Ballmer handled things after he left made me rethink a few of their business practices.   

And then you have Larry Ellison.

Link to comment
Share on other sites

7 minutes ago, atomheartbevo said:

On, Bill’s ego was enormous, and he deserves a lot of the credit for MS acting shitty, but watching how Ballmer handled things after he left made me rethink a few of their business practices.   

And then you have Larry Ellison.

The thing that irked me most about M$ was entering talks with smaller companies with various applications such as faxing capability.  Then negotiations would terminate and, voila, that became a feature of Windows!

And then the ham-handed attempt to extend the OS monopoly into a browser monopoly.

It was really rapacious and if the little guy had just gotten a patent, they could have cornholed Microsoft (and on few rare occasions did so, or via trade secrets).

  • Hook 'Em 1
Link to comment
Share on other sites

39 minutes ago, Murfdogg21 said:

Seems like either TwiceHorn owns Oracle stock or Mrs. TwiceHorn got banged by a Google exec. 

Oh, fuck off. @TwiceHorn is being extremely reasonable and conciliatory. Despite my invectives to the contrary, he's actually demonstrating what I consider to be the primary indication of intelligence: An ability to admit when he's wrong. So, kudos to TwiceHorn for demonstrating growth in this thread; we should see more shit like this on social media. But we don't.

Link to comment
Share on other sites

26 minutes ago, TwiceHorn said:

You may be right, but Bill Gates the kindly philanthropist has overshadowed the ruthless cocksucker that he was back then.  It has been a marvelous rehabilitation.

Microsoft got humbled by the marginalization of the operating system and associated application software by the internet and mobile computing.

It was a pretty standard "Big company can't sacrifice their cash cow to properly adopt blue ocean" thing. Happens pretty much every decade in the tech industry. You had DEC in the 1970s, IBM in the 1980s, Microsoft in the 1990s-mid -00's, Apple for a while now, and now Google and Amazon. I think Amazon is the Big Evil Gorilla nowadays.

Basically take the phrase "Nobody ever got fired for buying __________" and whatever you fill the blank in with, that's the current Gorilla. Right now, you fill that blank with "AWS."

Link to comment
Share on other sites

1 minute ago, Rimbo said:

Oh, fuck off. @TwiceHorn is being extremely reasonable and conciliatory. Despite my invectives to the contrary, he's actually demonstrating what I consider to be the primary indication of intelligence: An ability to admit when he's wrong. So, kudos to TwiceHorn for demonstrating growth in this thread; we should see more shit like this on social media. But we don't.

Haha thanks.

I didn't take it personally, it was a joke.

I'm fully cognizant of some of the problems with the various IP regimes, software-related or otherwise.

I just don't happen to think that Oracle winning this is either a) a particularly good thing for anyone or b) a particularly bad outcome for the software industry, except that it may embolden Oracle's shenanigans.

Link to comment
Share on other sites

1 minute ago, Rimbo said:

It was a pretty standard "Big company can't sacrifice their cash cow to properly adopt blue ocean" thing. Happens pretty much every decade in the tech industry. You had DEC in the 1970s, IBM in the 1980s, Microsoft in the 1990s-mid -00's, Apple for a while now, and now Google and Amazon. I think Amazon is the Big Evil Gorilla nowadays.

Basically take the phrase "Nobody ever got fired for buying __________" and whatever you fill the blank in with, that's the current Gorilla. Right now, you fill that blank with "AWS."

Yeah, I think that explains a lot of industry dominance as a kind of anomaly not necessarily connected with predatory conduct.

But that dominance can be fleeting, as the historical examples you cite show.

Oddly, that's how Microsoft defended itself from a lot of the antitrust allegations:  we are a natural, "accidental" monopoly and our dominance could disappear at any moment in this new, evolving market.

Link to comment
Share on other sites

50 minutes ago, TwiceHorn said:

Haha thanks.

I didn't take it personally, it was a joke.

I'm fully cognizant of some of the problems with the various IP regimes, software-related or otherwise.

I just don't happen to think that Oracle winning this is either a) a particularly good thing for anyone or b) a particularly bad outcome for the software industry, except that it may embolden Oracle's shenanigans.

It was a joke, and I only read the first page of the thread. 

  • Hook 'Em 1
Link to comment
Share on other sites

I keep contemplating this originality/copyrightability question.

Another way to approach it, that isn't explicitly endorsed by the courts is that an API involves no creativity whatsoever because it is driven not by any sort of creative choices (the kind that make up "art" such as literature or music, and some aspects of the source code of non-API software), but rather is driven entirely by the constraints of the "parent" software and the "child" software that the API interfaces between.

I think that is the kind of thing captainant and rimbo are kind of driving at.

There are a number of originality/copyrightability cases that have this as an underlying basis, outside the context of software.  One such category of cases is the rather bizarre "useful article" exceptions to copyrightability, where "industrial design" is denied copyright protection because it isn't "art."  But the industrial designs in question are actually indistinguishable from sculpture.  An example is Mazer v. Stein, where this item, an original artistic sculpture by any reasonable definition or perception:

Fashion1.jpg

Was denied copyright protection because it was designed to be a lamp base and has a cylindrical bulb and wire holder protruding from the top to make a lamp and thus is a "useful article" and not "art." The decisions purportedly turn on the "separability" of the artwork from the useful article.  From the above, one can see that the sculpture aspect is easily separated from any utilitarian aspect by ignoring the lamp parts protruding from the top (which is done here by not showing them).

A very unsatisfying and illogical decision, with a host of progeny that are bullshit of the purest ray serene.  One might think this exception to copyrightability might also extend to any form of commercial art, such as advertising illustration.  But it does not.

I think the courts are reluctant to explicitly adopt this "not art" or "not creative enough" rationale because it involves second-guessing the creative process to too great a degree.

I think though, that the analysis of "is there only one, or a very few ways to accomplish the function" of the software reaches essentially the same result without having to get into the vagaries of the creative process, or lack thereof.  That is, if the constraints of the parent and child software dictate the API to the degree that there is only one, or a very few, ways of writing the API, then it is not driven by creative originality, but by functional concerns and it is neither creative nor original and not entitled to copyright protection.

At the most basic level, denying copyright protection to software means that the software involves zero creativity.  How do the developers feel about that analysis of their work?

Edited by TwiceHorn
Link to comment
Share on other sites

12 minutes ago, TwiceHorn said:

At the most basic level, denying copyright protection to software means that the software involves zero creativity.  How do the developers feel about that analysis of their work?

Again, you're conflating software with an API.

I may write some neato whiz-bang software that makes me a million bucks, hooray! The way I give access to this software I'm hosting as a service is typically through a variety of API's. Most typically, a JSON encoded payload containing information that is the input for the whiz-bang software. My software does its thing, then returns the result to the API caller.

If some competitor comes along later and writes a functional equivalent version of my software, and uses the same interface mechanism and schema to take input - what the fuck do I care? You're effectively arguing that businesses are defined by the forms they fill out, not by the product they sell or work they do.

API != software. A software may contain, make use of, and expose API endpoints, but those are simply interface mechanisms to facilitate the transfer of information to other processes outside of my scope. The creativity lies in the software and the overall composition of components together. An API is just a component piece.

And I feel compelled to ask since you've mentioned it a few times - what is your technical background? Do you have actual experience in any of these professional or academic fields? Or have you only litigated on the issue?

Edited by Captainant
Link to comment
Share on other sites

2 hours ago, TwiceHorn said:

...

And the "pooh-poohing" of the definition of programming interface doesn't acknowledge how things work in courts.  To prove that something is an API is essentially to prove that it is so functional that it can't be copyrighted.  The name assumes something that is not self-evident without examining the software.  Which is all I think should happen here.

I've read this a few times and I'm still not sure I understand what you are saying.

An API is a description of data and function calls that allows programmers to develop software that communicates with (or uses) a machine/runtime/application.  It's a bunch of text like a technical manual.  It's not actually software.  "Functional" as I understand the term doesn't really apply.  I'll show you an example (sorry for any PTSD it may cause programmers reading this):

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createwindowexa

M$ published an API for programmers to communicate with older versions of Windows.  You can read through an example function definition at the link above.  It's just text (again, like a very dry technical manual).

Question to you TwiceHorn - is Oracle claiming that Google's Android API is a verbatim copy of their Java API (exact same text) or just that the content of both APIs are describing the same idea (same functions, parameters, data structures, etc.)?  The former would, IMO, be a copyright infringement.  The latter, IMO, would not.

Link to comment
Share on other sites

44 minutes ago, bernorange said:

I've read this a few times and I'm still not sure I understand what you are saying.

An API is a description of data and function calls that allows programmers to develop software that communicates with (or uses) a machine/runtime/application.  It's a bunch of text like a technical manual.  It's not actually software.  "Functional" as I understand the term doesn't really apply.  I'll show you an example (sorry for any PTSD it may cause programmers reading this):

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createwindowexa

M$ published an API for programmers to communicate with older versions of Windows.  You can read through an example function definition at the link above.  It's just text (again, like a very dry technical manual).

Question to you TwiceHorn - is Oracle claiming that Google's Android API is a verbatim copy of their Java API (exact same text) or just that the content of both APIs are describing the same idea (same functions, parameters, data structures, etc.)?  The former would, IMO, be a copyright infringement.  The latter, IMO, would not.

It is software in the sense that it is code or instructions executed by a machine.  Granted it is incomplete in that it doesn't have any "existence" or utility apart from other, more complete software.

I direct you to the 2014 opinion of the Court of Appeals for the Federal Circuit, which describes the copied material in some detail at pages 1349 to 1352 (left margin numbers) https://casetext.com/case/oracle-am-inc-v-google-inc-4#p1348

According to the Federal Circuit, Google made a number of admissions about the originality of the copied code as a whole that are going to hurt their case pretty badly.  It's a solid opinion.  Alsup, the district judge, is a bit of a jackass, in my opinion, based on other decisions.

Edited by TwiceHorn
Link to comment
Share on other sites

What a mess.

Quote

...
Every package consists of two types of source code‚ÄĒwhat the parties call (1) declaring code; and (2) implementing code. Declaring code is the expression that identifies the prewritten function and is sometimes referred to as the ‚Äúdeclaration‚ÄĚ or ‚Äúheader.‚ÄĚ ...
...
When the parties' negotiations reached an impasse, Google decided to use the Java programming language to design its own virtual machine‚ÄĒthe Dalvik virtual machine (‚ÄúDalvik VM‚ÄĚ)‚ÄĒand ‚Äúto write its own implementations for the functions in the Java API that were key to mobile devices.‚ÄĚ Id. Google developed the Android platform, which grew to include 168 API packages‚ÄĒ37 of which correspond to the Java API packages at issue in this appeal.

With respect to the 37 packages at issue, ‚ÄúGoogle believed Java application programmers would want to find the same 37 sets of functionalities in the new Android system callable by the same names as used in Java.‚ÄĚ Id. To achieve this result, Google copied the declaring source code from the 37 Java API packages verbatim, inserting that code into parts of its Android software. In doing so, Google copied the elaborately organized taxonomy of all the names of methods, classes, interfaces, and packages‚ÄĒthe ‚Äúoverall system of organized names‚ÄĒcovering 37 packages, with over six hundred classes, with over six thousand methods.‚ÄĚ Copyrightability Decision, 872 F.Supp.2d at 999. The parties and district court referred to this taxonomy of expressions as the ‚Äústructure, sequence, and organization‚ÄĚ or ‚ÄúSSO‚ÄĚ of the 37 packages. It is undisputed, however, that Google wrote its own implementing code ...

Around these parts, "packages" are found in men's trousers and South Austin's mom.  /Surly

So there's been a little bit of confusion over the use of terms like API.  Forget that term (for our present discussion).  What the quoted section above is talking about is the declaration header and implementation code for a (or several) runtime library(ies).  Declaration headers are plain (human readable) text files that define data structures and function calls - similar to the technical manual I linked previously, but without all the explanation text.  These files are written for programming language compilers (primary purpose) and not for human reference (though programmers can learn a lot from examining them).

My initial understanding of the issue (page one of this thread) was also partially correct as implementing code was also involved, but as Rimbo, CaptainAnt and I were saying the implementing code is unique (not a copyright infringement).

Google admits copying declaration headers verbatim.  That does seem like a copyright violation to me. 

Link to comment
Share on other sites

12 minutes ago, bernorange said:

What a mess.

Around these parts, "packages" are found in men's trousers and South Austin's mom.  /Surly

So there's been a little bit of confusion over the use of terms like API.  Forget that term (for our present discussion).  What the quoted section above is talking about is the declaration header and implementation code for a (or several) runtime library(ies).  Declaration headers are plain (human readable) text files that define data structures and function calls - similar to the technical manual I linked previously, but without all the explanation text.  These files are written for programming language compilers (primary purpose) and not for human reference (though programmers can learn a lot from examining them).

My initial understanding of the issue (page one of this thread) was also partially correct as implementing code was also involved, but as Rimbo, CaptainAnt and I were saying the implementing code is unique (not a copyright infringement).

Google admits copying declaration headers verbatim.  That does seem like a copyright violation to me. 

Why does it not seem like a copyright violation?  Show your work.

Here is what seems to be a very salient passage in the opinion:

it is also undisputed that Google could have written its own API packages using the Java language. Google chose not to do that. Instead, it is undisputed that Google copied 7,000 lines of declaring code and generally replicated the overall structure, sequence, and organization of Oracle's 37 Java API packages.

Oracle Am., Inc. v. Google Inc., 750 F.3d 1339, 1353 (Fed. Cir. 2014)

While an individual declaring statement doesn't seem like much, there apparently were a lot of them, in terms of lines of code, and then theres the whole "structure, sequence, and operation" of the declaring statements, that were also copied.

And Google apparently admits that it could have accomplished the same result, a half-assed compatibility with Java, without copying any of it.

Edited by TwiceHorn
Link to comment
Share on other sites

2 hours ago, TwiceHorn said:

I keep contemplating this originality/copyrightability question.

Another way to approach it, that isn't explicitly endorsed by the courts is that an API involves no creativity whatsoever because it is driven not by any sort of creative choices (the kind that make up "art" such as literature or music, and some aspects of the source code of non-API software), but rather is driven entirely by the constraints of the "parent" software and the "child" software that the API interfaces between.

I think that is the kind of thing captainant and rimbo are kind of driving at.

There are a number of originality/copyrightability cases that have this as an underlying basis, outside the context of software.  One such category of cases is the rather bizarre "useful article" exceptions to copyrightability, where "industrial design" is denied copyright protection because it isn't "art."  But the industrial designs in question are actually indistinguishable from sculpture.  An example is Mazer v. Stein, where this item, an original artistic sculpture by any reasonable definition or perception:

Fashion1.jpg

Was denied copyright protection because it was designed to be a lamp base and has a cylindrical bulb and wire holder protruding from the top to make a lamp and thus is a "useful article" and not "art." The decisions purportedly turn on the "separability" of the artwork from the useful article.  From the above, one can see that the sculpture aspect is easily separated from any utilitarian aspect by ignoring the lamp parts protruding from the top (which is done here by not showing them).

A very unsatisfying and illogical decision, with a host of progeny that are bullshit of the purest ray serene.  One might think this exception to copyrightability might also extend to any form of commercial art, such as advertising illustration.  But it does not.

I think the courts are reluctant to explicitly adopt this "not art" or "not creative enough" rationale because it involves second-guessing the creative process to too great a degree.

I think though, that the analysis of "is there only one, or a very few ways to accomplish the function" of the software reaches essentially the same result without having to get into the vagaries of the creative process, or lack thereof.  That is, if the constraints of the parent and child software dictate the API to the degree that there is only one, or a very few, ways of writing the API, then it is not driven by creative originality, but by functional concerns and it is neither creative nor original and not entitled to copyright protection.

At the most basic level, denying copyright protection to software means that the software involves zero creativity.  How do the developers feel about that analysis of their work?

The main issue with your statement is that the order is reversed. The API is defined, then the parts that implement it are written.

The other issue is that "parent" and "child" make no sense in this context. There is the remote procedure, and the remote procedure caller, both unarguably copyrightable pieces of software. Before they exist, there is the API, which tells what code must be written. 

Again, think of the 10mm socket and wrench and bolt. The bolt and wrench/socket are the two tools; the "10mm bolt and socket" spec was created before either of these, and is entirely different in kind from them. It defines these physical objects, but isn't a physical object itself.

That's what an API is: a spec.

  • Hook 'Em 1
Link to comment
Share on other sites

17 minutes ago, TwiceHorn said:

While an individual declaring statement doesn't seem like much, there apparently were a lot of them, in terms of lines of code, and then theres the whole "structure, sequence, and operation" of the declaring statements, that were also copied verbatim.

And Google apparently admits that it could have accomplished the same result, a half-assed compatibility with Java, without copying any of it.

This is a common misconception. Thousands of lines of code means very little when you're writing foundational code for a massive sprawling service, like an operating system. Shit, the toy pintOS that I wrote in undergrad had thousands of lines of code - and much of it was similar in structure and repetitive, but that's what headers and function declarations are. To illustrate my point, here is a header file from the aforementioned pintOS that handles frames and multithreading:

 

#include "threads/thread.h"
#include "threads/palloc.h"

struct frame{
	void* page;
	tid_t tid;
	struct list_elem elem;
	void* uaddr;
	bool done;
        bool pinned;
	int count;	// checks which frame is the oldest for eviction policy
};

struct list frames_list;

void* frame_allocate(enum palloc_flags flags, void* uaddr);
void frame_init();
static bool add_frame(void* frame_addr, void* uaddr);
void* evict_frame(void* new_frame_uaddr);
struct frame* choose_evict();
void age_frames(int64_t timer_ticks);
void frame_set_done(void *kpage, bool value);
void frame_free (void *frame);

That's what it comprises. It defines the structure of the underlying function, and the variables that will be used when invoking and using the function or data structure.

It's entirely and expressly utilitarian. It does not define the underlying behavior of the function - or in this case the frame. In my OS course, we were given these header files and had to design against them because the hard thing is the implementation of functionality, not the interface to that functionality.

If you're writing a cross-compatible runtime environment for code, there is literally no other way to accomplish that but to use the same headers (or at least headers containing the same information, but on a machine code/compiled level it doesn't make a shit) - because it's simply the transactional interface to the underlying functionality.

edit: and if you really wanna turbonerd, here's the Stanford pintOS user guide.¬† It outlines the assignments as "Implement the following system calls. The prototypes listed are¬† ‚Äėlib/user/syscall.h‚Äô." It even gives plain-english descriptions of what those functions do, because the creative and hard thing is making it actually work. Not how to invoke it.

Edited by Captainant
Link to comment
Share on other sites

26 minutes ago, Captainant said:

If you're writing a cross-compatible runtime environment for code, there is literally no other way to accomplish that but to use the same headers (or at least headers containing the same information, but on a machine code/compiled level it doesn't make a shit) - because it's simply the transactional interface to the underlying functionality.

This is the only statement relevant to the issue of copyrightablility.

Underlying functionality is expressly NOT the subject of copyright.  If that is guiding anyone's thoughts on this issue, then drop it because it's not relevant.  Machine code is almost never going to be the subject of copyright, by it's nature.

And, because the issue is not whether the amount or quantum of information copied is sufficient to prove infringement, whether it was 1000, 100, 10, or 1,000,000 lines of code is also irrelevant.

One thing we haven't discussed here is the remedy, which is not the subject of the appeal.  Google can be enjoined from further use of the copied code, meaning they have to take it out or rewrite it.  The monetary damages aspect is going to be interesting because Google doesn't sell Android and doesn't even receive revenue as a direct result of its use.

 

Edited by TwiceHorn
Link to comment
Share on other sites

10 minutes ago, Captainant said:

You're missing the point. The copyrightable thing isn't the idea of doing something (the header and declaration), it's the actual implementation (the function itself). 

Do you have a technical background, or have you only litigated IP law?

I am a mechanical engineer.

You're right the copyrightable thing isn't the idea.  It is the copying of the particular code/text that is the infringement.

Copyright does not cover functionality in any way shape or form except to the extent that the functionality results from execution of source code, once compiled; that is, to the extent that identical source code will produce identical functionality once compiled and executed.

 

Edited by TwiceHorn
Link to comment
Share on other sites

If Google could have successfully provided a functional programming interface without literally copying the declaration statements, by changing a letter or two, or the order of the letters, or the structure and sequence of the variables the statements employ, then they copied it at their peril.

You can argue that if that is what the copyright regime protects, then it's absurd, but that's an argument for a different day and a different case.

Software copyright cases are, as far as I can tell, pretty rare because it is a) difficult to prove copyrightability as well as infringement except when a defendant is brazen enough to copy a lot of shit verbatim (and the proprietor is an asshole like Oracle) and b) even if you can prove a valid and infringed copyright in software, that does not entitle you to a big chunk of the infringer's revenue.  It might, but it's not a sure thing by any stretch.  The injunction could be pretty valuable though, if you are actually competing with the infringer.

 

Edited by TwiceHorn
Link to comment
Share on other sites

9 minutes ago, TwiceHorn said:

If Google could have successfully provided a functional programming interface without literally copying the declaration statements, by changing a letter or two, or the order of the letters, then they copied it at their peril.

 

I agree and that is the crux of the issue. I don't know where to find the files to look myself, but in court filings, Google argued that in submitting the code to the court, Oracle "redacted or deleted...both expressive material and copyright headers." Google called these omissions "significant elements and features."

Edit: source for the claim, can't find the actual filing...

Edited by Captainant
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

√ó
√ó
  • Create New...