Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^4: Copyright on languages

by BrowserUk (Patriarch)
on May 02, 2012 at 20:38 UTC ( [id://968536]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Copyright on languages
in thread Copyright on languages

Of course, BrowerUK, you are absolutely correct.

I was simply expressing my opinion -- just as you were expressing yours. I see nothing wrong in that. Unless you consider that your opinion is unassailable?

That dripping sarcasm might stand up if your follow-on discussion was logical. Or even if you demonstrated a deep(er) understanding of the issues involved.

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.

But would the law be broken if I wrote a book that had the same chapter titles and ordering as a previously published work?

How about if the book contains similar plot lines and characters; albeit with different names?

Now, if APIs were copyrightable (...), 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.

Where do you draw that line? What constistutes "the Java API"?

Besides which, the case does not revolve around "the API", but rather about "bits of the API". Ie. A certain, defined, specific, named, subset of, the entrypoints within "The API".

Informed opinion has it that specific implementation ("the source code") of a program or other software entity is copyrightable; but the step-wise description ("algorithm"); and the interface specification ("API") are not.

My opinion is founded upon my understanding of these and other references going back over the long term of my particular interest in this subject.

Disagree by all means; counter-argue please; but do save up the distraction of 'dismissal through ridicule' for those occasions where you can back it up with some ammunition worthy of the name.


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?

Replies are listed 'Best First'.
Re^5: Copyright on languages
by ikegami (Patriarch) on May 02, 2012 at 21:55 UTC

    Besides which, the case does not revolve around "the API", but rather about "bits of the API". Ie. A certain, defined, specific, named, subset of, the entrypoints within "The API".

    Yes, it's not about every API in the Java's core libraries, but no, it's not about a subset of entry points either. From what I've read (and I've been reading transcripts from court), it is about the *full* API of the 37 packages shown below. (A Java package is akin to a Perl package/module.) Could you point me to this subset of entry points?

    The 37 packages are listed in Trial Exhibit 1072 (TX1072). I can't find the exhibit except as a part of a slide show that obscures half the list.

    1. java.awt.font
    2. java.beans
    3. java.io
    4. java.lang
    5. java.lang.annotation
    6. java.lang.ref
    7. java.lang.reflect
    8. java.net
    9. java.nio
    10. java.nio.channels
    11. java.nio.channels.spi
    12. java.nio.charset
    13. java.nio.charset.spi
    14. java.security
    15. java.security.acl
    16. java.security.cert
    17. java.security.interafaces
    18. java.security.spec
    19. java.sql
    20. java.text[...obscured...]
    21. java.util
    22. java.util.[...obscured...]
    23. java.util.[...obscured...]
    24. java.util.[...obscured...]
    25. java.util.[...obscured...]
    26. java.util.[...obscured...]
    27. javax.cry[...obscured...]
    28. javax.cry[...obscured...]
    29. javax.cry[...obscured...]
    30. javax.net[...obscured...]
    31. javax.net[...obscured...]
    32. javax.sec[...obscured...]
    33. javax.sec[...obscured...]
    34. javax.sec[...obscured...]
    35. javax.sec[...obscured...]
    36. javax.sec[...obscured...]
    37. javax.sql[...obscured...]

    Update: Added list of packages and the paragraph introducing them.

      Could you point me to this subset of entry points?

      I know no more than you. I've been following along on potted summaries of the case, much less than the transcripts.

      But given the (debatable) nature of what constitutes "the Java API", whether you divide it up according to AWT .v. Swing .v. other; or server-side .v. client-side; or Java v1 .v. v2 (v3,v4,v5); etc., those 37 packages constitute a subset of 166 packages that (currently) make up the 'the full Java API (set)'.

      There are also 3 specific functions that are cited:

      1. The rangeCheck method in TimSort.java and ComparableTimSort.Java
      2. Source code in seven “Impl.java” files and the one “ACL” file
      3. The English-language comments in CodeSourceTest.java and CollectionCertStoreParametersTest.java

      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?

        1. Those are the "9 lines of code" I mentioned earlier.

        Not all of the Java libraries were written by Sun or Oracle. There are a lot of 3rd party contributions. timsort was a 3rd party contribution. One of timsort's developers copied an internal Java function as an interim solution until he could link to that function directly. This function is a simple array bound check function a 1st year CS student could write call rangeCheck.

        That 3rd party contributor was Google. When it came to implementing timsort for the Android, Google took their contribution and accidentally failed to replace rangeCheck. A minor mistake (Copyright violation) of no consequence (outside of this trial).

        2 & 3. Oracle admitted these files probably never made it to a phone. They were in a directory called "test". On their cross of Oracle's witness, Google made it sound like they were part of a developer's sandbox.

        Google: Do you know if these files are part of a handset?

        Dr. Mitchell: I don't recall that, no.

        Google: The other files of the 12. These files all have the word "test" in them?

        Dr. Mitchell: No.....

        Google: para 22. Are the 8 impl files on the left... The Android name has the name "test" in it.

        Dr. Mitchell: The path has "test".

        Google: All 8 have the word "test"?

        Dr. Mitchell: Yes, I think that's true.

        Google: You don't actually know if any of these files were compiled and placed on a handset?

        Dr. Mitchell: (a bit shaky) I don't have a reason to believe they were put on a handset.

        Google: So the only thing you're aware of that you're sure made it onto a phone were these 9 lines of code in rangecheck?

        Dr. Mitchell: [pauses] I believe that's correct.

        (May not be word-for-word accurate.)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://968536]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2024-03-19 05:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found