Oracle v Google court case started this week: in my own words, here’s a summary of the proceedings so far

If you haven’t been following, Oracle’s lawsuit against Google and their allegations that they ‘stole’ Java to develop Android is in court this week. Groklaw as usual are doing a stellar job to report on the proceedings (Monday, Tuesday, & Wednesday), although nothing earth shattering has happened so far.

Here’s the summary, wording is entirely my own, somewhat loosely based on my understanding of the facts 🙂

Ellison: you stole Java

Page: no we didn't

Ellison: ok, then you didn't license it

Page: we didn't license it because we couldn't come to an
agreement on the terms with Sun, so we developed our own
version based on Apache Harmony

Judge: did Apache Harmony license Java?

Page: no, because they didn't agree to Sun's
licensing terms either, in particular the 'field 
of use' restrictions that limited what types of 
devices a particular version (SE vs ME) of the JVM can run on, that
limits SE for example to only run on desktops and
not on mobile devices

Ellison: but the fact is, to develop your own version
of Java, you should have licensed the TCK to verify
that this was/is a valid version of Java

Page: but it's not Java, its Dalvik. We've
never said it is Java or is called Java

Ellison: ok, then you should have licensed Java to build
a new version of the language using the Java API spec

Page: is there a license for the API spec? The Java
language API is freely available without a license, is it not?

Silence.

Ok. In a nutshell this is my understanding of where the discussions are so far. There seems to be a disagreement whether a license is required or even available to take the API spec for Java and develop your own version of the language. Based on the summaries from the Groklaw site, I get the impression Ellison’s team are accusing Page of things that they’re not sure of themselves – is a license available and/or required to use/read the Java language API spec? I’m not sure, but this is what seems to be the current discussion point.

Also if you build something that is functionally similar to Java, but you don’t call it Java and you don’t pretend to even call it Java, is it Java? If you haven’t blatantly copied copyright code, you rewrote the code again yourself in a cleanroom environment, then have you broken the law? Stay tuned as the court case continues in the coming days (weeks… months….)

Troubleshooting your app on Red Hat’s OpenShift

My hosted server seems to not be responding or I’m getting a blank page instead of seeing my app:

  • Try tailing your server log and then hit your app to see if you’re getting errors:
rhc-tail-files -l your_account_id -a your_app_name
  • Give your account password and/or ssh passphrase when prompted

If you’re seeing exceptions from your app, this should give you a clue what’g going wrong.
If you’re seeing a a line in the log like this:

2012/04/03 13:08:59,601 INFO  [org.jboss.as.jpa] (MSC service thread 1-2) JBAS011403: Stopping Persistence Unit Service 'ROOT.war#persistenceUnit'
2012/04/03 13:09:00,152 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015877: Stopped deployment ROOT.war in 20354ms

… then for some reason your app was stopped, and needs to be restarted manually. There are some ongoing issues in the OpenShift environment currently that Red Hat is investigating where apps are left in a stopped state (possibly related t your deployment taking too long and timing out).

Can I browse through my log files on the server?

ssh://long_string_here@your_app_name-your_domain_name.rhcloud.com/~/git/your_app_name.git/

… then the url to ssh to your server is this part:

long_string_here@your_app_name-your_domain_name.rhcloud.com

Ssh like this:

ssh long_string_here@your_app_name-your_domain_name.rhcloud.com

… enter your ssh passphrase when prompted. Your log files are in your_app_name/logs/ – the current log is server.log and there are copies of each log for each previous day. You can use common utils like vi/less/more/cat etc to view your files.

How do I check on the status of my app?

  • rhc-ctl-app -l your_acount_id -a your_app_name -c status

… this will show the status, either RUNNING, STOPPED, or if there is maintenance currently in progress you may see this message:

MESSAGES:
OpenShift is currently being upgraded, some services may be unavailable.

 

How do I manually restart or start my app?

  • rhc-ctl-app -l your_acount_id -a your_app_name -c restart | start