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. – joxeankoret Feb 25 '15 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 '15 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. – Guntram Blohm Feb 25 '15 at 11:57
  • @GuntramBlohm the reason to reverse engineer is because OpenJDK is under the GPL; Google uses the ASL, instead. – Thufir Feb 28 '15 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. – Guntram Blohm Feb 28 '15 at 13:04

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 '15 at 16:03
  • Why would do you anything with jd-gui? At least use a real decompiler like procyon. – Antimony Feb 26 '15 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 '15 at 5:31

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