OSS through Java Initiative Downloads



License Agreement Information



Thank you for your interest in the OSS through Java Initiative.

YOU are about to download OSS through Java APIs Specifications, Reference Implementation (RI) or Technology Compatibility Kit (TCK). You are a Developer and/or a User for these deliverables, which are provided to you free of charge. Accept the "CLICK ON license agreements" before downloading any of the OSS through Java deliverables.

Please read carefully the information regarding the licensing terms below before proceeding to the download.

The TCK agreement defines the Compatibility requirements.

The Users download the Specifications, and may also download the RI and TCK to understand the scope of the APIs, to evaluate the usefulness of the APIs in their environment, to decide if they should require their suppliers to deliver OSS through Java compliant products, to provide feedback to ossj_contact alias and requirements to the OSS through Java Initiative or the JCP Program.

In their business domain, Developers and Users can also build context specific Extensions upon the original core Specifications. Such extensions can be made by a single Developer or User, or can be commonly agreed by a group of Developers and Users, or can be standardized by Industry Fora or Standardization Bodies in their relevant areas of activities.

The scope of valid Extensions varies from one API to another. For each API the exact scope of the possible Extensions is defined within the Specifications.

In order to enable OSS through Java implementations to interoperate, once deployed in real life environments, the OSS through Java Harmonized Specification License Agreement does not allow the modifications of the core specifications by Developers or Users. It also does not allow the creation of Extensions that could break the compatibility with the original OSS through Java APIs Specifications, or that are not defined in the individual Specifications documents.

In the Java environment, these restrictions translate into the following terms:

  • What Developers and Users are NOT allowed to do:
    • Modify the original specifications (behaviour description plus Java classes definition under javax.oss.*)
    • Modify the standard Java Classes (under java.* )
  • What Developers and Users are permitted to do:
    • Extend the specification:
      • According to the extension rules which are defined in each specification
      • The new Java classes shall not be under the 'java.*' or 'javax.*' hierarchy
    • Create a new specification that re-uses some or all of the specifications, as long as the new Java classes are not under 'java.*' or 'javax.*' hierarchy

Some examples of possible Extensions 1 as defined in the existing OSS through Java Specifications are available in a Q&A format.

More generic and technical examples 2 of which extensions are allowed and which are not allowed are also provided.

1 link
2 link