This is the first in a series of interviews with developers from DevZuz and the open source community. I hope you enjoy getting to know the person behind the Subversion ID a bit better.
Today, I’m talking to Emmanuel Venisse.
Brett: Hi Emmanuel! Thanks for taking the time to talk to us today.
Emmanuel: Hi Brett.
Brett: Please, tell us a bit about yourself.
Emmanuel: I’m Emmanuel Venisse and I live in France near Paris. I work actually for DevZuz and the major part of my time is to work on some ASF projects (Continuum and Maven SCM). I’m a Maven committer since 2002.
Brett: What things do you like to do when you’re not working on open source?
Emmanuel: I like to play with my children (2 girls) and to drink some glasses of wine or beers with friends. When I have more time like in vacation, I like to walk in the mountain and to do bungy jumping.
Brett: So, how did you first get involved in the Apache Maven project?
Emmanuel: When I started to use Maven (0.7 I think), I worked for a French bank that used Starteam and they wanted to plug their SCM to Maven. So I decided to write a basic framework to abstract all SCM parts in Maven. The first version it included only CVS and Starteam support and it is with this tool that I started my Maven contribution. Then this framework was externalized of the Maven API to become Maven-SCM that support now all the major SCM tools (CVS, Subversion, Clearcase, Starteam, VSS, Perforce…)
Brett: What do you work on in Maven these days?
Emmanuel: These days, I work on Continuum and on Maven-SCM if some features are missed for Continuum. We’re preparing the release of Continuum 1.1 and I started to look at next versions. For example, I started to write a prototype for Continuum 1.2 where all the web UI is rewritten with GWT so we won’t be limited with the classic JSP/HTML and performance will be better. I’m working too on the xmlrpc service in Continuum to manage it without to use the web UI.
Brett: That’s some neat new stuff. Are there any other cool things happening in Continuum recently?
Emmanuel: Yes, in the latest release (1.1-beta-1), we added, with the help of Olivier Lamy, the support of Continuum profiles. With profiles, user can choose versions of Maven, Ant, Java that they want to use for a build and they can add some environment variables too. With this feature, it is easier to add different projects into Continuum that must be built with different environment.
Brett: So you’ve been in the Maven community for some time. How do you think the project is going?
Emmanuel: At the beginning (before 1.0), Maven was only a wrapper around Ant than, in 1.X Maven builds was written with lot of Jelly code. Since 2.0, all plugins are in Java with some exception so new features can be added or extended easily and I think it is why users love Maven. They can do what they want because all popular tools are integrated in plugins.
With Maven, we needed to add a CI server that understand well Maven projects, it’s why we created Continuum, then users wanted to use their own internal repositories for their internal artifacts so we created Archiva, a repository manager that can be used as a proxy too. So I think, we add year after year all tools required for a good build factory in the Maven Community and I’m sure we’ll add more in the future. The base of the Maven project is to simplify without limitation the build process for all projects and I think, with all tools and plugins available under the Maven umbrella that we get a good result. Now the big work is to support other languages like .Net projects, we started to work on it with NMaven started by Shane Isbell.
Brett: So what challenges do you think Maven faces, and where does it need to improve?
Emmanuel: I think Maven must support all major languages. Java and .Net support is good for now but other languages like C/C++, Python, Ruby must have a better support. It’s already possible to build projects with these languages but in the future we’ll need to add some new plugins in the build lifecycle and to support some specific tools used for these languages.
About tools that are under Maven Umbrella, I think they can be used without Maven too so maybe we’ll can move them as top projects at the Apache Software Foundation.
Brett: Is there any big feature you’d really like to see in Continuum or any of the other Maven projects?
Emmanuel: In Continuum, I’d like to see a complete refactoring of the UI with GWT that is a great framework. With it, we’ll can create all the things we want for the user interface (performance improvement, reports, graphs…).
The next thing I’d like to see is an refactoring of the core of Continuum, I imagine a build server manager that will can manage a set of Continuum servers. The users would control it with the tool they want (GWT interface, xml-rpc, xfire, JMX, a plugin in their favorite IDE…). With this feature, we’d can create a Continuum grid or a build on multiple platforms managed by one server. Always based on Continuum, I’d like to see a Maven plugin that will create some reports about projects added in Continuum.
About Maven, I’d like to see a full integration of it in all IDEs like it’s done for ANT. And about Archiva, the feature I’d want is the XML-RPC search.
Brett: Cool. So, you’ve worked at DevZuz since nearly the beginning, back when we were Mergere, in May 2005. What attracted you to working there?
Emmanuel: I was attracted by Mergere because they offered to me to work full time on my favorite OSS projects. And I wanted to work with a team which I knew well (especially on IRC and through the Maven project). I always preferred to work on projects I chose, Mergere wanted I work for them on this project so my decision wasn’t difficult to take.
Brett: What is the best thing about working there now?
Emmanuel: Actually, at DevZuz, I’m working at the integration of all Maven tool (Maven/Continuum/Archiva) into a single tool configurable from the web, It’s Maestro. With it, users install only Maestro and all things are already set to communicate with Maven/Continuum/Archiva.
I like to work for DevZuz because they let me to work lot of time on ASF projects so I can manage the Continuum community with Jesse McConnell, draw the future features…
I like to work all the DevZuz team too because we have all the same idea about our product and the future of Maven projects. I don’t see them enough because we are all over the world but we can meet sometimes. Few weeks ago, it was at Cebu in Philippines, It was a nice week in a great place.
Brett: What challenges do you see DevZuz facing today?
Emmanuel: One challenge I see is that DevZuz must show that it isn’t a company with only one product (Maestro) around Maven but a company with OSS contributors that know well Maven projects and all the build process. An other challenge would be to grow the CoRE network with some partners and tools that will help our clients to construct their build process, so clients would can get all support/informations into a central place.
Brett: It’s been great talking to you – is there anything else you’d like to add?
Emmanuel: Thank you for this interview.
Brett: Would you like to leave us with a message in French for the readers from France?
Emmanuel: Comme je sais que la communauté Maven grossit en France et qu’il y a quelques passionnés, je suis toujours disponible pour discuter de ces merveilleux outils autour d’un verre.
Brett: Thanks Emmanuel!
Next month, I’ll be talking to Deng Ching about her involvement in Maven and Archiva. Please join me again then!