Tuesday, June 10, 2008

Why Maven?

Dr. Savel asked me a very valid question (offline) of why we are looking at Maven. I'm posting my answer here as it affects our programming method and others may ask the same question.

Maven is a build and configuration tool that lets programmers describe a software project in xml in such a way that any programmer anywhere can use the maven tool to compile, build, deploy and document a project in a single common, automated manner.

Without maven, Peter (until recently the only programmer working on the PHIRG) would need to spend hours helping you configure your environment, compile your changes and deploy your changes for testing. This is difficult as new programmers trickle onto the project, but impossible in a distributed & open source project.

So maven makes open source, distributed projects possible. Now that we have a build and a repository (thanks Anurag and Peter), any developer in the world can access the source code, make some changes and test them out. I hope that this will lead developers to send in change candidate snippets of code for a committer to evaluate and commit, but my hopes aren't too high.

No comments: