Karl the Pagan Karl the Pagan - 6 months ago 18
Android Question

What are the 37 Java API packages possibly encumbered by the May 2014 Oracle v Google decision?

What are the 37 Java API packages possibly encumbered by the May 2014 Oracle v Google decision?

What are the 3 packages that the Appellate Court decided were essential to the language?

How can I avoid using the encumbered APIs in my Java code?

If the community were going to create a competing open classpath what would it look like?

UPDATE: as of May 2016 Google's use of these APIs has been ruled fair-use. http://arstechnica.com/tech-policy/2016/05/google-wins-trial-against-oracle-as-jury-finds-android-is-fair-use/

Answer

This is seriously dancing on the line of what is and is not appropriate for SO, IMHO, but it's an important issue, so I'll tackle it.

What are the 37 Java API packages possibly encumbered by the May 2014 Oracle v Google decision?

According to the appellate court decision, they are:

  • java.awt.font
  • java.beans
  • java.io
  • java.lang
  • java.lang.annotation
  • java.lang.ref
  • java.lang.reflect
  • java.net
  • java.nio
  • java.nio.channels
  • java.nio.channels.spi
  • java.nio.charset
  • java.nio.charset.spi
  • java.security
  • java.security.acl
  • java.security.cert
  • java.security.interfaces
  • java.security.spec
  • java.sql
  • java.text
  • java.util
  • java.util.jar
  • java.util.logging
  • java.util.prefs
  • java.util.regex
  • java.util.zip
  • javax.crypto
  • javax.crypto.interfaces
  • javax.crypto.spec
  • javax.net
  • javax.net.ssl
  • javax.security.auth
  • javax.security.auth.callback
  • javax.security.auth.login
  • javax.security.auth.x500
  • javax.security.cert
  • javax.sql

Note that this is merely the roster that Oracle sued Google over, and does not necessarily represent all of the APIs to which Oracle claims copyright.

What are the 3 packages that the Appellate Court decided were essential to the language?

I am not aware that they made any such statement. You are welcome to read through the decision to find what you are seeking.

The court did not decide anything was essential. Oracle claims that java.lang, java.io, and java.util are essential to basically do anything meaningful with the language.

How can I avoid using the encumbered APIs in my Java code?

Don't write in Java. Anything written in the Java programming language will involve classes from the affected packages.

If the community were going to create a competing open classpath what would it look like?

I am not aware that this would be technically possible.

For further legal analysis, please consult with qualified legal counsel.