The Apache Project

Who We Are

Community Support

In July 2004, there were almost 2700 subscribers to STRUTS-USER (including the digest version). It's the largest user mailing list at Jakarta, exceeding the TOMCAT-USER list of about 2400 subscribers. In addition to the regular subscribers, an unknown number of developers read the lists through newsfeed mirrors and through several list archives.

According to recently released statistics, Struts downloads range around 15,000 a month.

Project Management Committee Members

  • Craig R. McClanahan, Vice President and Chair (craigmcc at
  • Ted Husted (husted at
  • Rob Leland (rleland at
  • Cedric Dumoulin (cedric.dumoulin at
  • Martin Cooper (martinc at
  • Arron Bates (arron at
  • James Holmes (jholmes at
  • David M. Karr (dmkarr at
  • David Graham (dgraham at
  • James Mitchell (jmitchell at
  • Steve Raeburn (sraeburn at
  • Don Brown (mrdon at
  • Joe Germuska (germuska at
  • Niall Pemberton (niallp at

Emeritus Committers

  • David Geary
  • Luis Arias
  • Pierre Delilse
  • Michael Schachter
  • Vincent Massol
  • David Winterfeldt
  • Oleg Alexeev
  • Eddie Bush
  • James Turner

More About Us

Craig R. McClanahan -- PMC Chair

I've been involved with servlet and JSP technology since around 1998. It started out that I needed a way to build some web applications for several projects, and liked Java a lot better than the alternatives. I also liked the price tag of open source software, and started using Apache JServ -- later, getting involved in the project (like many people, I was whining about the twelve months it took to get from version 0.9 to version 1.0, and my son said "Dad, you know Java -- go help them finish it!" -- so I did :-).

For quite a while, I was participating a lot the JSP-INTEREST and SERVLET-INTEREST mailing lists , especially the topic of good architectures for web applications. I was disgusted with the hash that many beginners created when they used (or abused) scriptlets in JSP pages, and built (for my former employer) a pretty comprehensive framework that could considered ("Struts 0.01 without the custom tags"). It was proprietary code, but I was able to describe the concepts, and there started to a feeling the lists that this "Model 2" thing was pretty cool -- but there were no good examples to look at, so it was mostly hand waving types of discussions.

Over the same time period, I got involved as an individual contributor in the Java Community Process , and joined the expert group that defined the servlet 2.2 and JSP 1.1 specs. Sun was impressed enough to offer me a job as the technical lead the team within Sun (currently five other individuals) that works Tomcat -- the architecture for Catalina, which is the servlet container part of Tomcat 4.0, is also mine -- so I am in the really nice position of getting paid to work open source software :-). And, participate the expert groups for Servlet 2.3 and JSP 1.2. And, speak at various conferences, including ApacheCon and JavaOne. And, talk to groups within Sun about using Struts and JSP/servlet technology. And ... (there's some really interesting things being considered for the future).

The original design of what came to Struts has been in my head for a long time, since those interesting mailing list discussions, but the first version of the actual code was written my laptop a Memorial Day weekend vacation trip (end of May, 2000) to the Oregon coast -- in between watching the surf and having the house shaken by a windstorm at night. Since then, it has gathered attention and popularity as we approach our first official release, and it delights me to see my "baby" grow up so well :-). Of course, it is no longer just me -- there have been incredible numbers of good ideas from all over, and a peek at the TODO list for 1.1 says that even more good stuff is coming in the future.

One motivation factor was Jason Hunter's article about the Problems with JSP. Jason and I get along fine, even though we have different preferences about presentation technologies. Besides being the author of a very popular book about servlets, with a second edition coming soon, Jason is also the representative for the Apache Software Foundation the Executive Committee of the Java Community Process.

Personally, I live in Portland, Oregon (even though my team at Sun is mostly in Cupertino, CA -- staying here was part of the job deal :-). I like to support Oregon sports teams (Oregon State Beavers, Oregon Ducks, Portland Trailblazers) and work cool software.

I figured out I was getting pretty old when I realized that 2000 was the 25th year I had been paid to work in some aspect of software development :-). I've got a son who is a full-time software developer (primarily in PHP so far, but I'm going to corrupt him with Java eventually :-), and a daughter in college. I'll happily let the other committers speak for themselves.

Mike Schachter -- Emeritus Committer

I'm currently a student of computer science at Drexel University in Philadelphia, PA. I've been working at HP Middleware, formerly Bluestone Software for 3 years programming in Java and recently J2EE technologies. I'm a full time worker from September until April and a student and part time worker from April until August. In my spare time I've been known to run monkey-knife fights in a shady south philly warehouse. Err... I mean... nothing.

Ted Husted -- PMC Member

Ted Husted is a developer, author, and mentor. He is a Member of the Apache Software Foundation and Struts Project Management Committee. Ted's books include JUnit in Action, Struts in Action, and Professional JSP Site Design. He has consulted with teams throughout the United States, including CitiGroup, Nationwide Insurance, and PepsiCo. Ted is currently working with the Oklahoma State Department of Environmental Services to improve their permitting system.

Cedric Dumoulin -- PMC Member

As a dreamer / researcher I have thought a lot about a framework like Struts. But, as a lazy developer I have first checked what already exists, and I have found Struts. Struts goals fulfilled nearly all I needed for my (now old) portal project, except the capability to reuse and assemble easily pieces of pages or components. So, I have proposed the Components framework. This framework can seen as a superset of the Templates tag library contributed by David Geary, and contains lot of interesting features.

From a professional point of view, I have a Ph.D. in computer science. I have worked for 3 years in the R&D department of a worldwide company developing Internet banking solutions. I am now a researcher at a university, and work European research projects. My main research interest is WWW, Distributed Systems and Object Oriented Design. When developing code, I always try to first propose reusable pieces of code.

Martin Cooper -- PMC Member

Early in the year 2000, I was asked, by my employer at that time, to investigate the best way to develop a new web-based application for the administration and management of an existing product. After exploring a number of technologies, I settled on Java, along with servlets and JSP, as the way to go. Then I started looking for methodologies and "best practices", since others must surely have been down that path before me.

In addition to rummaging around on the web, I subscribed to the SERVLET-INTEREST and JSP-INTEREST mailing lists, along with several others, and monitored the discussions for a while. It was clear that others were seeking the same answers as I was, and it was also clear that many people were building their applications in truly horrible ways.

At some point -- I don't recall when, exactly -- the concept of "Model 1" versus "Model 2" applications came up, and there was a great deal of discussion around that. Model 2 seemed very much like A Good Thing to me, and I paid it close attention.

Then, in May of 2000, I saw a message from Craig McClanahan about a new framework called Struts that was designed to ease the process of building Model 2 applications, and provide solutions for some of the important issues at the same time. I hopped on over to the web site and took a look around. This was exactly what I had been looking for.

My first postings to the Struts mailing list were, of course, questions to help me understand how to do things and why Struts is the way it is. Over time, I became more involved in both the user and developer communities, started submitting bug reports, patches and change requests, and eventually became a committer. Not long after that, I volunteered to take on the release process, and became the release manager for Struts 1.0.1 and beyond. Little did I know what I was letting myself in for!

A large majority of the people who contribute to Apache projects are volunteers who are not paid for their contributions. Like most of those volunteers, I also have a "day job" to put bread on the table. Currently, I am a UI Architect at Informatica, where I work on the architecture, design and implementation of web applications. Working with, and on, Struts has provided me with an excellent perspective with which to do that!

David Winterfeldt -- Emeritus Committer

As I worked web based projects I started looking for something that would really help save time during development. I ran across Struts in the Summer of 2000 and decided it was a good solution for web development. As I used Struts it really helped to remove a lot of the repetitive work, but validation still seemed very repetitive. I had an idea to create validation rules in an xml file and have them easily integrated with Struts. It started out simple and continued to develop over time. The validation project was eventually incorporated into Struts and the core was moved to Jakarta Commons. I'm happy to see Struts continue to grow and develop.

I currently am employed at I occasionally get to do some internal projects using Struts. The last interesting project was a publishing system using Message Driven EJBs in JBoss and Struts was used to display the status of each publishing process.

Rob Leland -- PMC Member

I have gone from Unix -to- Windows -to- Unix based development about ever 6 years now. When moving to Windows I was amazed at how primitive the OS was compared to Unix. While developing for Win32 I had the pleasure of discovering Delphi and developed many GUI/databases, telephony, Internet enabled applications. I remain impressed with its design. Delphi, always enabled development of a simple elegant solution, much like the language itself. I was convinced after 10 years of development with C/C++ that it was a kinder gentler language.

Then in July 2000 I decided to move into Java, and Web development. This is after using the Internet since 1985 and occasionally teaching classes about it. I was hired as a consultant to take over a JSP based application. I realized it had been written with the equivalent of "goto's"(Model 1) and had to be redesigned. I searched for a better way to design the code and by late August I had found Struts. It is also a simple elegant solution.

To date I have mainly served to pitch in where needed. I continue to amazed at the Struts committers' generous contributions of time, insight, and good will. I feel fortunate to part of the struts team.

David Graham -- PMC Member

I, like many others, discovered Struts when contemplating writing my own MVC Java framework for the web. Struts had everything I needed and more so I scrapped plans for my own and joined the mailing lists. After playing with it for several months I started submitting documentation and a few source patches. I'm excited about helping Struts evolve and am continually amazed by the framework and the community surrounding it.

James Mitchell -- PMC Member

James has been so busy answering users questions and adding test cases that he hasn't taken the time to brag about himself. I thought that I would add a place marker for him until and if he does decide to --blow his own horn-- ! -Rob :-D !

James Turner -- Emeritus Committer

I discovered Struts somewhat by accident. In 2001 I began writing a book for SAMS on JSP web development (MySQL and JSP Web Development), and as part of it, I decided to write a chapter on Struts in the advanced section. In the process of learning enough about Struts to write about it, I realized that it could simplify some of the projects that I was working on for clients.

After a half a year of working with Struts, I was asked by SAMS to write another book, this time concentrating on Struts specifically. That book, co-authored with a former co-worker named Kevin Bedell, became Struts Kick Start.

In the process of writing that book, I began to realize that there were things I could do to contribute to Struts beyond writing about it. One thing in particular was to clean up and add some functionality to the Commons Validator project, which eventually led to me release-managing (with a lot of help!) the Commons Validator 1.0 release.

More generally, I've been a software developer for over 22 years, starting with work as a Research Specialist at the MIT AI Lab. I spent nearly a decade working in LISP, before moving on to C/Unix, a stint managing the Web Site for the Christian Science Monitor, and finally Java based e-Commerce development, which has kept me busy for the last five years.

In addition to the two books mentioned above, I also write for a number of publications, including WIRED and the aforementioned Christian Science Monitor. You can get a look at my portfolio here