Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
Oracle Android Google Java The Courts

Declaring Code Is Not Code, Says Larry Page (arstechnica.com) 405

Alphabet CEO Larry Page says his company never considered getting permission from Oracle for using the latter's Java APIs in Android. Page, who appeared in a federal court, said Java APIs are open and free, which warrants them or anyone to use it without explicit permission from Oracle. From an Ars Technica report (edited for clarity): "But you did copy the code and copy the structure, sequence, and organization of the APIs?" Oracle attorney Peter Bicks asked, raising his voice. "I don't agree with 'copy code,'" Page said. "For me, declaring code is not code," Page said. "Have you paid anything to Oracle for using that intellectual property?" Bicks asked. "When Sun established Java, they established it as an open source thing," Page said. "I believe the APIs we used were pretty open. No, we didn't pay for the free and open things." [...] "Was Google seeking a license for Java?" Google lawyer Robert Van Nest asked. "Yes, and a broader deal around other things, like branding and cooperation," Page said. "After discussions with Sun broke off, did you believe Google needed a license for APIs?" Van Nest asked. "No, I did not believe that," Page said. "It was established industry practice that the API and just the headers of those things could be taken and re-implemented. [It must be done] very carefully, not to use any existing implementation of those systems. That's been done many, many times. I think we acted responsibly and carefully around these intellectual property issues."
This discussion has been archived. No new comments can be posted.

Declaring Code Is Not Code, Says Larry Page

