Google v. Oracle: Fair Use of a Copyrighted API

by Dennis Crouch

Google v. Oracle (Fed. Cir. 2017) (pending software API copyright case)

In its return-trip to the Federal Circuit, the Oracle’s JAVA-Copyright case against Google appears have some chance of once again making interesting precedent.  I previously described the case as follows:

When Google wrote its program-interface (API) for Android, the company made a strategic decision to mimic the method-calls of Java.  Java was already extremely popular and Google determined that free-riding on Java popularity would facilitate its catch-up game in the  third-party app marketplace.  As an example, Google used the Java method header “java.lang.Math.max(a,b)”.  When called, the “max” function returns the greater of the two inputs.  In Android’s API, Google copied a set of 37 different Java “packages” that each contain many classes and method calls (such as “max()”).  Overall, Google copied the header structure for more than six-thousand methods.  Although Java is offered for both open source and commercial licenses, Google refused to comply with either regime.

Java’s originator Sun Microsystems was known for broadly sharing its creations without enforcing its IP rights.  That aura changed when Sun was purchased by Oracle.

Back in 2012, the N.D. Cal. district court ruled that the portions of Java structure that Google copied were not themselves entitled to copyright protection.  On appeal, however, the Federal Circuit reversed and ordered a new trial. In particular, the Federal Circuit panel led by Judge O’Malley held that the Java API taxonomy copyrightable as a whole and rejected the applicability of idea/expression merger doctrine. “Merger cannot bar copyright protection for any lines of declaring source code unless Sun/Oracle had only one way, or a limited number of ways, to write them.”

On remand, the jury sided with Google – finding that the accused use was a “fair use” and therefore not infringement.  On appeal, Oracle asks the court to overturn that verdict – both based upon the evidence presented and the additional evidence excluded.

Oracle has filed its opening brief that is supported by eleven additional amicus briefs. [Oracle Brief: 02-10-17_oracle-opening-brief-second-appeal].  Google’s will be due next month as well as amicus supporting the broader conception of fair use.

Although the briefs provide good arguments for the limited nature of fair use and the ‘creativity’ associated with API development, none of them squarely addressed how partial failings under 17 USC 102(b) should impact the fair use determination under Section 107.

102 (b) In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.

Although the API was found not to violate the limitations of 102(b), I would suggest that this close-call should have a relevant impact on the scope of fair use.  I would also suggest that platform-interoperability and being able to take advantage of a skilled work-force (i.e., Java Programmers) should be included within the fair use debate even if they don’t fully reach the 102(b) threshold.  Prof. Randy Picker works in this area and tries to tease-out what counts as legitimate restrictions on access and those that are illegitimate.

The Fair Use provision is written as follows:

107 [T]he fair use of a copyrighted work, including such use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright. In determining whether the use made of a work in any particular case is a fair use the factors to be considered shall include —

(1) the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes;

(2) the nature of the copyrighted work;

(3) the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and

(4) the effect of the use upon the potential market for or value of the copyrighted work.

The fact that a work is unpublished shall not itself bar a finding of fair use if such finding is made upon consideration of all the above

In walking through these factors, Oracle argues:

  1. Google’s purpose was purely commercial; not transformative; and not in good faith.
  2. API’s packages should be given strong protections because they are “undisputedly creative.”
  3. The API’s represent the “heart” of Java.
  4. The copying led to significant harms both to current and potential markets.

McNealy and Sutphin are former Sun Microsystems executives who helped develop and promote Java. In their amicus brief, the pair provide a nice overview of how Java works and its purpose.  The key portion of the brief here is the allegation that Google’s copying allowed it to “steal the legions of developers already using the Java platform.” The question for me is whether that is a harm protectable through copyright. [2017-02-17_mcnealy-sutphin_amicus-brief]  Software engineers Spafford, Ding, Porter, and Castleman add that the Java API should be given strong copyright protection because “design and expression of an API reflects the creative choices and decision-making of its author.” [2017-02-17_spafford-ding-porter-castleman_amicus-brief]

