<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You 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 rdf:about="http://deltacloud.apache.org">
    <created>2013-07-16</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Deltacloud</name>
    <homepage rdf:resource="http://deltacloud.apache.org" />
    <asfext:pmc rdf:resource="http://deltacloud.apache.org" />
    <shortdesc>Apache Deltacloud provides common front-end APIs to abstract differences between cloud providers.</shortdesc>
    <description>Deltacloud contains a cloud abstraction API - whether the Deltacloud classic API, the DMTF CIMI API or even the EC2 API. Each abstraction API works as a wrapper around a large number of clouds, shielding users from their differences. For every cloud provider there is a driver "speaking" that cloud provider's native API, freeing you from dealing with the particulars of each cloud's API.</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/DTACLOUD" />
    <mailing-list rdf:resource="http://deltacloud.apache.org/contact.html" />
    <download-page rdf:resource="http://deltacloud.apache.org/download.html" />
    <programming-language>Ruby</programming-language>
    <category rdf:resource="http://projects.apache.org/category/cloud" />
    <category rdf:resource="http://projects.apache.org/category/library" />
    <release>
      <Version>
        <name>Apache Deltacloud</name>
        <created>2013-04-22</created>
        <revision>1.0.3</revision>
      </Version>
    </release>
    <repository>
      <SVNRepository>
        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/deltacloud.git"/>
        <browse rdf:resource="https://git-wip-us.apache.org/repos/asf/deltacloud.git"/>
      </SVNRepository>
    </repository>
    <asfext:implements>
      <asfext:Standard>
        <asfext:title>Cloud Infrastructure Management Interface</asfext:title>
        <asfext:body>DMTF</asfext:body>
        <asfext:id>DSP0263</asfext:id>
        <asfext:url rdf:resource="http://dmtf.org/standards/cloud"/>
      </asfext:Standard>
    </asfext:implements>
    <maintainer>
      <foaf:Person>
        <foaf:name>Apache Deltacloud PMC</foaf:name>
          <foaf:mbox rdf:resource="mailto:dev@deltacloud.apache.org"/>
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
