|
They could have made an api that was compatible and was 100% identical if they had followed the proper procedure. The problem is they just flat copied it instead. It is possible to demonstrate that something was created independently even if the result is identical. Google was just too lazy to do so.
|
# ? May 11, 2016 17:48 |
|
|
# ? Jun 6, 2024 17:18 |
|
OddObserver posted:An awful lot of confusion of an API and implementation thereof going on here...
|
# ? May 11, 2016 17:49 |
|
twodot posted:Also around what is necessary to maintain a clean room, can some (re?)point at a decision talking about clean rooms? Accolade v Sega, off the top of my head.
|
# ? May 11, 2016 17:51 |
|
Kalman posted:Accolade v Sega, off the top of my head. Is that the one where Sega sued Accolade for putting Sega in the game code as a trademark violation. iirc, there was a hardware lockout in the Genesis that prevented cartridges that didn't have SEGA in a specific spot from running on the system
|
# ? May 11, 2016 18:04 |
|
ayn rand hand job posted:Is that the one where Sega sued Accolade for putting Sega in the game code as a trademark violation. quote:A “clean room” is a procedure used in the computer industry in order to prevent direct copying of a competitor’s code during the development of a competing product. Programmers in clean rooms are provided only with the functional specifications for the desired program.
|
# ? May 11, 2016 18:09 |
|
evilweasel posted:Your argument is contradictory. Either it must match virtually exactly in order to work - in which case it is not at all "vanishingly unlikely", the clean room procedure can only create an identical copy and you simply prove that, or it doesn't, and the clean room implementation most likely will differ. There are a near-infinite number of ways to name, sequence, structure, and organize functions which accomplish the tasks defined in the Java API into an API. Even to an expert, there are a lot of more-or-less equally valid ways to do it. Exactly one of those possible APIs is 100% compatible with the Java API (it is the Java API) and the number which have even some compatibility (such as Google's partial implementation) is very small. Anybody who knows Java could organize the functions of the Java API into an API. But, a person who has never seen the Java API would almost certainly never come up with the exact organization specified in the Java API - which is exactly what is required for compatibility. Mr. Nice! posted:They could have made an api that was compatible and was 100% identical if they had followed the proper procedure. The problem is they just flat copied it instead. It is possible to demonstrate that something was created independently even if the result is identical. Google was just too lazy to do so. How?
|
# ? May 11, 2016 18:28 |
|
twodot posted:It was both that, and that having that code caused the Genesis to display “PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD”, so you have an independent game apparently trying to claim it's an official game. Here's what the judge had to say regarding clean rooms: API documentation is that functional specification. Space Gopher posted:There are a near-infinite number of ways to name, sequence, structure, and organize functions which accomplish the tasks defined in the Java API into an API. Even to an expert, there are a lot of more-or-less equally valid ways to do it. Exactly one of those possible APIs is 100% compatible with the Java API (it is the Java API) and the number which have even some compatibility (such as Google's partial implementation) is very small. Again, the clean room team gets to see the API documentation. It's the functional specification of the standard library.
|
# ? May 11, 2016 18:34 |
|
twodot posted:
Nerd answer (so probably wrog legally): the functional specification *is* the API.
|
# ? May 11, 2016 18:40 |
|
Munkeymon posted:API documentation is that functional specification.
|
# ? May 11, 2016 18:42 |
|
twodot posted:API documentation is the structure, sequence, and organization. Your clean room is getting the thing that is copyrighted. Correct. They're getting https://docs.oracle.com/javase/7/docs/api/ and they have to do a shitload of work to make a compatible implementation of that. Apparently this is probably(?) fair use of the API. It's also the only legally protected way to make a compatible standard library implementation that can be licensed however you want because that aforementioned shitload of work gives you that right.
|
# ? May 11, 2016 18:47 |
|
Mr. Nice! posted:Evilweasel is right. You misunderstand how copyright law works. So does everybody else. Unless you're working in the IP field, you *cannot* reason out from first principles how copyright, trademark, patent, trade secret, and other such legislation works. It takes a big body of knowledge to be able to interpret both the text of the law and the court rulings that demonstrate how the law has been interpreted.
|
# ? May 11, 2016 18:47 |
|
Munkeymon posted:Correct. They're getting https://docs.oracle.com/javase/7/docs/api/ and they have to do a shitload of work to make a compatible implementation of that. Apparently this is probably(?) fair use of the API. It's also the only legally protected way to make a compatible standard library implementation that can be licensed however you want because that aforementioned shitload of work gives you that right. Not according to the Federal Circuit decision. This has nothing to do with who writes the actual implementation. Oracle's argument, which the Federal Circuit accepts, is that they own the copyright on the structure of the implementation. Any implementation which is compatible (by necessity, following the same structure) must license Oracle's copyright on that structure. The court considered and explicitly rejected the fair use argument.
|
# ? May 11, 2016 19:09 |
|
Space Gopher posted:Not according to the Federal Circuit decision. Uh, no, they didn't reject the fair use argument. They remanded to the district for a determination on fair use. Don't talk about decisions if you clearly haven't read a loving thing in them.
|
# ? May 11, 2016 19:21 |
My understanding is that the court is not saying there is anything creative about a round function that takes a floating input, an integer input, and rounds the float at integer digits, but that there is something creative in deciding whether that function should be the 15th function defined in the definition file because it is so basic or instead grouped waaaay down in a section with cryptographic functions because the creators are insane and think that people looking at those functions will often want to see how round works so it would be convenient for it to be there. I think a good comparison would be cookbooks. The recipes and names of dishes are not copyright-able, but the overall cookbook can be if there is creative effort involved in the arrangement or presentation. I could make a book called Countdown to Party which has menus and recipes for different types of gatherings all arranged by the number of hours/minutes before the event when you'd have to start them to finish them in time. That book would be protected by copyright. Someone could take all the exact recipes and add them to their own cookbook called Eatertaining by Numbers organized by what color the foods are and where to put each color on the serving table. Someone could even just take all the recipes and put them up on a website in a big alphabetical list and that would be fine (she could not stop others from copy/pasting her website because such ordering isn't creative). But someone wouldn't be allowed to publish Party at 7! keeping the recipes and order from my book while changing the t-minus time countdown to the hour to start the recipes assuming guests arrive at 7PM. In all cases someone who was looking to make hummus could find the instructions and the result would be the same because the order doesn't affect the individual recipes. In this tortured analogy written while waiting for lunch the cookbook would be the as written API definition file, the recipes would be the actual function definitions telling the system what to do with inputs when called, and hummus-guy would be a program calling a function.
|
|
# ? May 11, 2016 19:26 |
|
there were here about the structure of java. Edit: gently caress, I left a tab open for a day again and you guys covered this since then. I agree with Shifty Pony and EW on this: The analogies are tortured and the legal landscape is a minefield because software desperately needs it's on legislative solution, not wedged into book copyrights and physical machine patents. I read the appeals decision on this one and on it's own it's not awful: the taxonomy of an API can be copyrightable. It leaves open the question of interoperability being an acceptable reason to copy it. The only non-nuclear answer to that question is "yes", but that trial just started. As for the nuclear option, it's not limited to projects like Mono. Most programmers run into this exact problem at some point: you've got a big system and for whatever reason some bit that it depends on needs to be switched to another with a different API. If you have all the code to your system that's great - but what if you have another vendor library that works with the first one, and expects that specific API to be available? Writing shims to make that work is incredibly common, and you better believe that every crappy vendor who's been replaced by a better alternative is salivating at the idea of extracting damages from many of their former customers for switching away if Oracle wins this one. Harik fucked around with this message at 20:34 on May 11, 2016 |
# ? May 11, 2016 19:27 |
|
For anyone who doesn't have access to the relevant briefs and decisions, but wants to understand or weigh in on Oracle v. Google, a collection of materials, including the appeal briefs, can be found at the AIPLA site. The briefs may be of particular interest, since, obviously, they fully set out the parties' positions.
|
# ? May 11, 2016 20:49 |
|
Space Gopher posted:There are a near-infinite number of ways to name, sequence, structure, and organize functions which accomplish the tasks defined in the Java API into an API. Even to an expert, there are a lot of more-or-less equally valid ways to do it. Exactly one of those possible APIs is 100% compatible with the Java API (it is the Java API) and the number which have even some compatibility (such as Google's partial implementation) is very small. They could have licensed it first and foremost. That would have been the easiest way but also the most expensive. They could have reverse engineered in a clean environment so they got something that's functionally identical, but that would have taken extra time/man hours to do it. They could have had people work on it who had no knowledge of the oracle copyrights instead of hiring former oracle employees specifically to code sections. Arsenic Lupin posted:So does everybody else. Unless you're working in the IP field, you *cannot* reason out from first principles how copyright, trademark, patent, trade secret, and other such legislation works. It takes a big body of knowledge to be able to interpret both the text of the law and the court rulings that demonstrate how the law has been interpreted. I mean I don't work in the IP field, but I did just finish a copyright class in my last semester at law school. It's not really all that ambiguous or anything that Google infringed or that oracle has a valid copyright.
|
# ? May 11, 2016 22:27 |
|
Mr. Nice! posted:I mean I don't work in the IP field, but I did just finish a copyright class in my last semester at law school. It's not really all that ambiguous or anything that Google infringed or that oracle has a valid copyright. Considering Google won on the original trial with the judge finding APIs were uncopyrightable and that the current trial is explicitly to determine if there was infringement (fair use being a defense), you would have to work hard to be more wrong.
|
# ? May 11, 2016 22:49 |
|
ulmont posted:Considering Google won on the original trial with the judge finding APIs were uncopyrightable and that the current trial is explicitly to determine if there was infringement (fair use being a defense), you would have to work hard to be more wrong. Lower courts toss out crazy rulings all the time that get corrected on appeals.
|
# ? May 11, 2016 22:56 |
|
Mr. Nice! posted:Lower courts toss out crazy rulings all the time that get corrected on appeals. The federal circuit specifically said it couldn't decide the fair use defense. The current trial is about the fair use defense. If google wins the fair use defense it is not an infringer. Google has not yet been found to infringe on these APIs. It is therefore ambiguous that Google is infringing.
|
# ? May 11, 2016 23:04 |
|
An affirmative defense doesn't mean they didn't infringe, but rather that the infringement is allowed. If the lower court finds that googles already concluded infringement is fair use, they're in the clear. It's because of the exception but not because they did not infringe.
|
# ? May 11, 2016 23:07 |
|
Mr. Nice! posted:An affirmative defense doesn't mean they didn't infringe, but rather that the infringement is allowed. 17 U.S.C. 107 posted:Notwithstanding the provisions of sections 106 and 106A, the fair use of a copyrighted work, including such use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright.
|
# ? May 12, 2016 00:14 |
|
ulmont posted:That is explicitly not the case for fair use and copyright infringement. That's the exception. Fair use is a defense and is still in question. They're going to lose on that ground, though, because they don't have a legitimate fair use claim. Edit: what I'm saying is before you ever even get to the point of asserting fair use, you have to have infringed. Fair use just gives you an out if you qualify for it. The appellate court did not rule if Google had a fair use defense as that's something better suited for a trial level court to determine. They did determine that Google infringed, though. Mr. Nice! fucked around with this message at 01:21 on May 12, 2016 |
# ? May 12, 2016 00:39 |
|
Mr. Nice! posted:Edit: what I'm saying is before you ever even get to the point of asserting fair use, you have to have infringed. Fair use just gives you an out if you qualify for it. What I'm saying is that congress has said that a fair use, even if it would otherwise be within the scope of the exclusive rights granted a copyright owner under 17 u.s.c. 106, is not infringement. This may be one angel too many, but a fair use is by definition not infringement.
|
# ? May 12, 2016 03:53 |
|
Mr. Nice! posted:They could have had people work on it who had no knowledge of the oracle copyrights instead of hiring former oracle employees specifically to code sections. It's be pretty screwed up if this was a problem, actually.
|
# ? May 12, 2016 03:55 |
|
ulmont posted:What I'm saying is that congress has said that a fair use, even if it would otherwise be within the scope of the exclusive rights granted a copyright owner under 17 u.s.c. 106, is not infringement. Once fair use has been found, something is allowed. Before a fair use determination can be made, infringement must exist. Google was found to have infringed. They are trying to assert a fair use defense, but there is no ambiguity at this point that minus the fair use Hail Mary that they are infringing.
|
# ? May 12, 2016 04:05 |
|
Munkeymon posted:It's be pretty screwed up if this was a problem, actually. Kinda hard to argue your implementation was made without any knowledge of how the other implementation was done when you hire somebody who helped write the other implementation.
|
# ? May 12, 2016 04:47 |
|
Kalman posted:Kinda hard to argue your implementation was made without any knowledge of how the other implementation was done when you hire somebody who helped write the other implementation.
|
# ? May 12, 2016 06:38 |
|
Mr. Nice! posted:Once fair use has been found, something is allowed. Before a fair use determination can be made, infringement must exist. Google was found to have infringed. They are trying to assert a fair use defense, but there is no ambiguity at this point that minus the fair use Hail Mary that they are infringing. What part of "is not an infringement of copyright" is unclear to you? Google's actions may be within the scope of the exclusive rights granted the copyright holder, but are not infringement if they are a fair use. This isn't like infringing a patent but arguing that the patent is invalid. Further, in the original trial, the jury deadlocked on fair use, so it's not a Hail Mary. ulmont fucked around with this message at 14:55 on May 12, 2016 |
# ? May 12, 2016 14:52 |
|
It's like I'm talking to a wall. You never even get to the fair use discussion unless you're infringing on exclusive rights. The statute saying that fair use is not infringement is just stating that it's an exception that allows you to violate someone's exclusive rights. If you weren't stepping on someone's rights, you will never even get to a fair use discussion. Also the jury deadlocked on fair use because they weren't clear on what was copyrightable or not in the original trial. There won't be a deadlock on remand. Google is going to lose because they have no valid argument that falls under the fair use safe harbor.
|
# ? May 12, 2016 15:00 |
|
ulmont posted:What part of "is not an infringement of copyright" is unclear to you? Google's actions may be within the scope of the exclusive rights granted the copyright holder, but are not infringement if they are a fair use. You're talking past each other. The test for fair use is, "is this infringement if we don't consider fair use?" If, and only if, the answer to that is "yes", you then consider fair use. If there is then fair use, then legally you did not infringe. It is easiest to understand this, and most courts consider it, as fair use is infringement that we allow anyway for other reasons. So when you ask "did the copyright get infringed", the answer is yes, but you then say 'but it's ok, because of fair use". Similar to "Did you kill the guy? Yes, but it was self-defense". This is also important because it affects who the burden of proof is on. The party asserting an infringement of copyright needs to prove that a copyright was infringed. But because fair use is an affirmative defense, the defendant needs to prove fair use. The copyright holder doesn't need to disprove it. This is legal theory that is not terribly relevant to anything though and it's a stupid discussion that should stop. You are correct that, once you prove fair use, legally speaking copyright was not infringed and verdict for the defense. He is correct that in the actual trial, "infringement" - in a different sense than the final "copyright infringed, verdict for the plaintiff" - will be a separate discussion than fair use and to get to fair use there must be "infringement".
|
# ? May 12, 2016 15:11 |
|
Kalman posted:Kinda hard to argue your implementation was made without any knowledge of how the other implementation was done when you hire somebody who helped write the other implementation. Granted, but now you've got experts in the field of "implementing X API" who are effectively under an absurdly long, albeit somewhat specific, non-compete, which I find extremely problematic.
|
# ? May 12, 2016 15:23 |
|
Munkeymon posted:Granted, but now you've got experts in the field of "implementing X API" who are effectively under an absurdly long, albeit somewhat specific, non-compete, which I find extremely problematic. Yeah, this is why I think that the entire idea of giving these copyright protection but allowing it to be evaded through a clean room means that giving them copyright protection in the first place was a stupid idea - both legislatively and judicially. Because it's clearly a stupid, stupid system that requires people to waste time reinventing the wheel in annoyingly precise circumstances to no positive benefit, courts should have ruled that it is too functional to qualify for copyright protection (and while this would be somewhat of a revision to current copyright law doctrine, that has to be understood in the context of giving computer code protection as a literary work which is an obviously stupid work-around to the lack of a coherent IP regime for computer code in the first place and a problematic mixing of functionality (not copyrightable, only patentable) and expression (only copyrightable, not patentable) that has lead to a lot of problems since it really deserves its own regime), and once courts made the wrong decision Congress should step in and fix the entire copyright regime for computer code (lol congress doing anything). evilweasel fucked around with this message at 15:47 on May 12, 2016 |
# ? May 12, 2016 15:45 |
|
Mr. Nice! posted:They could have licensed it first and foremost. That would have been the easiest way but also the most expensive. They could have reverse engineered in a clean environment so they got something that's functionally identical, but that would have taken extra time/man hours to do it. They could have had people work on it who had no knowledge of the oracle copyrights instead of hiring former oracle employees specifically to code sections. Sorry; I should have specified that I was talking to everybody who isn't a lawyer.
|
# ? May 12, 2016 15:50 |
|
evilweasel posted:Yeah, this is why I think that the entire idea of giving these copyright protection but allowing it to be evaded through a clean room means that giving them copyright protection in the first place was a stupid idea - both legislatively and judicially. Because it's clearly a stupid, stupid system that requires people to waste time reinventing the wheel in annoyingly precise circumstances to no positive benefit, courts should have ruled that it is too functional to qualify for copyright protection (and while this would be somewhat of a revision to current copyright law doctrine, that has to be understood in the context of giving computer code protection as a literary work which is an obviously stupid work-around to the lack of a coherent IP regime for computer code in the first place and a problematic mixing of functionality (not copyrightable, only patentable) and expression (only copyrightable, not patentable) that has lead to a lot of problems since it really deserves its own regime), and once courts made the wrong decision Congress should step in and fix the entire copyright regime for computer code (lol congress doing anything). I just want to say I agree completely with all of that
|
# ? May 12, 2016 16:27 |
|
evilweasel posted:You're talking past each other. Thank you.
|
# ? May 12, 2016 17:01 |
|
evilweasel posted:You're talking past each other. There's nothing in the fair use statute that places the burden of proof, and the Court could easily shift the burden to the rights-holder like it did with trademark in KP Permanent
|
# ? May 12, 2016 17:16 |
|
WhiskeyJuvenile posted:There's nothing in the fair use statute that places the burden of proof, and the Court could easily shift the burden to the rights-holder like it did with trademark in KP Permanent KP Permanent was a trademark case that isn't at all analogous to the current one. In pretty much all fair use copyright cases, the infringing party is the one that has to demonstrate fair use. In KP, the infringing party had been using the phrase microcolor for over a year before the other party registered the trademark. Oracle's copyright in this case existed long before google violated it.
|
# ? May 12, 2016 17:22 |
|
Mr. Nice! posted:KP Permanent was a trademark case that isn't at all analogous to the current one. In pretty much all fair use copyright cases, the infringing party is the one that has to demonstrate fair use. The issue is what's the legal test, not how to apply it: KP Permanent holds that the burden is on the accuser to disprove fair use. Copyright fair use places the burden by caselaw not statute, and can be changed by a future Court
|
# ? May 12, 2016 17:43 |
|
|
# ? Jun 6, 2024 17:18 |
|
WhiskeyJuvenile posted:The issue is what's the legal test, not how to apply it: KP Permanent holds that the burden is on the accuser to disprove fair use. Copyright fair use places the burden by caselaw not statute, and can be changed by a future Court I agree with you about copyright burdens being unfixed by statute and potentially movable. I don't feel, though, that a trademark case that bears zero analogous facts is enough to shift the burden to oracle. KP represents a trademark issue that can't really occur in a copyright situation.
|
# ? May 12, 2016 17:56 |