Project Jigsaw goals and requirements

David M. Lloyd david.lloyd at redhat.com
Wed May 25 21:01:56 PDT 2011


I've posted the first wad of my comments on my blog here:

http://in.relation.to/Bloggers/ModulesInJDK8AndProjectJigsawRequirementsReviewPart1

Feel free to reply there or here, if you want.  I'll follow up with more 
as I have time.

On 05/25/2011 10:55 AM, mark.reinhold at oracle.com wrote:
> The original goal of this Project was to design and implement a simple,
> low-level module system focused narrowly upon the task of modularizing
> the JDK, and to apply that system to the JDK itself [1].
>
> We expected the module system to be useful to developers for their own
> code, and to support it for that purpose, but we did not intend at the
> outset to propose it for inclusion in the official Java SE Platform
> specification.  It would have been available in the JDK, that is, but
> other Java SE implementations would not have been required to include it.
>
> We've made a fair amount of progress toward that original goal, having
> produced the initial working prototype demonstrated at JavaOne in 2009.
> Work since then has been somewhat sporadic, unfortunately, due to various
> post-acquisition integration activities and then the intense focus needed
> to finish and ship JDK 7 according to "Plan B" [2], which deferred Jigsaw
> to JDK 8.
>
> Now that work on JDK 7 is winding down, we're starting to move Jigsaw
> forward again.  As we do so, it's time to re-evaluate our goal.
>
> The need for a truly standard module system for the Java Platform has
> long been recognized.  If anything that demand has grown in the years
> since Project Jigsaw was launched.  This was clearly evident at the JCP
> Executive Committee meeting last October in Bonn, where the long-term
> convergence of the Java ME and Java SE platforms -- and a module system
> that could support that goal -- was a major topic of discussion [3].
>
> One outcome of those discussions was an informal "modularity summit"
> organized by IBM and hosted by Oracle this past January in Ottawa.  That
> meeting included key members of the OSGi, Eclipse, Java SE, and Java EE
> communities.  Its primary goal was to reach a clear understanding of the
> requirements of a standard Java module system, and to do so without
> reference to any particular existing module system.
>
> To that end I drafted an abstract module-system requirements document,
> presented it at the meeting, and then revised it in response to comments
> and suggestions made at that time and in subsequent discussions.  This
> was by no means an easy process, but I think it's fair to say that the
> end result represents the consensus view of all those involved even
> though a handful of requirements remain open.
>
> I've posted the latest draft of the requirements document for wider
> review [4].  Comments are most welcome.
>
> This is still a draft -- I expect it to evolve in response to further
> comments, and also to expand to include a few more requirements from the
> Java ME and Java EE communities.  This document will ultimately be one of
> the starting points for the eventual "Java Platform Module System" JSR
> that's mentioned in the Java SE 8 Umbrella JSR [5].
>
> The requirements document will, in parallel, guide a renewed effort on
> Project Jigsaw.  We've already prototyped some of the new requirements
> (e.g., modular JAR files [6]), and work is well underway on some of the
> others.  The overall Jigsaw design will, once it takes shape, be another
> of the starting points for the Module System JSR.
>
> - Mark
>
>
> [1] http://mreinhold.org/blog/jigsaw
> [2] http://mreinhold.org/blog/plan-b-details
> [3] http://jcp.org/aboutJava/communityprocess/summaries/2010/October2010-public-minutes.html
> [4] http://openjdk.java.net/projects/jigsaw/doc/draft-java-module-system-requirements-12
> [5] http://www.jcp.org/en/jsr/detail?id=337
> [6] http://openjdk.java.net/projects/jigsaw/doc/draft-java-module-system-requirements-12#modular-jar-files


-- 
- DML



More information about the jigsaw-dev mailing list