WebWork 2: A Java web application development framework

A proposal to merge the WebWork 2 community and codebase into the Apache Struts project. The new codebase is slated to become Struts Action 2.


The members of the Apache Struts project and the members of the OpenSymphony WebWork 2 project would like to work together on a next-generation web application framework utilizing an action/request architecture. WebWork was initially created by Rickard Oberg to improve on the ideas and functionality of the Jakarta Struts framework. (Now known as the Apache Struts Action framework.) Since then, the WebWork community has continued to extend and refine the framework's capabilities through a long series of releases, the latest of which, 2.2, brings advanced Ajax, templating, and Java 5 capabilities to its solid WebWork 2 foundation. While, to date, the WebWork and Struts Action codebases have overlapped, recent movements to bring consolidation to the web framework landscape have inspired both communities to work together. Apache Struts has recently reorganized our codebase into multiple subprojects, two of which, Shale and Action, represent two separate but equal web frameworks. Struts Shale serves the nascent JSF community, while Struts Action serves the established JSP community. The WebWork 2 code would be brought into the Action subproject as the 2.x branch. The WebWork 2 developers are excited by the prospect of joining the ASF and collaborating to solve our common need for a solid, action-based MVC2 web framework.



The WebWork 2 community is a healthy meritocracy with multiple developers who do not share a common employer. The creator of the project has already "passed the torch" to another generation of developers, who earn commit privileges through their individual contributions.


The WebWork 2 community has a strong following with active mailing lists and forums.

WebWork Developers:

The WebWork developers includes individuals who have been with the project for a very long time and individuals who have only recently earned commit privileges. Contributions come steadily from all segments of the community, developer and user alike. Despite being used by many well-known corporations, WebWork 2 has not received any direct corporate contributions.


WebWork and Struts Action are both action-oriented web frameworks, and the basic underlying models of the two are similar in many respects. Thus both projects strive to serve largely the same community of Java web application developers.


WebWork 2 is under the OpenSymphony 1.1 license, a modified Apache Software License 1.0.


Orphaned products:

WebWork 2 will form the base of Struts Action 2.0 and is under heavy active development.

Inexperience with open source:

The WebWork 2 project has been operating as a successful open source project for over four years.

Homogenous developers:

The current list of committers includes developers from several different companies who are geographically dispersed. The developers are experienced with working in a distributed environment, and with resolving differences outside the scope of a common employer.

Reliance on salaried developers:

WebWork does not rely on contributions from salaried developers, nor have commit privileges been extended based on an individual's employer.

No ties to other ASF products:

The heritage of WebWork yields many close ties with the Apache Struts community. Many users have used one framework, then the other, and have different projects in the field that use either. The WebWork 2 codebase also uses several Jakarta Commons libraries.

A fascination with the ASF brand:

After several years of independence, the WebWork developers are ready to work within a larger community and expose the WebWork technology to a wider audience. The WebWork community is not seeking the ASF brand but seeks to collaborate with like minds in the Apache Struts projects. Both sets of developers are trying to solve the same problems in the same way, and we feel that we can create a stronger community and codebase together, than we can working independantly.


The initial source comes from the WebWork 2 project, which uses CVS hosted at


  • None. (Struts Action SVN module and build systems already exist.)


  • Jason Carreira (jcarreira at
  • Don Brown (mrdon at
  • Rene Gielen
  • Rainer Hermanns
  • Ted Husted (husted at
  • Toby Jee
  • Patrick Lightbody (plightbo at
  • Alexandru Popescu (apopescu at
  • Ian Roughley
  • James Mitchell (jmitchell at
  • Martin Cooper (martinc at


The Struts PMC has voted to accept this project upon successful incubation.


  • Don Brown (mrdon at


  • Don Brown (mrdon at
  • Martin Cooper (martinc at
  • Ted Husted (husted at
  • No labels