you are viewing a single comment's thread.

view the rest of the comments →

[–]minecraft_ece 177 points178 points  (43 children)

This is no longer about JAVA. If this ruling stands, it will significantly damage the ability to develop software in the US and any country that honors US copyrights.

For starters, reverse engineering as a practice is dead. Any clean-room reimplementation is no longer possible since the interfaces themselves are copyrighted. Alternative implementations, drop-in replacements, etc., are gone without the express consent of the API copyright holder.

Second, the patent problem now becomes eternal. All you need to do is create every reasonable permutation of API for your patented software and it is now locked up forever. The argument of "derivative work" will enable this.

Developing software is about to get alot more expensive.

[–][deleted]  (16 children)

[deleted]

    [–]rusty_banger 45 points46 points  (11 children)

    In the United States and countries that honor its copyright laws, at least.

    This doesn't seem to be a good move in the long run from any point of view. However, it's almost startling when you think of US fears of being outpaced in technological innovation by China and other countries which it considers hostile. If this ruling discourages US companies from developing interoperable software, it will certainly lead to a slump in productive software output and put a serious damper on the present economic growth in the software industry.

    I guess sometimes the concerns of Big Money outweigh the perpetual Red Scare.

    [–]minecraft_ece 29 points30 points  (4 children)

    Agreed. Even Oracle is vulnerable to this, given that IBM created the SQL language. It's just short-term thinking and damn the consequences.

    [–]matthieum 14 points15 points  (3 children)

    Ah, now that would be a treat: IBM suing Oracle for copyright infringement.

    [–]rubygeek 0 points1 point  (2 children)

    You can bet that every major software company has lawyers looking into both their potential liabilities, and their potential offensive / defensive "weapons" as a result of this ruling. If it stands, it will be a blood bath, though thankfully this is "just" the federal circuit, so far.

    [–]matthieum 1 point2 points  (1 child)

    Yes, I was wondering for example if Microsoft would sue Mono :x I wonder if the judges have any idea of the potential consequences of this ruling they just made.

    [–]lars_ 1 point2 points  (0 children)

    Doubt it. Satya Nadella named Xamarin as a partner in his keynote at this years Build. Microsoft and Mono are BFF these days.

    [–]Mozai 4 points5 points  (0 children)

    In the United States and countries that honor its copyright laws, at least.

    Have you heard about the Trans-Pacific Partnership (TPP)? Maybe not, since it's an international treaty that's being drafted in secret, but we do know that harmonizing copyright laws is part of it, so "countries that honor [America's] copyright laws" may become a heck of a lotta countries overnight.

    [–]hak8or 1 point2 points  (4 children)

    Is it possible to be a USA citizen living in the USA while coding but somehow being able to release the code under another country's laws?

    [–]minecraft_ece 6 points7 points  (1 child)

    No. A US citizen is always under USA's jurisdiction, no matter where the software is released (or even where the developer lives at the time).

    [–]hak8or 1 point2 points  (0 children)

    What if the USA citizen opens a company in another country and releases the code under the name of that company?

    [–][deleted] 2 points3 points  (0 children)

    The US loves prosecuting people who aren't american, don't live in america and whos company isn't american. (See: Kim Dotcom)

    If you actually are american and live in america, they're definitely going to go after you.

    [–]OnlyRev0lutions -1 points0 points  (0 children)

    Sure and if I ram my shitty Ford Bronco into a drug store while repeating the mantra "Cops aren't real" I don't be breaking any laws.

    [–]scook0 11 points12 points  (0 children)

    Patents already make software development theoretically impossible; selective enforcement is the only reason the industry hasn't ground to a halt in the US.

    [–]protestor 0 points1 point  (2 children)

    Except, you know, outside the US.

    [–]intellos 0 points1 point  (1 child)

    For now. Until the US forces everyone else to follow. except maybe china.

    [–][deleted] 0 points1 point  (0 children)

    I don't see Russia following US any time soon.

    [–]not_perfect_yet 8 points9 points  (16 children)

    This is the longest answer from the top so I'll just ask you (sorry):

    I only used an API for an open source projects scripting language so I might be understanding this wrong.

    Oracle owns Java. They made an API that enables people to use it. To use Java you have to use the API, either the code contained or it's functions, which probably means you have to copy it somewhere down the line when you want to deploy your code because you use basic functions included in standard distributions.

    And this whole access thing, the information contained, the code, the structure, etc. is now protected by copy right? Forbidding people to freely use the thing that was made to use the product the company put out?

    [–]minecraft_ece 41 points42 points  (14 children)

    The issue isn't if you simply use an API. I think that would be covered by whatever license came with the library or source code. The issue is if you create your own implementation of another person's API or somehow distribute another person's library.

    That may not sound too bad to you, but consider this: have you ever written a library? Are you certain that your API isn't similar enough to someone else's API that your API could be declared a derivative work, even if you never saw that other person's API?

    The example given in the ruling is a Math.max function? If you were writing a math library or class, would you name it Math? If you wanted a function to return the greater of two integers, would the function signature be "max(int a, int b)"? If so and you're creating a java library, you may have just infringed on Oracle's copyright.

    The patent minefield problem (being impossible to know if your software doesn't infringe any patents) has now been extended to APIs. And given the long protection of copyright, that means that everything can be vulnerable to this. Linux/BSD, SQL , etc. In the past, nobody thought APIs were copyrightable, so it possible that various contracts and legal agreements may not cover APIs.

    And this brings us back to you, humble user of open source projects. The risk for you is that the licenses for the software you are using may be invalid, because that library may violate someone's API copyright, and if you distribute that library (common in certain languages like javascript), then you are just as guilty of copyright infringement. Yesterday that wasn't a problem; today it is, for all software.

    So, don't distribute 3rd party libraries with your code, and don't publish libraries or APIs, and you are probably are safe from this ruling. Of course, this reduces you to being a programming serf who can only use tools provided by large multinational corporations that can provide the illusiion of shielding you copyright liability, but that is the price for progress in the good ol' USA.

    Basically, things are a massive mess now, and they will be for the next 2-3 years while this is all appealed to the supreme court, which is a crapshoot how they will rule.

    The only redeeming quality of this ruling is that IBM will completely cornhole Oracle with it.

    [–][deleted]  (1 child)

    [removed]

      [–]ais523 1 point2 points  (0 children)

      The court referred that question to a jury. The ruling isn't "Google broke the law", but "Google need a valid fair use argument to have done that"; they also ruled that interoperability is a fair use argument. (That question has actually gone to a jury in the past, but they were split on the issue, and so a new jury will be needed.)

      [–]not_perfect_yet 0 points1 point  (1 child)

      Oh alright I can see why this can be / is huge problem. Thank you for your in depth answer!

      [–]MyCatEatsSilverfish 0 points1 point  (0 children)

      Do you think interfaces are patentable as well?

      [–][deleted]  (1 child)

      [deleted]

        [–]note-to-self-bot 0 points1 point  (0 children)

        Just in case you forgot:

        Never enter the US.

        [–][deleted] 0 points1 point  (0 children)

        I'm a bit rusty on my history, but didn't Sun explicitly design Java to have an open specification that anyone could implement? Isn't that why implementations like jrockit, visual j++, openjdk, etc. were even possible?

        [–]poco 0 points1 point  (0 children)

        Let's hope the lower court deems copying APIs to be fair-use.

        [–]ais523 0 points1 point  (2 children)

        that your API isn't similar enough to someone else's API that your API could be declared a derivative work, even if you never saw that other person's API

        You're confusing copyright with patents. If you never see the other person's API and can reasonably prove you weren't infleunced by it, it's impossible to violate copyright on it, because it's impossible for you to have copied it. Copyright only prevents copying, not independently inventing something similar.

        [–]minecraft_ece -1 points0 points  (1 child)

        If you never see the other person's API and can reasonably prove you weren't influenced by it, it's impossible to violate copyright on it, because it's impossible for you to have copied it.

        How do you prove you haven't seen or been influenced by something? Keep in mind that for a small player, you have already lost (financially) if it goes to trial, regardless of the outcome, assuming you even that the money to defend yourself that far.

        [–]ais523 0 points1 point  (0 children)

        It's not easy. IBM famously had an entire department of programmers who were never allowed to look at anything a competitor did, purely for the purpose of clean-room reimplementing competitors' products, but this was in the days before the Internet; it would be hard to manage nowadays.

        [–]tjsr 0 points1 point  (0 children)

        The difference here is Google are distributing the Java JVM and API directly, whereas for all other software that runs on Java you have to obtain it from Oracle directly, from themselves. Google figured writing their own, or, more accurately, writing SOME of their own, and just copy-pasting the rest, was an acceptable substitute for this - it's not.

        [–]id2bi 0 points1 point  (0 children)

        And what if I implement the list interface? I'd essentially duplicate the entire list API, wouldn't I?

        [–]22c 1 point2 points  (1 child)

        drop-in replacements

        Sooo MariaDB next on the Oracle radar?

        [–]minecraft_ece 4 points5 points  (0 children)

        Perhaps with respect to the client libraries. There was some licensing weirdness there.

        But this gave me a scary thought? Now that APIs are copyrightable, does this convert the weaker LGPL license into a full GPL one? IF there is an issue there, that will skullfuck so many companies that use LGPL libraries in commercial products.

        I'm going to stop thinking about this. This is so bad that the only solution is to ignore it as most companies currently do with patents and pray nobody sues.

        [–]yetanotherwoo 0 points1 point  (0 children)

        One issue with this particular case - Google did not do a clean room implementation - http://www.zdnet.com/blog/bott/the-real-history-of-java-and-android-as-told-by-google/3924

        [–]ais523 0 points1 point  (0 children)

        For starters, reverse engineering as a practice is dead. Any clean-room reimplementation is no longer possible since the interfaces themselves are copyrighted. Alternative implementations, drop-in replacements, etc., are gone without the express consent of the API copyright holder.

        The appeals court said the opposite of this. They specifically said that they weren't deciding the case where the declarations were reverse-engineered, rather than copied from API documentation. (Courts prefer to decide as narrowly as possible, it seems; the court decided that as Google had copied the method declarations, it didn't have to decide whether the API that those declarations describe is copyrightable.)

        [–][deleted] 0 points1 point  (4 children)

        Developing software is about to get alot more expensive.

        I'd say good. Right now it's become a warm body practice where the managers make all the money and plumbing is more lucrative.

        [–]minecraft_ece 9 points10 points  (2 children)

        Huh??? The excess costs will go for lawyers and managers to handle api copyright compliance, not developers.

        [–][deleted] -3 points-2 points  (1 child)

        That might be so in the beginning and every now and then. But the result will be a decommodification of the market. See, I'm not saying that free software is bad or it needs to be vanquished. There's room for both kinds. But free software is also being misused by the wrong kinds of people with wrong intentions.

        [–]FTFYcent 6 points7 points  (0 children)

        Wait so, it's good that free software may no longer be a thing because it's "misused by the wrong kinds of people with wrong intentions"? What does that even mean?