Vincent Massol -- Committer
I started designing internet applications in 1998, when I joined
OCTO Technology, an
Information System Architecture Consulting company, providing
expert IT Solutions and Application Architects in the field of new
technologies (Application Servers, EAI, Internet Relationship
Management). Very soon,
when working on customer projects, I introduced the concept of unit
testing (using JUnit) as a good way
of writing reliable code. Although it worked very well for unit
testing "standard" java classes, it was much more difficult for
classes that used container objects. Thus, I began developing a small
generic framework to help unit test servlets. I improved the
framework as I moved on, from customer to customer.
Until it
was time to open source it ! There were several drivers for that
decision. As I spread the word about this framework within Octo,
several octomen (and octowoman !) began using it and making
modifications, and we
ended up with several versions of it, making it difficult to
synchronize them (although it was good for the evolutionary and
darwinian side of it :) ). Another good reason was that I wanted to
have feedback from the open source community and wanted to get help
to improve it. Also, it was good to be able to provide to our
customers a framework that would continue to evolve and be maintained
even after we left the project. The last reason, maybe the strongest,
is that I have always been fond of
the open source concept and as Octo is providing consulting services,
it did not clash with our business model !
Thus, I moved the project to SourceForge and called it J2EEUnit. It
did well and more and more persons were downloading, participating
and using it.
Now, most Applications Servers, EAI solutions or IRM ones are
providing an infrastructure on which to build applications. But once
you've bought the server, you're far from being finished ... There is
the business logic code to write but there is also a lot of "glue" to
implement. These are technical frameworks like a Controller of the
MVC model, a logging framework, an XML-Java mapping one,
application configuration, localization, templating, ... And usually
these frameworks are not provided in the software package you buy.
And even if they are (logging for example), they are not best of
breed ones. For these frameworks, I have always been using open
source solutions so far (Struts, Log4j, Ant, ...). Thus, I was
lurking on Jakarta mailing-lists when I heard about a new project
starting, called "Commons" which was to be a place where common
components useful for several Jakarta projects would be found. I
thought the idea of having a server-side java unit testing framework
for Jakarta project (which are server side projects) was a good idea.
I proposed to donate J2EEUnit to the Apache Software Foundation ...
and I was lucky enough it was accepted ! :-)
However, the J2EEUnit name was infringing on the Sun trademark on
J2EE so we had to change the name. It was changed to Cactus (see the
Why the name ? page for why this
name). I found that in the move from SourceForge to Jakarta, I had
found a new home for Cactus but, more importantly, I had found a
family ! The sense of Community is very strong on Jakarta. You can
feel right away the atmosphere and see it is different from other
places.
Then, thanks to Cactus growing community, our efforts were rewarded
and Cactus was accepted as a Jakarta top level project, alongside
the renowned Tomcat, Ant, Struts, ... waowww !
We are now busy improving Cactus and looking for help. The first step
was to get Cactus up and running and demonstrate it worked and is
useful. This step has been achieved (I hope :) ). The second step is
now to
build a community around Cactus and find persons who are willing
to actively participate in the future of it. Unit testing has
still not reached the mainstream of development practices but is in
the process of doing so with increasing interest in lightweight
(also called "Agile") methodologies like Extreme Programming (XP).
On the other hand, java server side programming is becoming stronger
every day. This is to say that there is a bright future ahead for
Cactus and there is still everything to invent.
Although the project started as a one-man project, my goal has always
been to relinquish as much as possible my hold on Cactus and make it
a community-wide project. This is a work in progess and I am proud
to say that I am no longer the only committer on the project and
several persons have jumped aboard and are already helping shape
Cactus future. Come and help us ! :)