Java logo

  and  

OpenJDK logo

in Corporate Environments

Volker Simonis, SAP / volker.simonis@gmail.com

Disclaimer

  • I am not a lawyer!
  • I do not provide legal advice!

The OpenJDK Project

http://openjdk.java.net/

  • Open Source implementation of Java SE
  • Reference implementation for Java SE 7, 8, 9, ..
  • Licensed under GPLv2 (with Classpath exception)
  • Collaboration space for different implementers:
    • RedHat, SAP, IBM, Google, Intel, Twitter, Azul
  • Playground for Java SE related projects:
    • Coin, InvokeDynamic, Lambda, Nashorn, ...
    • Jigsaw, Graal, Panama, Value Types, ...
  • Does not provide binaries - just source code!

The OpenJDK License

OpenJDK Distributions/Binaries

"Closed" OpenJDK Distribuitions

Distribuitions using the OpenJDK class library

  • Possible because it is licensed under GPLv2 plus Classpath exception.
  • IKVM.NET: Java implementation for Mono/.NET
  • JamVM: a small, interpreter-only Java VM
    • Supported as alternative JDK on many Linux distros (Debian, Ubuntu, Fedora)
  • Eclipse OMR: open source version of IBM's J9

The Oracle JRE/JDK

  • Oracle's Java SE implementation
  • Based on OpenJDK sources
  • Plus Oracle specific/proprietary extensions and addons
    • Different font renderer (T2K vs. FreeType)
    • FlightRecorder & MissionControl
    • Browser plugin (now deprecated)
    • JavaFX
  • Licensed under the Oracle Binary Code License Agreement for Java SE

Oracle Java SE License

Other Java implementations

Proprietary:

  • IBM J9
  • SAP JVM
  • HP JDK
  • Azul Zing
  • Excelsior JET
  • aicas JamaicaVM
  • ...

Free:

  • Apache Harmony
  • GNU gcj
  • Jikes RVM
  • ...


OpenJDK and the Java™

  • You are not allowed to call it Java™ (or Java™ compatible) because:
    • "Java" is a registered trademark
    • You don't get access to the Technology Compatibility Kit (TCK)
  • Accessing the TCK requires the signing of the
    OpenJDK Community TCK License Agreement (OCTLA)
    • Only for OpenJDK or "substantially derived" projects under an "open source" license
    • OCTLA forbids disclosing TCK information to non-OCTLA licensees
  • OCTLA is no trademark license!
  • "OpenJDK" can be used according to the "OpenJDK Trademark Notice"

The Oracle Contribution Agreement (OCA)

  • Copyright and patent sharing agreement with regard to your contribution
    • Simple dual licensing model
  • Both, you and Oracle, can treat your contribution as if they were the sole owners
  • Oracle guarantees to always publish any contribution under a suitable
    Free Software Foundation (FSF) or Open Source Initiative (OSI) approved license.

The Dual Licensing Model

Dual Licensing Model

The Java Enhancement Process (JEP)

OpenJDK Bylaws

  • The "constitution" of the OpenJDK project
  • Define OpenJDK Groups, Projects and Roles
  • Define the Governing Board which manages
    the structure and operation of the OpenJDK community
    • Chair (appointed by Oracle): Georges Saab
    • Vice-Chair (appointed by IBM): John Duimovich
    • OpenJDK Lead (appointed by Oracle): Mark Reinhold
    • At-Large Member (elected by OpenJDK Members): Doug Lea, SUNY Oswego
    • At-Large Member (elected by OpenJDK Members): Andrew Haley, RedHat

OpenJDK Organisation

  • Participants: individuals who subscribed to an OpenJDK mailing list
  • Contributors: Participants who signed the OCA
  • Groups (currently 20)
    • consist of Group Members and a Group Lead
      • Group Members elect new Group Members from Contributors
    • sponsor Projects
  • Projects (currently 54)
    • produce artifacts (code, documentation, whole JDK releases)
    • have code repositories, mailing lists and possibly web content
    • consist of Authors, Committers, Reviewers and a Project Lead
      • Project Leads appoint Authors from Contributors
      • Committers elect new Committers from Authors