Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Copyright on languages

by ikegami (Pope)
on May 02, 2012 at 17:21 UTC ( #968490=perlmeditation: print w/ replies, xml ) Need Help??

Oracle, owner of Java, is suing Google over the programming language they use in Android phones. Its a near clone of Java*. Specifically, Oracle is alleging that Copyright prevents Google from using the Java API.

Oracle isn't suing Google for having copied their source, binaries or documentation**, but the API itself (package ... provides class ... with methods ... with signatures ...). Their argument could be summarised as follows: Creating the API involved a lot of hard creative work, so it aught to be covered by Copyright.

An argument Google is making is that a language is useless without APIs, so the APIs are part of the language. Since languages aren't covered by Copyrighted, neither are APIs. The judge brought up***:

No decision on point that says that computer languages have not been copyrightable.

I believe there's no past decision on this because everyone in the industry operates with the understanding that computer languages (e.g. Perl, not perl) aren't Copyrightable.

While I recognise that creating a good API is indeed a difficult task, I don't see how that makes them Copyrightable. APIs are intangible information, while Copyright only applies to work that have been fixed to a medium. In other words, Copyright covers expression (e.g. documentation), not ideas or facts (e.g. APIs, languages).

Is that how you see it?


PS — Groklaw has excellent detailed coverage of the case.

* — I don't know what Google calls it, but it probably not Java because Google doesn't have the rights to that trademark, and there's no allegations of trademark infringement. Google would have to pass a certification progress ("TCK") to get a license to use the name Java.

** — Well, there are 9 lines of code in contention (among hundreds of thousands), but that a very minor aspect of this case. Google uses a combination of GPLed Java sources and a clean-room implementation of others.

*** — These may not be his exact words. They come from a citizen reporting in court for web site Groklaw.

Comment on Copyright on languages
Download Code
Re: Copyright on languages
by BrowserUk (Pope) on May 02, 2012 at 17:36 UTC

    Just a couple of months ago, SAS made a similar attempt to enforce copyright on APIs (functions) in the European courts.

    It failed! (Same link as the "The start of some sanity?" question in my sig).

    We can only hope that the US courts reach a similar sensible conclusion.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    The start of some sanity?

      On the plus side, Judge Alsup seems extremely competent. He's not a programmer, but he's very keen on making sure he and the jury understand what they need to know. Daily, he's instructing the lawyers about what still needs to have explained. For example, he said "It has been said that there is an elaborate series of relationships amongst the APIs. Want to learn more about how programmers use the APIs." (Again, this may not be his exact words.)

      The judge has decided he will be ruling on the Copyrightability of the API (since it's a question of law).

      Among other things, the jury will decide whether Google's use of the APIs is fair use should they be covered by Copyright. (The judge will instruct the jury that the APIs are covered by Copyright.) Noone on the jury works in IT.

      This just in is the final nail in the coffin of the idea that "functionality (as opposed to implementation) can be copyrighted"; at least as far as Europe is concerned.

Re: Copyright on languages
by aaron_baugher (Deacon) on May 02, 2012 at 18:06 UTC

    I always got the impression Java the language was copyrighted, based on the hoops I had to jump through to get a copy to install. Maybe I was mistaken. But doesn't the phrase "owner of Java" imply that?

    I wonder if the fact that it's Java will strengthen Google's case, because Java is its API. You can do a lot with Perl without ever using a module, and its use of sigils and statement modifiers give it a look all its own. There's such a think as Perlish syntax. But Java without its classes, if there's anything left at all, is just wordy C.

    Aaron B.
    My Woefully Neglected Blog, where I occasionally mention Perl.

      But doesn't the phrase "owner of Java" imply that?

      Me calling Oracle the owner of Java has no legal significance. It's uncontested that Oracle owns the trademark on the name Java. It owns the copyright on their their code, libraries, binaries, etc. That is what I meant what I colloquially called them the owner of Java.

      I wonder if the fact that it's Java will strengthen Google's case, because Java is its API.

      That seems to be a major argument of Google's.

      You can do a lot with Perl without ever using a module

      Any idea how unique that is? Assembler, C, C++, Java and bash separate grammar from functionality. I believe LISP, Scheme and Haskell do too, but I really don't know them. Pascal and VB do provide at least a print statement.

      I think Perl would prefer to have the two separate. In the development of Perl5, a lot of emphasis is being placed on features that give the ability to extend perl without changing perl itself.

        Ok, so Oracle owns the copyright on the code, but not on the name of the language, and that's why the judge says it's questionable whether "languages" can be copyrighted? That seems like hair-splitting to me, but I guess that's what courts are for.

        I didn't mean that Perl is unique in separating (or not separating) grammar from functionality. I just meant that if you take away the support libraries -- the modules, which I'm thinking of as the API, analogous to Java's class libraries -- you still have something that's identifiably Perl. This doesn't look like anything but Perl, as far as I know:

        next unless $s =~ m|/foo/|i;

        With Java, on the other hand, if you remove the classes, what you have left doesn't look much different from several other C-style languages. (To my knowledge; admittedly I haven't used Java in a few years, and was never an expert.) Since software copyright infringement often comes down to how much you copied the "look and feel," it seems like Google might have an easier time making their case with Java than if they were using Perl. But I'm just spitballing; I don't know anything about the legalities or details here.

        Aaron B.
        My Woefully Neglected Blog, where I occasionally mention Perl.

      I always got the impression Java the language was copyrighted, based on the hoops I had to jump through to get a copy to install.

      You never, ever install Java the language on your computer, just like you can't install English the language on your computer.

      What you install in the case of Java is the runtime environment (virtual machine and bytecode for the class libraries) and maybe the SDK (compiler, debugger, maybe IDE). Languages only exist in people's minds.

      That is a very important distinction. Software is copyrightable, but languages aren't.

      Now Oracle tries to lump APIs (which are abstract things and also exist purely in the mind) into the same category as software, and claims that Google infringes their copyright by reimplementing some of the Java core APIs.

      (Oracle also has some other claims, like that Google copied 9 (!) lines of code, claims that Google copied documentation, and two patent violations. But those claims are all pretty minor, and won't affect the software world as a large nearly as much as the API copyright claims).

        Lets say Google Search algorithm was broken down and somebody writes API's callable to crawl, index and search information.

        Will Google still claim that API's are not copyrightable and its perfectly ok for some one to run a Google search engine clone?

        Anybody would object to a API clone, if that API is the very revenue source of their business.

Re: Copyright on languages
by sundialsvc4 (Monsignor) on May 02, 2012 at 18:50 UTC

    I think that this is a case where some kind of intellectual property protection may be needed ... because after all it is true that “a lot of hard creative work” goes into the initial design of a thing, whereas subsequently duplicating the established design is trivial.   (All I need to duplicate a roadway is a paving machine, so to speak, and I didn’t have to select and survey the route or clear the underbrush, as you did, in order to now freeload upon your entire effort.   That’s not fair.)   But I don’t rightly know whether Copyright law, much less Patent law, is “it.”   I am not sure that the appropriate body of law has been designed yet.

      I think that this is a case where some kind of intellectual property protection may be needed

      Do you think we'd have more or better programming languages today if would-be authors knew their languages and APIs would be covered by Copyright? I think we'd be worse off.

        No, I don’t think that Copyright is necessarily the right form of IP protection, and we have definitely lost control of Patents with regards to software.   (Only the lawyers and vultures are making money.)   Which is why I said that I’m not sure that the necessary IP protection concept has been architected yet.

        The problem as I see it ... and it definitely goes way back even to the “clean-room” cloning of the original IBM-PC BIOS ... is that the first designer and developer of anything that is functional, be it a roadway or a piece of software, incurs a lot of costs and takes a lot of risks that “all those who come thereafter” do not have to experience.   You simply build another railroad fifty-five feet to the left.   The original company conceived of the idea, turned it into a practical implementation, cleared the jungle and sold the idea.   All you did was to exactly copy it.   What you copied, and for that matter your motivation for copying it and the entire source of your profit opportunity for having done so, was none of your doing.   That’s not fair.

        On the other hand, we do not want to squelch “the idea of a road,” nor do we want to squelch the building of better ones.   Which is more-or-less what Patents try to do.   Which is why IMHO software patents are categorically worthless:   they are expensive and don’t accomplish their mission.

        Awkwardly pursuing the road-building analogy:   as an incentive for a company to build a superhighway, I could authorize them to collect tolls for the next five years.   I could stipulate that no roadway can be built within one thousand yards of that same route for the same interval, or stipulate that, should one be constructed, they could collect commensurate tolls on it also for the same period of time.   But we simply don’t have any such notions in IP law right now, AFAIK.

        INAL ... thank god ... but basically I think that what ought to be protected for a little while is the business advantage that comes from “having done all that up-front design and build work.”   You would be afforded a finite window of opportunity during which you would be entitled to royalties.   I’d think of this notion as “pragmatic, reasonable, and fair.”   (Until the designing attorneys chopped it to pieces...)

      I would have expected patent law to be closer, as patents deal with inventions. If I patented a foot-driven can opener, and you started manufacturing something that worked the same, then I could potentially sue you.

      I imagine the reason Oracle are trying their luck under copyright law is that they never applied for a patent for their API (whereas in Berne convention countries, copyright applies to works automatically). Plus in patent law prior art is important, and the design of the Java language (though not much of the API) borrows a lot from C++ and C.

      perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

        Oracle basically wants someway of making money out of Java, anything would be OK. But they don't want a situation where they would want someone to be paying for per installation of their software.

        What they basically don't want is charging per server installation on orders of some thousand dollars per installation. That would kill Java.

        They would ideally want some other way like patent/copyright suits, or Manufacturers paying them per mobile device shipped. That would make a better deal for them, Instead of directly making a end user pay for a installation.

        In counter to that notion, I offer the observation that patent law as actually applied to software simply has not worked.   We literally have patents covering the idea of a “twirlybird wait symbol” being translucent rather than solid.   A patent was issued to IBM covering the idea of using a “compare double and swap” instruction to update a singly-linked list even though the identical idea is taught in textbooks.   I opine that “patent law simply has not worked” because the idea is a shoe that really does not fit.   And copyright law really does not fit, either.   I think this is a different beast, such that a new legislative design is needed.   (And it won’t be an easy, obvious, or controversy-free design.)

Re: Copyright on languages
by JavaFan (Canon) on May 02, 2012 at 19:04 UTC
    I believe there's no past decision on this because everyone in the industry operates with the understanding that computer languages (e.g. Perl, not perl) aren't Copyrightable.
    "Everyone"? Considering the kind of lawsuits and patents we have seen in the past, I don't want to put it past some companies that assume languages are copyrightable. AFAIK, it has not been tested in a *US* court (but see the remark elsewhere about a recent European decision).

    I also don't think the fact that APIs aren't copyrightable is a clear cut case. After all, many APIs aren't so much designed, as that they are the outcome of the first thing the programmer wrote down (many of my APIs certainly are). As such, they would be more expressions than ideas. I don't see an API as a "fact".

      As such, they would be more expressions than ideas.

      I believe the output of mechanical processes isn't covered by Copyright either.

      I don't see an API as a "fact".

      An API is the knowledge of what methods are available, how to call them and what they do. How is that not fact?

        An API is the knowledge of what methods are available, how to call them and what they do. How is that not fact?
        To quote yourself
        While I recognise that creating a good API is indeed a difficult task
        If you're creating it, it's not a fact, is it?

        Unless you want to argue that everything ever created becomes a fact, in which case we can just ditch copyright law, and software licenses right away.

      I also don't think the fact that APIs aren't copyrightable is a clear cut case.

      Can you imagine if int add( int, int ) were (or suddenly became) copyrightable?

      Perhaps that can be seen as too trivial; but consider something like:

      void qsort ( void * base, size_t num, size_t size, int ( * comparator +) ( const void *, const void * ) );

      If, every time a programmer sat down to write a function; he had to perform a copyright search to check that he wasn't duplicating a function signature that someone else had used somewhere at some time in the past, this industry would grind to a complete halt.

      That is proof by reductio ad absurdum, but the principle holds. And with the advent of IP Trolls, and the general rise and rise of companies like Apple and Oracle using litigation as the first resort rather than the last; it is not so absurd.

      Api definitions involve little more than the serial juxtaposition of a half a dozen or so keywords, chosen from a very limited subset. The permutations are finite.

      Imagine if writers were able to copyright phrases -- short combinations of common words. It would very soon lead to the situation where it became impossible to communicate in writing at all.

      buk_The buk_only buk_solution buk_would buk_be buk_for buk_each buk_individual buk_or buk_company buk_to buk_'register' buk_their buk_own buk_unique buk_prefix; buk_and buk_then buk_you buk_end buk_up buk_with buk_communications buk_of buk_this buk_sort buk_and buk_life buk_just buk_gets buk_king buk_ridiculous.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

      The start of some sanity?

        Of course, BrowerUK, you are absolutely correct. I just don't understand why the judge did not use that reasoning.

        Imagine if writers were able to copyright phrases -- short combinations of common words. It would very soon lead to the situation where it became impossible to communicate in writing at all.
        First of all, you don't "copyright things", other than by creating it. And copyright law doesn't say "well, a work has to be at least N words large". Yet, noone has to worry that if they write down a short phrase they are infringing a copyright, even if someone else has written down the same phrase before them. Yet, they aren't free to copy an entire book.

        Now, if APIs were copyrightable (and let me make it clear, I do not have the opinion they should), why should they be treated differently? That is, one shouldn't have to worry about int add( int, int ), but from that, it doesn't imply you can copy a large API like Java.

        My point is no more than "I don't think it's obvious that APIs aren't copyrightable". And the mere fact there was a court case, and it wasn't thrown out as frivolous makes me think I wasn't the only one thinking it wasn't obvious.

      APIs are in fact copyrightable. However there is a limit to their copyrightability, and the bstraction-Filtration-Comparison test is the standard legal test in the USA to try to distinguish between copyrightable elements and non-copyrightable elements.

      Of course the line between artistic expression and the effect of the code is drawing lines in the sand that don't really exist. But these imaginary lines are supported by lawyers and judges, which can cost you a lot of money.

        APIs are in fact copyrightable.

        If that is "in fact" so, then you should be able to easily cite unassailable proof for it?

        A specific implementation of an api -- Ie. the source code -- can be copyrighted. And copyrights on parts of that source code -- as determined by the BFC test -- can be be legally enforced.

        But no one has yet succeeded -- though few have tried -- in enforcing copyright on the specification of an API when re-produced under clean-room conditions.


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

        The start of some sanity?

Re: Copyright on languages
by moritz (Cardinal) on May 02, 2012 at 21:16 UTC
      But it would be great -- no, GREAT! -- for those lowlife members of the legal trade who profit from undertaking such lawsuits... and for the lowlife trademark/patent/copywrite collectors who sometimes sue solely in hopes that the legitimate owner will pay something (less than the cost of defending the suit) to make the court case go away.
Re: Copyright on languages
by jeffa (Chancellor) on May 02, 2012 at 23:20 UTC

    Is this a (somewhat) accurate analogy?

    "If you implement a Lego puzzle ... do you own the rights to that puzzle?"

    Update: lego puzzle? I couldn't think of a more appropriate term ... accuracy vs precision. ;)

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)
    

      I think the closest analogy I can find here is:

      Lego could prevent me from photocopying my copy of their instructions on how to build this excavator, but could Lego prevent me from instructing you how to build that crane using verbal instructions?

      I'm sure you could find some differences, though.

      (I'm not sure what you mean by "Lego puzzle".)

        More accurate analogy. Can Lego prevent you from solving any problem, that can be modeled, constructed and solved using Lego blocks? Which also includes solving problems using pre available Lego models and patterns.

Re: Copyright on languages
by Anonymous Monk on May 03, 2012 at 05:11 UTC

    The purpose of Java's existence is to act as a bait to attract users to sell some business. That is how it always was, Sun wanted to sell its servers on that basis. Then it was mobile, set-top boxes and things like that. The issue turned out to be something like this. Before the iPhone Java on mobile really sucked, and Sun was struggling to make good money out of Java.

    Sun was throwing insane money at Java, to develop it, to keep it popular, provide IDE's, frameworks, libraries and everything else. At the same time the whole world was using Java to make money, while Sun itself couldn't. This wasn't making Sun look good.

    Post iPhone, Java on Android became the next big thing and Oracle thinks it finally found a way to milk money out of Java. Oracle isn't going to stop. This is not going to end. Either Java will be a paid platform or there will be no Java. It doesn't make any business sense for Oracle to pump money into Java's future while they can't money out of it. No organization can make that business case to its investors and stockholders.

    One way or other, expect heavy turbulence and problems in the Java world, Until Oracle finds some way of making money out of it.

Re: Copyright on languages
by sundialsvc4 (Monsignor) on May 03, 2012 at 21:22 UTC

    This is basically why I think that any sort of quibbling about “the source-code,” hence Copyright in the conventional sense, is really missing the point.   The real point that ought to be explored, by a legislature, is basically:   why the duplication was done.   What business advantage it conferred upon the duplicator, and which it in so doing denied from the original author of the copied material.   You didn’t make that very-consciously exact copy just because one day the thought popped into your brain that it would be a really cool idea.   You did it because someone else did it first.   The only reason why you would choose to build that railroad in that particular location is because the Little Red Hen did it first.   But you’re not the Little Red Hen.   You didn’t offer to join forces with the red bird; your work adds absolutely nothing to it.   You didn’t incur any of the business-development costs that the Hen incurred, but you are effectively cheating her out of the opportunity to recoup them during the understandably-limited period of time over which she would reasonably seek to amortize them.

    In the actual railroad days, massive amounts of duplicate track were in fact built for the singular purpose of forcing the original railroad to buy them out.   (See, e.g.: http://www.angrybearblog.com/2009/05/there-is-difference-between-then-and.html.)   It was an under-handed business practice then as it is today.   In fact, the US Government had to intervene to compel companies who were vying for the first transcontinental railroad route to stop building tracks parallel to one another to the same destination.   There was “gobs of Federal money and land” to be had, and perhaps the various companies hoped no one was paying attention:   for a time, no one was.

    Patent law does not apply well, because the idea isn’t new and novel.   Copyright law does not apply well, because the duplicate arguably (and obviously) isn’t the original.   But the existence of the duplicate does unfairly sweep the wind from the sails of the original ship, and it frankly appears (to me...) to exist for no other credible purpose.   That’s not fair.   But IMHO/INAL neither patent nor copyright law really is an appropriate foundation to work from.   The crux of the “offense” here, I think, is not a matter of precisely what was done, but rather, of precisely why and when it was done, and for what (under-handed) reason it was done at precisely in this chosen way at precisely this chosen time.   It was done to steal candy from the baby.

Re: Copyright on languages
by Anonymous Monk on May 07, 2012 at 18:43 UTC

    What does this mean for the Perl6 DBI? It's supposed to be based on JDBC - an API.

    Does anyone know if the Oracle-vs-Google thing is having an impact on that?

      I would cautiously offer the frank opinion that it doesn’t matter, and for (at least) the following two very-frank reasons:

      • Perl-6 doesn’t matter.   If it ever does come to see the light of day, it will be, and it will be regarded as, “The Entirely New Language Also Coincidentally Named ‘Perl.’”   If it happens to contain its own built-in database API, then it is even more insufficient than its erstwhile decade-old predecessor, which supports many by intrinsically supporting none.   And let us be frank:   do we actually need Yet Another Procedural Programming Language, even if we decide for some reason to call it, “Also Perl?”   Methinks not.
      • There’s no money in it.   Google didn’t actually do anything that it actually did for any other reason other than to steal away the need for royalty checks.   Copyright arguments are being pressed into service, I think, because they seem to someone to be the best legal theory that they have come up with yet, whether or not they actually apply.   If Google can sweep the wind out of anyone else’s incentive to pay money to Oracle for what Oracle did first, then Google will have succeeded.   But Perl-6 isn’t even in that ocean.   Perl-6 is very frankly nowhere.   In any case, it is in no danger.
Re: Copyright on languages
by tokpela (Chaplain) on May 08, 2012 at 04:52 UTC

    If the Java API's are deemed copyrightable, then what about interfacing with the JVM? Would these APIs also be copyrighted?

    Would you need a license to make a language to interface with a virtual machine? How would this affect languages such as Jython and JRuby?

    How would this affect Parrot as a JVM alternative? Would this create more incentive to build on an Open Source alternative or would Parrot become a target for Oracle?

      If the Java API's are deemed copyrightable,

      The jury returned, but were deadlocked on that particular part of the suite. It looks like a mis-trial, so we'll have to wait a few more months before we find out.

      Even then, if that local court decides APIs are copyrightable, the smart money is that the industry will band together to get it overturned at appeal. The potential consequencies for the industry as a whole are just too wide ranging for it to stand. It would also be out of step withthe rest of the world.

      I hear on the grapevine that there are some big players readying ' What's good for the goose...' suits against Oracle should they win.

      would Parrot become a target for Oracle?

      Until the Perl Foundation or whomever else can be cited as 'the perpetrator' gets (say) 1% as rich as Google Inc., I seriously doubt that Ellison would let slip his Dogs of Law.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

      The start of some sanity?

Re: Copyright on languages (The final verdict?)
by BrowserUk (Pope) on May 23, 2012 at 20:12 UTC

      Phase 1 hasn't been finished yet. The jury found that Google infringed on any Copyrights that might exist on the API, but the judge hasn't yet ruled on whether there are any Copyrights to infringe.

      And of course, there's a strong possibility of appeals.

Re: Copyright on languages (The final verdict!)
by BrowserUk (Pope) on May 31, 2012 at 23:25 UTC

    You were right about Judge Alsop. He states:

    "So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API," Judge Alsop

    Judge rules APIs can’t be copyrighted."


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    The start of some sanity?

      Groklaw has the ruling in text format.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://968490]
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (9)
As of 2014-08-28 09:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (259 votes), past polls