A group of 13 law professors have filed their brief in support of the copyright holder Oracle – arguing, inter alia, that (1) fair use is narrow by design; and (2) there is no special fair use test for copyrighted software.  Again here, the scholars do not address the 102(b) bar or the functional nature of the API – other than by noting that Google’s copying “achieve[d] the same functions as Oracle” and therefore was not transformative.   [2017-02-17_ip-scholars_amicus-brief]   Falling in-line, the RIAA suggests that the purpose-focused-transformation-test has no basis in the statute and should not be relied upon for fair use analysis.  [2017-02-17_riaa-amer-assn-of-publishers_amicus-brief]  Likewise, New York’s IP Law Association [2017-02-17_nyipla_amicus-brief] argues that a mere “change in context” cannot be seen as transformative for first amendment analysis.

The old Perfect-10 case almost seems to treat Google as if it is a library providing a major public service.  A number of briefs attempt to counter this pro-Google bias.  CCA (smaller mobile carries), for instance, argues that “Google’s current marketplace dominance with respect to mobile software platforms, online advertising, and online traffic is the result of many strategic decisions, including its decision to flout Oracle’s copyrights in Java – harming competition and CCA members.”  The ask her is simply: Treat Google as you would any other commercial market participant. [2017-02-17_competitive-carriers-assn_amicus-brief]

In perhaps the most moderate brief of this first round, the BSA argues that the equitable origins of the Fair Use analysis suggest favoring broad admissibility of evidence – unlike what happened in this case. [2017-02-17_bsa-the-software-alliance_amicus-brief].  Fair use should be limited to its origins as a “narrow and equitable tool for promoting public benefits like criticism, comment, news reporting, teaching, scholarship, or research.” [2017-02-17_paca-digital-licensing-assn_photographers_amicus-brief]. Former Register of Copyrights Ralph Oman agrees with this approach. “Google’s copying of the Java APIs is inconsistent with the historic goals of the Fair Use Doctrine.” [2017-02-17_ralph-oman_amicus-brief].

The MPAA, Screen Actors Guild and other combined efforts in a short brief arguing simply that the market for a copyrighted work should not be limited to the existing market for the work, but should also include “traditional, reasonable, or likely to be developed markets.” Quoting Am. Geophysical Union v. Texaco Inc., 60 F.3d 913, 930 (2d Cir. 1994). [2017-02-17_mpaa-ifta-sag-aftra_amicus-brief]. Here, the district court refused to consider (or allow the jury to consider) potential markets for JAVA including television, automobile, and wearabledevice markets. The Copyright Alliance agrees that the district court’s approach to looking at impact on current market (rather than potential market) in the fair use analysis is “particularly problematic for small businesses and individual creators . . . who may not have the resources to enter all potential or derivative marketes at once.”  [2017-02-17_the-copyright-alliance_amicus-brief]


