In the context of Oracle vs. Google:

This is not a case where Google reverse-engineered Oracle’s Java packages to gain access to unprotected functional elements contained therein.


My question is, had Google, or, were to Google to reverse engineer Oracle's Java packages:

What tools would Google have used?
How long would it have taken, approximately?
What would've been the estimated cost?

  1. (I'm not asking whether or not an API should or can be copyrighted, or the merits of what Google did.)
  2. (To clarify: Google didn't reverse engineer "Java"; at least one comment defines what they did as refactoring.)
  • As far as I know, the source code of Java is freely available. Feb 25, 2015 at 11:43
  • @joxeankoret yes, it is..but there's a licensing agreement. So, I really, really, don't want to troll, that's not the intent. It's a very narrow technical question. I can put the question in context of appeals court decision, but that's wayyy off topic..
    – Thufir
    Feb 25, 2015 at 11:45
  • 3
    Reading publicly available source code doesn't count as reverse engineering. So there was no reason for them to reverse engineer anything. Now, IF they had had only the .class files, they would have had to use a java decompiler, possibly fix decompiler errors, annotate the sources, do some optimizations, whatever. But there's no serious way to guesstimate timeframe and cost - running something like jd-gui over the java classes cost an hour. Cleaning the source code and assigning meaningful comments costs months. Feb 25, 2015 at 11:57
  • @GuntramBlohm the reason to reverse engineer is because OpenJDK is under the GPL; Google uses the ASL, instead.
    – Thufir
    Feb 28, 2015 at 8:28
  • 1
    License issues can be a reason to re-engineer something (build a new software from scratch that behaves like the original, but doesn't share code with the original). This something different from reverse-enigneering, (investigate an implementation to find out how it works). Google re-engineered Java, but they didnt - and didn't have to - reverse-enigneer Java. Feb 28, 2015 at 13:04

1 Answer 1


As I understand it, they didn't reverse engineer anything. They wrote an independent implementation based on reading the documentation of the APIs. Oracle's contention was that simply having the same method names in the APIs was a copyright violation, which is obviously silly.

  • 1
    Agreed, they didn't reverse engineer. The question is hypothetical: "what if?" What I'm asking is, and I think Guntram gave most of the answer, is that they would've/could've done the reverse engineering with jd-gui, and, based on his estimate, it would've meant months of delay.
    – Thufir
    Feb 25, 2015 at 16:03
  • Why would do you anything with jd-gui? At least use a real decompiler like procyon.
    – Antimony
    Feb 26, 2015 at 3:31
  • 1
    sure, I just asking, in general, what tools would be involved and, just to estimate, the cost and time involved to actually reverse engineer on this scale.
    – Thufir
    Feb 27, 2015 at 5:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.