Fight Is On Between Oracle And Google Over Java API Copyrights

from the shouldn't-have-gotten-this-far dept

Last summer, we noted that there was an interesting "sideshow" in the patent dispute between Oracle and Google -- a question of whether or not Java's APIs are covered by copyright. That "sideshow" has become the main attraction now that the trial has started and many of the patent claims have been kicked out.

Oracle has been quite public with its argument (pdf), which is mostly based on taking snippets from Google emails that suggest a need to license Java. The favorite of the bunch is this one:

They also point to some snippets of code that do appeared to be copied:


If you just see that side of it, you might be convinced, but the details suggest a much less convincing story. First off, there are serious concerns about whether or not an API even can be covered by copyright. In fact, before Sun was acquired by Oracle, Sun's own CTO had said that "internet specifications are not protectable under copyright," which (you might think) gives Google an implied go ahead to make use of the API. Furthermore, many of the email snippets that Oracle presents are taken out of context -- they show little snippets of big emails and pull from very very different time periods -- ranging from 2005 to 2010, when different factors applied. Oracle also scrubbed a blog from former Sun CEO Jonathan Schwartz in which he warmly welcomed Google to the Java family when the company launched Android.

Perhaps more damning: Larry Ellison himself in 2009 at the JavaOne event spoke about Google's Android development and how they were contributing code back to Java. Ellison himself was put on the stand and appeared to contradict his own depositions when it came time to discuss the specifics of the copyright. That can't go over well. Not only that, but he stumbled, and claimed he was "not sure" when asked specific questions:
On cross-examination, Google came out firing and the room got tense quickly. “Do you understand that no one owns the Java programming language?” lead counsel Robert Van Nest asked.

Ellison began a longer answer, but Judge William Alsup interrupted him and said it was a “yes or no” question. Finally Ellison said, “I’m not sure.”

“And anyone can use it without royalty?” Van Nest followed up.

“I’m not sure,” Ellison said again.

Then Van Nest showed a video of Ellison receiving the same question on a deposition video and answering “That’s correct” to both.
Oracle's response, of course, will be that it just meant for developing apps, not for using the API -- but its other statements are a lot less clear on that. Either way, it seems pretty clear that Sun gave an implied open license to these things, so to come back now and insist otherwise is pretty questionable. Furthermore, there still are questions as to whether or not an API can actually be covered by copyright at all.

Separately, Oracle keeps talking about just how much work it is to create APIs, and even points to some Google statements about the difficulty of doing so. That's smoke and mirrors. Difficulty has no bearing on copyright law. It's kind of surprising that Oracle's lawyers would even bring it up, as "sweat of the brow" arguments won't get very far. Hell, even if it biases a jury, it would get rejected on appeal. It seems like Oracle's strategy here is just to confuse the jury and go for guilty by association because they're going to have trouble showing actual guilt.

As for the specific code snippets shown above, those a few lines out of 50,000 or so files. Under copyright there's a defense known as de minimis copying, if you're just found to have copied a very tiny portion of something. It seems like that might apply here as well.

Also, you may have heard stories about the results of this trial potentially being worth billions of dollars or something, but that was before most of the patents got thrown out. The patents left over aren't worth very much at all, and the end result means that if Oracle wins, it'll likely get less than $100 million. That's still a significant sum, but it's a lot less than what Oracle had hoped to get in this lawsuit.

In the end, as it seemed from the beginning, Oracle's case looks pretty weak (and getting weaker).
Hide this

Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.

Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.

While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.

–The Techdirt Team

Filed Under: api, copying, de minimis, java, larry ellison
Companies: google, oracle, sun


Reader Comments

Subscribe: RSS

