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."

95 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 medv4380 · · Score: 2, Insightful

      Too much infrastructure is tied into Java for this to kill it quickly. It will be a slow and painful death as people move away if they can.

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

      I'm sure oracle HAS heard of clean room design (legal), but that does not typically result in methods reproduced word for word, as happens when you copy the methods using cut and paste (judgement for the plaintiff).

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    5. 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.
    6. Re:Here we go again (SCO) by Joce640k · · Score: 5, Insightful

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

      --
      No sig today...
    7. 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.
    8. Re:Here we go again (SCO) by man_of_mr_e · · Score: 3, Informative

      Uh.. what?

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

      Now, if you're talking about .NET, that's a slightly different story, although much of it, especially the CLI is also platform neutral. The only parts that are windows specific are things that can be replaced, such as the GUI framework.

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

      Yeah like all the C libraries out there?

    10. Re:Here we go again (SCO) by John+Hasler · · Score: 2

      There are C libraries. Lots of them.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    11. 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.

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

      I don't know enough about the specifics in this case but clean room implementation is not always a ironclad defense. The specifics will matter since this is about code that is copyrighted and not just patents. The code might match up but Google will have to show that such code was trivial and obvious. For example if you have a method that adds integers together:

      public int add(int a, int b) { return (a+b); }

      There are only a handful of ways to do this. If two different implementations come up with the same way, although the code might have been copyrighted, it's not infringement per se. Google may have to show (1) it really was a clean room implementation (and that code really wasn't stolen) and (2) such similarities were inevitable given the goal of the implementation.

      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

      From the complaint, some of parts the code are most likely not copyrightable, especially if you doing an implementation like Google has done. The method and class names and the parameters might fall under Scènes à faire. The rest will have to determined by what may be a long and painful fight if Oracle wants it to be.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    13. Re:Here we go again (SCO) by zach_the_lizard · · Score: 2, Insightful

      C can have just as large amounts of well-tested library code as Java or any VM or interpreted language can. A better point would be that these languages have features that make it easier to write code, such as garbage collection.

      --
      SSC
    14. 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.

    15. 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.
    16. 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.'"
    17. Re:Here we go again (SCO) by AmaDaden · · Score: 5, Informative

      James Gosling confirmed this some time ago "During the integration meetings between Sun and Oracle where we were being grilled about the patent situation between Sun and Google, we could see the Oracle lawyer's eyes sparkle. Filing patent suits was never in Sun's genetic code. Alas.... " http://nighthacks.com/roller/jag/entry/the_shit_finally_hits_the

    18. Re:Here we go again (SCO) by Anonymous Coward · · Score: 2, Informative

      So you give up order of magnitudes in performance over the life of the running application

      [citation needed]

      In order for the citation to count, it has to be significant enough that, using modern hardware, it would be easily noticeable and detrimental to non-mission-critical applications and/or not intended for a realtime OS (which is to say, ordinary, common-use applications).

      I'll give you the benefit of the doubt and simplify the need to prove magnitudes in performance to just one magnitude if need be, as multiple magnitudes of order seems to either be logically unsound, magically turning, for instance, a O(n) function into O(n!); or semantically unsound, as "magnitudes" would imply a horrifying execution time increase which would have stymied the development of ANY higher-than-C-level language, a situation which is provably untrue due to the proliferation of languages that are, in fact, higher-level than C and are very frequently used in the modern world.

      And because you appear to be arguing C over any other language, please provide citations for as many not-C languages as possible (Java, C#, Obj-C, etc, etc). As I have used many not-C languages in my life and have not noticed execution time and performance decrease by magnitudes except in the most extreme of cases, "everyone knows this" does not count as a citation.

    19. 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.
    20. Re:Here we go again (SCO) by shentino · · Score: 2, Insightful

      That's easy enough to resolve.

      Be a good programmer and don't make naive assumptions about types.

    21. Re:Here we go again (SCO) by tofubeer · · Score: 2, Informative

      Only if you have A CPU that directly executes C code. You can, however, write portable C code that can be compiled without altering the code.

      Source portability is not the same thing as binary portability.

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

      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).

      Good API design is hard. Saying that it's just API design and not artistic is severely disingenuous to engineers who are actually good at it (and engineers who cringe and suffer when forced to deal with bad API designs.)

      --
      This .sig for unofficial government use only. Official use subject to $500 fine.
    23. 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.
    24. Re:Here we go again (SCO) by Nethemas+the+Great · · Score: 4, Informative

      I thought most of us saw the obvious reasons already. Sun was rather like a gift wrapped fruit basket.

      • They were constantly struggling with money problems making them weak to takeovers.
      • MySQL, Oracle's database division's biggest threat was purchased by Sun.
      • Sun owns Java, and more importantly J2EE--the technology powering the overwhelming majority of every corporate back-end that isn't .NET.
      • Sun railed hard against software patents, Oracle loves software patents, uses them as a profit center
      • Sun possesses a 10-year, patent non-aggression pact with Microsoft (started in 2004)
      • Sun has a somewhat sizable patent portfolio, including pertaining to Java, anyone not deriving from OpenJDK (which has permanent indemnification) is subject to litigation.
      • Most of Sun's software patents were as yet untapped (they never sued for licensing agreements) potential points of licensing revenue.
      • The Java specifications are copyrighted. There are a number of APIs that have similar designs
      --
      Two of my imaginary friends reproduced once ... with negative results.
    25. 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.

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

      Name a dozen platforms that runs Java.
      Bonus question: Name a dozen platforms that runs Eclipse.

      --
      Don't quote me on this.
    27. Re:Here we go again (SCO) by thePig · · Score: 2, Insightful

      Even though I want to support Google in this case, we cannot be sure - unless we go through their whole set of comments.
      Note that android code was not written by Google - it was by Android Inc - and so we cannot just discount it by saying why would google need to do that.
      This will be a fun fight to watch though.

      --
      rajmohan_h@yahoo.com
    28. Re:Here we go again (SCO) by UnknowingFool · · Score: 3, Informative

      The main difference is that SCO didn't own the copyrights (and we all knew they didn't) but it took a long, protracted court case to work that out. Once that was settled, SCO didn't have any legal standing to sue IBM for copyright infringement. It is clear that Oracle owns the Java copyrights. The code will probably be similar; it's a matter of how much quibbling Oracle is willing to do. Unlike SCO, Oracle has lots of their own money to battle this out.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    29. Re:Here we go again (SCO) by meloneg · · Score: 2, Insightful

      All right. I'll probably cheat and hit google before I'm done writing this.
                        Mac OS X
                        SunOS
                        Solaris
                        Irix
                        HP/UX
                        Windows NT
                        Windows Vista
                        Windows NT
                        Android
                        Linux
                        FreeBSD
                        AIX

      Nope. No google needed. I've personally run and/or written Java/Swing applications on all but 3 of those.

    30. 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.

    31. Re:Here we go again (SCO) by jbengt · · Score: 2, Informative

      Regardless of API design work, the API is considered functional and there are not many substantially different possible ways to express it, so it is not considered copyrightable. (not to mention that it is required for programming that must interface using it)
      IANAL, YMMV, etc.

    32. 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!

    33. Re:Here we go again (SCO) by butlerm · · Score: 4, Informative

      In Baystate v. Bentley Systems (1997), a district court held that technical interfaces including programmer APIs are not copyrightable under the scenes a faire and other copyright doctrines. If this logic is followed by the court in the Oracle case, Google will be held harmless from any claims of copyright infringement.

      This all despite the creativity that went into the API design in the first place. The practical benefit of not proscribing the copying of technical interfaces should be obvious. If such copying was proscribed, no one could make compatible software without permission of the original manufacturer anymore. File formats themselves might be protected to the degree that in the absence of any patent, it might be illegal to write code that reads and writes your own data.

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

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

      Yeah, so long as you exclude all the standard library functionality like access to files, networking, I/O in general, threading, etc, etc - basically everything you need in order to actually write useful applications in C#. If you want to actually use it for application development, though, it's very much Windows oriented.

    35. 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.

    36. Re:Here we go again (SCO) by Kaz+Kylheku · · Score: 2, Informative

      C is must more portable than Java. If I write something in Java, it will work on exactly one platform: the Java platform. The C will actually work on hundreds of platforms. If I want. Or just one, if I want.

      In C, you're programming any machine, using a portable syntax. You can write C code that doesn't require any library or operating system at all, just some way to to be loaded and invoked.

      You can write C code that efficiently uses the native types of the machine, more or less. If the machine has 36 bit integers, you can use all 36 bits (while still remaining portable to where there are only 32 bits).

      C can be made ROM-able.

      Let's see, random project out of the air. Could, say, Etherboot be easily redeveloped in Java? Sure, if your system boot firmware can cough up a Java environment.

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

      Well let me just copy the code of sharp develop over to a linux box and compile with mono, should work right out of the box then correct? Oh I guess not.

      --


      Got Code?
    38. Re:Here we go again (SCO) by InfiniteWisdom · · Score: 2, Informative

      Dalvik was not part of the original android project. Google went ahead and built a clean room implementation after talks with Sun over Java licensing broke down. Dalvik was certainly programmed in house by Google.

    39. Re:Here we go again (SCO) by Billly+Gates · · Score: 2, Insightful

      Go to any bookstore and pick up a c# book?

      Now open it and find any without screenshots of Visual Studio or using Windows.x in the examples? I mean any at this point. .NET, VS, and C# are one. When someone tells me there are a c# user I envision them a Windows programmer by default. It is like saying using Word does not make you a Windows or MacOSX user. I have to ask what does that make you? Ok you got Word 95 to run on crossover once ...

      I might as well be a c user who just writes assemblies because there is no where that says I must use an api instead.

  2. Behaving like SCO... by Thunderbird2k · · Score: 2, Insightful

    Apparently they are getting really desperate and are behaving like SCO now. If you have tons of getters, setters and other small functions, it is easy to have the same implementation in all cases.

    1. Re:Behaving like SCO... by jdgeorge · · Score: 4, Interesting

      Apparently they are getting really desperate and are behaving like SCO now. If you have tons of getters, setters and other small functions, it is easy to have the same implementation in all cases.

      My guess: What Oracle is desparate for is a cross licensing deal with Google to give them access to Google's IP related to massively distributed data storage/retrieval. Google, on the other hand, isn't particularly interested in giving away their crown jewels in this way.

  3. Dangerous claim by TheRaven64 · · Score: 5, Interesting

    "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.

    All of this stuff should count as an interface, and therefore not covered by copyright under US law. If they win this, then it sets a very dangerous precedent. Any project that implements an interface defined by another would potentially be violating copyright - including every single PC, which includes a BIOS that implements the behaviour of the IBM-copyrighted PC BIOS. Projects like WINE and GNUstep would also be in serious trouble and Linux (implementing UNIX APIs) would be illegal.

    Claiming that Google copied their code is interesting. I was under the impression that the java.* classes in Android came from Apache, not from the Sun releases. Is Oracle trying to pull a SCO here? (i.e. it does something like what our code does, therefore it's ours).

    They really should have kept this as a patent / trademark issue. Bringing copyrights in is a terrible idea.

    --
    I am TheRaven on Soylent News
    1. 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
    2. Re:Dangerous claim by Anonymous Coward · · Score: 5, Interesting

      All those perfectly valid points aside, there's the slight matter of Sun having released the vast majority of their API implementation as open source.

    3. 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
    4. 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.

    5. Re:Dangerous claim by icebraining · · Score: 2, Informative

      That's the proprietary JDK. You're looking for OpenJDK, which is under the GPLv2.

  4. 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?

    2. Re:And so it begins. by Issarlk · · Score: 2, Insightful

      Writing high-performance server-side PHP will be a lot of fun.

  5. You don't know what the fuck you are talking about by pavon · · Score: 4, Informative

    The JDK that ships with Android is just a subset of Harmony, which is released under the Apache license. All improvements made by Google have been folded back into the project. The additional non-standard libraries they ship with android, are also opens source.

  6. 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.

  7. Re:I have to wonder by characterZer0 · · Score: 5, Funny

    how did Google get their hands on it in the first place?

    aptitude install sun-java6-source

    --
    Go green: turn off your refrigerator.
  8. Only if they are certified Java by JSBiff · · Score: 5, Informative

    I want to start by saying I'm not making any commentary here on the validity of Oracle's claims regarding direct copying (I suspect they are making that claim just because class names and methods are the same for some classes, for compatibility purposes).

    The thing is, Google doesn't claim Dalvik is "Java". They aren't using a Java license. 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.

    Google created something very similar to Java, but they are not calling it Java, and do not claim to have licensed Java from Sun/Oracle. I believe they claim copyright over the entire Dalvik VM and API. That makes a world of difference, legally, and so they can't use the defense the parent is suggesting.

    1. Re:Only if they are certified Java by Mongoose+Disciple · · Score: 2, Interesting

      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?

    2. 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.

    3. Re:Only if they are certified Java by Mongoose+Disciple · · Score: 2, Interesting

      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.

      I didn't forget that; let me explain the nuance of where we differ.

      I think what you're saying is true.

      I think Sun saw it that way.

      I don't think Oracle sees it that way. I think they're more likely to take the (bad, imho) strategy of deciding that Java needs to make them money directly even on the desktop/enterprise (herein defined as businesses that are using Java for business apps but maybe not using "enterprise Java"), one way or another. Maybe that's trying to get rid of free decent Java IDEs and muscle the makers of the rest into paying them a fee. Maybe that's bolting features or APIs onto Java that are extremely labryinthine or poorly documented so that you need to pay Oracle for consultants to do some or all of your implementation, and suing the hell out of alternate implementations of Java.

      Basically, I think Oracle is about as likely to keep things going the smart way they previously were as the RIAA is to decide that file-sharing ultimately helps them out. There's just nothing in their culture or history that indicates they're remotely capable of letting a goose continue to lay golden eggs when it can be cooked and eaten today.

  9. Re:History Repeating by ByOhTek · · Score: 2, Insightful

    I think oracle is a *little* bit bigger and more powerful than SCO. I don't think they'll get any farther with this than SCO did, but their attempts won't bankrupt them either.

    --
    Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  10. To all those who saw no harm in the Sun purchase by No.+24601 · · Score: 2, Interesting

    Oracle should never have been allowed to buy Sun. Instead it should have been liquidated (since that's what happening anyways... particularly with the high-profile Sun departures).

    And so it begins...

  11. The code is obviously ripped by judeancodersfront · · Score: 2, Insightful

    Sorry but that is a fact that is independent of any hatred you may have of Oracle.

    Renamed a string to s???? Why even bother?

  12. Re:The new Axis of Evil has formed... by somersault · · Score: 4, Funny

    I wonder who will they make Chairman of this MAO group? Actually Steve has the most experience with chairs, so he should probably be the new Chairman MAO.

    --
    which is totally what she said
  13. Re:Java GPL? by Lunix+Nutcase · · Score: 3, Informative

    J2se is. J2me is not. That's three problem that Google faces.

  14. 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
  15. Same Lawyer by pavon · · Score: 2, Interesting

    Is Oracle trying to pull a SCO here?

    Groklaw pointed out that David Boies is one of the three Lawyers listed on the Oracle filings. He also represented SCO in that fiasco, so, yes it appears we will be seeing the same sort of bullshit we saw there. He is a lawyer, and has represented many clients including some we would side with (such as arguing the DOJ's case against Microsoft). But his methods are similar regardless of the client; a no-holds-barred fight claiming anything they can think of regardless of the merit of the claims or how it affects Oracle's reputation with their customers.

  16. Apple - Java by aitikin · · Score: 5, Interesting

    So maybe this is why Apple decided to stop updating their java and leave it to Oracle...

    --
    "Don't meddle in the affairs of a patent dragon, for thou art tasty and good with ketchup." ~ohcrapitssteve
    1. Re:Apple - Java by gtall · · Score: 2, Insightful

      Bullshit, Apple has license agreements with Sun, now Oracle. Or rather they are in the process of ripping them up. The reason isn't that Java's poison, the reason is that Java is either not material to Apple or they figure they can shift the cost to Oracle. Java is only poison for Android to extent Oracle has a case. If it blows up in Uncle Larry's face, that Java will do just fine. We should find out in about 10 years after the lawyers have new boats.

  17. Re:Conspiracy by gstoddart · · Score: 2, Interesting

    Anyone else thinking Oracle buying Sun was a calculated move to destroy Android by killing Java?

    Nope. I'm of the opinion that Java and Android are casualties to "business as usual" at Oracle.

    I believe they really did want to be able to market an Oracle appliance set up specifically for running Oracle DBs. In fact, they will likely eventually move to a mode where Oracle is only supported on Oracle machines with a support contract. Since even the most trivial install of Oracle on the enterprise level requires a staggering amount of machines and processors, there's huge money in selling you a couple of million in hardware/software with tens of millions in built in support costs over the lifetime.

    My wife works for a large company that does enterprise backups and the like. They have some aging Sun equipment -- but, since the machine isn't on a maintenance agreement with Oracle for bazillions of dollars each year, they suddenly can't get even the most basic stuff they used to be able to get. Oracle has locked everything down, and basically says "no contract, no peeking" -- needless to say, that is accelerating replacing Sun equipment with something else.

    Oracle are as evil and closed as Microsoft, and ran by megalomaniacs on the same scale. Java is a casualty, but it wasn't a strategic goal of buying Sun. They had bigger fish to fry there.

    In the long run, I think Oracle might devalue themselves overall -- they're gutting the brand value and good will of Sun, they're destroying Java, and generally not playing nice. I don't think people will want the taint of Oracle around their Sun platforms and Java.

    --
    Lost at C:>. Found at C.
  18. Evil? by guybrush3pwood · · Score: 2, Interesting

    Evil? Are you serious? Oracle is not "evil", at least not by my understanding of the word. Evil would be to stealing food from a starving crowd, selling weapons to terrorists, secretly building atomic arsenals to launch surprise attacks, creating an ever-mutating virus targeting a specific ethnic group, and the like... A company buying another one and filing a lawsuit for a patent against a competitor might be silly, unfair, wrong... but never "evil".

    --
    Perhaps I'm trolling, perhaps I'm not.
    1. Re:Evil? by John+Hasler · · Score: 2, Insightful

      "Evil" now means "I don't like it".

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  19. Google Buy Oracle by freeshoes · · Score: 3, Funny

    Google should just buy Oracle, then it could develop OO etc to kill MS Office.

  20. Oracle Kills Java by Doc+Ruby · · Score: 2, Insightful

    Java caught on quickly largely because it was open: the language specification was published without prohibiting 3rd parties from implementing it in their own VM, etc. Copyrighting the class library API, which is half of Oracle's charges here, is a severe lockdown. Oracle's grab to control more of Java than even Sun did is going to kill the spirit of the community that cares about openness which keeps Java alive.

    Perhaps this move is why so many Sun Java people left suddenly in the past month or so. Or perhaps Oracle has even more greedy plans to own more of Java while shrinking it to an also-ran behind .Net (and its emerging Silverlight that will run everywhere Java does).

    --

    --
    make install -not war

  21. 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/
  22. Re:You don't know what the fuck you are talking ab by udippel · · Score: 2, Insightful

    This may be as it is; but if Harmony was contaminated, so would be Android. Just using Free Software does not automatically guarantee that is was unencumbered. And maybe only by mistake (encumbered); that would not help at all.
    And 'feeding back' into a community project is totally unrelated to the potential issue of copyright violation.

    The last thing I'd like to do, was defending Oracle. But arguments need to be correct, complete, and relevant.

  23. Um, isn't java code GPL? by coder111 · · Score: 2, Interesting

    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.

    --Coder

    1. 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
    2. Re:Um, isn't java code GPL? by recoiledsnake · · Score: 3, Informative

      GPL'ed code will save Google from copyright claims, not patent claims. This is the case for pre-GPLv3 license which Java is under.

      --
      This space for rent.
    3. Re:Um, isn't java code GPL? by HiThere · · Score: 2, Interesting

      Ruby? Python? D? An adaptation of Python with (optional) static typing (to allow compilation into more efficient code)? (Note, btw, the existence of Pyrex and Cython which allow the compilation of python into native code. Sometimes much more efficient native code. This isn't what I'm talking about.)

      Why bother to come up with an entirely new language? If you must, why not Go?

      As for Ada... they'd need to make some basic changes. It could be done, but they've refused to even *look* in that direction. E.g., even in the early days Ada had the specifications for an optional extension for garbage collection. It was never made standard, or even recommended. And the new Ada standard still doesn't recommend it. And literals are by default of type fixed length char array. They need to default to type "unbounded string" (which needs a better name, say "string"). Etc. Most of the changes aren't basic, but they are very important for usability. The one exception is making it easier to allocate things on the heap. That does require a more basic change. But it isn't going to happen. Neither are the other, lesser, upgrades.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    4. Re:Um, isn't java code GPL? by H0p313ss · · Score: 2, Insightful

      Python is definitely my script language of choice. Compiled Python with static typing would kick ass.

      Except for the use of tab stops over { }... that's just plain stupid...

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
    5. Re:Um, isn't java code GPL? by s73v3r · · Score: 2, Funny

      No problem. Just put this at the top of your code:

          from future import braces

  24. Here's Oracle's Example by ink · · Score: 5, Informative
    --
    The wheel is turning, but the hamster is dead.
    1. 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.
    2. Re:Here's Oracle's Example by ink · · Score: 2, Informative

      Harmony is not GPL.

      --
      The wheel is turning, but the hamster is dead.
    3. Re:Here's Oracle's Example by Homburg · · Score: 2, Informative

      The two implementations are identical.

      No, they aren't. There frequent minor differences - the Android code, for instance tends to prefer "for" over "while" loops, some of the Sun methods have a single return statement where the Android code has multiple returns, and a few other things. Given how straightforward the functionality of the class in question is, these kinds of differences are strong evidence that the implementation was made independently.

    4. Re:Here's Oracle's Example by shutdown+-p+now · · Score: 3, Interesting

      Of course, it could just as well be that the code in the screenshot was obtained from the decompiler by creator of said screenshot. Which doesn't make sense, since it's open source... but then the original Java is as well, so neither would Google (or Android Inc) have any reason to use a decompiler.

      Oh, so it looks like there is an explanation for that, actually. The class in question is not one of the public Java class library APIs, but rather an implementation detail of Sun JRE. So, apparently, its source code was not available until Sun went truly OSS with OpenJDK. And the presence of that file in Android predates OpenJDK. Which gives some credence to "someone at Google or Android Inc used a decompiler" theory.

      It would also explain the various minor and seemingly random differences in the code, such as bracing, or the use of "while" vs "for" - the latter is an example of detail which gets lost in Java bytecode, and cannot be fully reconstructed - the decompiler would have to guess. Here's an example from Oracle's submission. The original code looked like this:

      private void getPolicyNodes(int depth, Set set) {
              if (mDepth == depth) {
                  set.add(this);
              } else {
                  Iterator it = mChildren.iterator();
                  while (it.hasNext()) {
                      PolicyNodeImpl node = (PolicyNodeImpl) it.next();
        node.getPolicyNodes(depth, set);
                  }
              }
          }

      As written, this while-loop is the stock Java pattern for the use of iterators prior to the introduction of "collection for" in Java 5. Now look at corresponding Android code:

      private void getPolicyNodes(int i, Set set) {
              if(mDepth == i) {
                  set.add(this);
              } else {
                  PolicyNodeImpl policynodeimpl;
                  for(Iterator iterator = mChildren.iterator();
      iterator.hasNext(); policynodeimpl.getPolicyNodes(i, set))
                      policynodeimpl = (PolicyNodeImpl)iterator.next();
              }
          }

      If this for-loop sounds weird - especially its increment step - it's because it is. No-one actually writes code like that - it's a big no-no for readability.

      But if you look closely, it's exactly equivalent to the while-loop above! It's what you'd get if you mechanically place the immediately preceding statement of the while-loop as the initializer in the for-loop, and then place the trailing statement of the loop body as the for-step.

      Or - alternatively - this is what would happen if a decompiler would look at the bytecode produced from the for-loop (which boils down to if/goto on bytecode level), and said decompiler would have some heuristics in it to try to figure out whether it was a for-loop. Looks like in this case the heuristics is really simple, so if it can be written as a for-loop, that's what the decompiler does.

      If you look around that code, you'll notice that the same pattern of shoehorning code into for-loops in strange ways - readily identifiable by inconsequential statement in for-loop increment steps - is all over the code. QED.

    5. Re:Here's Oracle's Example by ink · · Score: 2, Interesting

      More corroboration:

      private static final String ANY_POLICY = "2.5.29.32.0";

      Skipping down...

      if(s.equals("2.5.29.32.0"))

      Skipping down...

      if(mExpectedPolicySet.contains("2.5.29.32.0"))

      Why would anyone do that?

      --
      The wheel is turning, but the hamster is dead.
    6. Re:Here's Oracle's Example by CrazyBusError · · Score: 2, Informative

      A little more here, sadly: http://www.reddit.com/r/programming/comments/dxmvr/oracle_google_directly_copied_our_java_code/c13qfov

      Upshot: Decompile the code with JAD and it's identical. It looks like someone screwed up pretty badly in this instance.

      --
      -Never argue with an idiot. They drag you down to their level, then beat you with experience-
  25. Re:Conspiracy by CynicTheHedgehog · · Score: 2, Interesting

    Oracle is not in the mobile market, except in the sense that they now own Java and want to collect royalties for the use of Java in handheld devices. Sun has always required royalties for J2ME (Micro edition) in handheld devices. The issue here is that Google tried to weasel out of royalties by making a Java-compatible VM based on J2SE (Standard Edition) which is GPL and open. The problem is that this move violates the *spirit* of the original Java licensing agreement, which as to open Java for desktop/server use and charge royalties for Java on handheld devices.

    I listened to Jonathan Schwartz's keynote at Java One in 2005 and he made the claim that handhelds were the future and where Sun's focus would be. One of his statements was about how there were virtually no desktop computers or land lines in rural areas / developing nations (India, China, Africa) but cell phones were ubiquitous. J2ME (at the time) was on 1 billion handhelds (now over 2 billion I believe). Whatever the royalties are, it is a significant source of revenue.

    The success of Oracle's lawsuit will depend whether the wording of the licenses is such that a derivative of J2SE on a handheld device can be considered to be essentially J2ME. I.e. does any flavor of, or derivative of, Java on a handheld require licensing and royalty payments? And it may come down to whether certain APIs or implementations are shared between J2SE and J2ME, which is almost certainly the case.

    Google tried to have their cake and eat it too. They wanted the ability to leverage a massive preexisting class library and huge developer population without paying the royalties to Sun/Oracle. So they made a byte code translator to allow developers to build and compile using Java, and execute on the Dalvik VM.

    Harmony is in the clear, because the Apache Foundation is not trying to sell handheld devices with Harmony embedded. (Same with OpenJDK, GCJ, etc.)

    I think Sun could have successfully sued Google over this, but chose not to, probably because it would be messy and because the goodwill with Google was more valuable. For Oracle it's a potential revenue stream. The intent isn't to kill the goose that lays the golden eggs, but to get a chunk of each egg that comes out.

  26. Re:History Repeating by Jason+Earl · · Score: 2, Insightful

    Most companies, especially companies as wildly successful as Oracle, want to actually grow, not simply avoid going bankrupt.

    Personally, I think that Oracle has far more to lose in this game of chicken. If Java's reputation gets damaged to the point where developers do not consider it for new projects then no amount of money from Google is going to make up the loss. Worse, Oracle's actions could put a stigma on all of its products. No one is going to want to touch Oracle's technologies if choosing Oracle's tech might trigger a lawsuit.

    That's actually part of what makes Oracle's move so odd. Suing Google over the use of Java is the sort of move that you would only expect of a company that is desperate. If Oracle is willing to sue over Java, what other crazy thing will they do next?

  27. Easy? by Gorimek · · Score: 2, Insightful

    If being a good programmer is so easy, why are they so expensive to hire?

  28. Small nit-pick by nedwidek · · Score: 5, Informative

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

    The point of the project was that NONE of Sun's Java code would go into the project. They started with a clean slate and implemented all of the methods with their own code. They also had processes in place with the intention of keeping out the original Java code in contributions.

    Oracle is basically stating that by using the same package names, class names, and parameters that Android is an infringing derivative. This is the same argument as the SCO ABI argument. That was laughed out of court IIRC.

    --
    Post anonymously - For when your opinion embarrasses even you!
  29. Re:PostgreKill by PRMan · · Score: 2, Interesting

    Google could aggressively market "Google Consultants" that replace your Oracle environment with a PostgresSQL environment for the cost of consulting labor (after all, the tools are free). They could take out Oracle easily with a move like this.

    --
    Peter predicted that you would "deliberately forget" creation 2000 years ago...
  30. Re:You don't know what the fuck you are talking ab by Lord+Ender · · Score: 2, Funny

    The last thing I'd like to do, was defend Oracle. But arguments need to be correct, complete, and relevant.

    Welcome to the internet! You must be new here. But don't worry; there are only a few simple ground-rules. First of all, understand that the highest form of argument is to compare your opponent to Hitler. Failing that, rephrase your opponent's position in terms of a car analogy. And most important of all--discredit your opponent in every post by referring to him as a "troll."

    To complicate the matter, being correct, complete, and relevant doesn't matter a bit if your opponent has citations. There is no citation more trust-worthy than an obscure blog. Build a library of biased, inflammatory blogs which tend to back your own positions; this is your only defense.

    Now go to it! I'll get you started: "A language specification is like an engine schematic. This is the Free World; we don't just give our engine designs away. Remember Volkswagen got its start when Hitler shared specifications... I mean, are you even being serious, or are you just trolling? As you can see in this blog..."

    --
    A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
  31. Re:PostgreKill by Trifthen · · Score: 2, Informative

    I think he's talking about EnterpriseDB. They don't own PostgreSQL in any way, but Bruce Momjian and Dave Page, two of the top developers aside from Tom Lane, both work there. Ironically, their schtick is Oracle compatibility, complete with a compatible implementation of PL/SQL they call edbspl, date-format, data types, you name it. They've also contributed several modules and projects to the PostgreSQL project (GridSQL, several admin tools, etc).

    --
    Read: Rabbit Rue - Free serial nove