Tiles 2 is an effort to extract the Tiles library from Struts. It is currently housed in the Sandbox area of the Apache Struts Subversion repository. This document proposes graduating tiles from the sandbox.
Tiles has undergone significant changes since moving to the Struts sandbox. In addition to attracting new committers, it has undergone a significant refactoring and is now based upon a new container architecture. An alpha release of Tiles2 is now being considered. Due to this sustained involvement it seems appropriate to consider Tiles for graduation from the sandbox.
Objectives for Tiles in the Sandbox
The objectives of the Struts2 Sandbox is to contain experimental codebases that might not go anywhere while at the same time allowing for innovation. The following objectives were placed upon tiles when it entered the sandbox
- Demonstrative activity and community
- Evolve to be independent of struts
Tiles has met both of these objectives.
Practical Reasons for Graduation
In addition to meeting the original objectives of the sandbox, graduation is being proposed at this point in time due to the following:
- Graduation will allow an initial release of Tiles2 which in turn can be utilized by the Struts2 tiles plugin.
- Promotion from the sandbox will provide more visibility and a broader user base.
- Promotion from the sandbox will help determine answers to many critical questions which will help determine the final home of Tiles.
Current Graduation Options
Based on this assessment, it is being proposed that Tiles graduate into the Struts family for a temporary period of time. There are two options in doing so:
The following Struts committers are currently actively involved in Tiles development
- Greg Reddin (PMC)
- Antonio Petrelli
- David DeWolf
- Wendy Smoak (PMC)
It seems to be the consensus of the Struts community that Tiles should continue working towards graduation from the Struts project. This seems best for both Struts and Tiles, however, there are significant questions regarding whether or not now is the appropriate time for such a move:
- Should Tiles2 become a TLP or a Jakarta Subproject?
- Is the Tiles2 Community mature enough to stand on it's own?
- How will Tiles2 emerge in relation to other competing technologies (clay, sitemesh, etc. . .)?
- How will Tiles2 be accepted by the broader community, especially those currently using Struts/Tiles1?
Many of these questions will not be answered until Tiles is given the opportunity to become more visible and perform a release.
As such, this proposal allows for the graduation of Tiles into a subproject of Struts while maintaining the expectation that it will eventually move on and graduate into a TLP or more natural home.
The temporary nature of this decision must be clearly explained in Struts website, to avoid the impression that Struts is an umbrella project.