View by: Time | Thread


  • icon
    David Muir (profile), 17 Apr 2012 @ 8:04pm

    De minimis or not...

    Those code snippets sure look a heck of a lot like the IBM VisualAge C++ library code for exception handling from several years before Java came out with theirs. Okay, the EXACT code would not have existed, but the variable and function names were almost identical... and in those snippets there's not much else that COULD be different. And I bet IBM derived theirs from something else too. Copyright in software code is a very tenuous concept. Dare I say "totally bogus concept"?

    link to this | view in chronology ]

    • icon
      blaktron (profile), 17 Apr 2012 @ 8:42pm

      Re: De minimis or not...

      The idea that a single function or line of code can be copywritten is fundamentally flawed. Its like saying someone can copyright a word or a sentence. I can understand a copyright on an entire program if its complex enough, but single functions?

      link to this | view in chronology ]

    • icon
      Nick Coghlan (profile), 17 Apr 2012 @ 10:29pm

      Re: De minimis or not...

      Yeah, when I saw that slide my reaction was "Wait, what? That can't be copyright worthy - it's a completely trivial slice range checking operation."

      Even the variable names aren't creative - they're literal descriptions of what the arguments are for.

      Also, *chortle* at the fact TimSort is one of the files they're complaining about. The current Java sorting algorithm is a genuinely innovative one that Tim Peters wrote for Python and then made available to the world *for free* under an open source licence.

      That's completely irrelevant to the arguments in court, but it's still hilariously ironic :)

      [1] http://hg.python.org/cpython/file/default/Objects/listsort.txt

      link to this | view in chronology ]

      • icon
        Karl (profile), 17 Apr 2012 @ 11:29pm

        Re: Re: De minimis or not...

        I think it is pretty obvious (at least, I hope so) that the actual sorting algorithm itself is not subject to copyright.

        Thus, the only thing that Google could have infringed upon was the actual expression of the code itself - things like variable names &etc.

        Admittedly, they do look pretty much alike. But how much do you want to bet that they were named that way in the Python code that Tim created?

        If they were, that pretty much destroys any "IP" claims that Oracle might hold.

        Even if not, these snippets are so tiny that the "de minimus" standard would probably hold.

        link to this | view in chronology ]

        • icon
          Nick Coghlan (profile), 17 Apr 2012 @ 11:54pm

          Re: Re: Re: De minimis or not...

          No, I had a look - the structure of the C code in Tim's original implementation for CPython is completely different.

          The only relation the lawsuit has to timsort is that it happens to be the file where the allegedly infringing offending Android code lives.

          It's just amusing to me that Oracle is claiming "OMG infringement" over a completely trivial range checking function that Google used as part of their implemention of Tim's genuinely innovative, but freely shared, sorting algorithm.

          link to this | view in chronology ]

    • identicon
      Big Al, 17 Apr 2012 @ 10:42pm

      Re: De minimis or not...

      It is a little known fact that in the history of computing, only one COBOL program has ever been produced from scratch. All others are just copy / paste from that one.

      link to this | view in chronology ]

      • identicon
        indieThing, 18 Apr 2012 @ 6:57am

        Re: Re: De minimis or not...

        God, I would have murdered for cut/paste in my COBOL days - I had to write, by hand, on specially formatted paper, which we then gave to an operator to make bloody punch cards from!

        link to this | view in chronology ]

        • identicon
          Anonymous Coward, 18 Apr 2012 @ 12:44pm

          Re: Re: Re: De minimis or not...

          You must be the one everybody copy and pasted from... SUE EVERYBODY!

          link to this | view in chronology ]

  • identicon
    Donnicton, 17 Apr 2012 @ 8:28pm

    I really find it hard to be sympathetic with Oracle when you really take time to compare the facts.

    (Unrelated) Especially after what Oracle did to OpenOffice.

    link to this | view in chronology ]

    • icon
      ltlw0lf (profile), 18 Apr 2012 @ 7:25am

      Re:

      (Unrelated) Especially after what Oracle did to OpenOffice.

      I find it really hard to be sympathetic with Oracle after what Oracle did to Oracle. Anyone remember Ellison's "Unbreakable" fiasco? That guy has had a problem with the truth for at least 15 years now, and it is no surprise he is conflicted now during sworn testimony.

      Oracle has always been evil in every possible meaning of the word. I still remember having to deal with Oracle not releasing security patches for their products unless you had a ridiculous and burdensome support agreement. We found multiple security issues with their software and after a long discussion with them trying to get fixes pushed out to our people running their software, eventually an edict came out that said "Thou shalt not use Oracle software in our corporate environment." They weren't willing to work with us until that edict came out and they realized they were losing all the plushy contracts, and then they bent over backwards to make sure those problems were taken care of. There was a collective cry around here when they bought out Mysql.

      link to this | view in chronology ]

      • icon
        John Fenderson (profile), 18 Apr 2012 @ 11:52am

        Re: Re:

        Oracle has always been evil in every possible meaning of the word.


        Well, I might not use the word "evil," but Oracle has indeed always been a pretty nasty piece of work, and is avoided by smart people & companies.

        link to this | view in chronology ]

  • icon
    Arthur (profile), 17 Apr 2012 @ 8:32pm

    Literal copying?

    I wonder what the odds are, if you have millions and millions of lines of code (as Android does) that you wouldn't find 9 matching lines?

    link to this | view in chronology ]

  • identicon
    Anonymous Coward, 17 Apr 2012 @ 8:38pm

    Oracle's response, of course, will be that it just meant for developing apps, not for using the API


    This is insane. It would be like claiming that eating doesn't involve swallowing.

    When you develop apps - by definition - you are using an API. That's what developing *is*. The "A" stands for "Application" (as in "app") and the "P" stands for "Programming" (synonym for "developing").

    link to this | view in chronology ]

    • identicon
      Anonymous Coward, 18 Apr 2012 @ 3:30am

      Re:

      And as opposed to what is claimed in the article, an API does not fall anywhere near the "internet specifications" category, not by a long shot.

      link to this | view in chronology ]

      • identicon
        DC, 18 Apr 2012 @ 7:25am

        Re: Re:

        An API is a specification, the I being interface, just like the ethernet spec, the TCP spec, the UDP spec, the IP (internet protocol) spec, and the HTML spec. All of those are specified interfaces at various layers.

        Please define the "anywhere near" that an API is not from internet specifications.

        link to this | view in chronology ]

  • identicon
    John Thacker, 17 Apr 2012 @ 8:49pm

    Obviousness test

    Come on, it's range checking. How else would you do it?

    This obviously couldn't be patented because of the obviousness test. Copyright is probably a different matter.

    link to this | view in chronology ]

  • identicon
    Jamie, 17 Apr 2012 @ 9:17pm

    I'd be surprised if there weren't more sections of code like this that were similar.

    The code in question is performing some simple sanity check on the values passed into the function. It's basic boilerplate code for this sort of thing. The Java API specifies what types of errors can be raised and in which circumstances, so there's not a lot of ways that this can be made unique.

    link to this | view in chronology ]

    • identicon
      Anonymous Coward, 17 Apr 2012 @ 10:35pm

      Re:

      I know. If you asked a university ICT or IT student to come up with code for a range check , without showing them the original code but gave them the exception objects you'd get pretty much that. It's pretty much a straightforward translation of the algorithm for checking if something is withing a set range:
      Is the finishing point before the starting point ?
      Is the starting point within the bounds of the array ? (ie raise an exception if its less than 0 (since arrays are indexed from 0)
      Is the finishing point within the bounds of the array ? (ie is it a value strictly smaller than the number of items in the array (since arrays are indexed from 0, the check is for smaller values since the last value is found at size-1).

      Any variations on this are basically identical subject to renaming and equivalence of operators (eg changing around greater than or equal to and not less than).

      This is a pretty retarded case of "copying". Heck given the number of available variations on this (which is pretty small) and the obvious variable names, I wouldn't be surprised if this was independently derived.

      link to this | view in chronology ]

  • identicon
    Anonymous Coward, 17 Apr 2012 @ 9:38pm

    The issue of literal copying (of a small, relatively nondescript function) is not about the literal copying itself. Rather, it's an indicator that a clean-room process may not have been followed, meaning the people that implemented Google's workalike did so with knowledge (or access) to Oracle's implementations. Not through some nefarious means - the source code is available. However, if they did that, then Oracle can make the argument that Google's software is a derivative work of Oracle's.

    What does and does not constitute a derivative work in software has vast and wide-reaching implications. For those of you who will instinctively side with the "it's not a derivative work" camp, because you hate copyright and the concept of copyright applying to derivative works, remember also that a big part of the GPL's strength is based on derivative works, and by weakening derivative works, you weaken the GPL.

    link to this | view in chronology ]

    • icon
      Nick Coghlan (profile), 17 Apr 2012 @ 10:56pm

      Re:

      If that function is the only copying they can prove, then it's not a derivative work. There's zero creativity in that function - it's driven entirely be the exposed java.util.Array API, normal Java conventions and implementing the necesssary checks efficiently.

      Exception types and message contents? Part of the API - visible just by *using* the API, not looking at its implementation.

      "rangeCheck()" - no creativity. Literal description of the function's purpose, named according to Java conventions.

      "arrayLen" - this looks like it may actually be a dubious assertion on Oracle's part. It's called "length" in the version published here: http://www.docjar.com/html/api/java/util/Arrays.java.html

      Google's lawyers should really look into that.

      "fromIndex, toIndex" - taken from the corresponding argument names in the public Array.binarySearch() API

      function structure - merely a logical way of minimising the number of checks needed:
      - is the start index after the end index?
      - is the start index negative?
      - is the end index past the end of the array?

      By doing the checks in this order, you don't have to check:
      - is the end index negative? (if this is the case, one of the first two checks will already fail)
      - is the start index past the end of the array? (if this is the case, either the first or last check will already fail)

      link to this | view in chronology ]

      • icon
        Nick Coghlan (profile), 17 Apr 2012 @ 11:06pm

        Re: Re:

        Ah, my mistake - that link is to the OpenJDK version of the Array.java file, so that's the likely origin of the "length" vs "arrayLen" argument name difference. Still, none of "length", "len", "arrayLen" and "arrayLength" can really be called creative when it comes to naming a parameter that is "the length of the array".

        link to this | view in chronology ]

    • icon
      Karl (profile), 17 Apr 2012 @ 11:36pm

      Re:

      remember also that a big part of the GPL's strength is based on derivative works

      The biggest part of the GPL's strength is the fact that programmers can legally reverse-engineer functionality.

      This is pretty much what Google did here.

      The fact that the FSF sided with Google (for the most part) shows how far your opinions are from the majority opinion of the free software community.

      link to this | view in chronology ]

      • icon
        saulgoode (profile), 18 Apr 2012 @ 4:30am

        Re: Re:

        The FSF opinion to which you linked raises objection to Oracle's patent lawsuit, not copyright.

        link to this | view in chronology ]

      • identicon
        AWx, 25 Apr 2012 @ 12:23am

        Not GPL but open source in general

        Being able to see the code legally (this is straight forward "reading" and not "reverse-engineer") is the strength of any open source license and is not limited to just GPL.

        The main difference between GPL and other open source licenses is its "viral behavior". Any code in direct relation to GPL code must be also released under the GPL license. It increases the corpus of open source code available.

        Being able to code against open source code while being free to release your code under other licences is what the LGPL is able. This is open source code anyone can use.

        If an API (= the public face of a piece of code) can not be copyrighted, then there are no difference between GPL and LGPL and the specificity of GPL over other open source licenses (expanding the corpus of open code by "virality") disappear. An anyone can reuse this code and not contribute back.

        link to this | view in chronology ]

    • icon
      Richard (profile), 18 Apr 2012 @ 4:00am

      Re:

      The issue of literal copying (of a small, relatively nondescript function) is not about the literal copying itself. Rather, it's an indicator that a clean-room process may not have been followed, meaning the people that implemented Google's workalike did so with knowledge (or access) to Oracle's implementations. Not through some nefarious means - the source code is available. However, if they did that, then Oracle can make the argument that Google's software is a derivative work of Oracle's.

      I don't think the example is enough for even that.

      I'm pretty sure I couldn't convict a student of Academic Misconduct on that evidence.

      The structure of the code is inevitable, given its function and the coincidence of the variable names is simply the consequence if the use of standard naming conventions.

      link to this | view in chronology ]

  • icon
    Grumpy Bob (profile), 17 Apr 2012 @ 9:53pm

    This is all very reminiscent of the SCO versus Linux debacle, with all the shrinking claims and assertions.

    link to this | view in chronology ]

  • icon
    HumbleForeigner (profile), 17 Apr 2012 @ 11:43pm

    Sigh

    I swear that there should be a special Hell waiting for the judges that opened the door for software patents.

    I see them sitting there, hearing the most stupid software patents lawsuits forever. And then having the case referred back from the Infernal Court Of Appeal and having to listen to the same case...again...FOR THE REST OF ETERNITY!

    It is no less than they deserve.

    link to this | view in chronology ]

    • icon
      Richard (profile), 18 Apr 2012 @ 2:32am

      Re: Sigh

      And then having the case referred back from the Infernal Court Of Appeal and having to listen to the same case...again...FOR THE REST OF ETERNITY!

      Along with the billiard sharp I suppose!

      "My object all sublime I shall achieve in time - to make the punishment fit the crime, the punishment fit the crime."

      W S Gilbert.

      link to this | view in chronology ]

    • icon
      DannyB (profile), 18 Apr 2012 @ 7:52am

      Re: Sigh

      > judges that opened the door for software patents

      You mean legislators and/or the people at the good ol' USPTO.

      link to this | view in chronology ]

  • identicon
    Lawrence D'Oliveiro, 18 Apr 2012 @ 12:01am

    Oracle Sinking Deeper Into The Pit Of Its Own Greed

    The traditional tactic of continually hiking customer support fees, on the assumption that it will cost less for their users to cough up the extra cash than to move to another platform, isn’t paying off for Oracle like it used to.

    On top of which, Oracle just doesn’t get Open Source at all. Of the projects it inherited as part of its Sun acquisition, it looks like it has succeeded in destroying the community goodwill in just about all of them—with all the OpenOffice folks deserting to LibreOffice, the founding MySQL developers leaving to form competing projects, and reneging on the remaining parts of Sun’s original promise to open up Java. (OpenSolaris? What’s that?)

    link to this | view in chronology ]

    • identicon
      Rich Kulawiec, 18 Apr 2012 @ 3:13am

      Re: Oracle Sinking Deeper Into The Pit Of Its Own Greed

      I concur. And I'll add that as a 30-year Sun customer, with a long preference for their products among all the competing commercial vendors, I've concluded that I'm probably not going to buy anything from Oracle. Ever.

      So not only has Oracle quite effectively destroyed goodwill toward itself among the open source community, it's also managed to alienate (at least) one of the most loyal customers it could possibly ever hope to have.

      link to this | view in chronology ]

  • icon
    Ruud (profile), 18 Apr 2012 @ 3:28am

    Jurors are no programmers

    The problem is that the jurors, none of whom are programmers, look at these snippets and see a similarity and assume they must be copied.

    link to this | view in chronology ]

    • icon
      Richard (profile), 18 Apr 2012 @ 4:06am

      Re: Jurors are no programmers

      Up to Google's lawyers to do an experiment with some students to demonstrate that this level of similarity is quite likely to happen by chance as a result of standard programming conventions.

      link to this | view in chronology ]

    • identicon
      Anonymous Coward, 18 Apr 2012 @ 6:04am

      Re: Jurors are no programmers

      Assuming they aren't just going with the "de minimis" argument and skipping this question entirely, I expect Google could put up an expert witness to argue that this snippet doesn't reach the necessary standard to support a copyright claim, since there's no creative expression.

      I hoped GrokLaw might discuss that aspect, but it doesn't appear to have hit their radar as yet:
      http://www.groklaw.net/article.php?story=20120417144235723

      link to this | view in chronology ]

      • icon
        Nick Coghlan (profile), 18 Apr 2012 @ 6:09am

        Re: Re: Jurors are no programmers

        Oops, that comment was from me.

        Thinking about it further, it appears from some of the notes here and on Groklaw that Google have *conceded* that the details of that argument checking function were the result of a cleanroom breach, so they're clearly not planning to argue the independent development angle.

        They may figure it isn't worth trying to persuade the jury of the "not even creative" aspect when there are so many simpler points they can use to prevail (such as the 9 lines out of 15 million aspect). Definite shades of SCO there.

        link to this | view in chronology ]

  • identicon
    abc gum, 18 Apr 2012 @ 5:00am

    "Google literally copied java code"

    If you agree with that - then MickyDs should be able to copyright "Do you want fries with that?"

    link to this | view in chronology ]

    • identicon
      Anonymous Coward, 18 Apr 2012 @ 5:26am

      Re:

      I hold the copyrights to "Do you want an extra large bag of doritos with that?"

      link to this | view in chronology ]

  • identicon
    Anonymous Coward, 18 Apr 2012 @ 5:52am

    You shouldn't be able to copyright programming language.

    Programming language is creating facts. It's a fact that Try Catch End Try is used in VB.net to catch errors, how can you claim that as your IP? Pretty much every other programming language allows a Try Catch, so even if you write your own programming language it'll still work the same way.

    To allow the people who wrote say C++, C#, Visual Basic, etc (some of the most common coding languages today) to charge anyone who codes stuff in them, even after they paid a few hundred (or a few thousand) dollars for a compiler and programs to write the code would be insane, it would effectively be like the government passing a tax on say Bread, and then demanding everyone pay that bread tax on all bread they bought in the last 10 years. Do you really think people starting a program from scratch would chose to use languages if they had to pay?

    Besides, the programming language is TOTALLY useless without computers and such being able to read it, and other people actually using it. Copyright/Patent/IP just doesn't work for a programming language because of that, because the more limited a language's use is the less valuable it is, and less likely others are to decide to learn it, since there's less job opportunities in it.

    link to this | view in chronology ]

  • icon
    lexieliberty (profile), 18 Apr 2012 @ 6:09am

    lol

    Maybe if Ellison cut some more trees down across from his mansion his view would be even more clearer and he would see that his case is dumb as fuck.

    link to this | view in chronology ]

  • identicon
    Anonymous Coward, 18 Apr 2012 @ 7:34am

    Only a judge would fall for the copied code argument. Anyone who knows anything about coding could tell you that those are very simple.

    I'm no coder, so feel free to correct me, but to my understanding, the code means this in plainer language:

    Line 1: If x > y
    Line 2: Not proper input if x > y
    Line 3: If you choose a value before my list begins, error
    Line 4: If you choose a value after my list ends,error

    How can you copyright logic?

    link to this | view in chronology ]

    • identicon
      pr, 18 Apr 2012 @ 8:12am

      Copyright logic

      They're not trying to copyright logic, they're claiming that Google's specific implementation of this logic is so similar to Oracle's that it must have been copied.

      But as someone else implied, if "arrayLen", "fromIndex", and "toIndex" is the unique intellectual property of Oracle, every undergraduate CS and engineering student in the country needs to be expelled from college for flagrant plagarism. These are obvious names, good names because they're descriptive. If the originals were "pdqux536", "asdlfkj15" and "uklji191" and Google's were the same, Oracle might have an argument. But they weren't, so they don't.

      link to this | view in chronology ]

  • identicon
    Anonymous Coward, 18 Apr 2012 @ 8:55am

    Copyrighting API's is like claiming copyrights on the interface to attach a wheel to a car(i.e. the nuts and bolts) or claiming copyrights on the interface used to attach any electronic device to another (i.e. USB, audio connectors, etc).

    If Oracle wins that means nobody will ever be able to produce "compatible" software with others if the guy doesn't like you.

    link to this | view in chronology ]

  • icon
    Gerald Robinson (profile), 18 Apr 2012 @ 11:59am

    Patient frauid

    The us supreme Court recently ruled that methods patents are not valid. The Oracle patents all start with "A Method…" Further Java is simply a reprise of C and C++ with a little PERL and and XML thrown in.

    link to this | view in chronology ]

    • icon
      Almost Anonymous (profile), 18 Apr 2012 @ 3:23pm

      Re: Patient frauid

      The us supreme Court recently ruled that methods patents are not valid.
      I'm sorry, how did I miss the celebration that this would have caused? You're not referring to Bilski, because that left the stupid method loophole open... are you referring to Mayo vs. Prometheus? Because if so, I reluctantly have to disagree, that was not a rejection of method patents per se, but the rejection of that specific implementation of a method patent, which they felt was already covered by the laws of Nature. Is there another ruling I should know about?

      link to this | view in chronology ]

  • identicon
    Javadev, 27 Apr 2012 @ 8:42am

    Google/Oracle IP Suit

    OMG, I totally have an IP infringement claim on a "Hello World" program. Many many years ago when I was learning Java, I think the line went something like System.out.println("Hello World"). Come to think of it, I saw someone else have that same line of code in THEIR program. Time to lawyer up and sue them!

    link to this | view in chronology ]


Follow Techdirt
Essential Reading
Techdirt Deals
Report this ad  |  Hide Techdirt ads
Techdirt Insider Discord

The latest chatter on the Techdirt Insider Discord channel...

Loading...
Recent Stories

This site, like most other sites on the web, uses cookies. For more information, see our privacy policy. Got it
Close

Email This

This feature is only available to registered users. Register or sign in to use it.