{{ !articles[0].partner.isSponsoringArticle ? "Platinum" : "Portal" }} Partner
java,tools & methods,build automation

Maven vs. Ivy - By the Numbers


I’ve had a few conversations lately about software tools and technologies — how to use them, how to pick them, how to know when to change, etc. These conversations can be exciting, educating, emotionally charged, productive, and sometimes not.

In a recent, very positive exchange, one colleague asked if I preferred Maven over Ant or Ant + Ivy simply because I had more experience on Maven.

Generally, I couldn’t say I preferred one technology stack over the other because I simply don’t know enough about the organization to make the call.

From a purely technical perspective though, my gut told me there is a brighter future in Maven than in Ant+Ivy. My reasons for this opinion are grounded in my experience, so I decided to research a few factors I consider important when it comes to technology tool selection.

Apache Maven Apache Ivy
Founded 2002
Latest Stable Release 1/20/2012 9/30/2010
Jenkins Plugin Installs ~50,000
Contributors 128
GitHub repositories 43,866

Couple of interesting observations from the stats above:

  • While Ivy is ‘2 years newer’, it’s last stable release was roughly 2 years earlier than Maven.
  • There are roughly 1500% more GitHub repositories referencing Maven than Ivy
  • There are roughly 1400% more contributors for Maven than Ivy (according to ohloh.net, anyway)

Google Trends also has an interesting view contrasting these two projects: Google Trends: Apache Maven, Apache Ivy

When discussing open source software projects, I usually think “we need to consider the vibrancy of the community”. How many people and organizations are contributing? How often? What other well known projects integrate with this tool?

From my view - when it comes to technology selection, it’s often OK to “follow the crowd”.

Published at DZone with permission of {{ articles[0].authors[0].realName }}, DZone MVB. (source)

Opinions expressed by DZone contributors are their own.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks