Slashdot Mirror


Oracle Claims Google 'Directly Copied' Our Java Code

itwbennett writes "On Wednesday, Oracle amended the lawsuit it filed against Google in August, saying that 'approximately one third of Android's Application Programmer Interface (API) packages' are 'derivative of Oracle's copyrighted Java API packages' and related documents. In particular, 'the infringed elements of Oracle America's copyrighted work include Java method and class names, definitions, organization, and parameters; the structure, organization and content of Java class libraries; and the content and organization of Java's documentation,' Oracle says. 'In at least several instances, Android computer program code also was directly copied from copyrighted Oracle America code,' Oracle alleges."

28 of 675 comments (clear)

  1. Here we go again (SCO) by Anonymous Coward · · Score: 5, Insightful

    Fire up Patty at Grocklaw./.... this is identical to the IBM vs SCO case

    1. Re:Here we go again (SCO) by poetmatt · · Score: 4, Insightful

      Also, is oracle really trying to state that they have never heard of clean room design? Oracle is pretty screwed on this case, and with google's intent to fight hard, all Oracle is going to do is kill their own business off.

      Java has now become a liability, so now people won't want to use it. Simple.

    2. Re:Here we go again (SCO) by wonkavader · · Score: 5, Insightful

      I don't think it's that bad, but certainly ORACLE becomes a liability -- don't use anything they control.

    3. Re:Here we go again (SCO) by Z00L00K · · Score: 3, Insightful

      And then the question is - move to WHAT?

      C# is too windows-oriented to really be useful, but maybe this will be a revival for Ada?

      However - it's more likely that a spoof of Java called something else will spring up.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    4. Re:Here we go again (SCO) by Joce640k · · Score: 5, Insightful

      Well, at least we found out why Oracle bought Java...

      --
      No sig today...
    5. Re:Here we go again (SCO) by digitalunity · · Score: 4, Insightful

      Oracle isn't going anywhere. This lawsuit isn't going to be anything at all like SCO/IBM or SCO/Novell because Oracle is many times larger than SCO is and is at least 2 orders of magnitude more relevant.

      Java is everywhere. Schools teach it. Companies use it.

      If Google really copied things from the Java source like actual source code or documentation, they might be screwed. It sounds like from the summary that the bulk of this 'copying' was the API, which I don't think is even eligible for copyright(not artistic).

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    6. Re:Here we go again (SCO) by freeshoes · · Score: 4, Insightful

      Yeah like all the C libraries out there?

    7. Re:Here we go again (SCO) by Anonymous Coward · · Score: 3, Insightful

      Anon because skewering is anticipated....

      Really? Comparing to SCO?

      I'm replying to a post that is thinking it through vs. some of the others.

      I know Google can do no wrong in some people's eyes, but isn't it possible that some middle manager and his crack wiz kids didn't think and indeed copied code directly from Oracle's Java (it pains me to say that name...I already miss Sun). I've seen this many times where people see code, use code, and don't think of the legal ramifications. I'm sure everyone on Slashdot looks at the copyright language for every snippet of code they find on websites but doesn't mean everyone does.

    8. Re:Here we go again (SCO) by man_of_mr_e · · Score: 5, Insightful

      What I find ironic is that everyone was worried about Microsoft suing open source implementors of .NET, and claiming that Java should be used instead. ... Oops.

    9. Re:Here we go again (SCO) by DrgnDancer · · Score: 4, Insightful

      C isn't portable. If I write something in Java it will probably (for a very high value of "probably" too) work on any of a dozen platforms. If I write something in C I have to port it. Porting it costs programmer time and we've already established that programmer time is more costly than machine time. In theory C could be made to be somewhat portable (It would still have to be compiled on every platform and the binaries distributed separately), but in practice this would require a lot of OS vendors that hate each other to standardize a lot of APIs. It's probably not going to happen.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    10. Re:Here we go again (SCO) by drinkypoo · · Score: 4, Insightful

      I don't think it's that bad, but certainly ORACLE becomes a liability

      Becomes? You must be new.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    11. Re:Here we go again (SCO) by DrgnDancer · · Score: 5, Insightful

      C is portable, a given piece of C code is not necessarily. I guarantee that if I write a program of any complexity in C on Windows, and don't make specific efforts, that program will not compile on Linux or MacOS. You're continuing to ignore the point. Yes, you can write stuff in C and port it to any platform. No one is denying that. The point is that it costs extra money to port it, when you could just write it in Java and have it work on all those platforms. This is a significant cost savings for multi-platform apps.

      There are a great number of applications (and the number grows every time Moore's Laws increments) that simply don't need more performance. The person behind the keys simply doesn't care that his/her accounts receivable application *could* have responded in .0005 seconds had it been natively compiled but instead responds in .001 seconds because it runs through an interpreter. Faster than human thought is faster than human thought.

      For lots of things performance remains important. For those things, people will keep using compiled languages and dealing with the headaches of porting. For everything else, Java is fine, and a huge cost saver in a lot of cases.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    12. Re:Here we go again (SCO) by gstoddart · · Score: 3, Insightful

      A better point would be that these languages have features that make it easier to write code, such as garbage collection.

      And, my personal favorite ... generics.

      God, I love being able to declare a hash table of without needing to care any more about how one would write the innards of a hash table.

      For me, having data structures on tap is one of the best features of modern languages. That and the huge libraries of code which I can just use to accomplish my task instead of starting from scratch. I'm not interested in writing an XML parser -- I just need it parsed in as few lines of code as possible.

      Java isn't perfect, but I fear Oracle is ruining it.

      --
      Lost at C:>. Found at C.
    13. Re:Here we go again (SCO) by drewhk · · Score: 3, Insightful

      There are two types of fools:
      1. The fools who trust in the optimization skills of the compiler/JIT compiler
      2. The fools who trust in their own optimization skills

      My personal experience is that Type 1 fools are harmless, you can speed up their code easily. Type 2-s on the other hand do a lot of mess, code in assembly, whatever and still manage to fuck up performance and it is a pain to correct it later. Modern CPU architectures are extremely complex, and different architectures have different characteristics (e.g Atom vs Pentium 4). There are many programmers that used assembly in their college years and think that those skills apply on current systems.

    14. Re:Here we go again (SCO) by paulsnx2 · · Score: 5, Insightful

      Just because something is "hard to do" doesn't mean you can copyright it. And it doesn't mean that something is primarily an artistic expression.

      It is instructive to consider why you cannot copyright fashion in current law (something that the Fashion copyright bill intends to change). Fashion is considered primarily utilitarian, i.e. you wear a shirt to cover your top, and wear pants to cover your bottom. To allow copyright to control basic utilitarian functions would be hugely damaging to the fashion industry. Even the Fashion Copyright bill acknowledges this fact, restricting fashion copyright to 3 years, and only to identical copies.

      Nobody says making attractive cloths isn't hard to do. Nobody is saying that poorly designed cloths make some people cringe. In fact, there can be huge artistic components to the design of both cloths and APIs.

      But at the end of the day, you wear boots to cover your feet, gloves to cover your hands, and hats to cover your head, and belts to hold up your pants, etc. etc. You use APIs to paint buttons and fields on windows, write to files, access the internet, etc. etc.

      These functions are primarily utilitarian in nature...

      APIs are designed to allow certain functionalities in computer systems, and the market is ill served by restricting the control of their use perpetually to one company.

      If copyrights are allowed for APIs, then we are all screwed. Let's count the ways:

      Copyright on APIs would amount to a nearly 100 year lock on building systems that conform to various interfaces. APIs are all derivative, and companies like IBM could assert control over vast ranges of APIs that are clearly derived from their earlier systems. At the same time, changes to APIs produce opportunities to produce new copyrights (even as their use might be prohibited due to infringement on other APIs). Copyrights on APIs would effectively drive all small businesses out of programming, as nothing can be done without the use of an API, and all the control of APIs would reside with the historical companies who first designed the APIs we all use. Even the big companies today might not be able to assert control over APIs whose original authorship might be hard to nail down today.

      As I have pointed out in the past, not one single company has secured all the IP required to produce a smart phone. If the courts side with Oracle on their claim that they have a copyright on an API, then no company will be able to secure the IP required to write a single program. Only by having vast army of lawyers can any company produce a smart phone today. Allow copyrighted APIs, and only by having a vast army of of lawyers can anyone write a program.

      I can only hope our courts can see the problem with this idea.

    15. Re:Here we go again (SCO) by the+Haldanian · · Score: 5, Insightful

      Also after SCO - no lawfirm will be nearly as stupid as SCO's..

      You mean represent an insanely deluded client who throws all of their money away at them?
      The *lawfirms* would *fight* for that chance!

    16. Re:Here we go again (SCO) by Haeleth · · Score: 5, Insightful

      C# has absolutely nothing windows oriented to it. It's a completely platform agnostic language.

      Don't be disingenuous. You know as well as I do that when anyone other than Miguel de Icaza says "C#" they are talking about .NET running on Microsoft Windows, and that is never going to change.

      Even if we suppose, for the sake of argument, that Mono is an excellent platform for Linux-native development, it is still ridiculous to suggest that it might replace Java. Where is Java used? In big enterprises. Do you really think that a company that is afraid to use Java for fear of Oracle is going to be happy using a third-party implementation of a Microsoft technology?! They would be crazy to do so. Anyone who is still running Java on Windows, and has no interest whatsoever in retaining cross-platform compatibility, might consider switching to .NET at this point. Indeed it would probably make good business sense for them to do so. But C# is not a serious option for any enterprise scenario that involves non-Microsoft platforms.

  2. And so it begins. by contra_mundi · · Score: 5, Insightful

    Oracle makes Java unusable, by being Oracle.

    1. Re:And so it begins. by MrSenile · · Score: 3, Insightful

      Sadly, they aren't stopping there. They're slowly (ok, not so slowly) making Solaris unusable as well. As well as the hardware support.

      Paying $160,000/year for 25K support why again?

  3. Doesn't this sound a lot like SCO's suit? by wonkavader · · Score: 4, Insightful

    Maybe there's more here. Maybe Google took actual, non-open Java code, but it looks a lot like the SCO suit to me. That Oracle is saying that using the same header files (AKA APIs) is infringement. We all know that to make a work-alike system, the strings in the header files (APIs) need to be the same. They really look the same, even if you create them from scratch by following the published specs.

    This seems like Darl's work, all over again.

  4. Re:Dangerous claim by vtcodger · · Score: 4, Insightful

    ***Is Oracle trying to pull a SCO here? (i.e. it does something like what our code does, therefore it's ours).***

    Lawsuits are written by lawyers. Being a lawyer means that you don't actually need to know what you are talking about, you just need to sound like you do.

    I agree, that this stuff other than indenting, comments, layout probably is not copyrightable. My understanding is that basically, you can not copyright the only way to express something.

    I'm in no way shape or form a lawyer. Does formulating this in the way they have give Oracle access to the Google code to see if the code was in fact copied byte for byte from Oracle rather than simply implementing the same externally interface?

    --
    You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
  5. Re:Dangerous claim by somersault · · Score: 5, Insightful

    Does formulating this in the way they have give Oracle access to the Google code to see if the code was in fact copied byte for byte from Oracle

    You mean this code?

    --
    which is totally what she said
  6. Re:I have to wonder by Surt · · Score: 4, Insightful

    The code in question is publicly accessible, just not licensed for this kind of use. Once you violate the license, your right to copy that code goes poof.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  7. Re:Only if they are certified Java by tlhIngan · · Score: 3, Insightful

    Yes, you can create a free/open-source implementation of Java, as long as you are licensing from Sun/Oracle under the terms of the Java license.

    But really, how long can it be before Oracle's suing open source implementations of Java, too?

    I know, GPL, law isn't on their side, etc. But who really thinks that will stop them from trying to manage a win simply based on having more lawyers and money?

    Very unlikely actually. You forget that Java on the desktop doesn't make much money - it's far more lucrative to make it free, get people addicted and use Java elsewhere that makes more money - enterprise and mobile devices.

    Forget smartphones for a moment, as they are but a tiny drop in total phone sales. The vast majority of those phones ('dumbphones' or 'featurephones') allow apps, and have for years. Those phones run Java, and Sun made (and Oracle makes) a killing licensing Java technology for all those handsets - both from the handset manufacturer and the carriers. And with the hundreds of millions of phones made annually, that's a lot of money.

    Oracle's not going to give up such a lucrative source of cash anytime soon. And Android's Java implementation is in the direct line of fire because of it.

  8. Re:Dangerous claim by yincrash · · Score: 5, Insightful

    under a very specific license. if you copy code, yet don't abide by the terms of the rest of the license, you are in violation of copyright.

  9. Re:PostgreKill by dkleinsc · · Score: 5, Insightful

    Postgres, like most other really awesome open source projects, is not for sale. To anyone. For any price. That's one reason Microsoft, Oracle, et al hate them so much - when it was startup companies, they could always pull out the checkbook and make the problem go away. With the FSF, Apache, Mozilla, and so forth, they can't.

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
  10. Re:Um, isn't java code GPL? by H0p313ss · · Score: 4, Insightful

    Isn't the code for Sun's standard java library GPL along with the rest of OpenJDK? If so, it should be completely legal to copy it as much as you want.

    Not all of Sun's Java code went into Harmony et. al. So, maybe.

    However, I am both puzzled and worried by Oracle's motivation here. It sounds to me like Oracle is actually going to kill Java by making it impossible to adopt in the name of trying to leverage the (very expensive) IP they bought along with Sun.

    Sounds like we need a new, and truly open, language and runtime for the 21st century.

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  11. Re:Here's Oracle's Example by UnknowingFool · · Score: 3, Insightful
    From my non-expert analysis.
    • The variable declarations are almost identical.
      There are a few minor differences but the names are exact. This is troubling unless the specifications list or name them. However, the variable declarations may not be protected elements.
    • The method names are exact.
      This isn't surprising if the both pieces of code are trying to do the same thing.
    • The method parameters are not exact.
      The types are the same but the names are not exact.
    • The structure is similar but not exact.
      There are slight differences mostly due to style of the programmer which is to be expected in clean room implementations.. Android versions sometimes squeezed code into one line where Oracle's version spread it to multiple lines. Android's if statements sometimes used braces {} even if it was not required whereas the Oracle version did not. Android did not always use the same structure (i.e. while instead of do while and for iterator instead of while {iterator.hasNext()}

    Except the private variables in the beginning, I would lean towards clean room implementation. There is a lot of line by line exactness however they do not appear to be nontrivial parts of the code and there is enough slight differences to where it could be explained by clean room implementations.

    --
    Well, there's spam egg sausage and spam, that's not got much spam in it.