incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Incubator Wiki] Update of "IvyProposal" by XavierHanin
Date Tue, 24 Oct 2006 07:43:55 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The following page has been changed by XavierHanin:

New page:
= Ivy Proposal =

The following presents the proposal for creating a new Ivy project within the Apache Software

== Abstract ==
Ivy is a java based tool for tracking, resolving and managing project dependencies.

== Proposal ==
Ivy is a tool for managing (recording, tracking, resolving and reporting)  project dependencies.
It is characterized by the following:
 1. flexibility and configurability - Ivy is essentially process agnostic and is not tied
to any methodology or structure. Instead it provides the necessary flexibility and configurability
to be adapted to a broad range of dependency management and build processes.
 2. tight integration with Apache Ant - while available as a standalone tool, Ivy works particularly
well with Apache Ant providing a number of powerful Ant tasks ranging from dependency resolution
to dependency reporting and publication.

== Rationale ==

Software development is increasingly characterized by leveraging externally provided components/capabilities
and by a rapid release cycle. As a result it is not unusual for a project to depend on numerous
third-party components which themselves may be dependent on a multitude of third-party of
different or identical third-party components. Managing these dependencies - determining what
the dependencies are, how they are used, the impact of a change, conflicts among dependencies,
etc. - is extremely difficult and absolutely necessary. Ivy is one of a handful of tools addressing
this need. While often compared to Maven - which has similar Ant tasks - Ivy differs from
Maven in both its focus and philosophy. Ivy is solely focused on dependency management and
is designed from the ground up to adapt to a wide range of requirements and scenarios. Examples
include multiple aritfacts per module, plugin resolvers, configurable repository configurations
and conflict managers.

The maintainers of Ivy are interested in joining the Apache Software Foundation for several
    * Ivy has been hosted since its beginning in 2004 by a private company, which make people
feel like it's a corporate product, thus slowing the contribution by the community. We strongly
believe in the open source movement, and would like to make Ivy independent from Jayasoft.
    * We'd like to enjoy the benefits of utilizing Apache's infrastructure and legal protection.
    * It might open the door for cooperation with other projects, such as Ant or Maven.
    * We strongly believe in Apache philosophy, especially Meritocracy.

== Current status ==
=== Meritocracy ===

Ivy was originally created by Xavier Hanin in September 2004. Since then more than 20 users
have contributed patches, and one of them has been promoted to the status of committer based
on his merit through patch contribution.

=== Community ===

Ivy already has a growing user community, with more than 10,000 downloads since its 1.0 version
and more than 500 users registered on the forum.

=== Core Developers ===

Ivy has only two core developers for the moment, but we hope joining the ASF will help increase
this number.

Xavier Hanin is the creator of the project, is an independant consultant and co founder of
Jayasoft. He has an experience of 9 years in Java software development, uses open source projects
intensively, and started his real participation in open source development with Ivy.
Maarten Coene has joined the committer team in may 2006. He has an experience of 9 years in
java development, is co-administrator of dom4j, ex-committer for scarab, has contributed patches
to several open-source projects and is a user of a lot of open-source projects.

=== Alignment ===

Ivy has no mandatory dependencies except java 1.4. However, it is strongly recommended to
be used with Ant. Ivy uses also other Apache projects, especially from Jakarta Commons.

== Known risks ==

=== Orphaned products ===
Due to its small number of committers, there is a risk of being orphaned. The main knowledge
of the codebase is still mainly owned by Xavier Hanin. Even if Xavier has no plan to leave
Ivy development, this is a problem we are aware of and know that need to be worked on so that
the project become less dependent on an individual.

=== Inexperience with Open Source ===
While distributed under an open source license, access to Ivy was initially limited with no
public access to the issue tracking system or svn repository. While things have changed since
then - the svn repository is publicly accessible, a JIRA instance has been setup since june
2005, many new features are first discussed on the forum or JIRA - experience with a true
open source development model is currently limited.
However, Maarten has already a good experience with true open development process, and bring
his experience to the project.

=== Homogenous Developers ===
With only two core developers, at least they are not homogenous! Xavier and Maarten knew each
other only due to their common interest in Ivy.

=== Reliance on Salaried Developers ===
Maarten is not paid to work on Ivy.
Xavier's case is more complex, as a co founder of Jayasoft, part of his time in Jayasoft was
dedicated to Ivy and other open source developments. He now works mainly as an independent
consultant, and thus is not a salaried developer.

=== Relationships with Other Apache Products ===
Ivy has a strong relationship with Apache Ant, and is often seen as a good companion of Ant.
Being part of Apache could help for a closer collaboration between the two projects.

=== A Excessive Fascination with the Apache Brand ===
Even if we recognize the strong value of the Apache Brand, the purpose of joining Apache is
not focused on improving the visibility of the project. The main focus of this proposition
is to make Ivy a more open project, with a closer integration with Apache Ant. Even if Ivy
does not join the ASF, Ivy will move out of Jayasoft umbrella and try to attract more developers.

== Documentation ==
Further reading on Ivy can be found at:

== Initial Source ==
The initial code base can be found at:

== External Dependencies ==
Ivy has no mandatory dependencies at runtime. 

For compilation, it requires:
 * apache ant
 * apache commons-httpclient
 * apache commons-cli
 * apache oro
 * apache commons-vfs
 * jcraft jsch  (BSD, already used by commons-vfs and by ant)

== Required Resources ==

=== Mailing lists ===
 * ivy-private (with moderated subscriptions) 
 * ivy-dev 
 * ivy-user
=== Subversion Directory ===

=== Issue Tracking ===
An import from existing JIRA issues at would also be very much appreciated

== Initial Committers ==
 * Xavier Hanin (xavier dot hanin at gmail dot com)
 * Maarten Coene (maarten_coene at yahoo dot com)

== Affiliations ==
As stated in the Reliance on salaried developers section, Xavier is a co founder of Jayasoft
which used to host the project. However, Jayasoft is shifting its focus to local consulting
and thus won't be involved anymore in open source development. The participation of Xavier
in the project is thus made as an individual, not as a member of Jayasoft. He also strongly
believe in the meritocracy principle, and he's ready to see it applied to the project whatever
the consequence are for his own weight in the project.

== Sponsors ==

=== Champion ===
 * Antoine Levy-Lambert
 * Sylvain Wallez

=== Nominated Mentors ===
 * Antoine Levy-Lambert
 * Stephane Baillez
 * Steve Loughran
 * Stefan Bodewig

=== Sponsoring Entity ===
The Ant PMC has voted the following resolution:
The Ant PMC sponsors Ivy moving to the Apache Incubator.
If the Ivy community wishes to move Ivy to become an Ant subproject
after successful incubation, and if the ASF board agrees to it, Ant
will welcome Ivy as a subproject after the incubation period.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message