<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright 2005 The Apache Software Foundation

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<project>
    <pomVersion>3</pomVersion>
    <!-- ============== -->
    <!-- Identification -->
    <!-- ============== -->
    <name>Java Data Objects (JDO)</name>
    <groupId>apache-jdo</groupId>
    <organization>
        <name>Apache Software Foundation</name>
        <url>http://www.apache.org</url>
        <logo>http://incubator.apache.org/images/apache-incubator-logo.png</logo>
    </organization>
    <inceptionYear>2005</inceptionYear>
    <shortDescription>Java Data Objects (JDO)</shortDescription>
    <description>The Java Data Objects (JDO) API is a standard interface-based 
Java model abstraction of persistence, developed as Java Specification 
Requests (JSR 12 and 243) under the auspices of the Java Community Process.</description>
    <url>http://wiki.apache.org/jdo</url>
    <mailingLists>
        <mailingList>
            <name>User List</name>
            <subscribe>jdo-user-subscribe@db.apache.org</subscribe>
            <unsubscribe>jdo-user-unsubscribe@db.apache.org</unsubscribe>
        </mailingList>
        <mailingList>
            <name>Dev List</name>
            <subscribe>jdo-dev-subscribe@db.apache.org</subscribe>
            <unsubscribe>jdo-dev-unsubscribe@db.apache.org</unsubscribe>
        </mailingList>
    </mailingLists>
    <!-- ========== -->
    <!-- Developers -->
    <!-- ========== -->
    <developers>
        <developer>
            <name>Craig Russell</name>
            <id>0</id>
            <email>Craig.Russell@Sun.COM</email>
            <timezone>-8</timezone>
            <organization>Sun Microsystems</organization>
        </developer>
        <developer>
            <name>Michael Bouschen</name>
            <id>1</id>
            <email>mbo.tech@spree.de</email>
            <organization>Tech@Spree Engineering GmbH</organization>
            <timezone>1</timezone>
        </developer>
        <developer>
            <name>Michael Watzek</name>
            <id>4</id>
            <email>mwa.tech@spree.de</email>
            <organization>Tech@Spree Engineering GmbH</organization>
            <timezone>1</timezone>
        </developer>
        <developer>
            <name>Michelle Caisse</name>
            <id>2</id>
            <email>Michelle.Caisse@Sun.COM</email>
            <organization>Sun Microsystems</organization>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <name>Matthew Adams</name>
            <id>3</id>
            <email>matthew.adams@xcalia.com</email>
            <timezone>-8</timezone>
            <organization>Xcalia</organization>
        </developer>
        <developer>
            <name>Martin Zaun</name>
            <id>5</id>
            <email>martin.zaun@Sun.COM</email>
            <timezone>-8</timezone>
            <organization>Sun Microsystems</organization>
        </developer>
        <developer>
            <name>Erik Bengtson</name>
            <id>6</id>
            <email>erik@jpox.org</email>
            <timezone>1</timezone>
            <organization>Sun Micrsystems</organization>
        </developer>
        <developer>
            <name>Geir Magnusson</name>
            <id>7</id>
            <email>geirm@apache.org</email>
            <timezone>-8</timezone>
            <organization>Apache.org</organization>
        </developer>
        <developer>
            <name>Brian McCallister</name>
            <id>8</id>
            <email>brianm@apache.org</email>
            <timezone>-8</timezone>
            <organization>Apache.org</organization>
        </developer>
    </developers>
</project>