Comments Filter:
  • Giant problem (Score:5, Informative)

    by NotInHere ( 3654617 ) on Friday May 20, 2016 @09:43AM (#52148763)

    If APIs are copyrightable, this will be a huge problem for projects like Wine (which implements Microsoft APIs), and GNU/Linux (which implements Bell labs APIs).

    • Re:Giant problem (Score:5, Interesting)

      by LichtSpektren ( 4201985 ) on Friday May 20, 2016 @09:48AM (#52148789)
      And also Microsoft. Remember that MS-DOS was a renaming of Seattle Computer Products' QDOS, which itself was an API clone of CP/M.

      If the jury rules for Oracle, that means Microsoft will owe billions to the estate of Gary Kildall.
      • by Anonymous Coward

        Wealth redistribution at last!!

      • by TWX ( 665546 )
        That may largely depend on if man and later the estate did what was necessary to maintain copyright.
        • by dwye ( 1127395 )

          Alas, there is nothing to be done to maintain copyright. It lasts a half century after the creator's death, unless the creator or the rightful heir or heirs (and isn't THAT just a bunch of lawsuits in waiting?) explicitly places it in the Public Domain.

          All so Mickey Mouse can never be abused by non-Disney artists/writers/whatever.

          • by cdrudge ( 68377 )

            It's not quite that cut and dry. In general, it depends on when the work was first published and/or registered as well as where. There are all sorts of combinations [cornell.edu] that would need to be figured out based on a particular instance.

            And current copyright is 70 years after an authors death or 95 to 120 years for corporate works depending if they were in a publication or not.

            • Re: (Score:2, Informative)

              by Anonymous Coward

              And current copyright is 70 years after an authors death or 95 to 120 years for corporate works depending if they were in a publication or not.

              Assuming that Disney doesn't pressure legislators into amending the Mickey Mouse Perpetual Protection Act to extend copyright protection even further.

            • by dwye ( 1127395 )

              First, we were discussing the copyright of the APIs for CP/M, not Sons of The Swordmaker (which was copyrighted the first time in a period where it could have gone into the PD if it hadn't been extended, which it was, so it still is). CP/M APIs are in the easy period (copyright lasts forever because Disney will keep persuading Congress to extend it whenever Steamboat Willie gets near leaving copyright).

              Second, 70 years? Oh, GOD! It's WORSE than I remembered!!

        • You're getting confused with trademark, which needs to be maintained; whereas copyright and patents do not.
      • Re:Giant problem (Score:5, Insightful)

        by StormReaver ( 59959 ) on Friday May 20, 2016 @10:08AM (#52148915)

        If the jury rules for Oracle, that means Microsoft will owe billions to the estate of Gary Kildall.

        And IBM will be able to sue Oracle and Microsoft for billions, for Oracle's use of the SQL API .

        • Re:Giant problem (Score:5, Informative)

          by peragrin ( 659227 ) on Friday May 20, 2016 @10:27AM (#52149061)

          Only after SCO sues IBM for trillions.

          Oracles argument was used in SCO vs IBM and it was tossed there too. Headers are not copyright able.

          • Except it was proven that SCO does not own Unix. Ownership was never passed to SCO.
          • Headers are not copyright able.

            That's definitely not true, it's even less true of header files than of APIs in general, because header files can have real, important code. The example that was raised on the LKML at the time of the SCO trials were things like htonl() ntohl() etc, because they are implemented as macros in the Linux source code, and they are really efficiently implemented. Obviously in C and C++ a lot of real source code can be implemented in header files.

          • Well it never got to that. Most of the claims by SCO were tossed out because they lacked specificity even after ordered by the judge to clearly spell out to the court what they were claiming. The rest were closed by the court after Novell was found to be the copyright owner of UNIX and thus SCO had no standing to sue.

            Had it gone to trial, IBM certainly would have won on any detailed code comparisons as SCO did a completely shoddy job of code analysis. Among the things they claimed were that header files l

        • Yep, you're going to see a ton of stuff coming out the woodwork. There is just simply too much money to be made here not to.
      • And also Microsoft. Remember that MS-DOS was a renaming of Seattle Computer Products' QDOS, which itself was an API clone of CP/M. If the jury rules for Oracle, that means Microsoft will owe billions to the estate of Gary Kildall.

        And that SCO will rise from the dead once again...

    • Re:Giant problem (Score:5, Insightful)

      by segedunum ( 883035 ) on Friday May 20, 2016 @09:54AM (#52148835)
      Indeed so. Software is in a whole heap of trouble of APIs are copyrighted and you have to go to court to prove whatever laughable versions of fair use is in vogue this week.
      • Re:Giant problem (Score:5, Interesting)

        by Solandri ( 704621 ) on Friday May 20, 2016 @01:06PM (#52150451)
        Not really. Software companies will all close shop in the U.S. and move their operations to countries where APIs are legally declared not copyrightable. All those companies hiring H1B programmers from India or outsourcing programming work to India? They'll move to India and if you're lucky they'll outsource some of their work to you in the U.S. Software development will continue on in the rest of the world as if nothing had happened. The U.S. will be relegated to a software backwater, as most of the software made and sold in the rest of the world cannot legally be distributed in the U.S.

        That's the nature of the free market. It interprets stupidity as damage, and routes around it.
        • by Ungrounded Lightning ( 62228 ) on Friday May 20, 2016 @03:02PM (#52151289) Journal

          Software companies will all close shop in the U.S. and move their operations to countries where APIs are legally declared not copyrightable. ... The U.S. will be relegated to a software backwater, as most of the software made and sold in the rest of the world cannot legally be distributed in the U.S.

          Something similar to this happened with encryption. The US regulated it as a weapon and banned / limited / added red tape to the export of strong encryption software. US companies also couldn't import strong encryption software, include it in their products, and resell them elsewhere. The software had to be installed outside the US by non-US companies.

          The result was that commercial development and deployment of strong encryption software pretty much stopped in the US and picked up outside its boundaries for several years, and various workarounds were developed (such as "encryption with a hole" so a strong encryption module could be installed later).

          This continued up to about the turn of the centur, when laws, policies, and court decisions loosened things up enough that US companies could play again.

    • WABI from SUN (Score:3, Insightful)

      by Anonymous Coward

      Or indeed WABI from Sun (now Oracle) that copies the API of Windows so it can run on Sparcstations.
      Or Java from Oracle that implements the Berkeley Collections library APIs.
      Or Java from Oracle that copies the API conventions of C++.

      They really are trying to fool a jury here.

    • If APIs are copyrightable

      APIs are copyrightable, at least in California.

      this will be a huge problem for projects like Wine (which implements Microsoft APIs), and GNU/Linux (which implements Bell labs APIs).

      No, Wine has a solid fair-use defense, because they exist only for the purpose of interoperability.
      Google is struggling to make an interoperability defense because that was not the purpose of their copying.

    • Linux implements Posix https://en.wikipedia.org/wiki/... [wikipedia.org] which is an IEEE and ISO standard.

    • Re:Giant problem (Score:5, Insightful)

      by cyriustek ( 851451 ) on Friday May 20, 2016 @11:07AM (#52149413)

      Organisations publish their APIs, because that want people to use them.

      Sun was making a huge push on this in the early 2000s. IMO Larry Page is spot on with this.

    • It's silly to copyright APIs. Eventually we will run out of synonyms and it doesn't help the advancement of the sciences. Congress is only allowed to provide copyright and patents if it promote the arts or sciences. People seem to forget that.

      From the constitution:
      "To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries."

      If a copyright is overbroad and detrimental to progress it shouldn't be a

  • by jonwil ( 467024 ) on Friday May 20, 2016 @09:56AM (#52148853)

    Someone should go back and look for any examples where Sun or Oracle have copied APIs but didn't have any specific license to use the code behind those APIs.

    There must be some example somewhere of Sun or Oracle doing exactly what they are now claiming Google has done...

  • IANAL, but I could imagine a case where someone names a method with a copyrighted haiku: void old_pond_CR_a_frog_leaps_in_CR_waters_sound(). (From Wikipedia's example of a haiku translation; I don't know if their example is copyrighted, but you get the point.) In that case, I think it's not an unreasonable case that the API is copyrightable at least in part. In such a case, even code calling the API--not just an implementation of the API--would require a fair-use defense. I would hope such a fair-use defens

  • by mysidia ( 191772 ) on Friday May 20, 2016 @10:18AM (#52148999)

    An Ad-hoc one, but part of language nonetheless.

    The ENGLISH Language has an API too. You will find much of it documented in a dictionary.

    The words are the element of the language; but an API tells you how to exchange messages between two people.

    Attempting to have exclusive rights to an API is like a restaurant wanting exclusive rights to phrases such as "GET WATER", or "ONE BEER PLEASE".

    So patrons will be sued if they go to a competitors' restaurant and formulate requests such as that

    The code does things...... the API is just a functional (non-creative) description of the correct way to interact with the code.

    • by bigpat ( 158134 )

      The code does things...... the API is just a functional (non-creative) description of the correct way to interact with the code.

      I think that is basically correct. When talking about an API we are talking about something closer to naming mathematical variables, than to creative expression. Their utility is in in having a common reference name, not in the creativity of the name itself. Like saying I could copyright using a particular set of greek letters to describe physics, or copyrighting the E and the M and the C in E=MC^2.

    • Attempting to have exclusive rights to an API is like a restaurant wanting exclusive rights to phrases such as "GET WATER", or "ONE BEER PLEASE"

      The courts deal with this problem by using the "abstraction-filtration-comparison" test. Essentially, they remove all the parts that are common and unexpressive, such as "get water" or "one beer please," and then they make a comparison with whatever is left. In this case, math.abs() is probably not original, but clearly the package name "java.math.*" is not necessary for expressing the idea of absolute value.

      There's a lot of good information in the appeal court's decision [eff.org], and also Wikipedia has a decent

      • by mysidia ( 191772 )

        clearly the package name "java.math.*" is not necessary for expressing the idea of absolute value

        TO A HUMAN

        The identity of the package may very well be critical for expressing the concept of invoking the absolute value function to the computer. The package is just part of the name, and you have to use the name; You cannot just pick a name that makes sense to a human, because it's an API that is being invoked, then there actually is not a choice.

        Thus why... the decalaration of what java.math.abs i

    • Doesn't anyone know how to explain this properly? An interface explains how you connect things together. It is a standard, meant to facilitate interaction between components from diverse parties. This particular interface facilitates interaction between java application programs on the one hand, and a java implementation on the other. (and that's why we call it an "Application Program Interface")

      Everybody agrees that the java implementation is itself covered by copyright. The interface, however, is not, a f

  • by LichtSpektren ( 4201985 ) on Friday May 20, 2016 @10:19AM (#52149007)
    If Oracle wins this case and all the appeals, where it's ruled that using open APIs is copyright infringement, then I would strongly suggest you get into corporate law.

    Because the end result is that basically every software company in the world (including not just Oracle and Google but Microsoft, Apple, IBM, Intel, Samsung, etc.) will suddenly find themselves in a Mexican standoff of potentially trillions of dollars in "intellectual property" suits ready to be fired off. The only winner will be the one with the best legal department; oh, and the lawyers.

    All the aforementioned companies would be wise to pen amicus curiae letters in favor of Google.
    • Indeed so. Anyone who wants to sell software of any kind is going to have to be pretty aware of this, especially those writing developer tools. However, getting into corporate law won't help anyone. Smaller software companies simply don't have the money to argue fair use in a court.
  • To make the first PC Clone. I wonder how much HP will owe to IBM?

    • by drerwk ( 695572 ) on Friday May 20, 2016 @10:47AM (#52149233) Homepage
      Compaq reverse engineered the BIOS. It did not copy the text of some file that defined the API. I don't think that the INT operations even had fixed names - they had numbers. So a BIOS call would be documented as http://stanislavs.org/helppc/i... [stanislavs.org]
      INT 16,0 Wait for keystroke and read
      This exact operation can be described using different words e.g.
      On Int 16,0 the system will pause until a keystroke is pressed and the value will be placed in AH.
      I understand the issue in Oracle v. Google to be exact copying of some number of interfere files. Such files did not exist for BIOS as far as I recall.
  • Why was Google trying to get a license for Java if they ultimately felt they didn't need one? That's right there in the article.
    • Not a license to use Java's API. They were seeking an alliance with Sun to develop Java together.
    • They considered getting a license, but ultimately decided against it. I believe Larry Page said they considered it because they wanted to use Sun's java implementation (not the same thing as just using the API via the Apache Harmony implementation). But even if they thought they needed a license for the Java API, they may have decided otherwise after legal analysis.

      It bugs me when lawyers think they have a smoking gun because some employee writes something in an e-mail or a presentation. They employee mi

  • Bloody IP (Score:5, Insightful)

    by SlashDread ( 38969 ) on Friday May 20, 2016 @10:51AM (#52149297)

    Riddle me this.

    Intellectual means "of the intellect" and is thus intangible.
    Property has always been used as a nomer for physical items that are clearly in possession, after all possession is 9/10th of the law.

    This whole "IP" terminology is thus clearly double speak, and should be avoided. The whole legal constructs around them, be it patents, invention or copyright are only there to not disrupt existing economic structures. They are a philosophical abomination, especially in the digital age, where copying is cost-less, and distribution nearly so. This is true for books, code, movies and basically everything digital IMHO, and in this case even more so.

    In this particular case of Oracle vs Google regarding Java "IP" we are talking about API Headers. To anyone with some coding background, API Headers are a description of a system. They are not patentable, as patents require implementation. (In Europe software is considered "math", and atm not patentable at al) They should not be copyrightable, for the same reason that announcing you will write a book about Fire and Ice and Dragons is a description of a book, but not the book itself. This description should not grant you the right to be the sole author of books about Fire and Ice and Dragons.

    I applaud Google in this fight, and I hope they fight till they win.

    • Property has always been used as a nomer for physical items that are clearly in possession...

      I think you missed the part of history (in the 1700's) when property rights started being assigned to intangible things like the text of books, in the form of copyright. I mean, you can pretend that society doesn't recognize this particular abstraction of property rights, but there's voluminous case law and legal tradition for this, so I'm not sure what the point is.

    • by tlhIngan ( 30335 )

      In this particular case of Oracle vs Google regarding Java "IP" we are talking about API Headers. To anyone with some coding background, API Headers are a description of a system. They are not patentable, as patents require implementation. (In Europe software is considered "math", and atm not patentable at al) They should not be copyrightable, for the same reason that announcing you will write a book about Fire and Ice and Dragons is a description of a book, but not the book itself. This description should

  • by rockmuelle ( 575982 ) on Friday May 20, 2016 @10:59AM (#52149349)

    Ok, I'm going to take a slightly unpopular stance here and suggest that APIs probably should be copyrightable.

    Ignoring all the legal issues, my rational is simple: An API spec represents the output of the intellectual effort of the architect far better than any implementation code. Designing a good API is difficult. Doing so requires finding exactly the right abstractions to allow users to use your API to perform complex operations in a simple, straightforward manner. The design process often involves several iterations of implementation to refine the API - not only implementing the functionality, but writing software that uses to to make sure it meets its goals.

    The book title/chapter title argument is often used to show why APIs shouldn't be copyrighted. That's a poor analogy. Many books don't bother with chapter titles, so they're clearly not essential to the interpretation of the material. When present, they usually can't be used to quickly summarize a book. A well designed API will clearly and concisely present to you everything the underlying library can do. In fact, you should never care about the implementation of the library. If you ignored the text of a book, you wouldn't really be reading it.

    If we're going to look to artistic pursuits for analogies, I'll suggest music is a better one. Melodies and lyrics are primarily what's copyrightable in music. Chord changes and musical embellishments are not. Arrangements are copyrightable when written down. Specific performances are also copyrightable (which is why samples must be cleared for use in other songs). Melodies and lyrics are akin to an API - the instantly let you identify the song/library and are the primary way most people remember it. For example, I can play "Yesterday" on a piano, guitar, speak-and-spell, and it's still a Beatles song. I still owe the Beatles royalties for using their lyrics and melody, regardless of how I arrange and perform it.

    Now, if we allow APIs to be copyrighted, we gain a lot of flexibility. Most importantly, the copyright holder can release the API under a free and open license if they want. The designer can say: here's my work, feel free to do with it what you want. Or, they can lock it down and restrict what can be done with it.

    For better or worse, Sun wanted the best of both worlds with Java. They implied that it was free and open, but never actually released the APIs under a specific free and open license. In the music world, the "Happy Birthday" saga is similar. The melody and lyrics were thought to be under copyright and Warner collected a few million a year from artists for performing it and using it in their works. Just like the core Java APIs, everyone knows "Happy Birthday" and most people used it casually without paying royalties (yes, I realize not everyone knows Java, but most readers of /. do). With the song, it turned out an earlier version that wasn't under copyright was found, which invalided Warner's claims. Unfortunately, that's unlikely to happen with Java.

    tl;dr: APIs are the creative output of the design process, just like melodies and lyrics are in music. They probably should be copyrightable.

    -Chris

    • by PRMan ( 959735 ) on Friday May 20, 2016 @12:04PM (#52149921)
      Which MIGHT be true, except Sun said they were open source and free to use. Calling backsies was garbage on the playground and it's still garbage.
      • Which MIGHT be true, except Sun said they were open source and free to use.

        They are open source and free to use, but you still have to follow the license. Google didn't follow the license (which is why they recently switched to the GPL for their Android dev system; if they had done that long ago, there wouldn't be any problem now).

    • by dgatwood ( 11270 ) on Friday May 20, 2016 @12:15PM (#52150031) Homepage Journal

      In general, the fact that something is a creative work or takes time to create doesn't necessarily make it copyrightable. For a creative work, any functional aspects of that design are supposed to be protected by patents, not copyright. And an insufficiently creative work isn't protected at all, no matter how much time it took to create it.

      For example, the courts long ago ruled in Feist Publications, Inc., v. Rural Telephone Service Co. that the difficulty of creating something is not sufficient to make it copyrightable when they declared that a phone book is a non-creative collection of facts. One could reasonably argue that a header file collects the declarations from source code, and that the real creative work is the source code itself. After all, the sole reason for a header file is to consolidate a bunch of declarations into a form that that makes it easier for a compiler to digest. This arguably makes a header no more a creative work than the phone book. That's not arguing that an API shouldn't be copyrightable per se, so much as that a header shouldn't be unless it contains other creative works beyond the declarations.

      Also, per 17 U.S.C. section 1302, anything that is "dictated solely by a utilitarian function of the article that embodies it" is not eligible for copyright. The intent of copyright law is to shift responsibility for protecting such creative works into the domain of patent law. So given that there's a strong utilitarian aspect to APIs (because any function has basically exactly one valid declaration, or else your code won't link correctly), if you want to argue that an API should be protected by copyright, you have to come up with a concrete argument of why that API's design is more than just utilitarian in nature. So any creative effort that was focused on making an API easier to use doesn't count towards the creativity requirement for copyright purposes.

    • Re: (Score:2, Informative)

      by Anonymous Coward

      Not everything that takes a lot of intellectual effort is copyrightable.

      Lists of ingredients in a recipe is considered not to be covered, no matter how long the chef spent in making the ratios perfect or how many spices they tried before they came across the right combination. Likewise, a haiku I write in a tweet with little thought or time spent on it is probably covered under copyright.

      Mathematical equations are not copyrightable even though it might take years of very specialized effort to prove a mathem

    • by horza ( 87255 ) on Friday May 20, 2016 @12:26PM (#52150125) Homepage

      A melody or a lyric is not like an API. A musical note or an alphabetical letter is. To take your own example, "For example, I can play "Yesterday" on a piano, guitar, speak-and-spell, and it's still a Beatles song". The musical notation is the API, and you are able to implement the copyrighted melody via that API on a variety of different instruments. Imagine if somebody held the copyright to the API and only allowed a guitar solo to be performed on a particular brand of guitar? Would music be where it is now?

      If you allow an API to be copyrighted then you will destroy a good amount of the software industry. Designers already do lock down APIs when they want to, even 'open' APIs such as Google and Facebook require you to generate an API key which they control the validity of.

      It should definitely NOT be copyrightable. It would be detrimental to both industry and society.

      Phillip.

    • by Marginal Coward ( 3557951 ) on Friday May 20, 2016 @12:56PM (#52150383)

      Ignoring all the legal issues, my rational is simple: An API spec represents the output of the intellectual effort of the architect far better than any implementation code.

      You make a good point, but what is the purpose of an API except to separate the interface from the implementation, if not to allow and encourage multiple implementations? In that vein, whenever someone publishes an API, they are implicitly allowing/encouraging multiple implementations. I suppose that one could argue that someone who does that might expect a royalty from someone who does an alternative implementation, but the "fair use" of APIs seems to be a train that long ago left the legal station.

      Many years ago, I asked a lawyer the corporation where I worked at the time if I could use the old Hayes modem command set for another purpose. He said that I could. Of course, that was just his own opinion and likely was uninformed by any relevant court rulings. Still, it illustrate that the concept of an API needing to be licensed made a certain amount of sense in order for me to ask it, and it illustrates that a trained legal mind could easily conclude that it didn't.

      To me, the idea of "fair use" in copyright law is intended to draw a line between the net benefit to society of people being able to use works in certain non-revenue-producing contexts such as scholarship or research, while allowing creators of works to be paid in the remaining commercial context. My common-sense, IANAL perspective on this is that society gains more than API creators lose in the process of allowing APIs to be used without licensing.

    • by The Raven ( 30575 ) on Friday May 20, 2016 @01:31PM (#52150641) Homepage

      Ok, I'm going to take a slightly unpopular stance here and suggest that APIs probably should be copyrightable.

      Ignoring all the legal issues, my rational is simple: An API spec represents the output of the intellectual effort of the architect far better than any implementation code. Designing a good API is difficult.

      You forget that an important part of copyright is 'To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries.' APIs are so fundamental to all creation, that being able to own an API would completely lock down and prevent the progress of science and useful art.

      You can copyright a painting, but not a painting style. Even if your style of painting is new, innovative, unique, and you spent years developing your unique method... you do not get any control over others copying your technique and using it in their own works. (e.g. Picasso and Cubism, Seurat and Pointilism)

      You can copyright a book, even a paragraph, but you cannot copyright a unique way of looking at the world. You could spend months on your ideas, on your unique take on a topic... but that does not grant you a copyright to the idea, only to the specific implementation of your paragraphs, chapters, and novels. (e.g. Tolkein and Elves, Niven and Ringworlds)

      The reason that ideas (and, by extension, APIs) are not copyrightable is because the only way to claim ownership an idea is via Patents. Now you can have endless debates on what should or should not be patentable, how unique it is, and the merits (or lack) of software patents, but the end point is that if you believe your software idea deserves protection the only way you can is via a patent. Because copyright only protects a specific implementation of an idea, not the idea itself no matter how much work went into generating that idea.

  • If headers aren't copyrightable, why do headers have copyright statements in them?

    • - Jayden Smithhttps://developers.slashdot.org/story/16/05/20/1432233/declaring-code-is-not-code-says-larry-page#
  • by Theovon ( 109752 ) on Friday May 20, 2016 @11:15AM (#52149491)

    Although it’s meant for a machine, I think declaring code is documentation. It’s also somewhat redundant because in theory, a compiler COULD just find the function definitions directly and infer the prototypes. This is true about Verilog, for instance. Declaring code is in the form of code, but it doesn’t represent any functionality, only the interface you use to get access to the functionality provided by the defining code.

    That all being said, I hold an unpopular opinion. What Google did should be techinically legal, and it should obviously be possible to develop compatible implementations of operating systems and other software infrastructures. However, Google’s choice to usurp the Java empire totally fucked over Sun. Android started at a time when Sun was still Sun. They were making revenue from Java, and if that revenue stream had continued, the may have been able to avoid going under. Instead, Android totally ripped the rug out from under that part of Sun, and Sun had to liquidate and get sold to to the assholes at Oracle.

    So while technically, within the law, Google doesn’t owe a penny to Oracle (in my opinion), what Google did was morally wrong, and there were consequences (surely anticipated by Google to some degree or other) that lead to Sun’s demise.

    Yes, if Java was the one thing that broke Sun, then there were bigger problems there, but that doesn’t change the fact that Android fucked over Sun. Basically, people at Sun put an enormous amount of effort into developing a platform independent language and software infrastructure that we have all benefitted greatly, but they never got the chance to reap the rewards because Google took it all away.

    What this basically tells me is that unless I’m just a pure altruist and humanitarian and ready to give away all of my hard work for no reward, then I should just not do anything, because all my hard work is just going to be (legally) ripped off by some other company. I’m a huge fan of both using and contributing to free software, but a dude’s gotta eat, and we should have a moral right to get something back from our efforts. Copyrights are FAR too lengthy, and patents are given away for the stupidest shit, but the spirit of these protections is sound in that for a limited time, you should be able to profit from your hard work. Sun’s ability to profit from Java was far too limited, because they were never able recoup the investment. If Google had played nice, then Sun would still exist, and the world would be a better place.

    Oh, and don’t give me bullshit about how Google could have chosen a different language. Sure, they could have. Apple sure did, and Objective-C sucks. That doesn’t change the fact that Google’s boostrapping would have taken FAR LONGER if they’d had to start from scratch. And I’m of the opinion that although I hate GC’d languages in general, and they suck battery like there’s no tomorrow, Android apps would be a hell of a lot crashier in general if they’d chosen a language with manual memory management. If Google had made other choices, Java would have remained longer under the control of Sun, and Android would have taken far longer to get off the ground. It’s possible that if Google had taken that route, their software stack would be more mature now and not tied down by the drawbacks that Java has with regard to energy usage.

    • by PRMan ( 959735 )

      What this basically tells me is that unless I’m just a pure altruist and humanitarian and ready to give away all of my hard work for no reward, then I should just not do anything, because all my hard work is just going to be (legally) ripped off by some other company.

      Maintain your copyrights instead of telling the world that they can freely use them. That's a start.

      • by Theovon ( 109752 )

        I’m not saying Sun didn’t make any mistakes. They were, in part, trying to appeal to the open source community, which represents a lot of kinds of the people who would be developing on the Java platform during their day jobs. So there are perhaps things that they could have been more restrictive on, but they’re all double-edged swords. My whole point is that while what Google did was LEGAL, there are many ways in which it might be considered WRONG from an ethical standpoint.

        When the lit

    • I was under the impression that Sun never made much money from Java.
      They didn't ask end users money for using Java, they didn't charge for the compiler nor for any IDE.
      They did sell books and courses, also certifications. I think they also charged to JavaEE server vendors to certify them as JavaEE compliant, but as I said I believe nothing of that ever made them earn huge amounts of money.
      Whether Google shoud've paid them money to use Java is another completely different matter.
    • by Solandri ( 704621 ) on Friday May 20, 2016 @12:57PM (#52150395)
      Sun went under because they were heavily invested in a hardware platform which got squeezed out of existence - the minicomputer / workstation. Mainframes and supercomputers became cheaper, and microcomputers became more powerful (CISC improvements closed the gap with RISC), squeezing out Sun's primary revenue stream. Same thing happened to Silicon Graphics and HP's PA-RISC line.

      Java was always open and free - Sun made money by selling systems built on Java. Their business model was to create a large population of Java-proficient programmers by making it free to use, then sell hardware which ran systems coded in Java. Because it's an interpreted language, it requires more CPU power than compiled code, helping stave off the assault from low-powered microcomputers. So your argument that Google somehow screwed Sun by using something they were giving away for free is beyond ridiculous.

      Oh, and donâ(TM)t give me bullshit about how Google could have chosen a different language. Sure, they could have. Apple sure did, and Objective-C sucks. That doesnâ(TM)t change the fact that Googleâ(TM)s boostrapping would have taken FAR LONGER if theyâ(TM)d had to start from scratch.

      And Sun's bootstrapping of Java would have taken FAR LONGER if they'd had to start from scratch instead of outright copying C++. I never learned Java but I have little problem reading Java code since it's nearly identical to C++.

    • That all being said, I hold an unpopular opinion. What Google did should be techinically legal, and it should obviously be possible to develop compatible implementations of operating systems and other software infrastructures. However, Googleâ(TM)s choice to usurp the Java empire totally fucked over Sun. Android started at a time when Sun was still Sun. They were making revenue from Java, and if that revenue stream had continued, the may have been able to avoid going under. Instead, Android totally rip

  • You can own a house. You can't own the directions to get there.

  • For legal purposes, it seems that there is an extra consideration for C-like programming languages: One can put basically anything into header files, including huge blocks of code. Even the GNU Lesser General Public License makes a distinction in its licensing terms of object files produced using header files that contain macros or static functions more than 10 lines long.
  • I don't agree (Score:3, Insightful)

    by JustNiz ( 692889 ) on Friday May 20, 2016 @12:18PM (#52150047)

    Dunno that I agree with Page's stance at all.

    His argument seems to hinge on declarations not being part of the code, and are somehow automatic consequences of the implementation or at best trivial afterthoughts. It seems to me that APIs are actually the toughest part to get right and it takes experience and skill to design a logical, flexible and useful API, Hardly zero value stuff.

A debugged program is one for which you have not yet found the conditions that make it fail. -- Jerry Ogdin

Working...