63 thoughts on “Google v. Oracle: Fair Use of a Copyrighted API

  1. 11

    Recording a relevant link here, while comments are open.

    The Oracle v. Google 2016 district court trial before Judge Alsup was live-tweeted by journalist and lawyer Sarah Jeong, amongst others. She has made a collection of tweets during the trial available on at the following URL:

    link to

    Sarah Jeong’s blog is available here:

    link to

    (From her blog, it seems that she has worked for the Electronic Frontier Foundation.)

    1. 10.1

      My understanding is that the patent judges are on a point system like the examiners and there is no point advantage in writing a dissent as opposed to signing onto the majority opinion.

      Maybe it was that you had to have permission from the chief judge to write a dissent and get points.

      I don’t remember which it was.

  2. 9

    OT, but heads up on a ridiculous precedential CAFC decision published today, with a Plager dissent. The majority (Lourie and Taranto) pretty much put the CBM statute into a wood chipper and, as a result, vacated the Board’s obviousness finding.

    For extra laughs, here’s one of the claims:

    17. An authentication system comprising:

    an authentication processor

    configured to insert an authenticity key into formatted data to enable authentication of the authenticity key to verify a source of the formatted data and to retrieve an authenticity stamp from a preferences file.

    It’s a system. Comprising a processor. The processor is configured to insert information into data, and then use the inserted information. S00per techn0000000!

  3. 7

    Many thanks to PatentlyO for making the petition and briefs available!

    Something I came across, following up. Here is a quote from the brief by amici Scott McNealy and Brian Sutphin, on page 32.

    Question: who created Java’s “unique and creative method for each of the functions in the Java API”? From the way that McNealy and Sutphin wax lyrical about setTimeZone, you might be forgiven for assuming that these were all crafted by Sun engineers:—

    “Taking the Time Zone example, the Java API allowed a Java programmer to access the “DateFormat” class of the java.text package and declare the “setTimeZone” method.

    By just looking at their names, a developer will intuitively know that the DateFormat class can be used to format a date, and then use the setTimeZone method to set the actual time zone for that developer’s application. In Android, Google’s copying permitted developers to use the exact same language to accomplish the exact same object in the exact same platform as Java creatively created.”

    I was wondering how Sun had reacted to IBM’s involvement in Java. My web search led me in particular to the following page:

    link to

    “For JDK 1.1, Taligent provided the new java.text package, plus a number of new classes in java.util. This included Format and all its subclasses for formatting dates, times, numbers and messages; Collator, for language-sensitive string sorting; and BreakIterator , for determining line, word, and sentence boundaries in Unicode text. In java.util, Taligent contributed parts of ResourceBundle, as well as the Calendar and TimeZone classes (which provide flexible, international-friendly date and time support). In addition, IBM contributed a large collection of locale data from their National Language Technical Center in Toronto. This API and data provide a standard way to handle the requirements of different countries and languages, making this transparent to developers.

    While reimplementing the international classes in Java, the developers took advantage of the opportunity to redesign the frameworks for easier use. The design of the Java language itself allowed for a simpler application program interface (API) and implementation. (The effort was led by Mark Davis, Taligent’s international architect, with participants from both Taligent and JavaSoft.) The initial phase of this work was completed in early 1997 and released in JDK 1.1. Taligent continued to maintain the code, contributing several bug fixes to releases up through JDK 1.1.4.”

    Taligent became part of IBM, according to the web page quoted.

    Perhaps IBM would have a jaundiced view of re-implementation of APIs (remembering BIOS, as mentioned by another poster). But I wonder, do or would they consider that Oracle is appropriating for itself moral credit at least for contributions made by others outside Sun? Or maybe Oracle/Sun did not “creatively create” all the wonders of the API, for which credit can be given where credit is due to a software developer called “Java”, as suggested by the wording of the brief by McNealy and Sulphin?

    1. 7.1

      Perhaps IBM would like to pile on, or at least, share in the damages. After all, it was IBM that brought Lotus v. Borland alleging that the user interface of Lotus 1-2-3 was copyrightable.

      That position has now been sustained by the Federal Circuit.

      1. 7.1.1

        But if IBM did pile on, presumably there would be some interesting discussions around the Apache Project. First I see, from Wikipedia, that the “IBM HTTP Server” is “based on the Apache Software Foundation’s HTTP Server”. Also IBM seems to be closely involved in the Apache Hadoop Project, and certainly promotes this project on their website. And of course Google is in court for making use of the “Project Harmony” implementation of Java APIs that was developed within the Apache Foundation under an Apache open source license in the belief that such implementation of APIs was permissible under copyright law.


          It’s almost like the logic of using names to refer to stuff was ancient, pre-dating computers even!

          But of course nobody used codes before computers, or different languages. Too complicated! The human brain needed to reach 1950’s size first.


            Yes M&M’s and who can believe that tractors are eligible for patentability? People were digging with stones and wood 100,000 years ago and they come along want to try to patent a tractor. An outrage!

            You are such an unethical, paid blogger MM. The likes of you are why this country is in so much trouble.


          I was amused to note further implications were IBM to “pile on” with Oracle to sue Google, Google made use of the implementations of Java APIs available from Apache Project Harmony. According to the Wikipedia page, IBM was “by far the largest participant in the project”, moreover the Project Management Chair up to March 2011 was from IBM.

      2. 7.1.2

        Yes, Lotus v. Borland came to mind in reading this API dispute. I can see SCOTUS doing it again – holding it’s functional – so you should have gotten a patent. Of course, the irony being there is no patent available under the holding of Alice. Oh what a world.


          How horrifically difficult it must be to write instructions for computers and not be able to get a patent on the result!

          Oh, the world weeps.



            You do realize that different aspects of software are protected under different regimes of IP law, right?

            For example,

            Expression: copyright
            Utility: patent

            This is not difficult stuff.


              In fact, more than 99.9% of “new” software is ineligible for patent protection, or its obvious.

              But keep peddling your silliness anyway! Nobody is paying attention as far as you know. You’re a very serious person.


                Please provide evidence of your assertion of 99.9%.

                Or is this just obfuscation from you, dressing up your feelings to take on the gloss of something a little more substantial?

  4. 6

    Gut feel prediction: reversed and remanded. The idea that relevant evidence could be excluded that may have swayed the jury in favor of Oracle is preposterous.

    I also agree with Oracle that what Google did here is not fair use simply because it was entirely commercial. It enabled Google to build a platform that was and is directly competitive with Java.

    Back in the day, RCA had to be formed because some had patents on transmitters and others had patents on receivers. It would have been odd for somebody to say I have a right to build receivers that work with your transmitters on the basis of fair use.

    1. 6.1

      Although the API was found not to violate the limitations of 102(b), I would suggest that this close-call should have a relevant impact on the scope of fair use. I would also suggest that platform-interoperability and being able to take advantage of a skilled work-force (i.e., Java Programmers) should be included within the fair use debate even if they don’t fully reach the 102(b) threshold.

      Close call?

      What is the “fair users” propose is so breathtakingly wide that it would effectively negate any copyright protection whatsoever for the interface. Such a fair use effectively is a reversal of the holding of the Federal Circuit. Just give me one example of infringement if one is allowed to copy interface in order to provide an alternative product.


          iwasthere, I should clarify: What is left of copyright protection for interfaces if using the interfaces in competitive, replacement products is not infringement?

  5. 5

    I’m still working my way through the amicus briefs, but I’m struck by the utter failure to actually look at the record in the controlling Supreme Court case: Feist. The opinion for the Court hints at it, but the opinions below and actual record make clear that at least as to copyright, an easily-described “method” is not by itself original, no matter how applied to an underlying nonexpressive set of facts. An alphabetical-by-surname list of telephone numbers does not become original by adding more data to the list and then realphabetizing using the same algorithm (even if it is one applied by hand)! The key point in Feist is that both the method itself and the expression of (and, by implication, generated by) the method have to be original to merit copyright protection… not just under the statute, but as a constitutional matter. See Feist, 499 U.S. 340, 346.

    In this instance, the API call structure/usage is much closer to old 3×5/4×6 index card alphabetizing sets that included a separate card for “Mc” (or “O'”) than I think is being considered here. Java is not an original language/function; it is, itself, derivative. We’re not talking about a specification with the “originality” of embedding direct-addressing pointers in the language specification of a high-level language (pre-K&R C); we’re instead talking about something that is about efficiency and actually relies upon the user to supply the originality. Ah, the days when one had to actually know and use assembler or even machine language to make useful programs…

    My point is not any particular answer, it’s that I think there’s something fundamental that thus far in my review of the matter is being evaded by the parties and amici. I’m not sure what the answer really is, but I don’t even see the question being clearly asked. And that is before we get to the implicatons raised by the precatory portion of the IP Clause…

    1. 5.1

      I find it interesting that the Supreme Court long ago, back in the late 1800s, had determined, as a constitutional matter, that works of authorship had to be original in the sense that the author must create something new. The Supreme Court has consistently required the same of the patent laws, most recently reaffirming the requirement of creation in cases like Myriad, emphasizing that of the patent laws do not protect the mere discovery of existing compositions or laws of nature.


          Both Ned and the SC read “discovery” out of the statute:

          ‘(a) The term “invention” means invention or discovery.’

          Not sure why. Let’s say one DISCOVERS a new use for an old chemical. Say, a chemical that existed in a plant. Can that no longer be patented?

          Check out the multi-billion dollar statins. Some of them are chemicals that already existed. For instance, Lovastatin is a ” Naturally occurring, fermentation-derived compound.” See: link to


            By the way, neither of these sections of law enacted by Congress in 1952 are new items on the discussion table here…


            Patent Bob, seems to be the distinction between the manner of making an invention and discovery of something that previously existed. One can make an invention by discovering it in the sense of accidentally falling upon it, or by flash of genius, or by repeated trial and error. All that is required is that the result of the process of inventing create something new that did not exist before.

            Discovery of something that in fact is already in use is not invention even its principle is unknown. However, discovery of a use of a pre-existing chemical where use was unknown but the chemical known is patentable as a process.

            What are not patent as discoveries, are chemicals that the inventor finds rather than creates or laws or phenomena of nature.


              Manner of making…?

              As in 35 USC 103 (one particular sentence added by Congress in 1952…?

              Congrats Ned – a trifecta for you right here.


            Back, in the day, we were going to find the cure for cancer in some molecule found in an amazon rain forest orchid. A discovery. And you could patent a discovery. But now, apparently, since it’s naturally occurring – it’s patent barred.


              now, apparently, since it’s naturally occurring – it’s patent barred.

              You are free to patent the method of treatment. Also, you are free to modify the molecule that’s found in nature and improve up on it and get a patent on that.

              Or you can sit and whine and cry like a big baby because you can’t patent everything. Boo hoo hoo hoo! We’re all impressed.


                Says the site’s biggest whining crybaby…

                There is that Accuse Others meme in play yet again…


                Lol – thought I would modify the Malcolm statement and apply it directly to another statutory category:

                Also, you are free to modify the machine or manufacture that’s previously been made and improve up on it and get a patent on that.

                Funny how that describes what software really is, and yet Malcolm is on record as stating that software PER SE is not patent eligible…

  6. 4

    First, the issue is not whether aspects of the APIs are copyrightable. That is a settled issue. Second: “Former Register of Copyrights Ralph Oman agrees … ‘Google’s copying of the Java APIs is inconsistent with the historic goals of the Fair Use Doctrine.'”

    This, by my understanding of copyright law history, is the crux. What was Google’s purpose? Hint: it’s a for-profit company. Second hint: Google made a buku bucks by copying the APIs. The commercial aspect, the scale of the copying, and the absence of the types of contributions Fair Use is intended to foster, all make it hard to see how Fair Use is applicable.

    Can anyone answer this: why did Google not argue that the API copying was non-commercial. After all, Android is open-source and – I believe – not something sold for profit. Doesn’t Google make their money on use of Google network services such as advertising? In any case, Google must have hired some good copyright representation over the years, because they have won so many cases where precedent has strongly suggested they should lose.

  7. 3

    It’s worth noting that the heart of Java and the overwhelming majority of work that went into writing it is in the JVM, a magnificent piece of engineering that Google did not copy at all.

    In fact, the first dozen versions of Android obviously suffered in user experience because they lacked Oracle’s VM accelerating technology that makes Java run acceptably fast. Eventually Google invested many, many man years of effort to create an alternative from scratch but it took a long time.

    The APIs are barely original at all and draw heavily on existing practice. The jury would have heard about that as it impacts fair use arguments.

    But the JVM, which has almost nothing to do with the API, is the heart of Java.


    On another point, Oracle’s desire to claim the investment of programmers into knowledge of Java is just abusive. It’s another attempt by Oracle to claim someone else’s work as their own and profit from it.

    1. 3.1

      another point, Oracle’s desire to claim the investment of programmers into knowledge of Java is just abusive.

      Can you flesh that out?

      What is it that you consider abusive?

      Take for argument’s sake that Oracle is only referring to the work of employees that they can rightfully claim credit to (under any one of a couple of rules). Still abusive?

      1. 3.1.1

        He’s not taking about Oracle employees. He’s talking about thousands and thousands of programmers around the world with no connection to Sun/Oracle who invested their time and effort into learning the Java language based on Sun’s promises that it was freely available for use on any available platform.

        Sun explicitly condoned competing JVMs (which as Owen notes is 99% of the work invested in Java, along with implementing the APIs) which use the Java APIs. Google’s version is not the first Java clone by a longshot. The APIs are an incredibly tiny portion of Java’s code – we’re talking less than 1% of 1% here.

        Sun originally envisioned Java being used in set-top cable boxes and numerous other embedded applications. To hear Oracle complain about embedded markets now is laughable.

  8. 2

    bbbbuutttt bbtttuutt buttt but expression and functionality

    Buuttt buttt buttt butttt Equity has no place in the law that is the statutory law of Copyright!

    To my mind, Google is trying to stretch Fair Use beyond any reasonable understanding. What this seems like it should turn on is the open or closed nature of the API, which is essentially a laches argument.

    Did Sun turn a blind eye prior to Voldemort’s purchase of the company?

    Were these API methods intended to be open-source and/or treated as defacto open source projects prior to the commercial success of Android?

    Do we need a either a new form of IP protection for software, or a major modification to patent and copyright doctrine because the expression and functionality cannot (often) be reasonably separated?

    You know how I would do it. If a human being is consuming the content, the appropriate form is copyright. If a non-human actor is consuming the content, the appropriate form is patent.

    Machines consume API calls.

    1. 2.1

      You want to mash together two different IP systems and think that you are going to come close in the mix…?

      Oh, where to even begin….

    2. 2.2

      “To my mind, Google is trying to stretch Fair Use beyond any reasonable understanding. What this seems like it should turn on is the open or closed nature of the API, which is essentially a laches argument.

      Did Sun turn a blind eye prior to Voldemort’s purchase of the company?”

      The problem here is that the entire case turns on a novel theory from the CAFC that APIs are subject to copyright. No one—not Sun nor Google nor Oracle—expected that such a hail mary long shot argument would be taken seriously. The entire industry had depended on the nature of APIs and the right to use them for decades. The Basic Input Output System of your PC is presumptively illegal under the CAFC’s new idea about copyright on APIs.

      So it’s questionable whether Sun was neglecting its copyright for a decade casually allowing others to use it without pursuing remedy when no one suspected it was a right at all. How should *laches* apply to that?

      The CAFC will probably not decide to clean up the mess it made, of course.

      Probably they’ll just defer to the jury. Once a jury has decided on the issue as you’ve defined it, it’s always easiest to let them have the last word.

      1. 2.2.1

        There is no rule that all APIs are copyrightable. There is a holding in this matter that Oracle’s APIs are copyrightable. Is it fair to characterize this case as holding that APIs are not per se excluded from copyright? “API” is broad concept and its easy to imagine APIs that have no business being copyrightable.



            Your merger doctrine answer does not fit the comment that you are replying to, as that would cover all APIs (and the comment you are responding to indicates that some APIs escape that fate).



              I think there is a merger argument here. Merger of idea and expression, in other words a common sense exhaustion of expression test therein merges with the idea. So, yes some API’s would be copyright expression and some APIs would not. Now, when you are wholesale copying the API from the entire java set including a bunch of libraries that you pick and chose, then yes, you made an unauthorized copy. And no, it’s not fair use, I agree with Ralph 100% on that. Probably why the .setTimeZone was used as the example. Isn’t this why you IP lawyers get paid the big bucks.


                It is an interesting issue. My take is (1) the API naming convention took copyright-level creative to develop. Merger likely came after-the-fact where the language of the large group of people known as Java Programmers coalesced around the langauge of the API. All of them now speak the same language and know what “math.add” means with a high level of precision. At that point, we have what looks like merger – and the question for the courts is whether the timing matters.

                1. Indeed it is an interesting issue. And the after the fact creating a lexicography as well. That’s why I mentioned the morse code patents. Is the morse code ‘language’ copyright or patent protected? Fairly, sure Morse used the patent system. To be sure, there were many patents in the key device – the speed key comes to mind – but the code itself? math.add must fall into the merge doctrine. But then again, perhaps someone more informed than myself on the ‘dot’ language of method calls can disabuse me as to whether java was the first instance. I think a judge would recoil at the thought of 100+ protection for java.math.add.

                2. iswathere, the code itself was not patented. However, any code using the same or similar system was an infringement.

    3. 2.3

      I think you raise a fair point. And there have been calls for sui generis protection for software. Maybe 25 years? Seriously it’s sort of ridiculous to think that Windows 95 will be public in 2195.

      1. 2.3.1

        Seriously it’s sort of ridiculous to think that Windows 95 will be public in 2195.

        “Sort of ridiculous” is putting it mildly.

  9. 1

    Is there closer authority than the evenly split decision in Lotus Development Corporation v. Borland International, Inc., 516 U.S. 233 (1996)?

    1. 1.1

      Morse code? Because the lexicography of the java API being so descriptive, one might argue that this is like copyrighting a language. Sorry just thinking out loud.

Comments are closed.