Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ee4j-pmc] module names

The Java trademark license we're working on will allow the future
evolution of Java EE specifications using the javax package namespace,
with some limitations.  It may also need to define the use of the new
module namespace.

The "Java EE" specifications that were included in Java SE 9 had
java.* module names defined for them.  The implementations of some
other Java EE specifications have started using java.* module names,
even though such names are not yet defined by any specification.

It seems likely that future versions of these specifications that are
defined through the Jakarta EE specification process will define the
module names to be used by these specifications.  I don't expect these
updated specifications to be approved until some time after the Java
trademark license is complete.  Unfortunately, that means we may need
to agree on module names to be included in the Java trademark license
without the help of a formal specification process, depending on which
approach we take.

There's several approaches I can see for defining module names for
Jakarta EE specifications:

1. Use jakarta.* for all Jakarta EE module names.  This is consistent
   with the use of Maven groupIds.  To avoid breaking compatibility for
   any applications using the existing module names defined by Java SE
   we would need to create aggregator modules to allow these modules to
   be available with both the java.* and jakarta.* module names, e.g.,
   "module java.transaction { requires transitive jakarta.transaction; }"

2. Use jakarta.* for all Jakarta EE module names except for those
   modules already defined by Java SE.  This preserves compatibility
   with the Java SE modules without the need for aggregator modules,
   but results in an inconsistent module namespace.

3. Use java.* for all Jakarta EE module names for existing Java EE
   specifications (those licensed to use the javax.* package namespace).
   This will result in some future specifications using different module
   names (as well as package names).  This would require us to decide
   on the java.* module names to include in the Java trademark license.

Which would the PMC and Project Leads prefer?


Back to the top