Apache Software Foundation: Disputed Code Not from Harmony

Yesterday, we discussed the claims made by Oracle about Google allegedly copying their code, and quickly enough, the web – I included – concluded that it looked like the code in question originally came from Apache’s Harmony Project – although no one could find it in the current code repository. Earlier this morning, I contacted the Apache Software Foundation, and they cleared everything up: the contested class library does not, and did not, come from the Apache Harmony project.

One of the first things many already noted – myself included – was that the offending class library was not in the Harmony source tree, which should mean it didn’t come from Harmony. However, the header and some of the language suggested otherwise, but in fact really didn’t, as Apache’s statement explains.

“Even though the code in question has an Apache license, it is not part of Harmony. PolicyNodeImpl.java is simply not a Harmony class,” the ASF states, “Verifying that something is from the Apache Software Foundation is very easy to do: our sources are all posted online. So it is sad when people don’t take that step.”

Of course, we did take that step, but people still weren’t convinced, mostly because of the language at the beginning of the file. Via email, ASF member Geir Magnusson Jr. explained this in more detail.

“I realize the code is under the org.apache.harmony package and has the Apache License on it, but putting things in org.apache.* namespace when testing Java in the org.apache.* package generally is a technical necessity, and anyone is free to license software under the Apache License,” Geir explains, “In fact, we encourage it :).”

So, that’s that, then. Despite claims made all over the place – including on OSAlert, made by me – the class in question does not, and did not come, from the Apache Harmony project. My apologies for taking part in spreading the confusion.

62 Comments

  1. 2010-10-29 10:35 pm
    • 2010-10-29 10:44 pm
      • 2010-10-29 11:11 pm
      • 2010-11-02 4:41 pm
  2. 2010-10-29 11:06 pm
  3. 2010-10-29 11:20 pm
    • 2010-10-30 1:53 am
      • 2010-10-30 8:56 am
        • 2010-10-30 10:23 am
          • 2010-10-31 3:50 am
          • 2010-10-31 7:49 am
          • 2010-10-31 10:04 am
        • 2010-10-30 6:17 pm
          • 2010-10-31 7:47 am
    • 2010-10-30 3:43 am
      • 2010-10-30 4:14 am
      • 2010-10-31 7:44 am
    • 2010-10-30 9:55 am
  4. 2010-10-30 4:12 am
    • 2010-10-30 4:30 am
      • 2010-10-30 6:21 am
        • 2010-10-30 12:45 pm
        • 2010-10-30 12:46 pm
        • 2010-10-30 3:40 pm
          • 2010-10-30 4:16 pm
          • 2010-10-30 4:31 pm
          • 2010-11-01 5:02 am
          • 2010-10-30 7:16 pm
          • 2010-10-31 12:15 am
          • 2010-10-31 3:06 am
          • 2010-10-31 11:22 pm
          • 2010-10-31 8:44 pm
        • 2010-10-31 8:00 am
          • 2010-10-31 8:31 am
          • 2010-10-31 2:38 pm
          • 2010-10-31 2:45 pm
          • 2010-10-31 5:22 pm
          • 2010-10-31 6:07 pm
          • 2010-10-31 10:03 pm
          • 2010-10-31 10:57 pm
          • 2010-10-31 11:07 pm
          • 2010-10-31 11:41 pm
          • 2010-11-01 5:28 am
          • 2010-10-31 3:39 pm
          • 2010-10-31 4:42 pm
          • 2010-10-31 5:36 pm
          • 2010-10-31 11:26 pm
      • 2010-10-30 9:39 am
        • 2010-11-01 7:00 am
          • 2010-11-01 12:21 pm
          • 2010-11-01 2:08 pm
      • 2010-10-30 11:11 pm
        • 2010-10-31 6:19 am
        • 2010-10-31 7:05 am
        • 2010-10-31 9:33 am
        • 2010-10-31 10:22 am
          • 2010-10-31 11:21 am
          • 2010-10-31 2:35 pm
  5. 2010-10-30 5:44 am
    • 2010-10-30 5:42 pm
  6. 2010-10-30 5:26 pm
  7. 2010-10-31 11:03 pm