DevZuz Developer Bios: Carlos Sanchez from Apache Maven and Eclipse

This is the next instalment in a series of interviews with developers from DevZuz, and I’ll be talking to Carlos Sanchez from Apache Maven and Eclipse. For past interviews in the series, see the DevZuz Developer Biographies page.

Brett: Hi Carlos! Thanks for joining me again today. Would you like to tell us a bit about yourself?

Carlos: Hi Brett. I’m Carlos Sanchez, I’m from Spain, although now living in Los Angeles, California. I have been involved with Apache Maven since 2004 and have been working with DevZuz since 2005.

Maven was the first open source project I became committer on, now being member of the PMC, and since then I have been collaborating with other projects related to Maven (Continuum, Archiva, Q for Eclipse) and others such as Spring Security (AKA Acegi Security System for Spring) or Eclipse Buckminster.

Brett: What things do you like to do for fun when you’re not at work?

Carlos: I love traveling, definitely, if I can find the time, going to new places, new countries, and take a lot of photographies. I enjoy riding my bike up the hills, it is a good exercise, as playing tennis. Going out at night with friends, meeting people, some social life, that is also fun.

Brett: What is the best place you’ve visited?

Carlos: It is hard to choose just one place. I think Paris is my preferred city of all the ones I have been to. Amazing places I have been to are Taal volcano in the Philippines, the Great Wall of China in Mutianyu or Mont Saint Michel in France.

Brett: So, how did you first get involved in the Maven project?

Carlos: I was doing a project in the university and started using what at that point, more than 3 years ago, was bleeding edge open source technologies, like Spring, Acegi, Hibernate, AspectJ,… and I saw that some of the projects were publishing their sites and reports with Maven and decided to give it a try, and I liked it. The problem was that the support for AspectJ was not complete at that time and decided to fix and contribute it back, and that’s how it all started.

Brett: What do you work on in Maven these days?

Carlos: Mostly working on Q4E, a new Eclipse plugin for Maven that we are proposing to contribute to the Eclipse Foundation, with the intention that Maven will have a first class support in the most popular IDE today. Also in Kepler, another project proposal at the Eclipse Foundation about collaborative metadata for projects, to bring the collaboration benefits of Maven to any build system. Of course this work generates more work to be done in the core of Apache Maven, bugfixes, improvements, that is always there, and managing the central repository adding new open source projects and increasing the quality of the information there for all the repository users.

Brett: How did you get in to taking care of the uploads to the central repository?

Carlos: We needed volunteers! At the beginning not many people were willing to contribute their projects to something that they did not understand the value of, but now it is used for several tools (Maven, Ivy, Buckminster,…) and many organizations and open source projects like the Apache Software Foundation, Codehaus, Spring, and many others publish themselves their releases, so it becomes easier.

Brett: Can you tell us more about Q4E?

Carlos: Q4E is an Eclipse plugin that will allow Maven users to use Maven in a more productive way from the Eclipse IDE. It allows you to run Maven goals from the IDE, manage dependencies using the Maven POM, with automatic download of dependencies, keep the Eclipse classpath synchronized with the POM, import Maven projects directly in the IDE, create new Eclipse projects using Maven Archetypes, see a graph of dependencies… everything without leaving the IDE.

Brett: And why is Kepler important to the development community?

Carlos: Maven has several features unrelated to the build that are very interesting, like gathering all the collaboration information about a project in a structured way, like mailing lists, license information, developers and contributors participation on it, the source control management tool used and its location, the issue tracker… and all that valuable information can be consumed or produced without the need of using Maven as build tool, and there is where Kepler plays its role, it allows you to consume that information from Maven, publish information from other non Maven projects, and does it in an extensible way so you can add your own types of information, which is a limitation that currently Maven has.

Brett: What challenges do you see these projects facing?

Carlos: It is hard for new projects to get visibility in the ocean of open source projects, so making a good user interface and create a nice user experience from the beginning it is going to define the future adoption. Integrating nicely with other tools so the user can find them the natural evolution for their current developer environment is one of the key points.

Brett: How can others get involved?

Carlos: We have setup mailing lists or newsgroups and an issue tracker system, you can find the details at the Q4E page and the Kepler page.

We follow the guidelines of the Eclipse Foundation, which are pretty much like any other open source project. You contribute patches for bugs or new features and you will become a committer.

Brett: You’ve recently been to the Equinox Summit and the Eclipse Summit – what was the atmosphere about the technologies there?

Carlos: It was really interesting to see how repositories of components was a hot topic and that is one of the thing that we have exploited with Maven and will be exploited also with Kepler, leveraging a repository of projects and collaboration information about them so there is a central location to go to for all this information and it is shared among the people and the teams. For instance Equinox Provisioning (aka p2) will be using many of the ideas introduced by Maven, repositories, local cache of artifacts, external metadata information…

Also there is a great interest in building Eclipse plugins with Maven that hopefully we will be addressing in the following weeks in Q4E.

Brett: And you’ll be presenting at OSSummit Asia at the end of November as well – what can you tell us about that?

Carlos: The presentation at OSSummit will be all about integration between Maven and Eclipse worlds. Using Maven in the IDE with Q4E, building OSGi bundles or Eclipse plugins with Maven, either in the command line or in the IDE with Q4E.

It is really exciting to participate in a conference like OSSummit, that it is going to bring together the Apache Software Foundation and the Eclipse Foundation for first time, and in a location like Hong Kong, and willing to see how the open source community in Asia responds, as they are the biggest consumers of the technologies.

Brett: Thanks Carlos! Is there anything else you’d like to add?

Carlos: Thanks for this opportunity to let everybody know what we are working on!

Brett: It’s been fun! And finally – can you leave us with a message in Spanish?

Carlos: Para todos los desarrolladores de habla hispana, un saludo y animarles a que contribuyan al desarrollo de software libre, es una experiencia muy valorada profesionalmente que les será de gran ayuda en el futuro.

Brett: Thanks, Carlos!

If you’d like to hear more from Carlos, you can check out his blog. In addition, you can catch Carlos as well as a number of other developers at OSSummit Asia in Hong Kong in late November.

Brett Porter is the Vice President of Engineering and co-founder of DevZuz. He has co-authored the book "Better Builds with Maven", and is a Member of the Apache Software Foundation, serving on various project management committees including Apache Maven since 2003.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s