Title: MailingLists
The Aries User list is for general discussion or questions on using any of
the Aries sub-projects. Aries developers monitor this list and provide
assistance when needed.

 * [Subscribe](mailto:user-subscribe@aries.apache.org)
 to the Aries User list
 * [Unsubscribe](mailto:user-unsubscribe@aries.apache.org)
 from the Aries User list
 * [Post](mailto:user@aries.apache.org)
 to the Aries User list
 * [View](http://mail-archives.apache.org/mod_mbox/aries-user/)
 to the Aries User list archive

The Aries Developer list is for developers to discuss ongoing work, make
decisions and vote on technical issues. There is one list for all Aries
sub-projects.

 * [Subscribe](mailto:dev-subscribe@aries.apache.org)
 to the Aries Developer list
 * [Unsubscribe](mailto:dev-unsubscribe@aries.apache.org)
 from the Aries Developer list
 * [Post](mailto:dev@aries.apache.org)
 to the Aries Developer list
 * [View](http://mail-archives.apache.org/mod_mbox/aries-dev/)
 to the Aries Developer list archive

The Aries Commits list receives notifications when changes are committed to
the Aries source tree.

 * [Subscribe](mailto:commits-subscribe@aries.apache.org)
 to the Aries Commits list
 * [Unsubscribe](mailto:commits-unsubscribe@aries.apache.org)
 from the Aries Commits list
 * [Post](mailto:commits@aries.apache.org)
 to the Aries Commits list
 * [View](http://mail-archives.apache.org/mod_mbox/aries-commits/)
 to the Aries Commits list archive
